{"version":3,"file":"duplicate-to.action-DksfFgDS.js","sources":["../../../src/packages/core/tree/entity-actions/duplicate-to/duplicate-to.action.ts"],"sourcesContent":["import { UMB_DUPLICATE_TO_MODAL } from './modal/duplicate-to-modal.token.js';\r\nimport type { MetaEntityActionDuplicateToKind, UmbDuplicateToRepository } from './types.js';\r\nimport { UmbEntityActionBase, UmbRequestReloadStructureForEntityEvent } from '@umbraco-cms/backoffice/entity-action';\r\nimport { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';\r\nimport { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry';\r\nimport { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action';\r\n\r\nexport class UmbDuplicateToEntityAction extends UmbEntityActionBase {\r\n\toverride async execute() {\r\n\t\tif (!this.args.unique) throw new Error('Unique is not available');\r\n\t\tif (!this.args.entityType) throw new Error('Entity Type is not available');\r\n\r\n\t\tconst modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);\r\n\t\tconst modal = modalManager.open(this, UMB_DUPLICATE_TO_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\ttreeAlias: this.args.meta.treeAlias,\r\n\t\t\t\tfoldersOnly: this.args.meta.foldersOnly,\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\ttry {\r\n\t\t\tconst value = await modal.onSubmit();\r\n\t\t\tconst destinationUnique = value.destination.unique;\r\n\t\t\tif (destinationUnique === undefined) throw new Error('Destination Unique is not available');\r\n\r\n\t\t\tconst duplicateRepository = await createExtensionApiByAlias(\r\n\t\t\t\tthis,\r\n\t\t\t\tthis.args.meta.duplicateRepositoryAlias,\r\n\t\t\t);\r\n\t\t\tif (!duplicateRepository) throw new Error('Duplicate repository is not available');\r\n\r\n\t\t\tconst { error } = await duplicateRepository.requestDuplicateTo({\r\n\t\t\t\tunique: this.args.unique,\r\n\t\t\t\tdestination: { unique: destinationUnique },\r\n\t\t\t});\r\n\r\n\t\t\tif (!error) {\r\n\t\t\t\tthis.#reloadMenu();\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t}\r\n\t}\r\n\r\n\tasync #reloadMenu() {\r\n\t\tconst actionEventContext = await this.getContext(UMB_ACTION_EVENT_CONTEXT);\r\n\t\tconst event = new UmbRequestReloadStructureForEntityEvent({\r\n\t\t\tunique: this.args.unique,\r\n\t\t\tentityType: this.args.entityType,\r\n\t\t});\r\n\r\n\t\tactionEventContext.dispatchEvent(event);\r\n\r\n\t\t// TODO: Reload destination\r\n\t}\r\n}\r\n\r\nexport { UmbDuplicateToEntityAction as api };\r\n"],"names":["UmbDuplicateToEntityAction","UmbEntityActionBase","modal","UMB_MODAL_MANAGER_CONTEXT","UMB_DUPLICATE_TO_MODAL","destinationUnique","duplicateRepository","createExtensionApiByAlias","error","#reloadMenu","actionEventContext","UMB_ACTION_EVENT_CONTEXT","event","UmbRequestReloadStructureForEntityEvent"],"mappings":";;;;;AAOO,MAAMA,UAAmCC,EAAqD;AAAA,EACpG,MAAe,UAAU;AACxB,QAAI,CAAC,KAAK,KAAK,OAAc,OAAA,IAAI,MAAM,yBAAyB;AAChE,QAAI,CAAC,KAAK,KAAK,WAAkB,OAAA,IAAI,MAAM,8BAA8B;AAGzE,UAAMC,KADe,MAAM,KAAK,WAAWC,CAAyB,GACzC,KAAK,MAAMC,GAAwB;AAAA,MAC7D,MAAM;AAAA,QACL,QAAQ,KAAK,KAAK;AAAA,QAClB,YAAY,KAAK,KAAK;AAAA,QACtB,WAAW,KAAK,KAAK,KAAK;AAAA,QAC1B,aAAa,KAAK,KAAK,KAAK;AAAA,MAAA;AAAA,IAC7B,CACA;AAEG,QAAA;AAEG,YAAAC,KADQ,MAAMH,EAAM,SAAS,GACH,YAAY;AAC5C,UAAIG,MAAsB,OAAiB,OAAA,IAAI,MAAM,qCAAqC;AAE1F,YAAMC,IAAsB,MAAMC;AAAA,QACjC;AAAA,QACA,KAAK,KAAK,KAAK;AAAA,MAChB;AACA,UAAI,CAACD,EAA2B,OAAA,IAAI,MAAM,uCAAuC;AAEjF,YAAM,EAAE,OAAAE,EAAA,IAAU,MAAMF,EAAoB,mBAAmB;AAAA,QAC9D,QAAQ,KAAK,KAAK;AAAA,QAClB,aAAa,EAAE,QAAQD,EAAkB;AAAA,MAAA,CACzC;AAED,MAAKG,KACJ,KAAKC,GAAY;AAAA,aAEVD,GAAO;AACf,cAAQ,MAAMA,CAAK;AAAA,IAAA;AAAA,EACpB;AAAA,EAGD,MAAMC,KAAc;AACnB,UAAMC,IAAqB,MAAM,KAAK,WAAWC,CAAwB,GACnEC,IAAQ,IAAIC,EAAwC;AAAA,MACzD,QAAQ,KAAK,KAAK;AAAA,MAClB,YAAY,KAAK,KAAK;AAAA,IAAA,CACtB;AAED,IAAAH,EAAmB,cAAcE,CAAK;AAAA,EAAA;AAIxC;"}