handle 1sites with 1 language

This commit is contained in:
Mads Rasmussen
2016-03-30 09:04:26 +02:00
parent a3dcdb159b
commit 39bdc1bc78
5 changed files with 62 additions and 11 deletions
@@ -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">&dtrif;</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 &dtrif;</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);