add save action
This commit is contained in:
@@ -22,9 +22,7 @@ export class UmbSubmitWorkspaceAction extends UmbWorkspaceActionBase<UmbSubmitta
|
||||
(unique) => {
|
||||
// We can't save if we don't have a unique
|
||||
if (unique === undefined) {
|
||||
this._isDisabled.setValue(true);
|
||||
} else {
|
||||
this._isDisabled.setValue(false);
|
||||
this.disable();
|
||||
}
|
||||
},
|
||||
'saveWorkspaceActionUniqueObserver',
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import { UMB_USER_PERMISSION_DOCUMENT_UPDATE } from '../../user-permissions/constants.js';
|
||||
import { UmbDocumentUserPermissionCondition } from '../../user-permissions/document-user-permission.condition.js';
|
||||
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
|
||||
|
||||
export class UmbDocumentSaveWorkspaceAction extends UmbSubmitWorkspaceAction {
|
||||
constructor(host: UmbControllerHost, args: any) {
|
||||
super(host, args);
|
||||
|
||||
/* The action is disabled by default because the onChange callback
|
||||
will first be triggered when the condition is changed to permitted */
|
||||
this.disable();
|
||||
|
||||
const condition = new UmbDocumentUserPermissionCondition(host, {
|
||||
host,
|
||||
config: {
|
||||
alias: 'Umb.Condition.UserPermission.Document',
|
||||
allOf: [UMB_USER_PERMISSION_DOCUMENT_UPDATE],
|
||||
},
|
||||
onChange: () => {
|
||||
condition.permitted ? this.enable() : this.disable();
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export { UmbDocumentSaveWorkspaceAction as api };
|
||||
@@ -16,6 +16,7 @@ import type {
|
||||
ManifestWorkspaceView,
|
||||
} from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { UmbDocumentSaveAndPreviewWorkspaceAction } from './actions/save-and-preview.action.js';
|
||||
import { UmbDocumentSaveWorkspaceAction } from './actions/save.action.js';
|
||||
|
||||
export const UMB_DOCUMENT_WORKSPACE_ALIAS = 'Umb.Workspace.Document';
|
||||
|
||||
@@ -115,7 +116,7 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
|
||||
alias: 'Umb.WorkspaceAction.Document.Save',
|
||||
name: 'Save Document Workspace Action',
|
||||
weight: 80,
|
||||
api: UmbSubmitWorkspaceAction,
|
||||
api: () => import('./actions/save.action.js'),
|
||||
meta: {
|
||||
label: 'Save',
|
||||
look: 'secondary',
|
||||
@@ -126,10 +127,6 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
|
||||
alias: 'Umb.Condition.WorkspaceAlias',
|
||||
match: workspace.alias,
|
||||
},
|
||||
{
|
||||
alias: 'Umb.Condition.UserPermission.Document',
|
||||
allOf: [UMB_USER_PERMISSION_DOCUMENT_UPDATE],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user