From dc7f02f1216b3cebc70f362f9deaf54ec5b03b3d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 16 Jan 2025 22:25:39 +0100 Subject: [PATCH] register media history --- .../media/audit-log/info-app/manifests.ts | 21 +++++++++++++ ...dia-history-workspace-info-app.element.ts} | 16 +++++----- .../info => audit-log/info-app}/utils.ts | 4 +-- .../media/media/audit-log/manifests.ts | 3 ++ .../src/packages/media/media/manifests.ts | 6 ++-- .../info/media-workspace-view-info.element.ts | 30 +++++++++++-------- 6 files changed, 56 insertions(+), 24 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/manifests.ts rename src/Umbraco.Web.UI.Client/src/packages/media/media/{workspace/views/info/media-workspace-view-info-history.element.ts => audit-log/info-app/media-history-workspace-info-app.element.ts} (89%) rename src/Umbraco.Web.UI.Client/src/packages/media/media/{workspace/views/info => audit-log/info-app}/utils.ts (87%) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/manifests.ts new file mode 100644 index 0000000000..ff6482b7d7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/manifests.ts @@ -0,0 +1,21 @@ +import { UMB_MEDIA_WORKSPACE_ALIAS } from '../../workspace/constants.js'; +import { UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace'; + +export const manifests: Array = [ + { + type: 'workspaceInfoApp', + name: 'Media History Workspace Info App', + alias: 'Umb.WorkspaceInfoApp.Media.History', + element: () => import('./media-history-workspace-info-app.element.js'), + weight: 80, + meta: { + label: '#general_history', + }, + conditions: [ + { + alias: UMB_WORKSPACE_CONDITION_ALIAS, + match: UMB_MEDIA_WORKSPACE_ALIAS, + }, + ], + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info-history.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.ts similarity index 89% rename from src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info-history.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.ts index 33ac9a609f..143857a715 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info-history.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.ts @@ -1,7 +1,7 @@ -import type { UmbMediaAuditLogModel } from '../../../audit-log/types.js'; -import { UmbMediaAuditLogRepository } from '../../../audit-log/index.js'; -import { UMB_MEDIA_WORKSPACE_CONTEXT } from '../../media-workspace.context-token.js'; -import { TimeOptions, getMediaHistoryTagStyleAndText } from './utils.js'; +import { UMB_MEDIA_WORKSPACE_CONTEXT } from '../../workspace/constants.js'; +import type { UmbMediaAuditLogModel } from '../types.js'; +import { UmbMediaAuditLogRepository } from '../repository/index.js'; +import { getMediaHistoryTagStyleAndText, TimeOptions } from './utils.js'; import { css, html, customElement, state, nothing, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; @@ -10,8 +10,8 @@ import type { UUIPaginationEvent } from '@umbraco-cms/backoffice/external/uui'; import type { UmbUserItemModel } from '@umbraco-cms/backoffice/user'; import { UmbUserItemRepository } from '@umbraco-cms/backoffice/user'; -@customElement('umb-media-workspace-view-info-history') -export class UmbMediaWorkspaceViewInfoHistoryElement extends UmbLitElement { +@customElement('umb-media-history-workspace-info-app') +export class UmbMediaHistoryWorkspaceInfoAppElement extends UmbLitElement { @state() _currentPageNumber = 1; @@ -172,10 +172,10 @@ export class UmbMediaWorkspaceViewInfoHistoryElement extends UmbLitElement { ]; } -export default UmbMediaWorkspaceViewInfoHistoryElement; +export default UmbMediaHistoryWorkspaceInfoAppElement; declare global { interface HTMLElementTagNameMap { - 'umb-media-workspace-view-info-history': UmbMediaWorkspaceViewInfoHistoryElement; + 'umb-media-workspace-view-info-history': UmbMediaHistoryWorkspaceInfoAppElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/utils.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/utils.ts similarity index 87% rename from src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/utils.ts rename to src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/utils.ts index f4290ab2c0..e410f350d4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/utils.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/info-app/utils.ts @@ -1,5 +1,5 @@ -import type { UmbMediaAuditLogType } from '../../../audit-log/utils/index.js'; -import { UmbMediaAuditLog } from '../../../audit-log/utils/index.js'; +import type { UmbMediaAuditLogType } from '../utils/index.js'; +import { UmbMediaAuditLog } from '../utils/index.js'; interface HistoryStyleMap { look: 'default' | 'primary' | 'secondary' | 'outline' | 'placeholder'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/manifests.ts new file mode 100644 index 0000000000..c72138184b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/audit-log/manifests.ts @@ -0,0 +1,3 @@ +import { manifests as infoAppManifests } from './info-app/manifests.js'; + +export const manifests: Array = [...infoAppManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/manifests.ts index d6f8ad84e4..b71f132228 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/manifests.ts @@ -1,7 +1,9 @@ +import { manifests as auditLogManifests } from './audit-log/manifests.js'; import { manifests as collectionManifests } from './collection/manifests.js'; import { manifests as dropzoneManifests } from './dropzone/manifests.js'; import { manifests as entityActionsManifests } from './entity-actions/manifests.js'; import { manifests as entityBulkActionsManifests } from './entity-bulk-actions/manifests.js'; +import { manifests as fileUploadPreviewManifests } from './components/input-upload-field/manifests.js'; import { manifests as menuManifests } from './menu/manifests.js'; import { manifests as modalManifests } from './modals/manifests.js'; import { manifests as propertyEditorsManifests } from './property-editors/manifests.js'; @@ -11,13 +13,14 @@ import { manifests as searchManifests } from './search/manifests.js'; import { manifests as sectionViewManifests } from './dashboard/manifests.js'; import { manifests as treeManifests } from './tree/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; -import { manifests as fileUploadPreviewManifests } from './components/input-upload-field/manifests.js'; export const manifests: Array = [ + ...auditLogManifests, ...collectionManifests, ...dropzoneManifests, ...entityActionsManifests, ...entityBulkActionsManifests, + ...fileUploadPreviewManifests, ...menuManifests, ...modalManifests, ...propertyEditorsManifests, @@ -27,5 +30,4 @@ export const manifests: Array = [ ...sectionViewManifests, ...treeManifests, ...workspaceManifests, - ...fileUploadPreviewManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts index c79e95d0f4..32a3d38771 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts @@ -1,20 +1,20 @@ import { UMB_MEDIA_WORKSPACE_CONTEXT } from '../../media-workspace.context-token.js'; -import { TimeOptions } from './utils.js'; +import { TimeOptions } from '../../../audit-log/info-app/utils.js'; import { css, customElement, html, ifDefined, nothing, repeat, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbMediaTypeItemModel } from '@umbraco-cms/backoffice/media-type'; import { UMB_MEDIA_TYPE_ENTITY_TYPE, UmbMediaTypeItemRepository } from '@umbraco-cms/backoffice/media-type'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/workspace'; +import { UMB_WORKSPACE_MODAL, type ManifestWorkspaceInfoApp } from '@umbraco-cms/backoffice/workspace'; import type { MediaUrlInfoModel } from '@umbraco-cms/backoffice/external/backend-api'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; import { UMB_SECTION_USER_PERMISSION_CONDITION_ALIAS } from '@umbraco-cms/backoffice/section'; import { UMB_SETTINGS_SECTION_ALIAS } from '@umbraco-cms/backoffice/settings'; // import of local components -import './media-workspace-view-info-history.element.js'; import './media-workspace-view-info-reference.element.js'; +import type { UmbExtensionElementInitializer } from '@umbraco-cms/backoffice/extension-api'; @customElement('umb-media-workspace-view-info') export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement { @@ -130,15 +130,10 @@ export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement { override render() { return html`
- - - - - - - +
) { + const headline = initializer.manifest?.meta.label; + return html` + + ${initializer.component} + `; + } + #renderGeneralSection() { return html` ${this.#renderCreateDate()} ${this.#renderUpdateDate()}