From 394032ba6fbef73b032b150952864f3247b0bf9c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 6 Feb 2023 10:02:30 +0100 Subject: [PATCH] Move document table collection view manifest + files to document silo folder --- ...document-table-collection-view.element.ts} | 28 +++++++++++++------ .../documents/collection/manifests.ts | 17 +++++++++++ .../documents/documents/manifests.ts | 2 ++ .../shared/collection/views/manifests.ts | 18 ------------ 4 files changed, 39 insertions(+), 26 deletions(-) rename src/Umbraco.Web.UI.Client/src/backoffice/{shared/collection/views/collection-view-document-table.element.ts => documents/documents/collection/document-table-collection-view.element.ts} (80%) create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-document-table.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/document-table-collection-view.element.ts similarity index 80% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-document-table.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/document-table-collection-view.element.ts index 64fffb7c7b..637bc90c03 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-document-table.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/document-table-collection-view.element.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../collection.context'; +import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../../../shared/collection/collection.context'; import { UmbTableColumn, UmbTableConfig, @@ -10,15 +10,15 @@ import { UmbTableItem, UmbTableOrderedEvent, UmbTableSelectedEvent, -} from '../../components/table'; +} from '../../../shared/components/table'; import type { DocumentDetails } from '@umbraco-cms/models'; import { UmbLitElement } from '@umbraco-cms/element'; +import { EntityTreeItem } from '@umbraco-cms/backend-api'; type EntityType = DocumentDetails; -@customElement('umb-collection-view-document-table') -export class UmbCollectionViewDocumentTableElement extends UmbLitElement { - +@customElement('umb-document-table-collection-view') +export class UmbDocumentTableCollectionViewElement extends UmbLitElement { static styles = [ UUITextStyles, css` @@ -38,7 +38,7 @@ export class UmbCollectionViewDocumentTableElement extends UmbLitElement { ]; @state() - private _items?: Array; + private _items?: Array; @state() private _tableConfig: UmbTableConfig = { @@ -51,6 +51,10 @@ export class UmbCollectionViewDocumentTableElement extends UmbLitElement { name: 'Name', alias: 'entityName', }, + { + name: 'Actions', + alias: 'entityActions', + }, ]; @state() @@ -82,8 +86,10 @@ export class UmbCollectionViewDocumentTableElement extends UmbLitElement { }); } - private _createTableItems(items: Array) { + private _createTableItems(items: Array) { this._tableItems = items.map((item) => { + // TODO: use unique instead of key + if (!item.key) throw new Error('Item key is missing.'); return { key: item.key, icon: item.icon, @@ -92,6 +98,10 @@ export class UmbCollectionViewDocumentTableElement extends UmbLitElement { columnAlias: 'entityName', value: item.name || 'Untitled', }, + { + columnAlias: 'entityActions', + value: item.name || 'Untitled', + }, ], }; }); @@ -132,8 +142,10 @@ export class UmbCollectionViewDocumentTableElement extends UmbLitElement { } } +export default UmbDocumentTableCollectionViewElement; + declare global { interface HTMLElementTagNameMap { - 'umb-collection-view-document-table': UmbCollectionViewDocumentTableElement; + 'umb-collection-view-document-table': UmbDocumentTableCollectionViewElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts new file mode 100644 index 0000000000..5ccec908b4 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts @@ -0,0 +1,17 @@ +import { ManifestCollectionView } from '@umbraco-cms/extensions-registry'; + +export const manifests: Array = [ + { + type: 'collectionView', + alias: 'Umb.CollectionView.Document.Table', + name: 'Document Table Collection View', + loader: () => import('./document-table-collection-view.element'), + weight: 200, + meta: { + label: 'Table', + icon: 'umb:box', + entityType: 'document', + pathName: 'table', + }, + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts index 891ab35e74..69525d290f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/manifests.ts @@ -1,3 +1,4 @@ +import { manifests as collectionManifests } from './collection/manifests'; import { manifests as sidebarMenuItemManifests } from './sidebar-menu-item/manifests'; import { manifests as repositoryManifests } from './repository/manifests'; import { manifests as treeManifests } from './tree/manifests'; @@ -5,6 +6,7 @@ import { manifests as workspaceManifests } from './workspace/manifests'; import { manifests as entityActionManifests } from './entity-actions/manifests'; export const manifests = [ + ...collectionManifests, ...sidebarMenuItemManifests, ...treeManifests, ...repositoryManifests, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts index fcbd10da47..87f14782b3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts @@ -1,24 +1,6 @@ import type { ManifestCollectionView } from '@umbraco-cms/models'; export const manifests: Array = [ - - { - type: 'collectionView', - alias: 'Umb.CollectionView.Table', - name: 'Table', - elementName: 'umb-collection-view-document-table', - loader: () => import('./collection-view-document-table.element'), - weight: 200, - meta: { - label: 'Table', - icon: 'umb:box', - entityType: 'document', - pathName: 'table', - }, - }, - - - { type: 'collectionView', alias: 'Umb.CollectionView.Grid',