Optimize directive to not use ng-repeat
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user