{"version":3,"file":"data-type-item.repository-CmuSdcGD.js","sources":["../../../src/packages/data-type/repository/item/data-type-item.server.data-source.ts","../../../src/packages/data-type/repository/item/data-type-item.repository.ts"],"sourcesContent":["import { UMB_DATA_TYPE_ENTITY_TYPE } from '../../entity.js';\r\nimport type { UmbDataTypeItemModel } from './types.js';\r\nimport { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository';\r\nimport type { DataTypeItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { DataTypeService } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';\r\nimport type { ManifestPropertyEditorUi } from '@umbraco-cms/backoffice/property-editor';\r\n\r\nlet manifestPropertyEditorUis: Array = [];\r\n\r\n/**\r\n * A server data source for Data Type items\r\n * @class UmbDataTypeItemServerDataSource\r\n * @implements {DocumentTreeDataSource}\r\n */\r\nexport class UmbDataTypeItemServerDataSource extends UmbItemServerDataSourceBase<\r\n\tDataTypeItemResponseModel,\r\n\tUmbDataTypeItemModel\r\n> {\r\n\t/**\r\n\t * Creates an instance of UmbDataTypeItemServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbDataTypeItemServerDataSource\r\n\t */\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, {\r\n\t\t\tgetItems,\r\n\t\t\tmapper,\r\n\t\t});\r\n\r\n\t\tumbExtensionsRegistry\r\n\t\t\t.byType('propertyEditorUi')\r\n\t\t\t.subscribe((manifestPropertyEditorUIs) => {\r\n\t\t\t\tmanifestPropertyEditorUis = manifestPropertyEditorUIs;\r\n\t\t\t})\r\n\t\t\t.unsubscribe();\r\n\t}\r\n}\r\n\r\n/* eslint-disable local-rules/no-direct-api-import */\r\nconst getItems = (uniques: Array) => DataTypeService.getItemDataType({ id: uniques });\r\n\r\nconst mapper = (item: DataTypeItemResponseModel): UmbDataTypeItemModel => {\r\n\treturn {\r\n\t\tentityType: UMB_DATA_TYPE_ENTITY_TYPE,\r\n\t\tunique: item.id,\r\n\t\tname: item.name,\r\n\t\tpropertyEditorSchemaAlias: item.editorAlias,\r\n\t\tpropertyEditorUiAlias: item.editorUiAlias || '', // TODO: why can this be undefined or null on the server?\r\n\t\ticon: manifestPropertyEditorUis.find((ui) => ui.alias === item.editorUiAlias)?.meta.icon,\r\n\t};\r\n};\r\n","import { UmbDataTypeItemServerDataSource } from './data-type-item.server.data-source.js';\r\nimport { UMB_DATA_TYPE_ITEM_STORE_CONTEXT } from './data-type-item.store.context-token.js';\r\nimport type { UmbDataTypeItemModel } from './types.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UmbItemRepositoryBase } from '@umbraco-cms/backoffice/repository';\r\n\r\nexport class UmbDataTypeItemRepository extends UmbItemRepositoryBase {\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UmbDataTypeItemServerDataSource, UMB_DATA_TYPE_ITEM_STORE_CONTEXT);\r\n\t}\r\n}\r\n\r\nexport { UmbDataTypeItemRepository as api };\r\n"],"names":["manifestPropertyEditorUis","UmbDataTypeItemServerDataSource","UmbItemServerDataSourceBase","host","getItems","mapper","umbExtensionsRegistry","manifestPropertyEditorUIs","uniques","DataTypeService","item","UMB_DATA_TYPE_ENTITY_TYPE","ui","UmbDataTypeItemRepository","UmbItemRepositoryBase","UMB_DATA_TYPE_ITEM_STORE_CONTEXT"],"mappings":";;;;AASA,IAAIA,IAA6D,CAAC;AAO3D,MAAMC,UAAwCC,EAGnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,YAAYC,GAAyB;AACpC,UAAMA,GAAM;AAAA,MACX,UAAAC;AAAA,MACA,QAAAC;AAAA,IAAA,CACA,GAEDC,EACE,OAAO,kBAAkB,EACzB,UAAU,CAACC,MAA8B;AACb,MAAAP,IAAAO;AAAA,IAC5B,CAAA,EACA,YAAY;AAAA,EAAA;AAEhB;AAGA,MAAMH,IAAW,CAACI,MAA2BC,EAAgB,gBAAgB,EAAE,IAAID,GAAS,GAEtFH,IAAS,CAACK,OACR;AAAA,EACN,YAAYC;AAAA,EACZ,QAAQD,EAAK;AAAA,EACb,MAAMA,EAAK;AAAA,EACX,2BAA2BA,EAAK;AAAA,EAChC,uBAAuBA,EAAK,iBAAiB;AAAA;AAAA,EAC7C,MAAMV,EAA0B,KAAK,CAACY,MAAOA,EAAG,UAAUF,EAAK,aAAa,GAAG,KAAK;AACrF;AC9CM,MAAMG,UAAkCC,EAA4C;AAAA,EAC1F,YAAYX,GAAyB;AAC9B,UAAAA,GAAMF,GAAiCc,CAAgC;AAAA,EAAA;AAE/E;"}