{"version":3,"file":"index.js","sources":["../../../../src/packages/documents/document-types/modals/document-type-picker-modal.token.ts","../../../../src/packages/documents/document-types/repository/structure/constants.ts","../../../../src/packages/documents/document-types/components/input-document-type/input-document-type.context.ts","../../../../src/packages/documents/document-types/components/input-document-type/input-document-type.element.ts","../../../../src/packages/documents/document-types/repository/structure/document-type-structure.server.data-source.ts","../../../../src/packages/documents/document-types/repository/structure/document-type-structure.repository.ts"],"sourcesContent":["import { UMB_DOCUMENT_TYPE_ENTITY_TYPE, UMB_DOCUMENT_TYPE_ROOT_ENTITY_TYPE } from '../entity.js';\r\nimport { UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN } from '../paths.js';\r\nimport type { UmbDocumentTypeTreeItemModel } from '../tree/index.js';\r\nimport { UmbModalToken } from '@umbraco-cms/backoffice/modal';\r\nimport {\r\n\ttype UmbTreePickerModalValue,\r\n\ttype UmbTreePickerModalData,\r\n\tUMB_TREE_PICKER_MODAL_ALIAS,\r\n} from '@umbraco-cms/backoffice/tree';\r\n\r\nexport type UmbDocumentTypePickerModalData = UmbTreePickerModalData<\r\n\tUmbDocumentTypeTreeItemModel,\r\n\ttypeof UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN.PARAMS\r\n>;\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport interface UmbDocumentTypePickerModalValue extends UmbTreePickerModalValue {}\r\n\r\nexport const UMB_DOCUMENT_TYPE_PICKER_MODAL = new UmbModalToken<\r\n\tUmbDocumentTypePickerModalData,\r\n\tUmbDocumentTypePickerModalValue\r\n>(UMB_TREE_PICKER_MODAL_ALIAS, {\r\n\tmodal: {\r\n\t\ttype: 'sidebar',\r\n\t\tsize: 'small',\r\n\t},\r\n\tdata: {\r\n\t\ttreeAlias: 'Umb.Tree.DocumentType',\r\n\t\tcreateAction: {\r\n\t\t\tlabel: '#content_createEmpty',\r\n\t\t\tmodalData: {\r\n\t\t\t\tentityType: UMB_DOCUMENT_TYPE_ENTITY_TYPE,\r\n\t\t\t\tpreset: {},\r\n\t\t\t},\r\n\t\t\textendWithPathPattern: UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN,\r\n\t\t\textendWithPathParams: {\r\n\t\t\t\tparentEntityType: UMB_DOCUMENT_TYPE_ROOT_ENTITY_TYPE,\r\n\t\t\t\tparentUnique: null,\r\n\t\t\t\tpresetAlias: null,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n});\r\n","export const UMB_DOCUMENT_TYPE_STRUCTURE_REPOSITORY_ALIAS = 'Umb.Repository.DocumentType.Structure';\r\n","import type { UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalValue } from '../../modals/index.js';\r\nimport { UMB_DOCUMENT_TYPE_PICKER_MODAL } from '../../modals/index.js';\r\nimport type { UmbDocumentTypeItemModel } from '../../types.js';\r\nimport type { UmbDocumentTypeTreeItemModel } from '../../tree/types.js';\r\nimport { UMB_DOCUMENT_TYPE_ITEM_REPOSITORY_ALIAS } from '../../constants.js';\r\nimport { UmbPickerInputContext } from '@umbraco-cms/backoffice/picker-input';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\nexport class UmbDocumentTypePickerInputContext extends UmbPickerInputContext<\r\n\tUmbDocumentTypeItemModel,\r\n\tUmbDocumentTypeTreeItemModel,\r\n\tUmbDocumentTypePickerModalData,\r\n\tUmbDocumentTypePickerModalValue\r\n> {\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UMB_DOCUMENT_TYPE_ITEM_REPOSITORY_ALIAS, UMB_DOCUMENT_TYPE_PICKER_MODAL);\r\n\t}\r\n}\r\n\r\n/** @deprecated Use `UmbDocumentTypePickerInputContext` instead. This method will be removed in Umbraco 15. */\r\nexport { UmbDocumentTypePickerInputContext as UmbDocumentTypePickerContext };\r\n","import type { UmbDocumentTypeItemModel, UmbDocumentTypeTreeItemModel } from '../../types.js';\r\nimport { UMB_DOCUMENT_TYPE_WORKSPACE_MODAL } from '../../constants.js';\r\nimport { UMB_EDIT_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN } from '../../paths.js';\r\nimport { UmbDocumentTypePickerInputContext } from './input-document-type.context.js';\r\nimport { css, html, customElement, property, state, repeat, nothing } from '@umbraco-cms/backoffice/external/lit';\r\nimport { splitStringToArray } from '@umbraco-cms/backoffice/utils';\r\nimport { UmbChangeEvent } from '@umbraco-cms/backoffice/event';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';\r\nimport { UmbSorterController } from '@umbraco-cms/backoffice/sorter';\r\nimport { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation';\r\n\r\n@customElement('umb-input-document-type')\r\nexport class UmbInputDocumentTypeElement extends UmbFormControlMixin(\r\n\tUmbLitElement,\r\n\tundefined,\r\n) {\r\n\t#sorter = new UmbSorterController(this, {\r\n\t\tgetUniqueOfElement: (element) => {\r\n\t\t\treturn element.id;\r\n\t\t},\r\n\t\tgetUniqueOfModel: (modelEntry) => {\r\n\t\t\treturn modelEntry;\r\n\t\t},\r\n\t\tidentifier: 'Umb.SorterIdentifier.InputDocumentType',\r\n\t\titemSelector: 'uui-ref-node-document-type',\r\n\t\tcontainerSelector: 'uui-ref-list',\r\n\t\tonChange: ({ model }) => {\r\n\t\t\tthis.selection = model;\r\n\t\t\tthis.dispatchEvent(new UmbChangeEvent());\r\n\t\t},\r\n\t});\r\n\r\n\t/**\r\n\t * Limits to only select Element Types\r\n\t * @type {boolean}\r\n\t * @default false\r\n\t */\r\n\t@property({ attribute: false })\r\n\telementTypesOnly: boolean = false;\r\n\r\n\t/**\r\n\t * Limits to only select Document Types\r\n\t * @type {boolean}\r\n\t * @default false\r\n\t */\r\n\t@property({ attribute: false })\r\n\tdocumentTypesOnly: boolean = false;\r\n\r\n\t/**\r\n\t * This is a minimum amount of selected items in this input.\r\n\t * @type {number}\r\n\t * @default\r\n\t */\r\n\t@property({ type: Number })\r\n\tpublic set min(value: number) {\r\n\t\tthis.#pickerContext.min = value;\r\n\t}\r\n\tpublic get min(): number {\r\n\t\treturn this.#pickerContext.min;\r\n\t}\r\n\r\n\t/**\r\n\t * Min validation message.\r\n\t * @type {boolean}\r\n\t * @default\r\n\t */\r\n\t@property({ type: String, attribute: 'min-message' })\r\n\tminMessage = 'This field need more items';\r\n\r\n\t/**\r\n\t * This is a maximum amount of selected items in this input.\r\n\t * @type {number}\r\n\t * @default\r\n\t */\r\n\t@property({ type: Number })\r\n\tpublic set max(value: number) {\r\n\t\tthis.#pickerContext.max = value;\r\n\t}\r\n\tpublic get max(): number {\r\n\t\treturn this.#pickerContext.max;\r\n\t}\r\n\r\n\t/**\r\n\t * Max validation message.\r\n\t * @type {boolean}\r\n\t * @default\r\n\t */\r\n\t@property({ type: String, attribute: 'min-message' })\r\n\tmaxMessage = 'This field exceeds the allowed amount of items';\r\n\r\n\t@property({ type: Array })\r\n\tpublic set selection(uniques: Array) {\r\n\t\tthis.#pickerContext.setSelection(uniques);\r\n\t\tthis.#sorter.setModel(uniques);\r\n\t}\r\n\tpublic get selection(): Array {\r\n\t\treturn this.#pickerContext.getSelection();\r\n\t}\r\n\r\n\t@property({ type: String })\r\n\tpublic override set value(uniques: string | undefined) {\r\n\t\tthis.selection = splitStringToArray(uniques);\r\n\t}\r\n\tpublic override get value(): string | undefined {\r\n\t\treturn this.selection.length > 0 ? this.selection.join(',') : undefined;\r\n\t}\r\n\t@state()\r\n\tprivate _items?: Array;\r\n\r\n\t@state()\r\n\tprivate _editPath = '';\r\n\r\n\t#pickerContext = new UmbDocumentTypePickerInputContext(this);\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tnew UmbModalRouteRegistrationController(this, UMB_DOCUMENT_TYPE_WORKSPACE_MODAL)\r\n\t\t\t.addAdditionalPath('document-type')\r\n\t\t\t.onSetup(() => {\r\n\t\t\t\treturn {};\r\n\t\t\t})\r\n\t\t\t.observeRouteBuilder((routeBuilder) => {\r\n\t\t\t\tthis._editPath = routeBuilder({});\r\n\t\t\t});\r\n\r\n\t\tthis.addValidator(\r\n\t\t\t'rangeUnderflow',\r\n\t\t\t() => this.minMessage,\r\n\t\t\t() => !!this.min && this.#pickerContext.getSelection().length < this.min,\r\n\t\t);\r\n\r\n\t\tthis.addValidator(\r\n\t\t\t'rangeOverflow',\r\n\t\t\t() => this.maxMessage,\r\n\t\t\t() => !!this.max && this.#pickerContext.getSelection().length > this.max,\r\n\t\t);\r\n\r\n\t\tthis.observe(this.#pickerContext.selection, (selection) => (this.value = selection.join(',')), '_observeSelection');\r\n\t\tthis.observe(this.#pickerContext.selectedItems, (selectedItems) => (this._items = selectedItems), '_observerItems');\r\n\t}\r\n\r\n\tprotected override getFormElement() {\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\t#getPickableFilter() {\r\n\t\tif (this.documentTypesOnly) {\r\n\t\t\treturn (x: UmbDocumentTypeTreeItemModel) => x.isFolder === false && x.isElement === false;\r\n\t\t}\r\n\t\tif (this.elementTypesOnly) {\r\n\t\t\treturn (x: UmbDocumentTypeTreeItemModel) => x.isElement;\r\n\t\t}\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\t#openPicker() {\r\n\t\tthis.#pickerContext.openPicker({\r\n\t\t\thideTreeRoot: true,\r\n\t\t\tpickableFilter: this.#getPickableFilter(),\r\n\t\t});\r\n\t}\r\n\r\n\t#removeItem(item: UmbDocumentTypeItemModel) {\r\n\t\tthis.#pickerContext.requestRemoveItem(item.unique);\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html`${this.#renderItems()} ${this.#renderAddButton()}`;\r\n\t}\r\n\r\n\t#renderAddButton() {\r\n\t\tif (this.max > 0 && this.selection.length >= this.max) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderItems() {\r\n\t\tif (!this._items) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${repeat(\r\n\t\t\t\t\tthis._items,\r\n\t\t\t\t\t(item) => item.unique,\r\n\t\t\t\t\t(item) => this.#renderItem(item),\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderItem(item: UmbDocumentTypeItemModel) {\r\n\t\tif (!item.unique) return;\r\n\t\tconst href = this._editPath + UMB_EDIT_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN.generateLocal({ unique: item.unique });\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${this.#renderIcon(item)}\r\n\t\t\t\t\r\n\t\t\t\t\t this.#removeItem(item)} label=${this.localize.term('general_remove')}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderIcon(item: UmbDocumentTypeItemModel) {\r\n\t\tif (!item.icon) return;\r\n\t\treturn html``;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tcss`\r\n\t\t\t#btn-add {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\nexport default UmbInputDocumentTypeElement;\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-input-document-type': UmbInputDocumentTypeElement;\r\n\t}\r\n}\r\n","import { UMB_DOCUMENT_TYPE_ENTITY_TYPE } from '../../entity.js';\r\nimport type { UmbAllowedDocumentTypeModel } from './types.js';\r\nimport type { AllowedDocumentTypeModel } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { DocumentTypeService } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { UmbContentTypeStructureServerDataSourceBase } from '@umbraco-cms/backoffice/content-type';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\n/**\r\n *\r\n \r\n * @class UmbDocumentTypeStructureServerDataSource\r\n * @augments {UmbContentTypeStructureServerDataSourceBase}\r\n */\r\nexport class UmbDocumentTypeStructureServerDataSource extends UmbContentTypeStructureServerDataSourceBase<\r\n\tAllowedDocumentTypeModel,\r\n\tUmbAllowedDocumentTypeModel\r\n> {\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, { getAllowedChildrenOf, mapper });\r\n\t}\r\n}\r\n\r\nconst getAllowedChildrenOf = (unique: string | null) => {\r\n\tif (unique) {\r\n\t\t// eslint-disable-next-line local-rules/no-direct-api-import\r\n\t\treturn DocumentTypeService.getDocumentTypeByIdAllowedChildren({ id: unique });\r\n\t} else {\r\n\t\t// eslint-disable-next-line local-rules/no-direct-api-import\r\n\t\treturn DocumentTypeService.getDocumentTypeAllowedAtRoot({});\r\n\t}\r\n};\r\n\r\nconst mapper = (item: AllowedDocumentTypeModel): UmbAllowedDocumentTypeModel => {\r\n\treturn {\r\n\t\tunique: item.id,\r\n\t\tentityType: UMB_DOCUMENT_TYPE_ENTITY_TYPE,\r\n\t\tname: item.name,\r\n\t\tdescription: item.description || null,\r\n\t\ticon: item.icon || null,\r\n\t};\r\n};\r\n","import { UmbDocumentTypeStructureServerDataSource } from './document-type-structure.server.data-source.js';\r\nimport type { UmbAllowedDocumentTypeModel } from './types.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UmbContentTypeStructureRepositoryBase } from '@umbraco-cms/backoffice/content-type';\r\n\r\nexport class UmbDocumentTypeStructureRepository extends UmbContentTypeStructureRepositoryBase {\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UmbDocumentTypeStructureServerDataSource);\r\n\t}\r\n}\r\n\r\nexport { UmbDocumentTypeStructureRepository as api };\r\n"],"names":["UMB_DOCUMENT_TYPE_PICKER_MODAL","UmbModalToken","UMB_TREE_PICKER_MODAL_ALIAS","UMB_DOCUMENT_TYPE_ENTITY_TYPE","UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN","UMB_DOCUMENT_TYPE_ROOT_ENTITY_TYPE","UMB_DOCUMENT_TYPE_STRUCTURE_REPOSITORY_ALIAS","UmbDocumentTypePickerInputContext","UmbPickerInputContext","host","UMB_DOCUMENT_TYPE_ITEM_REPOSITORY_ALIAS","_sorter","_pickerContext","_UmbInputDocumentTypeElement_instances","getPickableFilter_fn","openPicker_fn","removeItem_fn","renderAddButton_fn","renderItems_fn","renderItem_fn","renderIcon_fn","UmbInputDocumentTypeElement","UmbFormControlMixin","UmbLitElement","__privateAdd","UmbSorterController","element","modelEntry","model","UmbChangeEvent","UmbModalRouteRegistrationController","UMB_DOCUMENT_TYPE_WORKSPACE_MODAL","routeBuilder","__privateGet","selection","selectedItems","value","uniques","splitStringToArray","html","__privateMethod","x","item","nothing","repeat","href","UMB_EDIT_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN","css","__decorateClass","property","state","customElement","UmbDocumentTypeStructureServerDataSource","UmbContentTypeStructureServerDataSourceBase","getAllowedChildrenOf","mapper","unique","DocumentTypeService","UmbDocumentTypeStructureRepository","UmbContentTypeStructureRepositoryBase"],"mappings":"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"}