nitweb/ng: clean card css
[nit.git] / share / nitweb / views / module.html
index 23f6d52..92ec2f9 100644 (file)
-<div class='container-fluid'>
-       <div class='page-header'>
-               <h2><entity-signature mentity='mentity'/></h2>
-               <entity-link mentity='mentity.mpackage' /> :: {{mentity.name}}
-       </div>
+<ul class='nav nav-tabs'>
+       <li role='presentation' class='active'>
+               <a data-toggle='tab' data-target='#doc'>
+                       <span class='glyphicon glyphicon-book'/> Doc
+               </a>
+       </li>
+       <li role='presentation'>
+               <a data-toggle='tab' data-target='#graph' ng-click="entityCtrl.loadEntityGraph()">
+                       <span class='glyphicon glyphicon-object-align-vertical'/> Imports
+               </a>
+       </li>
+       <li role='presentation'>
+               <a data-toggle='tab' data-target='#code' ng-click="entityCtrl.loadEntityCode()">
+                       <span class='glyphicon glyphicon-console'/> Code
+               </a>
+       </li>
+       <li role='presentation'>
+               <a data-toggle='tab' data-target='#defs' ng-click="entityCtrl.loadEntityDefs()">
+                       <span class='glyphicon glyphicon-asterisk'/> Class definitions
+               </a>
+       </li>
+       <li role='presentation'>
+               <a data-toggle='tab' role='tab' data-target='#metrics' aria-controls='metrics' ng-click='entityCtrl.loadStructuralMetrics()'>
+                       <span class='glyphicon glyphicon-stats'/> Metrics
+               </a>
+       </li>
+</ul>
+
+<div class='tab-content'>
+       <div role='tabpanel' class='tab-pane fade in active' id='doc'>
+               <entity-card mentity='mentity' default-tab='doc' no-synopsis='true' />
+
+               <entity-list list-title='Imported modules' list-entities='mentity.imports'
+                       list-object-filter='{}' />
 
-       <ul class='nav nav-tabs'>
-               <li class='active'>
-                       <a data-toggle='tab' data-target='#doc'>
-                               <span class='glyphicon glyphicon-book'/> Doc
-                       </a>
-               </li>
-       </ul>
+               <entity-list list-title='Introduced classes' list-entities='mentity.intro_mclasses'
+                       list-object-filter='{}' />
 
-       <div class='tab-content'>
-               <div role='tabpanel' class='tab-pane fade in active' id='doc'>
-                       <entity-doc mentity='mentity'/>
+               <entity-list list-title='Class redefinitions' list-entities='mentity.redef_mclassdefs'
+                       list-object-filter='{}' />
+
+       </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 role='tabpanel' class='tab-pane fade' id='defs'>
+               <entity-list list-title='Class definitions' list-entities='defs'
+                       list-object-filter='{}' />
+       </div>
+       <div class='tab-pane fade' id='graph'>
+               <div class='card'>
+                       <div class='card-body text-center'>
+                               <entity-graph mentity='mentity' graph='graph' />
+                       </div>
+               </div>
+       </div>
+       <div role='tabpanel' class='tab-pane fade' id='metrics'>
+               <div class='card'>
+                       <div class='card-heading'>
+                               <h3 class='card-title'>Module importation</h3>
+                       </div>
+                       <div class='card-body container-fluid'>
+                               <div class='col-sm-6'>
+                                       <h4>
+                                               Importation metrics
+                                       </h4>
+                                       <dl class='dl-horizontal'>
+                                               <dt>{{metrics.mmodule.mnoa.values[mentity.full_name].value}}</dt>
+                                               <dd>ancestors</dd>
+                                               <dt>{{metrics.mmodule.mnop.values[mentity.full_name].value}}</dt>
+                                               <dd>direct parents</dd>
+                                               <dt>{{metrics.mmodule.mnoc.values[mentity.full_name].value}}</dt>
+                                               <dd>direct children</dd>
+                                               <dt>{{metrics.mmodule.mnod.values[mentity.full_name].value}}</dt>
+                                               <dd>descendants</dd>
+                                       </dl>
+                                       <dl class='dl-horizontal'>
+                                               <dt>{{metrics.mmodule.mdit.values[mentity.full_name].value}}</dt>
+                                               <dd>Depth in Inheritance Tree</dd>
+                                       </dl>
+                               </div>
+                       </div>
+               </div>
+               <div class='card'>
+                       <div class='card-heading'>
+                               <h3 class='card-title'>Module definitions</h3>
+                       </div>
+                       <div class='card-body container-fluid'>
+                               <div class='col-sm-6'>
+                                       <h4>
+                                               Class definition kinds
+                                               <small>({{metrics.mmodule['mnbi'].values[mentity.full_name].value +
+                                                       metrics.mclass['mnbc'].values[mentity.full_name].value}}
+                                               class definitions)</small>
+                                       </h4>
+                                       <chart-module-definitions-kind chart-id='chartDefinitionsKind'
+                                               chart-metrics='metrics.mmodule' />
+                               </div>
+                               <div class='col-sm-6'>
+                                       <h4>
+                                               Class definition inheritance
+                                               <small>({{metrics.mmodule['mnbd'].values[mentity.full_name].value}}
+                                               accessible definitions)</small>
+                                       </h4>
+                                       <chart-module-definitions-inh chart-id='chartDefinitionsInh'
+                                               chart-metrics='metrics.mmodule' />
+                               </div>
+                       </div>
                </div>
+               <metrics-list
+                       list-id='classes_inheritance'
+                       list-title='Classes inheritance'
+                       list-metrics='metrics.mclasses'
+                       list-metrics-names='["cdit", "cnoa", "cnop", "cnoc", "cnod"]'
+                       list-metrics-default='"cdit"' />
+               <metrics-list
+                       list-id='classes_properties'
+                       list-title='Classes properties'
+                       list-metrics='metrics.mclasses'
+                       list-metrics-names='["cnbp", "cnba", "cnbip", "cnbrp", "cnbhp", "cnblp"]'
+                       list-metrics-default='"cnbp"' />
        </div>
 </div>