more robust variant-picker

This commit is contained in:
Niels Lyngsø
2020-04-28 10:12:41 +02:00
parent 92f0de30cc
commit a8f2acd89f
2 changed files with 6 additions and 2 deletions

View File

@@ -35,6 +35,7 @@
});
scope.vm = {};
scope.vm.hasVariants = false;
scope.vm.hasSubVariants = false;
scope.vm.hasCulture = false;
scope.vm.hasSegments = false;
scope.vm.dropdownOpen = false;
@@ -82,6 +83,7 @@
});
scope.vm.hasVariants = (scope.vm.hasCulture || scope.vm.hasSegments);
scope.vm.hasSubVariants = (scope.vm.hasCulture && scope.vm.hasSegments);
checkErrorsOnOtherVariants();
@@ -90,6 +92,7 @@
angular.forEach(scope.content.variants, (v) => {
if (v.language !== null && v.segment === null) {
var variantMenuEntry = {
key: String.CreateGuid(),
open: v.language && v.language.culture === scope.editor.culture,
variant: v,
subVariants: scope.content.variants.filter( (subVariant) => subVariant.language.culture === v.language.culture && subVariant.segment !== null)
@@ -100,6 +103,7 @@
} else {
angular.forEach(scope.content.variants, (v) => {
scope.vm.variantMenu.push({
key: String.CreateGuid(),
variant: v
});
});

View File

@@ -49,9 +49,9 @@
<span ng-bind="editor.content.displayName"></span>
</span>
<umb-dropdown ng-if="vm.dropdownOpen" class="umb-variant-switcher" ng-class="{'--has-sub-variants': vm.hasSegments === true}" on-close="vm.dropdownOpen = false" umb-keyboard-list>
<umb-dropdown ng-if="vm.dropdownOpen" class="umb-variant-switcher" ng-class="{'--has-sub-variants': vm.hasSubVariants === true}" on-close="vm.dropdownOpen = false" umb-keyboard-list>
<umb-dropdown-item
ng-repeat-start="entry in vm.variantMenu track by $index"
ng-repeat-start="entry in vm.variantMenu track by entry.key"
class="umb-variant-switcher__item"
ng-class="{'--current': entry.variant === editor.content, '--active': entry.variant.active && vm.dropdownOpen, '--error': variantHasError(entry.variant), '--state-notCreated':entry.variant.state==='NotCreated' && entry.variant.name == null, '--state-draft':entry.variant.state==='Draft' || (entry.variant.state==='NotCreated' && entry.variant.name != null)}"
>