-<div class='card card-xl' ng-class='{active: focus.full_name == definition.full_name}'>
+<div class='card card-xl' ng-class='{active: isActive()}'>
<div class='card-body'>
- <h5 class='text-muted'>
+ <h5>
<span ng-if='definition.is_intro'>
- <span class='glyphicon glyphicon-plus' /> Introduction</span>
+ <span class='text-muted glyphicon glyphicon-plus' title='introduction' />
+ <entity-namespace namespace='definition.namespace' />
</span>
<span ng-if='!definition.is_intro'>
- <span class='glyphicon glyphicon-asterisk' /> Redefinition</span>
- </span>
- <span ng-if='definition.mclass'>
- of <entity-link mentity='definition.mclass' />
- </span>
- <span ng-if='definition.mproperty'>
- of <entity-link mentity='definition.mproperty' />
- </span>
- <span ng-if='definition.mclassdef'>
- in <entity-link mentity='definition.mmodule' />
- :: <entity-link mentity='definition.mclassdef' />
- </span>
- <span ng-if='!definition.mclassdef'>
- in <entity-link mentity='definition.mmodule' />
+ <span class='text-muted glyphicon glyphicon-asterisk' title='redefinition' />
+ <entity-namespace namespace='definition.namespace' />
</span>
<div class='btn-bar'>
<button class='btn btn-link' aria-expanded='false'
</h5>
<div id='{{codeId}}' class='collapse'>
<pre ng-bind-html='code' />
+ <entity-location mentity='definition' />
</div>
- <entity-location mentity='definition' />
</div>
</div>
-<span ng-if='mentity.mpackage'>
- <entity-link mentity='mentity.mpackage' /> ::
+<span ng-repeat='part in namespace track by $index'>
+ <span ng-if='isArray(part)'>
+ <entity-namespace namespace='part' />
+ </span>
+ <span ng-if='isObject(part)'>
+ <entity-link mentity='part' />
+ </span>
+ <span ng-if='isString(part)'>
+ <span>{{part}}</span>
</span>
-<span ng-if='mentity.mmodule'>
- <entity-link mentity='mentity.mmodule' /> ::
-</span>
-<span ng-if='mentity.intro_mclassdef'>
- <entity-link mentity='mentity.intro_mclassdef' /> ::
-</span>
-<span ng-if='mentity.mclassdef'>
- <entity-link mentity='mentity.mclassdef' /> ::
-</span>
-{{mentity.name}}
return {
restrict: 'E',
scope: {
- mentity: '='
+ namespace: '='
},
- templateUrl: '/directives/entity/namespace.html'
+ templateUrl: '/directives/entity/namespace.html',
+ link: function ($scope, element, attrs) {
+ $scope.isObject = function(obj) {
+ return typeof obj === 'object';
+ };
+ $scope.isArray = function(obj) {
+ return Array.isArray(obj);
+ };
+ $scope.isString = function(obj) {
+ return typeof obj === 'string';
+ };
+ }
};
})
templateUrl: '/directives/entity/defcard.html',
link: function ($scope, element, attrs) {
$scope.codeId = 'code_' + $scope.definition.full_name.replace(/[^a-zA-Z0-9]/g, '_');
+
+ $scope.isActive = function() {
+ return $scope.focus.full_name == $scope.definition.full_name;
+ }
+
$scope.loadCardCode = function() {
if(!$scope.code) {
Model.loadEntityCode($scope.definition.full_name,
<div class='page-header'>
<h2><entity-signature mentity='mentity' /></h2>
- <entity-namespace mentity='mentity' />
+ <entity-namespace namespace='mentity.namespace' />
</div>
<div ng-switch='mentity.class_name'>
<div ng-switch-when='MPackage'>