adjustments of Save and publish dialog

This commit is contained in:
Niels Lyngsø
2020-02-19 09:35:36 +01:00
parent cac745fa78
commit 2cd50822ea
7 changed files with 65 additions and 27 deletions
@@ -138,6 +138,7 @@
@import "components/tooltip/umb-tooltip-list.less";
@import "components/overlays/umb-overlay-backdrop.less";
@import "components/overlays/umb-itempicker.less";
@import "components/overlays/umb-variant-selector-overlay";
@import "components/umb-grid.less";
@import "components/umb-empty-state.less";
@import "components/umb-property-editor.less";
@@ -0,0 +1,19 @@
.umb-variant-selector-overlay {
.umb-variant-selector-entry {
.umb_check_info {
margin-top: 2px;
}
}
.umb-variant-selector-entry__title {
}
.umb-variant-selector-entry__description {
display: block;
font-size: 13px;
color: @gray-4;
}
}
@@ -1,15 +1,18 @@
.umb-list--condensed {
.umb-list-item {
padding-top: 5px;
padding-bottom: 5px;
padding-top: 7px;
padding-bottom: 7px;
}
}
.umb-list-item {
border-bottom: 1px solid @gray-9;
border-bottom: 1px solid @gray-11;
padding-top: 15px;
padding-bottom: 15px;
display: flex;
&:last-of-type {
border-bottom: none;
}
}
a.umb-list-item:hover,
@@ -11,6 +11,7 @@
vm.changeSelection = changeSelection;
vm.dirtyVariantFilter = dirtyVariantFilter;
vm.pristineVariantFilter = pristineVariantFilter;
vm.notPublishedMandatoryFilter = notPublishedMandatoryFilter;
/** Returns true if publishing is possible based on if there are un-published mandatory languages */
function canPublish() {
@@ -63,12 +64,10 @@
function dirtyVariantFilter(variant) {
//determine a variant is 'dirty' (meaning it will show up as publish-able) if it's
// * the active one
// * it's editor is in a $dirty state
// * it has pending saves
// * it is unpublished
// * it is in NotCreated state
return (variant.active || variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges" || variant.state === "NotCreated");
return (variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges");
}
function hasAnyData(variant) {
@@ -100,6 +99,9 @@
function pristineVariantFilter(variant) {
return !(dirtyVariantFilter(variant));
}
function notPublishedMandatoryFilter(variant) {
return !dirtyVariantFilter(variant) && variant.isMandatory === true;
}
function onInit() {
@@ -184,9 +186,7 @@
$scope.model.disableSubmitButton = true;
}
var labelKey = vm.isNew ? "content_languagesToPublishForFirstTime" : "content_languagesToPublish";
localizationService.localize(labelKey).then(function (value) {
localizationService.localize("content_variantsToPublish").then(function (value) {
vm.headline = value;
vm.loading = false;
});
@@ -1,4 +1,4 @@
<div ng-controller="Umbraco.Overlays.PublishController as vm">
<div ng-controller="Umbraco.Overlays.PublishController as vm" class="umb-variant-selector-overlay">
<div class="mb3">
<p>{{vm.headline}}</p>
@@ -13,7 +13,7 @@
<div class="umb-list-item"
ng-repeat="variant in vm.variants | filter:vm.dirtyVariantFilter track by variant.compositeId">
<ng-form name="publishVariantSelectorForm">
<div ng-class="{'umb-list-item--error': publishVariantSelectorForm.publishVariantSelector.$invalid}">
<div class="umb-variant-selector-entry" ng-class="{'umb-list-item--error': publishVariantSelectorForm.publishVariantSelector.$invalid}">
<umb-checkbox input-id="{{variant.htmlId}}"
name="publishVariantSelector"
@@ -21,21 +21,20 @@
on-change="vm.changeSelection(variant)"
disabled="(variant.canPublish === false)"
server-validation-field="{{variant.htmlId}}"
text="{{variant.displayName}}"
/>
<div>
<span class="db umb-list-item__description umb-list-item__description--checkbox" ng-if="!publishVariantSelectorForm.publishVariantSelector.$invalid && !(variant.notifications && variant.notifications.length > 0)">
<umb-variant-state variant="variant"></umb-variant-state>
<span ng-if="variant.language.isMandatory"> - </span>
<span ng-if="variant.language.isMandatory" ng-class="{'text-error': (variant.language.isMandatory && variant.willPublish === false) }"><localize key="languages_mandatoryLanguage"></localize></span>
</span>
>
<span class="umb-variant-selector-entry__title" ng-bind="variant.displayName"></span>
<span class="umb-variant-selector-entry__description" ng-if="!publishVariantSelectorForm.publishVariantSelector.$invalid && !(variant.notifications && variant.notifications.length > 0)">
<umb-variant-state variant="variant"></umb-variant-state>
<span ng-if="variant.language.isMandatory"> - </span>
<span ng-if="variant.language.isMandatory" ng-class="{'text-error': (variant.language.isMandatory && variant.willPublish === false) }"><localize key="languages_mandatoryLanguage"></localize></span>
</span>
<span class="umb-variant-selector-entry__description" ng-messages="publishVariantSelectorForm.publishVariantSelector.$error" show-validation-on-submit>
<span class="text-error" ng-message="valServerField">{{publishVariantSelectorForm.publishVariantSelector.errorMsg}}</span>
</span>
</umb-checkbox>
<span class="db" ng-messages="publishVariantSelectorForm.publishVariantSelector.$error" show-validation-on-submit>
<span class="db umb-list-item__description umb-list-item__description--checkbox text-error" ng-message="valServerField">{{publishVariantSelectorForm.publishVariantSelector.errorMsg}}</span>
</span>
<umb-variant-notification-list notifications="variant.notifications"></umb-variant-notification-list>
<umb-variant-notification-list notifications="variant.notifications"></umb-variant-notification-list>
</div>
</div>
</ng-form>
@@ -45,10 +44,10 @@
<div class="umb-list umb-list--condensed" ng-if="!vm.loading && vm.hasPristineVariants">
<div class="bold mb3">
<p><localize key="content_publishedLanguages"></localize></p>
<p><localize key="content_unpublishedButMandatoryVariants"></localize></p>
</div>
<div class="umb-list-item" ng-repeat="variant in vm.variants | filter:vm.pristineVariantFilter">
<div class="umb-list-item" ng-repeat="variant in vm.variants | filter:vm.notPublishedMandatoryFilter">
<div>
<div style="margin-bottom: 2px;">
<span ng-bind="variant.displayName"></span>
@@ -302,6 +302,14 @@
<key alias="unpublishedLanguages">Unpublished Languages</key>
<key alias="unmodifiedLanguages">Unmodified Languages</key>
<key alias="untouchedLanguagesForFirstTime">These languages haven't been created</key>
<key alias="variantsToPublish">Which variants you would like to publish?</key>
<key alias="variantsToSave">Choose which variants to be saved.</key>
<key alias="variantsToSendForApproval">Pick variants to send for approval.</key>
<key alias="variantsToSchedule">Set scheduled publishing...</key>
<key alias="variantsToUnpublish">Select the variants to unpublish. Unpublishing a mandatory language will unpublish all variants.</key>
<key alias="unpublishedButMandatoryVariants">Unpublished mandatory variants</key>
<key alias="readyToPublish">Ready to Publish?</key>
<key alias="readyToSave">Ready to Save?</key>
<key alias="sendForApproval">Send for approval</key>
@@ -1854,7 +1862,7 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="resetPassword">Reset password</key>
<key alias="passwordChanged">Your password has been changed!</key>
<key alias="passwordChangedGeneric">Password changed</key>
<key alias="passwordConfirm">Please confirm the new password</key>
<key alias="passwordConfirm">Please confirm the new password</key>
<key alias="passwordEnterNew">Enter your new password</key>
<key alias="passwordIsBlank">Your new password cannot be blank!</key>
<key alias="passwordCurrent">Current password</key>
@@ -306,6 +306,14 @@
<key alias="unpublishedLanguages">Unpublished Languages</key>
<key alias="unmodifiedLanguages">Unmodified Languages</key>
<key alias="untouchedLanguagesForFirstTime">These languages haven't been created</key>
<key alias="variantsToPublish">Which variants you would like to publish?</key>
<key alias="variantsToSave">Choose which variants to be saved.</key>
<key alias="variantsToSendForApproval">Pick variants to send for approval.</key>
<key alias="variantsToSchedule">Set scheduled publishing...</key>
<key alias="variantsToUnpublish">Select the variants to unpublish. Unpublishing a mandatory language will unpublish all variants.</key>
<key alias="unpublishedButMandatoryVariants">Unpublished mandatory variants</key>
<key alias="readyToPublish">Ready to Publish?</key>
<key alias="readyToSave">Ready to Save?</key>
<key alias="sendForApproval">Send for approval</key>