{"version":3,"file":"document-reference-table.element-Dw6sl40L.js","sources":["../../../src/packages/documents/documents/reference/components/document-reference-table.element.ts"],"sourcesContent":["import { UmbDocumentReferenceRepository } from '../repository/index.js';\r\nimport { css, customElement, html, nothing, property, repeat, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport {\r\n\ttype UmbReferenceModel,\r\n\tisDocumentReference,\r\n\tisMediaReference,\r\n\tisDefaultReference,\r\n} from '@umbraco-cms/backoffice/relations';\r\n\r\n@customElement('umb-document-reference-table')\r\nexport class UmbDocumentReferenceTableElement extends UmbLitElement {\r\n\t#documentReferenceRepository = new UmbDocumentReferenceRepository(this);\r\n\t#pageSize = 10;\r\n\r\n\t@property()\r\n\tunique = '';\r\n\r\n\t@state()\r\n\t_items: Array = [];\r\n\r\n\t/**\r\n\t * Indicates if there are more references to load, i.e. if the server has more references to return.\r\n\t * This is used to determine if the \"...and X more references\" text should be displayed.\r\n\t */\r\n\t@state()\r\n\t_hasMoreReferences = 0;\r\n\r\n\t@state()\r\n\t_errorMessage = '';\r\n\r\n\toverride firstUpdated() {\r\n\t\tthis.#getReferences();\r\n\t}\r\n\r\n\tasync #getReferences() {\r\n\t\t// Get the first 10 references for the document:\r\n\t\tconst { data, error } = await this.#documentReferenceRepository.requestReferencedBy(this.unique, 0, this.#pageSize);\r\n\r\n\t\tif (error) {\r\n\t\t\tthis._errorMessage = error.message;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!data) return;\r\n\r\n\t\tthis._items = data.items;\r\n\t\tthis._hasMoreReferences = data.total > this.#pageSize ? data.total - this.#pageSize : 0;\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html` ${this.#renderErrorMessage()} ${this.#renderTable()} `;\r\n\t}\r\n\r\n\t#getIcon(item: UmbReferenceModel) {\r\n\t\tif (isDocumentReference(item)) {\r\n\t\t\treturn item.documentType.icon ?? 'icon-document';\r\n\t\t}\r\n\t\tif (isMediaReference(item)) {\r\n\t\t\treturn item.mediaType.icon ?? 'icon-picture';\r\n\t\t}\r\n\t\tif (isDefaultReference(item)) {\r\n\t\t\treturn item.icon ?? 'icon-document';\r\n\t\t}\r\n\t\treturn 'icon-document';\r\n\t}\r\n\r\n\t#getContentTypeName(item: UmbReferenceModel) {\r\n\t\tif (isDocumentReference(item)) {\r\n\t\t\treturn item.documentType.name;\r\n\t\t}\r\n\t\tif (isMediaReference(item)) {\r\n\t\t\treturn item.mediaType.name;\r\n\t\t}\r\n\t\tif (isDefaultReference(item)) {\r\n\t\t\treturn item.type;\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n\r\n\t#renderTable() {\r\n\t\tif (this._items?.length === 0) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tName\r\n\t\t\t\t\t\tType Name\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t${repeat(\r\n\t\t\t\t\t\tthis._items,\r\n\t\t\t\t\t\t(item) => item.id,\r\n\t\t\t\t\t\t(item) =>\r\n\t\t\t\t\t\t\thtml`\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t ${item.name} \r\n\t\t\t\t\t\t\t\t${this.#getContentTypeName(item)}\r\n\t\t\t\t\t\t\t`,\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t${this._hasMoreReferences\r\n\t\t\t\t\t\t? html`\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t...and ${this._hasMoreReferences} more items\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t`\r\n\t\t\t\t\t\t: nothing}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderErrorMessage() {\r\n\t\tif (this._errorMessage) {\r\n\t\t\treturn html`
${this._errorMessage}
`;\r\n\t\t}\r\n\t\treturn nothing;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t#error {\r\n\t\t\t\tcolor: var(--uui-color-negative);\r\n\t\t\t\tmargin-bottom: 1rem;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-document-reference-table': UmbDocumentReferenceTableElement;\r\n\t}\r\n}\r\n"],"names":["_documentReferenceRepository","_pageSize","_UmbDocumentReferenceTableElement_instances","getReferences_fn","getIcon_fn","getContentTypeName_fn","renderTable_fn","renderErrorMessage_fn","UmbDocumentReferenceTableElement","UmbLitElement","__privateAdd","UmbDocumentReferenceRepository","__privateMethod","html","data","error","__privateGet","item","isDocumentReference","isMediaReference","isDefaultReference","nothing","repeat","UmbTextStyles","css","__decorateClass","property","state","customElement"],"mappings":"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"}