Fixes issue with IsEdited and state to make things consistent and easy

This commit is contained in:
Shannon
2018-08-08 16:29:07 +10:00
parent 69acaabec1
commit f921e891a3
13 changed files with 87 additions and 44 deletions

View File

@@ -129,7 +129,7 @@
if (!variant.variants) {
variant.variants = _.map($scope.content.variants,
function(v) {
return _.pick(v, "active", "language", "isEdited", "state");
return _.pick(v, "active", "language", "state");
});
}
else {
@@ -137,7 +137,7 @@
angular.extend(variant.variants,
_.map($scope.content.variants,
function(v) {
return _.pick(v, "active", "language", "isEdited", "state");
return _.pick(v, "active", "language", "state");
}));
}

View File

@@ -30,15 +30,17 @@
"general_deleted",
"content_unpublished",
"content_published",
"content_publishedPendingChanges"
"content_publishedPendingChanges",
"content_notCreated"
];
localizationService.localizeMany(keys)
.then(function(data){
labels.deleted = data[0];
labels.unpublished = data[1];
labels.unpublished = data[1]; //aka draft
labels.published = data[2];
labels.publishedPendingChanges = data[3];
labels.notCreated = data[4];
setNodePublishStatus(scope.node);
@@ -190,24 +192,26 @@
culture: variant.language ? variant.language.culture : null
};
// unpublished node
if (variant.state === "Unpublished") {
if (variant.state === "NotCreated") {
status.label = labels.notCreated;
status.color = "gray";
}
else if (variant.state === "Draft") {
// draft node
status.label = labels.unpublished;
status.color = "gray";
}
// published node
if (variant.state === "Published") {
if (variant.isEdited === true) {
// published node with pending changes
status.label = labels.publishedPendingChanges;
}
else {
status.label = labels.published;
}
else if (variant.state === "Published") {
// published node
status.label = labels.published;
status.color = "success";
}
else if (variant.state === "PublishedPendingChanges") {
// published node with pending changes
status.label = labels.publishedPendingChanges;
status.color = "success";
}
scope.publishStatus.push(status);
}
}

View File

@@ -496,7 +496,7 @@ function contentEditingHelper(fileManager, $q, $location, $routeParams, notifica
if (origContent.variants) {
//the variant property names we need to sync
var variantPropertiesSync = ["isEdited", "state"];
var variantPropertiesSync = ["state"];
//loop through the properties returned on the server object
for (var b in savedVariant) {

View File

@@ -42,7 +42,7 @@
// * it's editor is in a $dirty state
// * it has pending saves
// * it is unpublished
return (variant.active || variant.isDirty || variant.isEdited === true || (variant.isEdited === false && variant.state === "Unpublished"));
return (variant.active || variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges");
}
function pristineVariantFilter(variant) {

View File

@@ -26,10 +26,11 @@
<span ng-class="{'bold': variant.published}" style="margin-bottom: 2px;">{{ variant.language.name }}</span>
</label>
<div ng-if="!publishVariantSelectorForm.publishVariantSelector.$invalid">
<div class="umb-permission__description" ng-if="variant.isEdited && variant.state === 'Published'"><localize key="content_publishedPendingChanges"></localize></div>
<div class="umb-permission__description" ng-if="variant.isEdited && variant.state === 'Unpublished'"><localize key="content_unpublishedPendingChanges"></localize></div>
<div class="umb-permission__description" ng-if="variant.isEdited === false">{{ variant.state }}</div>
<div ng-if="!publishVariantSelectorForm.publishVariantSelector.$invalid" ng-switch="variant.state">
<div class="umb-permission__description" ng-switch-when="NotCreated"><localize key="content_notCreated"></localize></div>
<div class="umb-permission__description" ng-switch-when="Draft"><localize key="content_unpublished"></localize></div>
<div class="umb-permission__description" ng-switch-when="PublishedPendingChanges"><localize key="content_publishedPendingChanges"></localize></div>
<div class="umb-permission__description" ng-switch-when="Published"><localize key="content_published"></localize></div>
</div>
<div ng-messages="publishVariantSelectorForm.publishVariantSelector.$error" show-validation-on-submit>

View File

@@ -63,9 +63,12 @@
<umb-dropdown-item class="umb-variant-switcher__item" ng-class="{'umb-variant-switcher_item--current': variant.active}" 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" ng-if="variant.isEdited && variant.state === 'Published'"><localize key="content_publishedPendingChanges"></localize></span>
<span class="umb-variant-switcher__state" ng-if="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>
<span ng-switch="variant.state">
<span class="umb-variant-switcher__state" ng-switch-when="NotCreated"><localize key="content_notCreated"></localize></span>
<span class="umb-variant-switcher__state" ng-switch-when="Draft"><localize key="content_unpublished"></localize></span>
<span class="umb-variant-switcher__state" ng-switch-when="PublishedPendingChanges"><localize key="content_publishedPendingChanges"></localize></span>
<span class="umb-variant-switcher__state" ng-switch-when="Published"><localize key="content_published"></localize></span>
</span>
</a>
<div ng-if="splitViewOpen !== true" class="umb-variant-switcher__split-view" ng-click="openInSplitView($event, variant)">Open in split view</div>