@umbraco-cms/backoffice 14.0.0--preview007-e6045110 → 14.0.0--preview007-2aa9121f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist-cms/custom-elements.json +33 -10
  2. package/dist-cms/packages/media/media/collection/manifests.d.ts +1 -1
  3. package/dist-cms/packages/media/media/collection/manifests.js +2 -0
  4. package/dist-cms/packages/media/media/collection/media-collection.context.js +2 -1
  5. package/dist-cms/packages/media/media/{collection-view → collection/views/grid}/media-grid-collection-view.element.d.ts +4 -13
  6. package/dist-cms/packages/media/media/collection/views/grid/media-grid-collection-view.element.js +128 -0
  7. package/dist-cms/packages/media/media/collection/views/index.d.ts +2 -0
  8. package/dist-cms/packages/media/media/collection/views/index.js +2 -0
  9. package/dist-cms/packages/media/media/collection/views/manifests.d.ts +2 -0
  10. package/dist-cms/packages/media/media/collection/views/manifests.js +39 -0
  11. package/dist-cms/packages/media/media/collection/views/table/column-layouts/media-table-column-name.element.d.ts +19 -0
  12. package/dist-cms/packages/media/media/collection/views/table/column-layouts/media-table-column-name.element.js +69 -0
  13. package/dist-cms/packages/media/media/{collection-view → collection/views/table}/media-table-collection-view.element.d.ts +6 -8
  14. package/dist-cms/packages/media/media/collection/views/table/media-table-collection-view.element.js +205 -0
  15. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  16. package/dist-cms/packages/media/media/manifests.js +2 -2
  17. package/dist-cms/packages/media/media/section-view/manifests.d.ts +2 -0
  18. package/dist-cms/packages/media/media/section-view/manifests.js +21 -0
  19. package/dist-cms/packages/media/media/section-view/media-section-view.element.d.ts +12 -0
  20. package/dist-cms/packages/media/media/section-view/media-section-view.element.js +73 -0
  21. package/dist-cms/packages/media/section.manifests.d.ts +2 -2
  22. package/dist-cms/packages/media/section.manifests.js +2 -20
  23. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  24. package/dist-cms/vscode-html-custom-data.json +11 -6
  25. package/package.json +1 -1
  26. package/dist-cms/packages/media/media/collection-view/collection-view-media-test.element.d.ts +0 -11
  27. package/dist-cms/packages/media/media/collection-view/collection-view-media-test.element.js +0 -19
  28. package/dist-cms/packages/media/media/collection-view/manifests.d.ts +0 -2
  29. package/dist-cms/packages/media/media/collection-view/manifests.js +0 -57
  30. package/dist-cms/packages/media/media/collection-view/media-grid-collection-view.element.js +0 -164
  31. package/dist-cms/packages/media/media/collection-view/media-table-collection-view.element.js +0 -123
@@ -8129,19 +8129,19 @@
8129
8129
  ]
8130
8130
  },
8131
8131
  {
8132
- "name": "umb-collection-view-media-test",
8133
- "path": "./../src/packages/media/media/collection-view/collection-view-media-test.element.ts",
8132
+ "name": "umb-media-collection",
8133
+ "path": "./../src/packages/media/media/collection/media-collection.element.ts",
8134
8134
  "properties": [
8135
8135
  {
8136
8136
  "name": "styles",
8137
8137
  "type": "array",
8138
- "default": "[\"UmbTextStyles\",null]"
8138
+ "default": "[null]"
8139
8139
  }
8140
8140
  ]
8141
8141
  },
8142
8142
  {
8143
8143
  "name": "umb-media-grid-collection-view",
8144
- "path": "./../src/packages/media/media/collection-view/media-grid-collection-view.element.ts",
8144
+ "path": "./../src/packages/media/media/collection/views/grid/media-grid-collection-view.element.ts",
8145
8145
  "properties": [
8146
8146
  {
8147
8147
  "name": "styles",
@@ -8151,24 +8151,36 @@
8151
8151
  ]
8152
8152
  },
8153
8153
  {
8154
- "name": "umb-media-table-collection-view",
8155
- "path": "./../src/packages/media/media/collection-view/media-table-collection-view.element.ts",
8154
+ "name": "umb-media-table-column-name",
8155
+ "path": "./../src/packages/media/media/collection/views/table/column-layouts/media-table-column-name.element.ts",
8156
8156
  "properties": [
8157
+ {
8158
+ "name": "column",
8159
+ "type": "UmbTableColumn"
8160
+ },
8161
+ {
8162
+ "name": "item",
8163
+ "type": "UmbTableItem"
8164
+ },
8165
+ {
8166
+ "name": "value",
8167
+ "type": "UmbMediaCollectionItemModel"
8168
+ },
8157
8169
  {
8158
8170
  "name": "styles",
8159
8171
  "type": "array",
8160
- "default": "[\"UmbTextStyles\",null]"
8172
+ "default": "[null]"
8161
8173
  }
8162
8174
  ]
8163
8175
  },
8164
8176
  {
8165
- "name": "umb-media-collection",
8166
- "path": "./../src/packages/media/media/collection/media-collection.element.ts",
8177
+ "name": "umb-media-table-collection-view",
8178
+ "path": "./../src/packages/media/media/collection/views/table/media-table-collection-view.element.ts",
8167
8179
  "properties": [
8168
8180
  {
8169
8181
  "name": "styles",
8170
8182
  "type": "array",
8171
- "default": "[null]"
8183
+ "default": "[\"UmbTextStyles\",null]"
8172
8184
  }
8173
8185
  ]
8174
8186
  },
@@ -8528,6 +8540,17 @@
8528
8540
  }
8529
8541
  ]
8530
8542
  },
8543
+ {
8544
+ "name": "umb-media-section-view",
8545
+ "path": "./../src/packages/media/media/section-view/media-section-view.element.ts",
8546
+ "properties": [
8547
+ {
8548
+ "name": "styles",
8549
+ "type": "array",
8550
+ "default": "[null]"
8551
+ }
8552
+ ]
8553
+ },
8531
8554
  {
8532
8555
  "name": "umb-media-workspace-editor",
8533
8556
  "path": "./../src/packages/media/media/workspace/media-workspace-editor.element.ts",
@@ -1 +1 @@
1
- export declare const manifests: (import("../../../core/extension-registry/index.js").ManifestCollection | import("../../../core/extension-registry/index.js").ManifestRepository<import("../../../../libs/extension-api/index.js").UmbApi>)[];
1
+ export declare const manifests: (import("../../../core/extension-registry/index.js").ManifestCollection | import("../../../core/extension-registry/index.js").ManifestCollectionView | import("../../../core/extension-registry/index.js").ManifestRepository<import("../../../../libs/extension-api/index.js").UmbApi>)[];
@@ -1,5 +1,6 @@
1
1
  import { UMB_MEDIA_COLLECTION_REPOSITORY_ALIAS } from './repository/index.js';
2
2
  import { manifests as collectionRepositoryManifests } from './repository/manifests.js';
3
+ import { manifests as collectionViewManifests } from './views/manifests.js';
3
4
  import { UmbMediaCollectionContext } from './media-collection.context.js';
4
5
  import { UMB_MEDIA_COLLECTION_ALIAS } from './index.js';
5
6
  const collectionManifest = {
@@ -15,4 +16,5 @@ const collectionManifest = {
15
16
  export const manifests = [
16
17
  collectionManifest,
17
18
  ...collectionRepositoryManifests,
19
+ ...collectionViewManifests,
18
20
  ];
@@ -1,7 +1,8 @@
1
+ import { UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS } from './views/index.js';
1
2
  import { UmbDefaultCollectionContext } from '../../../core/collection/index.js';
2
3
  export class UmbMediaCollectionContext extends UmbDefaultCollectionContext {
3
4
  constructor(host) {
4
- super(host, 'Umb.CollectionView.MediaGrid');
5
+ super(host, UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS);
5
6
  this.selection.setSelectable(true);
6
7
  }
7
8
  }
@@ -1,19 +1,10 @@
1
- import { UmbLitElement } from '../../../core/lit-element/index.js';
1
+ import { UmbLitElement } from '../../../../../core/lit-element/index.js';
2
2
  export declare class UmbMediaGridCollectionViewElement extends UmbLitElement {
3
- private _mediaItems?;
3
+ #private;
4
+ private _items;
5
+ private _loading;
4
6
  private _selection;
5
- private _collectionContext?;
6
7
  constructor();
7
- disconnectedCallback(): void;
8
- private _handleDragEnter;
9
- private _handleDragLeave;
10
- private _handleDrop;
11
- private _observeCollectionContext;
12
- private _handleOpenItem;
13
- private _handleSelect;
14
- private _handleDeselect;
15
- private _isSelected;
16
- private _renderMediaItem;
17
8
  render(): import("lit-html").TemplateResult<1>;
18
9
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
19
10
  }
@@ -0,0 +1,128 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
16
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
17
+ };
18
+ var _UmbMediaGridCollectionViewElement_instances, _UmbMediaGridCollectionViewElement_collectionContext, _UmbMediaGridCollectionViewElement_observeCollectionContext, _UmbMediaGridCollectionViewElement_onOpen, _UmbMediaGridCollectionViewElement_onSelect, _UmbMediaGridCollectionViewElement_onDeselect, _UmbMediaGridCollectionViewElement_isSelected, _UmbMediaGridCollectionViewElement_renderCard;
19
+ import { css, html, customElement, state, repeat } from '../../../../../../external/lit/index.js';
20
+ import { UmbLitElement } from '../../../../../core/lit-element/index.js';
21
+ import { UmbTextStyles } from '../../../../../../shared/style/index.js';
22
+ import { UMB_DEFAULT_COLLECTION_CONTEXT } from '../../../../../core/collection/index.js';
23
+ let UmbMediaGridCollectionViewElement = class UmbMediaGridCollectionViewElement extends UmbLitElement {
24
+ constructor() {
25
+ super();
26
+ _UmbMediaGridCollectionViewElement_instances.add(this);
27
+ this._items = [];
28
+ this._loading = false;
29
+ this._selection = [];
30
+ _UmbMediaGridCollectionViewElement_collectionContext.set(this, void 0);
31
+ this.consumeContext(UMB_DEFAULT_COLLECTION_CONTEXT, (collectionContext) => {
32
+ __classPrivateFieldSet(this, _UmbMediaGridCollectionViewElement_collectionContext, collectionContext, "f");
33
+ __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_instances, "m", _UmbMediaGridCollectionViewElement_observeCollectionContext).call(this);
34
+ });
35
+ }
36
+ render() {
37
+ if (this._loading) {
38
+ return html `<div class="container"><uui-loader></uui-loader></div>`;
39
+ }
40
+ if (this._items.length === 0) {
41
+ return html `<div class="container"><p>${this.localize.term('content_listViewNoItems')}</p></div>`;
42
+ }
43
+ return html `
44
+ <div id="media-grid">
45
+ ${repeat(this._items, (item) => item.unique, (item) => __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_instances, "m", _UmbMediaGridCollectionViewElement_renderCard).call(this, item))}
46
+ </div>
47
+ `;
48
+ }
49
+ };
50
+ _UmbMediaGridCollectionViewElement_collectionContext = new WeakMap();
51
+ _UmbMediaGridCollectionViewElement_instances = new WeakSet();
52
+ _UmbMediaGridCollectionViewElement_observeCollectionContext = function _UmbMediaGridCollectionViewElement_observeCollectionContext() {
53
+ if (!__classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_collectionContext, "f"))
54
+ return;
55
+ this.observe(__classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_collectionContext, "f").items, (items) => (this._items = items), 'umbCollectionItemsObserver');
56
+ this.observe(__classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_collectionContext, "f").selection.selection, (selection) => (this._selection = selection), 'umbCollectionSelectionObserver');
57
+ };
58
+ _UmbMediaGridCollectionViewElement_onOpen = function _UmbMediaGridCollectionViewElement_onOpen(item) {
59
+ //TODO: Fix when we have dynamic routing
60
+ history.pushState(null, '', 'section/media-management/workspace/media/edit/' + item.unique);
61
+ };
62
+ _UmbMediaGridCollectionViewElement_onSelect = function _UmbMediaGridCollectionViewElement_onSelect(item) {
63
+ if (item.unique) {
64
+ __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_collectionContext, "f")?.selection.select(item.unique);
65
+ }
66
+ };
67
+ _UmbMediaGridCollectionViewElement_onDeselect = function _UmbMediaGridCollectionViewElement_onDeselect(item) {
68
+ if (item.unique) {
69
+ __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_collectionContext, "f")?.selection.deselect(item.unique);
70
+ }
71
+ };
72
+ _UmbMediaGridCollectionViewElement_isSelected = function _UmbMediaGridCollectionViewElement_isSelected(item) {
73
+ return __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_collectionContext, "f")?.selection.isSelected(item.unique);
74
+ };
75
+ _UmbMediaGridCollectionViewElement_renderCard = function _UmbMediaGridCollectionViewElement_renderCard(item) {
76
+ // TODO: Fix the file extension when media items have a file extension. [?]
77
+ return html `
78
+ <uui-card-media
79
+ .name=${item.name ?? 'Unnamed Media'}
80
+ selectable
81
+ ?select-only=${this._selection && this._selection.length > 0}
82
+ ?selected=${__classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_instances, "m", _UmbMediaGridCollectionViewElement_isSelected).call(this, item)}
83
+ @open=${() => __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_instances, "m", _UmbMediaGridCollectionViewElement_onOpen).call(this, item)}
84
+ @selected=${() => __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_instances, "m", _UmbMediaGridCollectionViewElement_onSelect).call(this, item)}
85
+ @deselected=${() => __classPrivateFieldGet(this, _UmbMediaGridCollectionViewElement_instances, "m", _UmbMediaGridCollectionViewElement_onDeselect).call(this, item)}
86
+ class="media-item"
87
+ file-ext="${item.icon}">
88
+ <!-- TODO: [LK] I'd like to indicate a busy state when bulk actions are triggered. -->
89
+ <!-- <div class="container"><uui-loader></uui-loader></div> -->
90
+ </uui-card-media>
91
+ `;
92
+ };
93
+ UmbMediaGridCollectionViewElement.styles = [
94
+ UmbTextStyles,
95
+ css `
96
+ :host {
97
+ display: flex;
98
+ flex-direction: column;
99
+ }
100
+
101
+ .container {
102
+ display: flex;
103
+ justify-content: center;
104
+ align-items: center;
105
+ }
106
+
107
+ #media-grid {
108
+ display: grid;
109
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
110
+ grid-template-rows: repeat(auto-fill, 200px);
111
+ gap: var(--uui-size-space-5);
112
+ }
113
+ `,
114
+ ];
115
+ __decorate([
116
+ state()
117
+ ], UmbMediaGridCollectionViewElement.prototype, "_items", void 0);
118
+ __decorate([
119
+ state()
120
+ ], UmbMediaGridCollectionViewElement.prototype, "_loading", void 0);
121
+ __decorate([
122
+ state()
123
+ ], UmbMediaGridCollectionViewElement.prototype, "_selection", void 0);
124
+ UmbMediaGridCollectionViewElement = __decorate([
125
+ customElement('umb-media-grid-collection-view')
126
+ ], UmbMediaGridCollectionViewElement);
127
+ export { UmbMediaGridCollectionViewElement };
128
+ export default UmbMediaGridCollectionViewElement;
@@ -0,0 +1,2 @@
1
+ export declare const UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS = "Umb.CollectionView.Media.Grid";
2
+ export declare const UMB_MEDIA_TABLE_COLLECTION_VIEW_ALIAS = "Umb.CollectionView.Media.Table";
@@ -0,0 +1,2 @@
1
+ export const UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS = 'Umb.CollectionView.Media.Grid';
2
+ export const UMB_MEDIA_TABLE_COLLECTION_VIEW_ALIAS = 'Umb.CollectionView.Media.Table';
@@ -0,0 +1,2 @@
1
+ import type { ManifestCollectionView } from '../../../../core/extension-registry/index.js';
2
+ export declare const manifests: ManifestCollectionView[];
@@ -0,0 +1,39 @@
1
+ import { UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS, UMB_MEDIA_TABLE_COLLECTION_VIEW_ALIAS } from './index.js';
2
+ import { UMB_COLLECTION_ALIAS_CONDITION } from '../../../../core/collection/index.js';
3
+ const gridViewManifest = {
4
+ type: 'collectionView',
5
+ alias: UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS,
6
+ name: 'Media Grid Collection View',
7
+ element: () => import('./grid/media-grid-collection-view.element.js'),
8
+ weight: 300,
9
+ meta: {
10
+ label: 'Grid',
11
+ icon: 'icon-grid',
12
+ pathName: 'grid',
13
+ },
14
+ conditions: [
15
+ {
16
+ alias: UMB_COLLECTION_ALIAS_CONDITION,
17
+ match: 'Umb.Collection.Media',
18
+ },
19
+ ],
20
+ };
21
+ const tableViewManifest = {
22
+ type: 'collectionView',
23
+ alias: UMB_MEDIA_TABLE_COLLECTION_VIEW_ALIAS,
24
+ name: 'Media Table Collection View',
25
+ element: () => import('./table/media-table-collection-view.element.js'),
26
+ weight: 200,
27
+ meta: {
28
+ label: 'Table',
29
+ icon: 'icon-list',
30
+ pathName: 'table',
31
+ },
32
+ conditions: [
33
+ {
34
+ alias: UMB_COLLECTION_ALIAS_CONDITION,
35
+ match: 'Umb.Collection.Media',
36
+ },
37
+ ],
38
+ };
39
+ export const manifests = [gridViewManifest, tableViewManifest];
@@ -0,0 +1,19 @@
1
+ import type { UmbMediaCollectionItemModel } from '../../../types.js';
2
+ import { UmbLitElement } from '../../../../../../core/lit-element/index.js';
3
+ import type { UmbTableColumn, UmbTableColumnLayoutElement, UmbTableItem } from '../../../../../../core/components/index.js';
4
+ export declare class UmbMediaTableColumnNameElement extends UmbLitElement implements UmbTableColumnLayoutElement {
5
+ #private;
6
+ private _editMediaPath;
7
+ column: UmbTableColumn;
8
+ item: UmbTableItem;
9
+ value: UmbMediaCollectionItemModel;
10
+ constructor();
11
+ render(): import("lit-html").TemplateResult<1>;
12
+ static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
13
+ }
14
+ export default UmbMediaTableColumnNameElement;
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'umb-media-table-column-name': UmbMediaTableColumnNameElement;
18
+ }
19
+ }
@@ -0,0 +1,69 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _UmbMediaTableColumnNameElement_instances, _UmbMediaTableColumnNameElement_onClick;
13
+ import { css, customElement, html, property, state } from '../../../../../../../external/lit/index.js';
14
+ import { UmbLitElement } from '../../../../../../core/lit-element/index.js';
15
+ import { UMB_WORKSPACE_MODAL, UmbModalRouteRegistrationController } from '../../../../../../core/modal/index.js';
16
+ let UmbMediaTableColumnNameElement = class UmbMediaTableColumnNameElement extends UmbLitElement {
17
+ constructor() {
18
+ super();
19
+ _UmbMediaTableColumnNameElement_instances.add(this);
20
+ this._editMediaPath = '';
21
+ new UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL)
22
+ .addAdditionalPath('media')
23
+ .onSetup(() => {
24
+ return { data: { entityType: 'media', preset: {} } };
25
+ })
26
+ .observeRouteBuilder((routeBuilder) => {
27
+ this._editMediaPath = routeBuilder({});
28
+ });
29
+ }
30
+ render() {
31
+ return html `<uui-button
32
+ look="default"
33
+ color="default"
34
+ compact
35
+ href="${this._editMediaPath}edit/${this.value.unique}"
36
+ label="${this.value.name}"
37
+ @click=${__classPrivateFieldGet(this, _UmbMediaTableColumnNameElement_instances, "m", _UmbMediaTableColumnNameElement_onClick)}></uui-button>`;
38
+ }
39
+ };
40
+ _UmbMediaTableColumnNameElement_instances = new WeakSet();
41
+ _UmbMediaTableColumnNameElement_onClick = function _UmbMediaTableColumnNameElement_onClick(event) {
42
+ // TODO: [LK] Review the `stopPropagation` usage, as it causes a page reload.
43
+ // But we still need a say to prevent the `umb-table` from triggering a selection event.
44
+ event.stopPropagation();
45
+ };
46
+ UmbMediaTableColumnNameElement.styles = [
47
+ css `
48
+ uui-button {
49
+ text-align: left;
50
+ }
51
+ `,
52
+ ];
53
+ __decorate([
54
+ state()
55
+ ], UmbMediaTableColumnNameElement.prototype, "_editMediaPath", void 0);
56
+ __decorate([
57
+ property({ type: Object, attribute: false })
58
+ ], UmbMediaTableColumnNameElement.prototype, "column", void 0);
59
+ __decorate([
60
+ property({ type: Object, attribute: false })
61
+ ], UmbMediaTableColumnNameElement.prototype, "item", void 0);
62
+ __decorate([
63
+ property({ attribute: false })
64
+ ], UmbMediaTableColumnNameElement.prototype, "value", void 0);
65
+ UmbMediaTableColumnNameElement = __decorate([
66
+ customElement('umb-media-table-column-name')
67
+ ], UmbMediaTableColumnNameElement);
68
+ export { UmbMediaTableColumnNameElement };
69
+ export default UmbMediaTableColumnNameElement;
@@ -1,17 +1,15 @@
1
- import { UmbLitElement } from '../../../core/lit-element/index.js';
1
+ import { UmbLitElement } from '../../../../../core/lit-element/index.js';
2
+ import './column-layouts/media-table-column-name.element.js';
2
3
  export declare class UmbMediaTableCollectionViewElement extends UmbLitElement {
3
- private _mediaItems?;
4
+ #private;
5
+ private _loading;
6
+ private _userDefinedProperties?;
7
+ private _items?;
4
8
  private _tableConfig;
5
9
  private _tableColumns;
6
10
  private _tableItems;
7
11
  private _selection;
8
- private _collectionContext?;
9
12
  constructor();
10
- private _observeCollectionContext;
11
- private _createTableItems;
12
- private _handleSelect;
13
- private _handleDeselect;
14
- private _handleOrdering;
15
13
  render(): import("lit-html").TemplateResult<1>;
16
14
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
17
15
  }
@@ -0,0 +1,205 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
16
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
17
+ };
18
+ var _UmbMediaTableCollectionViewElement_instances, _UmbMediaTableCollectionViewElement_systemColumns, _UmbMediaTableCollectionViewElement_collectionContext, _UmbMediaTableCollectionViewElement_observeCollectionContext, _UmbMediaTableCollectionViewElement_createTableHeadings, _UmbMediaTableCollectionViewElement_createTableItems, _UmbMediaTableCollectionViewElement_getPropertyValueByAlias, _UmbMediaTableCollectionViewElement_handleSelect, _UmbMediaTableCollectionViewElement_handleDeselect, _UmbMediaTableCollectionViewElement_handleOrdering;
19
+ import { css, html, customElement, state } from '../../../../../../external/lit/index.js';
20
+ import { UmbLitElement } from '../../../../../core/lit-element/index.js';
21
+ import { UmbTextStyles } from '../../../../../../shared/style/index.js';
22
+ import { UMB_DEFAULT_COLLECTION_CONTEXT } from '../../../../../core/collection/index.js';
23
+ import './column-layouts/media-table-column-name.element.js';
24
+ let UmbMediaTableCollectionViewElement = class UmbMediaTableCollectionViewElement extends UmbLitElement {
25
+ constructor() {
26
+ super();
27
+ _UmbMediaTableCollectionViewElement_instances.add(this);
28
+ this._loading = false;
29
+ this._tableConfig = {
30
+ allowSelection: true,
31
+ };
32
+ this._tableColumns = [];
33
+ _UmbMediaTableCollectionViewElement_systemColumns.set(this, [
34
+ {
35
+ name: this.localize.term('general_name'),
36
+ alias: 'entityName',
37
+ elementName: 'umb-media-table-column-name',
38
+ allowSorting: true,
39
+ },
40
+ ]);
41
+ this._tableItems = [];
42
+ this._selection = [];
43
+ _UmbMediaTableCollectionViewElement_collectionContext.set(this, void 0);
44
+ this.consumeContext(UMB_DEFAULT_COLLECTION_CONTEXT, (collectionContext) => {
45
+ __classPrivateFieldSet(this, _UmbMediaTableCollectionViewElement_collectionContext, collectionContext, "f");
46
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_observeCollectionContext).call(this);
47
+ });
48
+ }
49
+ render() {
50
+ if (this._loading) {
51
+ return html `<div class="container"><uui-loader></uui-loader></div>`;
52
+ }
53
+ if (this._tableItems.length === 0) {
54
+ return html `<div class="container"><p>${this.localize.term('content_listViewNoItems')}</p></div>`;
55
+ }
56
+ return html `
57
+ <umb-table
58
+ .config=${this._tableConfig}
59
+ .columns=${this._tableColumns}
60
+ .items=${this._tableItems}
61
+ .selection=${this._selection}
62
+ @selected="${__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_handleSelect)}"
63
+ @deselected="${__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_handleDeselect)}"
64
+ @ordered="${__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_handleOrdering)}"></umb-table>
65
+ `;
66
+ }
67
+ };
68
+ _UmbMediaTableCollectionViewElement_systemColumns = new WeakMap();
69
+ _UmbMediaTableCollectionViewElement_collectionContext = new WeakMap();
70
+ _UmbMediaTableCollectionViewElement_instances = new WeakSet();
71
+ _UmbMediaTableCollectionViewElement_observeCollectionContext = function _UmbMediaTableCollectionViewElement_observeCollectionContext() {
72
+ if (!__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f"))
73
+ return;
74
+ this.observe(__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f").userDefinedProperties, (userDefinedProperties) => {
75
+ this._userDefinedProperties = userDefinedProperties;
76
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_createTableHeadings).call(this);
77
+ }, 'umbCollectionUserDefinedPropertiesObserver');
78
+ this.observe(__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f").items, (items) => {
79
+ this._items = items;
80
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_createTableItems).call(this, this._items);
81
+ }, 'umbCollectionItemsObserver');
82
+ this.observe(__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f").selection.selection, (selection) => {
83
+ this._selection = selection;
84
+ }, 'umbCollectionSelectionObserver');
85
+ };
86
+ _UmbMediaTableCollectionViewElement_createTableHeadings = function _UmbMediaTableCollectionViewElement_createTableHeadings() {
87
+ if (this._userDefinedProperties && this._userDefinedProperties.length > 0) {
88
+ const userColumns = this._userDefinedProperties.map((item) => {
89
+ return {
90
+ name: item.header,
91
+ alias: item.alias,
92
+ elementName: item.elementName,
93
+ allowSorting: true,
94
+ };
95
+ });
96
+ this._tableColumns = [...__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_systemColumns, "f"), ...userColumns];
97
+ }
98
+ else {
99
+ this._tableColumns = [...__classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_systemColumns, "f")];
100
+ }
101
+ };
102
+ _UmbMediaTableCollectionViewElement_createTableItems = function _UmbMediaTableCollectionViewElement_createTableItems(items) {
103
+ if (this._tableColumns.length === 0) {
104
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_createTableHeadings).call(this);
105
+ }
106
+ this._tableItems = items.map((item) => {
107
+ if (!item.unique)
108
+ throw new Error('Item id is missing.');
109
+ const data = this._tableColumns?.map((column) => {
110
+ return {
111
+ columnAlias: column.alias,
112
+ value: column.elementName ? item : __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_instances, "m", _UmbMediaTableCollectionViewElement_getPropertyValueByAlias).call(this, item, column.alias),
113
+ };
114
+ }) ?? [];
115
+ return {
116
+ id: item.unique,
117
+ icon: item.icon,
118
+ data: data,
119
+ };
120
+ });
121
+ };
122
+ _UmbMediaTableCollectionViewElement_getPropertyValueByAlias = function _UmbMediaTableCollectionViewElement_getPropertyValueByAlias(item, alias) {
123
+ switch (alias) {
124
+ case 'createDate':
125
+ return item.createDate.toLocaleString();
126
+ case 'entityName':
127
+ return item.name;
128
+ case 'owner':
129
+ return item.creator;
130
+ case 'updateDate':
131
+ return item.updateDate.toLocaleString();
132
+ default:
133
+ return item.values.find((value) => value.alias === alias)?.value ?? '';
134
+ }
135
+ };
136
+ _UmbMediaTableCollectionViewElement_handleSelect = function _UmbMediaTableCollectionViewElement_handleSelect(event) {
137
+ event.stopPropagation();
138
+ const table = event.target;
139
+ const selection = table.selection;
140
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f")?.selection.setSelection(selection);
141
+ };
142
+ _UmbMediaTableCollectionViewElement_handleDeselect = function _UmbMediaTableCollectionViewElement_handleDeselect(event) {
143
+ event.stopPropagation();
144
+ const table = event.target;
145
+ const selection = table.selection;
146
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f")?.selection.setSelection(selection);
147
+ };
148
+ _UmbMediaTableCollectionViewElement_handleOrdering = function _UmbMediaTableCollectionViewElement_handleOrdering(event) {
149
+ const table = event.target;
150
+ const orderingColumn = table.orderingColumn;
151
+ const orderingDesc = table.orderingDesc;
152
+ __classPrivateFieldGet(this, _UmbMediaTableCollectionViewElement_collectionContext, "f")?.setFilter({
153
+ orderBy: orderingColumn,
154
+ orderDirection: orderingDesc ? 'desc' : 'asc',
155
+ });
156
+ };
157
+ UmbMediaTableCollectionViewElement.styles = [
158
+ UmbTextStyles,
159
+ css `
160
+ :host {
161
+ display: block;
162
+ box-sizing: border-box;
163
+ height: auto;
164
+ width: 100%;
165
+ padding: var(--uui-size-space-3) var(--uui-size-space-6);
166
+ }
167
+
168
+ /* TODO: Should we have embedded padding in the table component? */
169
+ umb-table {
170
+ padding: 0; /* To fix the embedded padding in the table component. */
171
+ }
172
+
173
+ .container {
174
+ display: flex;
175
+ justify-content: center;
176
+ align-items: center;
177
+ }
178
+ `,
179
+ ];
180
+ __decorate([
181
+ state()
182
+ ], UmbMediaTableCollectionViewElement.prototype, "_loading", void 0);
183
+ __decorate([
184
+ state()
185
+ ], UmbMediaTableCollectionViewElement.prototype, "_userDefinedProperties", void 0);
186
+ __decorate([
187
+ state()
188
+ ], UmbMediaTableCollectionViewElement.prototype, "_items", void 0);
189
+ __decorate([
190
+ state()
191
+ ], UmbMediaTableCollectionViewElement.prototype, "_tableConfig", void 0);
192
+ __decorate([
193
+ state()
194
+ ], UmbMediaTableCollectionViewElement.prototype, "_tableColumns", void 0);
195
+ __decorate([
196
+ state()
197
+ ], UmbMediaTableCollectionViewElement.prototype, "_tableItems", void 0);
198
+ __decorate([
199
+ state()
200
+ ], UmbMediaTableCollectionViewElement.prototype, "_selection", void 0);
201
+ UmbMediaTableCollectionViewElement = __decorate([
202
+ customElement('umb-media-table-collection-view')
203
+ ], UmbMediaTableCollectionViewElement);
204
+ export { UmbMediaTableCollectionViewElement };
205
+ export default UmbMediaTableCollectionViewElement;
@@ -1 +1 @@
1
- export declare const manifests: (import("../../core/index.js").ManifestCollection | import("../../core/index.js").ManifestCollectionView | import("../../core/index.js").ManifestEntityAction | import("../../core/index.js").ManifestEntityBulkAction | import("../../core/index.js").ManifestItemStore | import("../../core/index.js").ManifestMenuItemTreeKind | import("../../core/index.js").ManifestPropertyEditorUi | import("../../core/index.js").ManifestStore | import("../../core/index.js").ManifestTree | import("../../core/index.js").ManifestTreeItem | import("../../core/index.js").ManifestTreeStore | import("../../core/index.js").ManifestWorkspace | import("../../core/index.js").ManifestWorkspaceAction | import("../../core/index.js").ManifestWorkspaceView | import("../../core/index.js").ManifestUserPermission | import("../../core/index.js").ManifestRepository<import("../../../libs/extension-api/index.js").UmbApi>)[];
1
+ export declare const manifests: (import("../../core/index.js").ManifestCollection | import("../../core/index.js").ManifestCollectionView | import("../../core/index.js").ManifestEntityAction | import("../../core/index.js").ManifestEntityBulkAction | import("../../core/index.js").ManifestItemStore | import("../../core/index.js").ManifestMenuItemTreeKind | import("../../core/index.js").ManifestPropertyEditorUi | import("../../core/index.js").ManifestSectionView | import("../../core/index.js").ManifestStore | import("../../core/index.js").ManifestTree | import("../../core/index.js").ManifestTreeItem | import("../../core/index.js").ManifestTreeStore | import("../../core/index.js").ManifestWorkspace | import("../../core/index.js").ManifestWorkspaceAction | import("../../core/index.js").ManifestWorkspaceView | import("../../core/index.js").ManifestUserPermission | import("../../core/index.js").ManifestRepository<import("../../../libs/extension-api/index.js").UmbApi>)[];