Optimize directive to not use ng-repeat

This commit is contained in:
Mads Rasmussen
2015-06-04 22:55:03 +02:00
parent 309afc9e2d
commit 867d955d01
3 changed files with 18 additions and 10 deletions

View File

@@ -22,13 +22,17 @@ angular.module("umbraco.directives")
function setItemToActive(selectedItem) {
// set all other views to inactive
for (var index = 0; index < scope.navigation.length; index++) {
var item = scope.navigation[index];
item.active = false;
}
if(selectedItem.view) {
// set view to active
selectedItem.active = true;
for (var index = 0; index < scope.navigation.length; index++) {
var item = scope.navigation[index];
item.active = false;
}
// set view to active
selectedItem.active = true;
}
}
}

View File

@@ -7,6 +7,7 @@ angular.module("umbraco.directives")
link: function (scope, element, attrs, ctrl) {
scope.tools = [];
scope.activeView = {};
// set toolbar from selected navigation item
function setToolBar(items) {
@@ -15,9 +16,14 @@ angular.module("umbraco.directives")
for (var index = 0; index < items.length; index++) {
var item = items[index];
if(item.active && item.tools) {
scope.tools = item.tools;
}
if(item.active && item.view) {
scope.activeView = item;
}
}
}

View File

@@ -6,10 +6,8 @@
</div>
</div>
<div class="umb-editor-sub-views-content" ng-repeat="view in page.navigation">
<div ng-if="view.view && view.active" ng-include="view.view"></div>
<div ng-if="!view.view && view.active" ng-transclude></div>
</div>
<div ng-if="activeView.view && activeView.active" ng-include="activeView.view"></div>
<div ng-if="!activeView.view && activeView.active" ng-transclude></div>
</div>