Merge branch 'feature/entity-action-kind' of https://github.com/umbraco/Umbraco.CMS.Backoffice into feature/entity-action-kind

This commit is contained in:
Niels Lyngsø
2024-03-03 19:51:30 +01:00
16 changed files with 42 additions and 32 deletions

View File

@@ -1,9 +1,8 @@
import { UMB_DATA_TYPE_CREATE_OPTIONS_MODAL } from './modal/index.js';
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
export class UmbCreateDataTypeEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateDataTypeEntityAction extends UmbEntityActionBase<never> {
async execute() {
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
const modalContext = modalManager.open(this, UMB_DATA_TYPE_CREATE_OPTIONS_MODAL, {

View File

@@ -2,7 +2,7 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export default class UmbCreateDictionaryEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export default class UmbCreateDictionaryEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}

View File

@@ -1,9 +1,8 @@
import { UMB_DOCUMENT_TYPE_CREATE_OPTIONS_MODAL } from './modal/index.js';
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
export class UmbCreateDataTypeEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateDataTypeEntityAction extends UmbEntityActionBase<never> {
async execute() {
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
const modalContext = modalManager.open(this, UMB_DOCUMENT_TYPE_CREATE_OPTIONS_MODAL, {

View File

@@ -2,7 +2,7 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbCreateDocumentBlueprintEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateDocumentBlueprintEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}

View File

@@ -2,8 +2,13 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
import { UMB_CULTURE_AND_HOSTNAMES_MODAL } from '@umbraco-cms/backoffice/document';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbDocumentCultureAndHostnamesEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}
export class UmbDocumentCultureAndHostnamesEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
async execute() {
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
modalManager.open(this, UMB_CULTURE_AND_HOSTNAMES_MODAL, {

View File

@@ -6,7 +6,7 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
export class UmbUnpublishDocumentEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbUnpublishDocumentEntityAction extends UmbEntityActionBase<never> {
async execute() {
if (!this.args.unique) throw new Error('The document unique identifier is missing');

View File

@@ -2,7 +2,7 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
export class UmbLanguageCreateEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbLanguageCreateEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHostElement, args: UmbEntityActionArgs<never>) {
super(host, args);
}

View File

@@ -1,9 +1,14 @@
import { UMB_MEDIA_TYPE_CREATE_OPTIONS_MODAL } from './modal/index.js';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
export class UmbCreateMediaTypeEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateMediaTypeEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}
async execute() {
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
const modalContext = modalManager.open(this, UMB_MEDIA_TYPE_CREATE_OPTIONS_MODAL, {

View File

@@ -6,7 +6,7 @@ import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
export class UmbCreateMediaEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateMediaEntityAction extends UmbEntityActionBase<never> {
#itemRepository;
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {

View File

@@ -2,7 +2,7 @@ import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controlle
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
export class UmbCreateMemberTypeEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateMemberTypeEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHostElement, args: UmbEntityActionArgs<never>) {
super(host, args);
}

View File

@@ -2,7 +2,7 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbCreateRelationTypeEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateRelationTypeEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}

View File

@@ -1,16 +1,21 @@
import { UMB_PARTIAL_VIEW_CREATE_OPTIONS_MODAL } from './options-modal/index.js';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
export class UmbPartialViewCreateOptionsEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbPartialViewCreateOptionsEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}
async execute() {
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
const modalContext = modalManager.open(this, UMB_PARTIAL_VIEW_CREATE_OPTIONS_MODAL, {
data: {
parent: {
unique: this.args.meta.unique,
entityType: this.args.meta.entityType,
unique: this.args.unique,
entityType: this.args.entityType,
},
},
});

View File

@@ -2,7 +2,7 @@ import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbCreateEntityAction extends UmbEntityActionBase<UmbEntityActionArgs<never>> {
export class UmbCreateEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}

View File

@@ -1,23 +1,20 @@
import type { UmbEnableUserRepository } from '../../repository/enable/enable-user.repository.js';
import { UmbEnableUserRepository } from '../../repository/enable/enable-user.repository.js';
import { UmbUserItemRepository } from '../../repository/item/user-item.repository.js';
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { umbConfirmModal } from '@umbraco-cms/backoffice/modal';
export class UmbEnableUserEntityAction extends UmbEntityActionBase<UmbEnableUserRepository> {
#itemRepository: UmbUserItemRepository;
constructor(host: UmbControllerHost, repositoryAlias: string, unique: string, entityType: string) {
super(host, repositoryAlias, unique, entityType);
this.#itemRepository = new UmbUserItemRepository(this);
export class UmbEnableUserEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
super(host, args);
}
async execute() {
if (!this.unique) throw new Error('Unique is not available');
if (!this.repository) return;
if (!this.args.unique) throw new Error('Unique is not available');
const { data } = await this.#itemRepository.requestItems([this.unique]);
const itemRepository = new UmbUserItemRepository(this);
const { data } = await itemRepository.requestItems([this.args.unique]);
if (data) {
const item = data[0];
@@ -28,7 +25,10 @@ export class UmbEnableUserEntityAction extends UmbEntityActionBase<UmbEnableUser
confirmLabel: 'Enable',
});
await this.repository?.enable([this.unique]);
const enableRepository = new UmbEnableUserRepository(this);
await enableRepository.enable([this.args.unique]);
}
}
destroy(): void {}
}

View File

@@ -39,7 +39,6 @@ const entityActions: Array<ManifestTypes> = [
meta: {
icon: 'icon-check',
label: 'Enable',
repositoryAlias: UMB_ENABLE_USER_REPOSITORY_ALIAS,
entityTypes: [UMB_USER_ENTITY_TYPE],
},
conditions: [

View File

@@ -1,4 +1,3 @@
import { UMB_INVITE_USER_REPOSITORY_ALIAS } from '../repository/manifests.js';
import { UMB_USER_ENTITY_TYPE } from '../../entity.js';
import { UmbResendInviteToUserEntityAction } from './resend-invite/resend-invite.action.js';
import { manifest as conditionManifest } from './resend-invite/resend-invite.action.condition.js';
@@ -14,7 +13,6 @@ const entityActions: Array<ManifestTypes> = [
meta: {
icon: 'icon-message',
label: 'Resend Invite',
repositoryAlias: UMB_INVITE_USER_REPOSITORY_ALIAS,
entityTypes: [UMB_USER_ENTITY_TYPE],
},
conditions: [