Simplified the way we mark variants as drafts trough localization keys, show published languages in the overlay instead of hiding them
This commit is contained in:
@@ -213,14 +213,11 @@ Use this directive to construct a header inside the main editor window.
|
||||
scope.vm.currentVariant = "";
|
||||
|
||||
function onInit() {
|
||||
setVariantDraftState(scope.variants);
|
||||
|
||||
setCurrentVariant(scope.variants);
|
||||
setVariantStatusColor(scope.variants);
|
||||
}
|
||||
|
||||
function setCurrentVariant(variants) {
|
||||
setVariantDraftState(variants);
|
||||
|
||||
angular.forEach(variants, function (variant) {
|
||||
if(variant.current) {
|
||||
@@ -249,14 +246,6 @@ Use this directive to construct a header inside the main editor window.
|
||||
});
|
||||
}
|
||||
|
||||
function setVariantDraftState(variants) {
|
||||
_.each(variants, function (variant) {
|
||||
if (variant.isEdited === true && !variant.state.includes("Draft")) {
|
||||
variant.state += ", Draft";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
scope.goBack = function () {
|
||||
if (scope.onBack) {
|
||||
scope.onBack();
|
||||
|
||||
@@ -39,32 +39,36 @@
|
||||
}
|
||||
|
||||
function onInit() {
|
||||
console.log(variants);
|
||||
_.each(variants,
|
||||
function (variant) {
|
||||
variant.compositeId = variant.language.id + "_" + (variant.segment ? variant.segment : "");
|
||||
variant.htmlId = "publish_variant_" + variant.compositeId;
|
||||
|
||||
//append Draft state to variant
|
||||
if (variant.isEdited === true && !variant.state.includes("Draft")) {
|
||||
variant.state += ", Draft";
|
||||
//separate "pristine" and "dirty" variants
|
||||
if (variant.isEdited === true) {
|
||||
vm.dirtyVariants.push(variant);
|
||||
} else if (variant.isEdited === true) {
|
||||
} else if (variant.isEdited === true ||
|
||||
variant.isEdited === false && variant.state === "Unpublished") {
|
||||
vm.dirtyVariants.push(variant);
|
||||
} else {
|
||||
vm.pristineVariants.push(variant);
|
||||
}
|
||||
});
|
||||
|
||||
if (vm.dirtyVariants.length !== 0) {
|
||||
//now sort it so that the current one is at the top
|
||||
vm.dirtyVariants = _.sortBy(vm.dirtyVariants, function (v) {
|
||||
return v.current ? 0 : 1;
|
||||
});
|
||||
//ensure that the current one is selected
|
||||
vm.dirtyVariants[0].publish = true;
|
||||
} else {
|
||||
//disable Publish button if we have nothing to publish
|
||||
$scope.model.disableSubmitButton = true;
|
||||
}
|
||||
|
||||
vm.loading = false;
|
||||
|
||||
console.log("Dirty Variants", vm.dirtyVariants);
|
||||
|
||||
//now sort it so that the current one is at the top
|
||||
vm.dirtyVariants = _.sortBy(vm.dirtyVariants, function (v) {
|
||||
return v.current ? 0 : 1;
|
||||
});
|
||||
//ensure that the current one is selected
|
||||
vm.dirtyVariants[0].publish = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,34 +1,57 @@
|
||||
<div ng-controller="Umbraco.Overlays.PublishController as vm" >
|
||||
|
||||
<div ng-controller="Umbraco.Overlays.PublishController as vm">
|
||||
|
||||
<div style="margin-bottom: 15px;">
|
||||
<p>What languages would you like to publish?</p>
|
||||
<p> {{vm.dirtyVariants.length > 0 ? 'What languages would you like to publish?' : 'Nothing here to publish!'}}</p>
|
||||
</div>
|
||||
|
||||
<div ng-if="vm.loading" style="min-height: 50px; position: relative;">
|
||||
<umb-load-indicator></umb-load-indicator>
|
||||
</div>
|
||||
|
||||
<div class="umb-list umb-list--condensed" ng-if="!vm.loading">
|
||||
<div class="umb-list umb-list--condensed" ng-if="!vm.loading && vm.dirtyVariants">
|
||||
|
||||
<div class="umb-list-item" ng-repeat="variant in vm.dirtyVariants">
|
||||
<ng-form name="publishVariantSelectorForm">
|
||||
<label class="flex" for="{{variant.htmlId}}">
|
||||
<input
|
||||
id="{{variant.htmlId}}"
|
||||
name="publishVariantSelector"
|
||||
type="checkbox"
|
||||
ng-model="variant.publish"
|
||||
ng-change="vm.changeSelection(variant)"
|
||||
ng-disabled="variant.validationError"
|
||||
style="margin-right: 8px;"
|
||||
val-server-field="{{variant.htmlId}}"/>
|
||||
<input id="{{variant.htmlId}}"
|
||||
name="publishVariantSelector"
|
||||
type="checkbox"
|
||||
ng-model="variant.publish"
|
||||
ng-change="vm.changeSelection(variant)"
|
||||
ng-disabled="variant.validationError"
|
||||
style="margin-right: 8px;"
|
||||
val-server-field="{{variant.htmlId}}" />
|
||||
<div>
|
||||
<div ng-class="{'bold': variant.published}" style="margin-bottom: 2px;">{{ variant.language.name }}</div>
|
||||
<div class="umb-permission__description" ng-if="!variant.validationError">{{ variant.state }}</div>
|
||||
<div class="umb-permission__description" ng-if="!variant.validationError && variant.isEdited && variant.state === 'Published'"><localize key="content_publishedPendingChanges"></localize></div>
|
||||
<div class="umb-permission__description" ng-if="!variant.validationError && variant.isEdited && variant.state === 'Unpublished'"><localize key="content_unpublishedPendingChanges"></localize></div>
|
||||
<div class="umb-permission__description" ng-if="!variant.validationError && variant.isEdited === false">{{ variant.state }}</div>
|
||||
|
||||
<div class="umb-permission__description" style="color: #F02E28;" val-msg-for="publishVariantSelector" val-toggle-msg="valServerField"></div>
|
||||
</div>
|
||||
</label>
|
||||
</ng-form>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div ng-if="vm.loading" style="min-height: 50px; position: relative;">
|
||||
<umb-load-indicator></umb-load-indicator>
|
||||
</div>
|
||||
|
||||
<div class="umb-list umb-list--condensed" ng-if="!vm.loading && vm.pristineVariants">
|
||||
<div style="margin-bottom: 15px; font-weight: bold;">
|
||||
<p>Published languages.</p>
|
||||
</div>
|
||||
|
||||
<div class="umb-list-item" ng-repeat="variant in vm.pristineVariants">
|
||||
<div>
|
||||
<div ng-class="{'bold': variant.published}" style="margin-bottom: 2px;">{{ variant.language.name }}</div>
|
||||
<div class="umb-permission__description" ng-if="!variant.validationError">{{ variant.state }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -59,7 +59,9 @@
|
||||
<umb-dropdown-item class="umb-variant-switcher__item" ng-class="{'umb-variant-switcher_item--current': variant.current}" ng-repeat="variant in variants">
|
||||
<a href="" class="umb-variant-switcher__name-wrapper" ng-click="selectVariant($event, variant)" prevent-default>
|
||||
<span class="umb-variant-switcher__name">{{variant.language.name}}</span>
|
||||
<span class="umb-variant-switcher__state">{{variant.state}}</span>
|
||||
<span class="umb-variant-switcher__state" ng-if="!variant.validationError && variant.isEdited && variant.state === 'Published'"><localize key="content_publishedPendingChanges"></localize></span>
|
||||
<span class="umb-variant-switcher__state" ng-if="!variant.validationError && variant.isEdited && variant.state === 'Unpublished'"><localize key="content_unpublishedPendingChanges"></localize></span>
|
||||
<span class="umb-variant-switcher__state" ng-if="variant.isEdited === false">{{variant.state}}</span>
|
||||
</a>
|
||||
<!-- Commented out as opposed to removed until we fully support split view (U4-11290) -->
|
||||
<!--
|
||||
|
||||
Reference in New Issue
Block a user