{"version":3,"file":"create.action-XloGCUCs.js","sources":["../../../src/packages/core/entity-action/common/create/create.action.ts"],"sourcesContent":["import { UmbEntityActionBase } from '../../entity-action-base.js';\r\nimport type { UmbEntityActionArgs } from '../../types.js';\r\nimport type { MetaEntityActionCreateKind } from './types.js';\r\nimport { UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL } from './modal/constants.js';\r\nimport { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';\r\nimport { createExtensionApi, UmbExtensionsManifestInitializer } from '@umbraco-cms/backoffice/extension-api';\r\nimport type { ManifestEntityCreateOptionAction } from '@umbraco-cms/backoffice/entity-create-option-action';\r\n\r\nexport class UmbCreateEntityAction extends UmbEntityActionBase {\r\n\t#hasSingleOption = true;\r\n\t#singleActionOptionManifest?: ManifestEntityCreateOptionAction;\r\n\r\n\tconstructor(host: UmbControllerHost, args: UmbEntityActionArgs) {\r\n\t\tsuper(host, args);\r\n\r\n\t\tnew UmbExtensionsManifestInitializer(\r\n\t\t\tthis,\r\n\t\t\tumbExtensionsRegistry,\r\n\t\t\t'entityCreateOptionAction',\r\n\t\t\t(ext) => ext.forEntityTypes.includes(this.args.entityType),\r\n\t\t\tasync (actionOptions) => {\r\n\t\t\t\tthis.#hasSingleOption = actionOptions.length === 1;\r\n\t\t\t\tthis.#singleActionOptionManifest = this.#hasSingleOption\r\n\t\t\t\t\t? (actionOptions[0].manifest as unknown as ManifestEntityCreateOptionAction)\r\n\t\t\t\t\t: undefined;\r\n\t\t\t},\r\n\t\t\t'umbEntityActionsObserver',\r\n\t\t);\r\n\t}\r\n\r\n\toverride async execute() {\r\n\t\tif (this.#hasSingleOption) {\r\n\t\t\tif (!this.#singleActionOptionManifest) throw new Error('No first action manifest found');\r\n\r\n\t\t\tconst api = await createExtensionApi(this, this.#singleActionOptionManifest, [\r\n\t\t\t\t{ unique: this.args.unique, entityType: this.args.entityType, meta: this.#singleActionOptionManifest.meta },\r\n\t\t\t]);\r\n\r\n\t\t\tif (!api) throw new Error(`Could not create api for ${this.#singleActionOptionManifest.alias}`);\r\n\r\n\t\t\tawait api.execute();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);\r\n\t\tconst modalContext = modalManager.open(this, UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL, {\r\n\t\t\tdata: {\r\n\t\t\t\tunique: this.args.unique,\r\n\t\t\t\tentityType: this.args.entityType,\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tawait modalContext.onSubmit();\r\n\t}\r\n}\r\n\r\nexport { UmbCreateEntityAction as api };\r\n"],"names":["UmbCreateEntityAction","UmbEntityActionBase","#hasSingleOption","#singleActionOptionManifest","host","args","UmbExtensionsManifestInitializer","umbExtensionsRegistry","ext","actionOptions","api","createExtensionApi","UMB_MODAL_MANAGER_CONTEXT","UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL"],"mappings":";;;;;AAUO,MAAMA,UAA8BC,EAAgD;AAAA,EAC1FC,KAAmB;AAAA,EACnBC;AAAA,EAEA,YAAYC,GAAyBC,GAAuD;AAC3F,UAAMD,GAAMC,CAAI,GAEZ,IAAAC;AAAA,MACH;AAAA,MACAC;AAAA,MACA;AAAA,MACA,CAACC,MAAQA,EAAI,eAAe,SAAS,KAAK,KAAK,UAAU;AAAA,MACzD,OAAOC,MAAkB;AACnB,aAAAP,KAAmBO,EAAc,WAAW,GACjD,KAAKN,KAA8B,KAAKD,KACpCO,EAAc,CAAC,EAAE,WAClB;AAAA,MACJ;AAAA,MACA;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,MAAe,UAAU;AACxB,QAAI,KAAKP,IAAkB;AAC1B,UAAI,CAAC,KAAKC,GAAmC,OAAA,IAAI,MAAM,gCAAgC;AAEvF,YAAMO,IAAM,MAAMC,EAAmB,MAAM,KAAKR,IAA6B;AAAA,QAC5E,EAAE,QAAQ,KAAK,KAAK,QAAQ,YAAY,KAAK,KAAK,YAAY,MAAM,KAAKA,GAA4B,KAAK;AAAA,MAAA,CAC1G;AAEG,UAAA,CAACO,EAAW,OAAA,IAAI,MAAM,4BAA4B,KAAKP,GAA4B,KAAK,EAAE;AAE9F,YAAMO,EAAI,QAAQ;AAClB;AAAA,IAAA;AAWD,WARqB,MAAM,KAAK,WAAWE,CAAyB,GAClC,KAAK,MAAMC,GAA4C;AAAA,MACxF,MAAM;AAAA,QACL,QAAQ,KAAK,KAAK;AAAA,QAClB,YAAY,KAAK,KAAK;AAAA,MAAA;AAAA,IACvB,CACA,EAEkB,SAAS;AAAA,EAAA;AAE9B;"}