handle 1sites with 1 language
This commit is contained in:
+39
-2
@@ -5,8 +5,21 @@
|
||||
|
||||
function link(scope, el, attr, ctrl) {
|
||||
|
||||
scope.showVariationsQuickSwitchToggle = false;
|
||||
scope.showVariationsQuickSwitch = false;
|
||||
|
||||
function activate() {
|
||||
showVariationsQuickSwitch(scope.variations);
|
||||
}
|
||||
|
||||
function showVariationsQuickSwitch(variations) {
|
||||
if(variations && variations.length > 1 || variations && variations.length === 1 && variations[0].variations && variations[0].variations.length > 0) {
|
||||
scope.showVariationsQuickSwitchToggle = true;
|
||||
} else {
|
||||
scope.showVariationsQuickSwitchToggle = false;
|
||||
}
|
||||
}
|
||||
|
||||
scope.openIconPicker = function() {
|
||||
scope.dialogModel = {
|
||||
view: "iconpicker",
|
||||
@@ -42,13 +55,37 @@
|
||||
|
||||
};
|
||||
|
||||
scope.selectItem = function(variation) {
|
||||
scope.selectItem = function(item) {
|
||||
if(scope.onSelectItem) {
|
||||
scope.onSelectItem(variation);
|
||||
|
||||
for(var i = 0; i < scope.variations.length; i++) {
|
||||
var language = scope.variations[i];
|
||||
language.active = false;
|
||||
|
||||
if(language.variations && language.variations.length > 0) {
|
||||
for(var variationIndex = 0; variationIndex < language.variations.length; variationIndex++) {
|
||||
var variation = language.variations[variationIndex];
|
||||
variation.active = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// set selected item to active
|
||||
item.active = true;
|
||||
|
||||
scope.onSelectItem(item);
|
||||
scope.showVariationsQuickSwitch = false;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
scope.$watch('variations', function(newValue, oldValue){
|
||||
showVariationsQuickSwitch(newValue);
|
||||
}, true);
|
||||
|
||||
activate();
|
||||
|
||||
}
|
||||
|
||||
var directive = {
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
variation.variationName = newVariation.name;
|
||||
variation.variationDescription = newVariation.description;
|
||||
variation.segments = newVariation.segments;
|
||||
variation.active = false;
|
||||
|
||||
language.variations.unshift(variation);
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<div class="umb-editor-header__selected-variations" ng-if="language || variation">
|
||||
|
||||
<div class="umb-editor-header__selected-variation" ng-if="language">
|
||||
<div class="umb-editor-header__selected-variation" ng-if="language && variations.length > 1">
|
||||
<i class="umb-editor-header__selected-variation-icon icon-umb-translation"></i>
|
||||
<div>{{ language }}</div>
|
||||
</div>
|
||||
@@ -48,29 +48,35 @@
|
||||
|
||||
</ng-form>
|
||||
|
||||
<!-- ng-if="variations.length - 1 > 0" -->
|
||||
<a class="umb-variations-quick-switcher__toggle" ng-if="variations" href="" ng-click="toggleVariationsQuickSwitch()" ng-class="{'-active' : showVariationsQuickSwitch}">
|
||||
<a class="umb-variations-quick-switcher__toggle" href="" ng-if="showVariationsQuickSwitchToggle" ng-click="toggleVariationsQuickSwitch()" ng-class="{'-active' : showVariationsQuickSwitch}">
|
||||
<span class="umb-variations-quick-switcher__toggle-arrow">▾</span>
|
||||
</a>
|
||||
|
||||
<ul class="umb-variations-quick-switcher_variations shadow-depth-2" ng-if="showVariationsQuickSwitch" on-outside-click="hideVariationsQuickSwitch()">
|
||||
|
||||
<!-- Multiple languages -->
|
||||
<li ng-repeat="variation in variations" ng-class="{'-active' : variation.showSubItems}">
|
||||
|
||||
<a class="umb-variations-quick-switcher__variation" href ng-click="selectItem(variation)">
|
||||
<a class="umb-variations-quick-switcher__variation" href ng-if="variations.length === 1" ng-click="selectItem(variation)" ng-class="{'-active': variation.active}">
|
||||
<span class="umb-variations-quick-switcher__variation-published-state" ng-class="{'-published': variation.published}"></span>
|
||||
<span class="umb-variations-quick-switcher__variation-name">{{variation.name}}</span>
|
||||
<span class="umb-variations-quick-switcher__variation-description">(Original)</span>
|
||||
</a>
|
||||
|
||||
<a class="umb-variations-quick-switcher__variation" href ng-if="variations.length > 1" ng-click="selectItem(variation)" ng-class="{'-active': variation.active}">
|
||||
<span class="umb-variations-quick-switcher__variation-published-state" ng-class="{'-published': variation.published}"></span>
|
||||
<i class="umb-variations-quick-switcher__variation-icon icon-umb-translation"></i>
|
||||
<span class="umb-variations-quick-switcher__variation-name">{{variation.language}}</span>
|
||||
<span class="umb-variations-quick-switcher__variation-toggle" ng-if="variation.variations" ng-click="toggleSubItems(variation, $event)">variations ▾</span>
|
||||
</a>
|
||||
|
||||
<ul class="umb-variations-quick-switcher__subnav" ng-if="variation.showSubItems">
|
||||
<ul class="umb-variations-quick-switcher__subnav" ng-if="variation.showSubItems || variations.length === 1">
|
||||
<li ng-repeat="test in variation.variations">
|
||||
<a class="umb-variations-quick-switcher__variation" href ng-click="selectItem(test)">
|
||||
<a class="umb-variations-quick-switcher__variation" href ng-click="selectItem(test)" ng-class="{'-active': test.active}">
|
||||
<span class="umb-variations-quick-switcher__variation-published-state" ng-class="{'-published': test.published}"></span>
|
||||
<i class="umb-variations-quick-switcher__variation-icon icon-documents"></i>
|
||||
<span class="umb-variations-quick-switcher__variation-name">{{ test.variationName }}</span>
|
||||
<span class="umb-variations-quick-switcher__variation-description">({{ test.variationDescription }})</span>
|
||||
<span class="umb-variations-quick-switcher__variation-description" ng-if="test.variationDescription">({{ test.variationDescription }})</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -21,8 +21,14 @@
|
||||
|
||||
<div class="umb-varations__lang-group-info__name" ng-click="clickVariation(variation, $event, $index)">
|
||||
<div class="umb-varations__published-state" ng-class="{'-published': language.published}"></div>
|
||||
<i class="icon-globe-alt"></i>
|
||||
<a href="" class="umb-varations__lang-group-info__link">{{ language.language }}</a>
|
||||
<div ng-if="variations.length === 1">
|
||||
<a href="" class="umb-varations__lang-group-info__link">{{ language.name }}</a>
|
||||
<small>(Original)</small>
|
||||
</div>
|
||||
<div ng-if="variations.length > 1">
|
||||
<i class="icon-globe-alt" ng-if="variations.length > 1"></i>
|
||||
{{ language.language }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="umb-variations__actions" ng-if="language.published">
|
||||
|
||||
@@ -83,6 +83,7 @@ function ContentEditController($scope, $rootScope, $routeParams, $q, $timeout, $
|
||||
// set up English locale as master
|
||||
var english = angular.copy(content);
|
||||
english.language = "English (United States)";
|
||||
english.active = true;
|
||||
english.variations = [];
|
||||
variationsHelper.setMaster(english);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user