tests: add some runtime error in nitin.input
[nit.git] / share / nitweb / views / module.html
index e80f9cf..3891267 100644 (file)
                        <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-doc mentity='mentity'/>
-
-               <entity-list list-title='Imported modules' list-entities='mentity.imports'
-                       list-object-filter='{}' />
+               <div class='col-xs-3'>
+                       <ui-summary target='#summary-content' />
+               </div>
+               <div class='col-xs-9' id='summary-content'>
+                       <entity-card mentity='mentity' default-tab='doc' no-synopsis='true' />
 
-               <entity-list list-title='Introduced classes' list-entities='mentity.intro_mclasses'
-                       list-object-filter='{}' />
+                       <entity-list list-title='Imported modules' list-entities='mentity.imports'
+                               list-object-filter='{}' />
 
-               <entity-list list-title='Class redefinitions' list-entities='mentity.redef_mclassdefs'
-                       list-object-filter='{}' />
+                       <entity-list list-title='Introduced classes' list-entities='mentity.intro_mclasses'
+                               list-object-filter='{}' />
 
+                       <entity-list list-title='Class redefinitions' list-entities='mentity.redef_mclassdefs'
+                               list-object-filter='{}' />
+               </div>
        </div>
        <div role='tabpanel' class='tab-pane fade' id='code'>
                <div class='card'>
        <div class='tab-pane fade' id='graph'>
                <div class='card'>
                        <div class='card-body text-center'>
-                               <div class='graph' ng-bind-html='graph'></div>
+                               <entity-graph mentity='mentity' graph='graph' />
+                       </div>
+               </div>
+       </div>
+       <div role='tabpanel' class='tab-pane fade' id='metrics'>
+               <div class='card'>
+                       <div class='card-body container-fluid'>
+                               <h3 class='card-heading'>Module importation</h3>
+                               <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-body container-fluid'>
+                               <h3 class='card-heading'>Module definitions</h3>
+                               <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>