nitweb: add dropdown menu to cards
authorAlexandre Terrasa <alexandre@moz-code.org>
Tue, 2 Aug 2016 02:44:21 +0000 (22:44 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Wed, 17 Aug 2016 16:54:08 +0000 (12:54 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

share/nitweb/directives/entity/card.html
share/nitweb/directives/entity/doc.html
share/nitweb/javascripts/entities.js
share/nitweb/stylesheets/nitweb.css
share/nitweb/views/class.html
share/nitweb/views/group.html
share/nitweb/views/module.html
share/nitweb/views/package.html
share/nitweb/views/property.html

index aa9ccb3..5d7202c 100644 (file)
@@ -1,11 +1,42 @@
 <div class='card'>
-       <div class='card-left text-center'>
-               <entity-tag mentity='mentity' />
-       </div>
        <div class='card-body'>
-               <h5 class='card-heading'>
-                       <entity-signature mentity='mentity'/>
-               </h5>
-               <span class='synopsis' ng-bind-html='mentity.mdoc.html_synopsis' />
+               <div class='pull-right'>
+                       <div class='dropdown'>
+                               <button class='btn btn-link dropdown-toggle' type='button' data-toggle='dropdown'>
+                                       <span class='glyphicon glyphicon-chevron-down'></span>
+                               </button>
+                               <ul class='dropdown-menu dropdown-menu-right'>
+                                       <li ng-class='currentTab == "signature" ? "active" : ""'>
+                                               <a ng-click='currentTab = "signature"'>Signature</a>
+                                       </li>
+                                       <li ng-class='currentTab == "doc" ? "active" : ""'>
+                                               <a ng-click='currentTab = "doc"'>Doc</a>
+                                       </li>
+                                       <li ng-class='currentTab == "grade" ? "active" : ""'>
+                                               <a ng-click='currentTab = "grade"'>Grade</a>
+                                       </li>
+                               </ul>
+                       </div>
+               </div>
+               <div class='tab-content'>
+                       <div id='{{mentity.html_id}}-signature' class='tab-pane'
+                         ng-class='currentTab == "signature" ? "active" : ""'>
+                               <div class='pull-left text-center'>
+                                       <entity-tag mentity='mentity' />
+                               </div>
+                               <h5 class='card-heading'>
+                                       <entity-signature mentity='mentity'/>
+                               </h5>
+                               <span class='synopsis' ng-bind-html='mentity.mdoc.html_synopsis' />
+                       </div>
+                       <div id='{{mentity.html_id}}-doc' class='tab-pane'
+                         ng-class='currentTab == "doc" ? "active" : ""'>
+                               <entity-doc mentity='mentity' />
+                       </div>
+                       <div id='{{mentity.html_id}}-grade' class='tab-pane'
+                         ng-class='currentTab == "grade" ? "active" : ""'>
+                               <entity-rating mentity='mentity'>
+                       </div>
+               </div>
        </div>
 </div>
index e54e556..c42d029 100644 (file)
@@ -1,29 +1,6 @@
-<div class='card' ng-if='mentity.mdoc'>
-       <div class='card-body'>
-               <div class='pull-right'>
-                       <div class='dropdown'>
-                               <button class='btn btn-link dropdown-toggle' type='button' data-toggle='dropdown'>
-                                       <span class='glyphicon glyphicon-chevron-down'></span>
-                               </button>
-                               <ul class='dropdown-menu dropdown-menu-right'>
-                                       <li ng-class='currentTab == "doc" ? "active" : ""'>
-                                               <a ng-click='currentTab = "doc"'>Doc</a>
-                                       </li>
-                                       <li ng-class='currentTab == "grade" ? "active" : ""'>
-                                               <a ng-click='currentTab = "grade"'>Grade</a>
-                                       </li>
-                               </ul>
-                       </div>
-               </div>
-               <div class='tab-content'>
-                       <div id='{{mentity.html_id}}-doc' class='tab-pane'
-                         ng-class='currentTab == "doc" ? "active" : ""'>
-                               <div ng-bind-html='mentity.mdoc.html_documentation'></div>
-                       </div>
-                       <div id='{{mentity.html_id}}-grade' class='tab-pane'
-                         ng-class='currentTab == "grade" ? "active" : ""'>
-                               <entity-rating mentity='mentity'>
-                       </div>
-               </div>
-       </div>
+<div ng-if='mentity.mdoc'>
+       <div ng-bind-html='mentity.mdoc.html_documentation'></div>
+</div>
+<div ng-if='!mentity.mdoc'>
+       <i class='text-muted'>No documentation for this entity.</i>
 </div>
index eb65e93..3fd473f 100644 (file)
                                scope: {
                                        mentity: '='
                                },
-                               templateUrl: '/directives/entity/doc.html',
-                               link: function ($scope, element, attrs) {
-                                       $scope.currentTab = 'doc';
-                               }
+                               templateUrl: '/directives/entity/doc.html'
                        };
                })
 
                        return {
                                restrict: 'E',
                                scope: {
-                                       mentity: '='
+                                       mentity: '=',
+                                       defaultTab: '@'
                                },
                                replace: true,
-                               templateUrl: '/directives/entity/card.html'
+                               templateUrl: '/directives/entity/card.html',
+                               link: function ($scope, element, attrs) {
+                                       $scope.currentTab = $scope.defaultTab ? $scope.defaultTab : 'signature';
+                               }
                        };
                })
 
index 348f447..6088827 100644 (file)
@@ -45,11 +45,13 @@ a {
        padding: 15px;
 }
 
-.card-left, .card>.pull-left {
+.card-left, .card .pull-left {
        float: left;
+       padding: 0 15px 15px 0;
 }
-.card-right, .card>.pull-right {
+.card-right, .card .pull-right {
        float: right;
+       padding: 0 0 15px 15px;
 }
 
 .card-list {
index 278d5e9..fbb9aaf 100644 (file)
@@ -28,7 +28,7 @@
 
 <div class='tab-content'>
        <div role='tabpanel' class='tab-pane fade in active' id='doc'>
-               <entity-doc mentity='mentity'/>
+               <entity-card mentity='mentity' default-tab='doc'/>
 
                <entity-list list-title='Parents'
                        list-entities='mentity.parents'
index f7f60db..1af3d15 100644 (file)
@@ -18,7 +18,7 @@
 
 <div class='tab-content'>
        <div role='tabpanel' class='tab-pane fade in active' id='doc'>
-               <entity-doc mentity='mentity'/>
+               <entity-card mentity='mentity' default-tab='doc'/>
 
                <entity-list list-title='Parent group' list-entities='[mentity.parent]'
                        list-object-filter='{}' ng-if='mentity.parent' />
index 6288013..5f8b4a3 100644 (file)
@@ -28,7 +28,7 @@
 
 <div class='tab-content'>
        <div role='tabpanel' class='tab-pane fade in active' id='doc'>
-               <entity-doc mentity='mentity'/>
+               <entity-card mentity='mentity' default-tab='doc'/>
 
                <entity-list list-title='Imported modules' list-entities='mentity.imports'
                        list-object-filter='{}' />
index 306dd52..10ea7f6 100644 (file)
@@ -18,7 +18,7 @@
 
 <div class='tab-content'>
        <div role='tabpanel' class='tab-pane fade in active' id='doc'>
-               <entity-doc mentity='mentity'/>
+               <entity-card mentity='mentity' default-tab='doc'/>
 
                <entity-list list-title='Groups' list-entities='mentity.mgroups'
                        list-object-filter='{}' />
index 6d8d483..d43410d 100644 (file)
@@ -13,7 +13,7 @@
 
 <div class='tab-content'>
        <div role='tabpanel' class='tab-pane fade in active' id='doc'>
-               <entity-doc mentity='mentity'/>
+               <entity-card mentity='mentity' default-tab='doc'/>
        </div>
        <div role='tabpanel' class='tab-pane fade' id='linearization'>
                <entity-linearization