nitweb/angular: introduce entity-signature directive
authorAlexandre Terrasa <alexandre@moz-code.org>
Wed, 1 Jun 2016 00:29:13 +0000 (20:29 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Wed, 1 Jun 2016 03:53:38 +0000 (23:53 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

share/nitweb/directives/entity/signature.html [new file with mode: 0644]
share/nitweb/javascripts/entities.js

diff --git a/share/nitweb/directives/entity/signature.html b/share/nitweb/directives/entity/signature.html
new file mode 100644 (file)
index 0000000..f3f2dc6
--- /dev/null
@@ -0,0 +1,51 @@
+<span class='signature'>
+       <span ng-repeat='modifier in mentity.modifiers'>
+               <span ng-if='modifier != "public"' class='modifier'>{{modifier}}</span>
+       </span>
+       <span class='name'>
+               <entity-link mentity='mentity' />
+       </span>
+       <span ng-if='mentity.mparameters'>
+               <span ng-if='mentity.mparameters.length > 0'>
+                       <span>[</span>
+                       <span ng-repeat='mparam in mentity.mparameters'>
+                               <span>
+                                       <span>{{mparam.name}}</span>
+                                       <span>: </span>
+                                       <entity-signature mentity='mparam.mtype' />
+                               </span>
+                               <span ng-if='$middle'>, </span>
+                       </span>
+                       <span>]</span>
+               </span>
+       </span>
+       <span ng-if='mentity.msignature'>
+               <span ng-if='mentity.msignature.arity > 0'>
+                       <span>(</span>
+                       <span ng-repeat='mparam in mentity.msignature.mparams'>
+                               <span>
+                                       <span>{{mparam.name}}</span>
+                                       <span ng-if='mentity.is_intro !== false'>
+                                               <span>: </span>
+                                               <entity-signature mentity='mparam.mtype' />
+                                       </span>
+                                       <span ng-if='mparam.is_vararg'>...</span>
+                               </span>
+                               <span ng-if='!first && !$last'>, </span>
+                       </span>
+                       <span>)</span>
+               </span>
+               <span ng-if='mentity.is_intro !== false && mentity.msignature.return_mtype'>
+                       <span>: </span>
+                       <entity-signature mentity='mentity.msignature.return_mtype' />
+               </span>
+       </span>
+       <span ng-if='mentity.is_intro !== false && mentity.static_mtype'>
+               <span>: </span>
+               <entity-signature mentity='mentity.static_mtype' />
+       </span>
+       <span ng-if='mentity.bound'>
+               <span>: </span>
+               <entity-signature mentity='mentity.bound' />
+       </span>
+</span>
index c55da8f..820af42 100644 (file)
                                templateUrl: '/directives/entity/doc.html'
                        };
                })
+
+               .directive('entitySignature', function() {
+                       return {
+                               restrict: 'E',
+                               scope: {
+                                       mentity: '='
+                               },
+                               templateUrl: '/directives/entity/signature.html'
+                       };
+               })
 })();