Removes the Media Workspace Collection View
This commit is contained in:
committed by
Jacob Overgaard
parent
61094a5e9b
commit
0fc5f439f8
@@ -17,27 +17,6 @@ const workspace: ManifestWorkspaces = {
|
||||
};
|
||||
|
||||
const workspaceViews: Array<ManifestWorkspaceView> = [
|
||||
{
|
||||
type: 'workspaceView',
|
||||
alias: 'Umb.WorkspaceView.Media.Collection',
|
||||
name: 'Media Workspace Collection View',
|
||||
element: () => import('./views/collection/media-workspace-view-collection.element.js'),
|
||||
weight: 300,
|
||||
meta: {
|
||||
label: 'Collection',
|
||||
pathname: 'collection',
|
||||
icon: 'icon-grid',
|
||||
},
|
||||
conditions: [
|
||||
{
|
||||
alias: 'Umb.Condition.WorkspaceAlias',
|
||||
match: workspace.alias,
|
||||
},
|
||||
{
|
||||
alias: 'Umb.Condition.WorkspaceHasCollection',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'workspaceView',
|
||||
alias: 'Umb.WorkspaceView.Media.Edit',
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
import { customElement, html, nothing, state } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
||||
import { UmbDataTypeDetailRepository } from '@umbraco-cms/backoffice/data-type';
|
||||
import { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor';
|
||||
import { UMB_MEDIA_COLLECTION_ALIAS, UMB_MEDIA_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/media';
|
||||
import type {
|
||||
UmbCollectionBulkActionPermissions,
|
||||
UmbCollectionConfiguration,
|
||||
} from '@umbraco-cms/backoffice/collection';
|
||||
import type { UmbDataTypeDetailModel } from '@umbraco-cms/backoffice/data-type';
|
||||
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
@customElement('umb-media-workspace-view-collection')
|
||||
export class UmbMediaWorkspaceViewCollectionElement extends UmbLitElement implements UmbWorkspaceViewElement {
|
||||
@state()
|
||||
private _config?: UmbCollectionConfiguration;
|
||||
|
||||
@state()
|
||||
private _mediaUnique?: string;
|
||||
|
||||
#dataTypeDetailRepository = new UmbDataTypeDetailRepository(this);
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.#observeConfig();
|
||||
}
|
||||
|
||||
async #observeConfig() {
|
||||
this.consumeContext(UMB_MEDIA_WORKSPACE_CONTEXT, (workspaceContext) => {
|
||||
this.observe(workspaceContext.unique, (unique) => {
|
||||
this._mediaUnique = unique;
|
||||
});
|
||||
this.observe(
|
||||
workspaceContext.structure.ownerContentType,
|
||||
async (mediaType) => {
|
||||
if (!mediaType || !mediaType.collection) return;
|
||||
|
||||
const dataTypeUnique = mediaType.collection.unique;
|
||||
|
||||
if (dataTypeUnique) {
|
||||
await this.#dataTypeDetailRepository.requestByUnique(dataTypeUnique);
|
||||
this.observe(
|
||||
await this.#dataTypeDetailRepository.byUnique(dataTypeUnique),
|
||||
(dataType) => {
|
||||
if (!dataType) return;
|
||||
this._config = this.#mapDataTypeConfigToCollectionConfig(dataType);
|
||||
},
|
||||
'_observeConfigDataType',
|
||||
);
|
||||
}
|
||||
},
|
||||
'_observeConfigMediaType',
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
#mapDataTypeConfigToCollectionConfig(dataType: UmbDataTypeDetailModel): UmbCollectionConfiguration {
|
||||
const config = new UmbPropertyEditorConfigCollection(dataType.values);
|
||||
return {
|
||||
unique: this._mediaUnique,
|
||||
allowedEntityBulkActions: config?.getValueByAlias<UmbCollectionBulkActionPermissions>('bulkActionPermissions'),
|
||||
orderBy: config?.getValueByAlias('orderBy') ?? 'updateDate',
|
||||
orderDirection: config?.getValueByAlias('orderDirection') ?? 'asc',
|
||||
pageSize: Number(config?.getValueByAlias('pageSize')) ?? 50,
|
||||
useInfiniteEditor: config?.getValueByAlias('useInfiniteEditor') ?? false,
|
||||
userDefinedProperties: config?.getValueByAlias('includeProperties'),
|
||||
};
|
||||
}
|
||||
|
||||
render() {
|
||||
if (!this._config?.unique) return nothing;
|
||||
return html`<umb-collection .alias=${UMB_MEDIA_COLLECTION_ALIAS} .config=${this._config}></umb-collection>`;
|
||||
}
|
||||
}
|
||||
|
||||
export default UmbMediaWorkspaceViewCollectionElement;
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'umb-media-workspace-view-collection': UmbMediaWorkspaceViewCollectionElement;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user