{"version":3,"file":"delete.action-D7A7_yum.js","sources":["../../../src/packages/core/entity-action/common/delete/delete.action.ts"],"sourcesContent":["import { UmbEntityActionBase } from '../../entity-action-base.js';\r\nimport { UmbRequestReloadStructureForEntityEvent } from '../../request-reload-structure-for-entity.event.js';\r\nimport type { MetaEntityActionDeleteKind } from './types.js';\r\nimport { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry';\r\nimport { umbConfirmModal } from '@umbraco-cms/backoffice/modal';\r\nimport type { UmbDetailRepository, UmbItemRepository } from '@umbraco-cms/backoffice/repository';\r\nimport { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action';\r\nimport { UmbLocalizationController } from '@umbraco-cms/backoffice/localization-api';\r\n\r\nexport class UmbDeleteEntityAction extends UmbEntityActionBase {\r\n\t// TODO: make base type for item and detail models\r\n\t#localize = new UmbLocalizationController(this);\r\n\r\n\toverride async execute() {\r\n\t\tif (!this.args.unique) throw new Error('Cannot delete an item without a unique identifier.');\r\n\r\n\t\tconst itemRepository = await createExtensionApiByAlias>(\r\n\t\t\tthis,\r\n\t\t\tthis.args.meta.itemRepositoryAlias,\r\n\t\t);\r\n\r\n\t\tconst { data } = await itemRepository.requestItems([this.args.unique]);\r\n\t\tconst item = data?.[0];\r\n\t\tif (!item) throw new Error('Item not found.');\r\n\r\n\t\tconst headline = this.args.meta.confirm?.headline ?? '#actions_delete';\r\n\t\tconst message = this.args.meta.confirm?.message ?? '#defaultdialogs_confirmdelete';\r\n\r\n\t\t// TODO: handle items with variants\r\n\t\tawait umbConfirmModal(this._host, {\r\n\t\t\theadline,\r\n\t\t\tcontent: this.#localize.string(message, item.name),\r\n\t\t\tcolor: 'danger',\r\n\t\t\tconfirmLabel: '#general_delete',\r\n\t\t});\r\n\r\n\t\tconst detailRepository = await createExtensionApiByAlias>(\r\n\t\t\tthis,\r\n\t\t\tthis.args.meta.detailRepositoryAlias,\r\n\t\t);\r\n\t\tawait detailRepository.delete(this.args.unique);\r\n\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\t}\r\n}\r\nexport default UmbDeleteEntityAction;\r\n"],"names":["UmbDeleteEntityAction","UmbEntityActionBase","#localize","UmbLocalizationController","itemRepository","createExtensionApiByAlias","data","item","headline","message","umbConfirmModal","actionEventContext","UMB_ACTION_EVENT_CONTEXT","event","UmbRequestReloadStructureForEntityEvent"],"mappings":";;;;;;AASO,MAAMA,UAA8BC,EAAgD;AAAA;AAAA,EAE1FC,KAAY,IAAIC,EAA0B,IAAI;AAAA,EAE9C,MAAe,UAAU;AACxB,QAAI,CAAC,KAAK,KAAK,OAAc,OAAA,IAAI,MAAM,oDAAoD;AAE3F,UAAMC,IAAiB,MAAMC;AAAA,MAC5B;AAAA,MACA,KAAK,KAAK,KAAK;AAAA,IAChB,GAEM,EAAE,MAAAC,EAAK,IAAI,MAAMF,EAAe,aAAa,CAAC,KAAK,KAAK,MAAM,CAAC,GAC/DG,IAAOD,IAAO,CAAC;AACrB,QAAI,CAACC,EAAY,OAAA,IAAI,MAAM,iBAAiB;AAE5C,UAAMC,IAAW,KAAK,KAAK,KAAK,SAAS,YAAY,mBAC/CC,IAAU,KAAK,KAAK,KAAK,SAAS,WAAW;AAG7C,UAAAC,EAAgB,KAAK,OAAO;AAAA,MACjC,UAAAF;AAAA,MACA,SAAS,KAAKN,GAAU,OAAOO,GAASF,EAAK,IAAI;AAAA,MACjD,OAAO;AAAA,MACP,cAAc;AAAA,IAAA,CACd,GAMD,OAJyB,MAAMF;AAAA,MAC9B;AAAA,MACA,KAAK,KAAK,KAAK;AAAA,IAChB,GACuB,OAAO,KAAK,KAAK,MAAM;AAE9C,UAAMM,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;AAExC;"}