performance tweaks for validationAlias
This commit is contained in:
@@ -105,15 +105,6 @@
|
||||
tab.active = true;
|
||||
};
|
||||
|
||||
$scope.getValidationAlias = function ({ parentKey, alias }) {
|
||||
if (parentKey) {
|
||||
const parentGroup = $scope.content.tabs.find(tab => tab.key === parentKey);
|
||||
return parentGroup.alias;
|
||||
} else {
|
||||
return alias;
|
||||
}
|
||||
};
|
||||
|
||||
$scope.$watchCollection('content.tabs', () => {
|
||||
$scope.tabs = $filter("filter")($scope.content.tabs, (tab) => {
|
||||
return tab.type === 1;
|
||||
@@ -122,6 +113,18 @@
|
||||
if ($scope.tabs.length > 0 && !$scope.activeTabKey) {
|
||||
$scope.activeTabKey = $scope.tabs[0].key;
|
||||
}
|
||||
|
||||
// for validation to work for each tab we need to associate a group with a tab.
|
||||
$scope.content.tabs.forEach(group => {
|
||||
let validationAlias = group.alias;
|
||||
|
||||
if (group.parentKey) {
|
||||
const parentGroup = $scope.content.tabs.find(tab => tab.key === group.parentKey);
|
||||
validationAlias = parentGroup.alias;
|
||||
}
|
||||
|
||||
group.validationAlias = validationAlias;
|
||||
});
|
||||
});
|
||||
|
||||
$scope.$on("editors.apps.appChanged", function($event, $args) {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</umb-editor-tab-bar>
|
||||
|
||||
<umb-box ng-repeat="tab in tabs" ng-show="tab.key === activeTabKey && tab.properties.length > 0">
|
||||
<umb-box-content data-element="tab-content-{{getValidationAlias(tab)}}">
|
||||
<umb-box-content data-element="tab-content-{{tab.validationAlias}}">
|
||||
<umb-property
|
||||
data-element="property-{{property.alias}}"
|
||||
ng-repeat="property in tab.properties track by property.alias"
|
||||
@@ -29,7 +29,7 @@
|
||||
<div id="group-{{group.id}}">{{ group.label }}</div>
|
||||
</div>
|
||||
|
||||
<div class="umb-group-panel__content" data-element="tab-content-{{getValidationAlias(group)}}">
|
||||
<div class="umb-group-panel__content" data-element="tab-content-{{group.validationAlias}}">
|
||||
<umb-property
|
||||
data-element="property-{{property.alias}}"
|
||||
ng-repeat="property in group.properties track by property.alias"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</umb-editor-tab-bar>
|
||||
|
||||
<umb-box ng-repeat="tab in vm.tabs" ng-show="tab.key === vm.activeTabKey && tab.properties.length > 0">
|
||||
<umb-box-content data-element="tab-content-{{vm.getValidationAlias(tab)}}">
|
||||
<umb-box-content data-element="tab-content-{{tab.validationAlias}}">
|
||||
<umb-property
|
||||
data-element="property-{{property.alias}}"
|
||||
ng-repeat="property in tab.properties track by property.alias"
|
||||
@@ -35,7 +35,7 @@
|
||||
<div id="group-{{group.id}}">{{ group.label }}</div>
|
||||
</div>
|
||||
|
||||
<div class="umb-group-panel__content" data-element="tab-content-{{vm.getValidationAlias(group)}}">
|
||||
<div class="umb-group-panel__content" data-element="tab-content-{{group.validationAlias}}">
|
||||
<umb-property
|
||||
data-element="property-{{property.alias}}"
|
||||
ng-repeat="property in group.properties track by property.alias"
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
vm.getScope = getScope; // used by property editors to get a scope that is the root of split view, content apps etc.
|
||||
vm.setActiveTab = setActiveTab;
|
||||
vm.getValidationAlias = getValidationAlias;
|
||||
|
||||
$scope.$watchCollection('vm.model.variants[0].tabs', () => {
|
||||
vm.tabs = $filter("filter")(vm.model.variants[0].tabs, (tab) => {
|
||||
@@ -34,6 +33,18 @@
|
||||
if (vm.tabs.length > 0 && !vm.activeTabKey) {
|
||||
vm.activeTabKey = vm.tabs[0].key;
|
||||
}
|
||||
|
||||
// for validation to work for each tab we need to associate a group with a tab.
|
||||
vm.model.variants[0].tabs.forEach(group => {
|
||||
let validationAlias = group.alias;
|
||||
|
||||
if (group.parentKey) {
|
||||
const parentGroup = vm.model.variants[0].tabs.find(tab => tab.key === group.parentKey);
|
||||
validationAlias = parentGroup.alias;
|
||||
}
|
||||
|
||||
group.validationAlias = validationAlias;
|
||||
});
|
||||
});
|
||||
|
||||
function getScope() {
|
||||
@@ -45,16 +56,6 @@
|
||||
vm.tabs.forEach(tab => tab.active = false);
|
||||
tab.active = true;
|
||||
}
|
||||
|
||||
function getValidationAlias ({ parentKey, alias }) {
|
||||
if (parentKey) {
|
||||
const parentGroup = vm.model.variants[0].tabs.find(tab => tab.key === parentKey);
|
||||
return parentGroup.alias;
|
||||
} else {
|
||||
return alias;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user