Merge: nitweb: add `code` tab for modules, classdefs and propdefs.
authorJean Privat <jean@pryen.org>
Tue, 7 Jun 2016 19:11:11 +0000 (15:11 -0400)
committerJean Privat <jean@pryen.org>
Tue, 7 Jun 2016 19:11:11 +0000 (15:11 -0400)
Interesting demos:
* http://nitweb.moz-code.org/module/array_debug::array_debug
* http://nitweb.moz-code.org/classdef/core$Array
* http://nitweb.moz-code.org/propdef/core::abstract_text$Object$to_s

Only the two last commits are relevant since the rest belongs to #2170

Pull-Request: #2171
Reviewed-by: Jean Privat <jean@pryen.org>

share/nitweb/javascripts/entities.js
share/nitweb/javascripts/model.js
share/nitweb/views/classdef.html
share/nitweb/views/module.html
share/nitweb/views/propdef.html

index d1cad5f..4428c89 100644 (file)
                                        });
                        };
 
+                       this.loadEntityCode = function() {
+                               Model.loadEntityCode($routeParams.id,
+                                       function(data) {
+                                               $scope.code = data;
+                                       }, function(err) {
+                                               $scope.code = err;
+                                       });
+                       };
+
                        Model.loadEntity($routeParams.id,
                                function(data) {
                                        $scope.mentity = data;
index aae3cae..b3e2248 100644 (file)
                                                .error(cbErr);
                                },
 
+                               loadEntityCode: function(id, cb, cbErr) {
+                                       $http.get(apiUrl + '/code/' + id)
+                                               .success(cb)
+                                               .error(cbErr);
+                               },
+
                                search: function(q, n, cb, cbErr) {
                                        $http.get(apiUrl + '/search?q=' + q + '&n=' + n)
                                                .success(cb)
index a028436..6c5354b 100644 (file)
                                <span class='glyphicon glyphicon-arrow-down'/> Linearization
                        </a>
                </li>
+               <li role='presentation'>
+                       <a data-toggle='tab' data-target='#code' ng-click="entityCtrl.loadEntityCode()">
+                               <span class='glyphicon glyphicon-console'/> Code
+                       </a>
+               </li>
        </ul>
 
        <div class='tab-content'>
                                list-entities='linearization'
                                list-focus='mentity' />
                </div>
+               <div role='tabpanel' class='tab-pane fade' id='code'>
+                       <div class='card'>
+                               <div class='card-body'>
+                                       <pre ng-bind-html='code' />
+                                       <entity-location mentity='mentity' />
+                               </div>
+                       </div>
+               </div>
        </div>
 </div>
index 79d905d..34ddd28 100644 (file)
                                <span class='glyphicon glyphicon-book'/> Doc
                        </a>
                </li>
+               <li>
+                       <a data-toggle='tab' data-target='#code' ng-click="entityCtrl.loadEntityCode()">
+                               <span class='glyphicon glyphicon-console'/> Code
+                       </a>
+               </li>
        </ul>
 
        <div class='tab-content'>
                                list-object-filter='{}' />
 
                </div>
+               <div class='tab-pane fade' id='code'>
+                       <div class='card'>
+                               <div class='card-body'>
+                                       <pre ng-bind-html='code' />
+                                       <entity-location mentity='mentity' />
+                               </div>
+                       </div>
+               </div>
        </div>
 </div>
index 30d0397..87b0ff3 100644 (file)
                                <span class='glyphicon glyphicon-arrow-down'/> Linearization
                        </a>
                </li>
+               <li role='presentation'>
+                       <a data-toggle='tab' data-target='#code' ng-click="entityCtrl.loadEntityCode()">
+                               <span class='glyphicon glyphicon-console'/> Code
+                       </a>
+               </li>
        </ul>
 
        <div class='tab-content'>
                                list-entities='linearization'
                                list-focus='mentity' />
                </div>
+               <div role='tabpanel' class='tab-pane fade' id='code'>
+                       <div class='card'>
+                               <div class='card-body'>
+                                       <pre ng-bind-html='code' />
+                                       <entity-location mentity='mentity' />
+                               </div>
+                       </div>
+               </div>
        </div>
 </div>