@umbraco-cms/backoffice 14.0.0--preview007-2ee36857 → 14.0.0--preview007-63654dfd

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 (70) hide show
  1. package/dist-cms/custom-elements.json +57 -143
  2. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +6 -6
  3. package/dist-cms/packages/core/collection/types.d.ts +8 -1
  4. package/dist-cms/packages/core/components/table/table.element.d.ts +5 -0
  5. package/dist-cms/packages/core/components/table/table.element.js +6 -2
  6. package/dist-cms/packages/core/extension-registry/models/index.d.ts +3 -1
  7. package/dist-cms/packages/core/extension-registry/models/workspace-footer-app.model.d.ts +5 -0
  8. package/dist-cms/packages/core/extension-registry/models/workspace-footer-app.model.js +1 -0
  9. package/dist-cms/packages/core/modal/token/dictionary-item-picker-modal.token.js +1 -0
  10. package/dist-cms/packages/core/property-editor/uis/collection-view/config/column-configuration/property-editor-ui-collection-view-column-configuration.element.d.ts +2 -7
  11. package/dist-cms/packages/core/property-editor/uis/collection-view/config/column-configuration/property-editor-ui-collection-view-column-configuration.element.js +1 -1
  12. package/dist-cms/packages/core/workspace/components/workspace-footer/workspace-footer.element.js +1 -0
  13. package/dist-cms/packages/dictionary/tree/dictionary-tree.server.data-source.js +1 -0
  14. package/dist-cms/packages/documents/document-types/tree/document-type.tree.store.js +1 -0
  15. package/dist-cms/packages/documents/documents/breadcrumb/manifests.d.ts +2 -0
  16. package/dist-cms/packages/documents/documents/breadcrumb/manifests.js +15 -0
  17. package/dist-cms/packages/documents/documents/breadcrumb/workspace-breadcrumb.element.d.ts +11 -0
  18. package/dist-cms/packages/documents/documents/breadcrumb/workspace-breadcrumb.element.js +21 -0
  19. package/dist-cms/packages/documents/documents/collection/action/create-document-collection-action.element.d.ts +2 -0
  20. package/dist-cms/packages/documents/documents/collection/action/create-document-collection-action.element.js +29 -12
  21. package/dist-cms/packages/documents/documents/collection/views/grid/document-grid-collection-view.element.d.ts +1 -0
  22. package/dist-cms/packages/documents/documents/collection/views/grid/document-grid-collection-view.element.js +75 -8
  23. package/dist-cms/packages/documents/documents/collection/views/index.d.ts +2 -0
  24. package/dist-cms/packages/documents/documents/collection/views/index.js +20 -0
  25. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.d.ts +19 -0
  26. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.js +69 -0
  27. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.d.ts +15 -0
  28. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.js +39 -0
  29. package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.d.ts +3 -3
  30. package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.js +47 -44
  31. package/dist-cms/packages/documents/documents/manifests.js +12 -10
  32. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +1 -3
  33. package/dist-cms/packages/media/media-types/tree/media-type-tree.server.data-source.js +1 -0
  34. package/dist-cms/packages/media/media-types/tree/media-type-tree.store.js +1 -0
  35. package/dist-cms/packages/members/member-type/tree/member-type-tree.server.data-source.js +1 -0
  36. package/dist-cms/packages/members/member-type/tree/member-type-tree.store.js +1 -0
  37. package/dist-cms/packages/templating/components/templating-item-menu/templating-item-menu.element.d.ts +0 -1
  38. package/dist-cms/packages/templating/components/templating-item-menu/templating-item-menu.element.js +55 -64
  39. package/dist-cms/packages/templating/modals/index.d.ts +1 -0
  40. package/dist-cms/packages/templating/modals/index.js +1 -0
  41. package/dist-cms/packages/templating/modals/manifests.js +6 -0
  42. package/dist-cms/packages/templating/modals/templating-item-picker/templating-item-picker-modal.element.d.ts +1 -1
  43. package/dist-cms/packages/templating/modals/templating-item-picker/templating-item-picker-modal.element.js +37 -34
  44. package/dist-cms/packages/templating/modals/templating-item-picker/templating-item-picker-modal.token.d.ts +2 -2
  45. package/dist-cms/packages/templating/modals/templating-page-field-builder/index.d.ts +2 -0
  46. package/dist-cms/packages/templating/modals/templating-page-field-builder/index.js +2 -0
  47. package/dist-cms/packages/templating/modals/templating-page-field-builder/templating-page-field-builder-modal.element.d.ts +19 -0
  48. package/dist-cms/packages/templating/modals/templating-page-field-builder/templating-page-field-builder-modal.element.js +105 -0
  49. package/dist-cms/packages/templating/modals/templating-page-field-builder/templating-page-field-builder-modal.token.d.ts +7 -0
  50. package/dist-cms/packages/templating/modals/templating-page-field-builder/templating-page-field-builder-modal.token.js +7 -0
  51. package/dist-cms/packages/templating/modals/templating-section-picker/index.d.ts +1 -1
  52. package/dist-cms/packages/templating/modals/templating-section-picker/index.js +1 -1
  53. package/dist-cms/packages/templating/modals/templating-section-picker/templating-section-picker-modal.element.d.ts +4 -7
  54. package/dist-cms/packages/templating/modals/templating-section-picker/templating-section-picker-modal.element.js +133 -94
  55. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.server.data-source.js +1 -0
  56. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.store.js +1 -0
  57. package/dist-cms/packages/templating/scripts/tree/script-tree.server.data-source.js +1 -0
  58. package/dist-cms/packages/templating/scripts/tree/script-tree.store.js +1 -0
  59. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.server.data-source.js +1 -0
  60. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.store.js +1 -0
  61. package/dist-cms/packages/templating/templates/tree/template-tree.server.data-source.js +1 -0
  62. package/dist-cms/packages/templating/types.d.ts +7 -1
  63. package/dist-cms/packages/templating/types.js +7 -0
  64. package/dist-cms/packages/templating/utils/index.js +1 -1
  65. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  66. package/dist-cms/umbraco-package-schema.json +73 -0
  67. package/dist-cms/vscode-html-custom-data.json +27 -44
  68. package/package.json +1 -1
  69. package/dist-cms/packages/templating/modals/templating-section-picker/templating-section-picker-input.element.d.ts +0 -24
  70. package/dist-cms/packages/templating/modals/templating-section-picker/templating-section-picker-input.element.js +0 -157
@@ -15,8 +15,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
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
16
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
17
17
  };
18
- var _UmbDocumentGridCollectionViewElement_instances, _UmbDocumentGridCollectionViewElement_collectionContext, _UmbDocumentGridCollectionViewElement_onSelect, _UmbDocumentGridCollectionViewElement_onDeselect, _UmbDocumentGridCollectionViewElement_renderCard;
19
- import { css, html, nothing, customElement, state, repeat } from '../../../../../../external/lit/index.js';
18
+ var _UmbDocumentGridCollectionViewElement_instances, _UmbDocumentGridCollectionViewElement_collectionContext, _UmbDocumentGridCollectionViewElement_observeCollectionContext, _UmbDocumentGridCollectionViewElement_onSelect, _UmbDocumentGridCollectionViewElement_onDeselect, _UmbDocumentGridCollectionViewElement_renderCard, _UmbDocumentGridCollectionViewElement_renderState, _UmbDocumentGridCollectionViewElement_renderProperties;
19
+ import { getPropertyValueByAlias } from '../index.js';
20
+ import { css, html, customElement, state, repeat } from '../../../../../../external/lit/index.js';
20
21
  import { UmbLitElement } from '../../../../../core/lit-element/index.js';
21
22
  import { UmbTextStyles } from '../../../../../../shared/style/index.js';
22
23
  import { UMB_DEFAULT_COLLECTION_CONTEXT } from '../../../../../core/collection/index.js';
@@ -30,18 +31,21 @@ let UmbDocumentGridCollectionViewElement = class UmbDocumentGridCollectionViewEl
30
31
  _UmbDocumentGridCollectionViewElement_collectionContext.set(this, void 0);
31
32
  this.consumeContext(UMB_DEFAULT_COLLECTION_CONTEXT, (instance) => {
32
33
  __classPrivateFieldSet(this, _UmbDocumentGridCollectionViewElement_collectionContext, instance, "f");
33
- this.observe(__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f").selection.selection, (selection) => (this._selection = selection), 'umbCollectionSelectionObserver');
34
- this.observe(__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f").items, (items) => (this._items = items), 'umbCollectionItemsObserver');
34
+ __classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_instances, "m", _UmbDocumentGridCollectionViewElement_observeCollectionContext).call(this);
35
35
  });
36
36
  }
37
- //TODO How should we handle url stuff?
37
+ // TODO: How should we handle url stuff? [?]
38
38
  _handleOpenCard(id) {
39
- //TODO this will not be needed when cards works as links with href
39
+ // TODO: this will not be needed when cards works as links with href [?]
40
40
  history.pushState(null, '', 'section/content/workspace/document/edit/' + id);
41
41
  }
42
42
  render() {
43
- if (this._loading)
44
- nothing;
43
+ if (this._loading) {
44
+ return html `<div class="container"><uui-loader></uui-loader></div>`;
45
+ }
46
+ if (this._items.length === 0) {
47
+ return html `<div class="container"><p>${this.localize.term('content_listViewNoItems')}</p></div>`;
48
+ }
45
49
  return html `
46
50
  <div id="document-grid">
47
51
  ${repeat(this._items, (item) => item.unique, (item) => __classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_instances, "m", _UmbDocumentGridCollectionViewElement_renderCard).call(this, item))}
@@ -51,6 +55,15 @@ let UmbDocumentGridCollectionViewElement = class UmbDocumentGridCollectionViewEl
51
55
  };
52
56
  _UmbDocumentGridCollectionViewElement_collectionContext = new WeakMap();
53
57
  _UmbDocumentGridCollectionViewElement_instances = new WeakSet();
58
+ _UmbDocumentGridCollectionViewElement_observeCollectionContext = function _UmbDocumentGridCollectionViewElement_observeCollectionContext() {
59
+ if (!__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f"))
60
+ return;
61
+ this.observe(__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f").userDefinedProperties, (userDefinedProperties) => {
62
+ this._userDefinedProperties = userDefinedProperties;
63
+ }, 'umbCollectionUserDefinedPropertiesObserver');
64
+ this.observe(__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f").selection.selection, (selection) => (this._selection = selection), 'umbCollectionSelectionObserver');
65
+ this.observe(__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f").items, (items) => (this._items = items), 'umbCollectionItemsObserver');
66
+ };
54
67
  _UmbDocumentGridCollectionViewElement_onSelect = function _UmbDocumentGridCollectionViewElement_onSelect(item) {
55
68
  __classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_collectionContext, "f")?.selection.select(item.unique ?? '');
56
69
  };
@@ -68,9 +81,44 @@ _UmbDocumentGridCollectionViewElement_renderCard = function _UmbDocumentGridColl
68
81
  @selected=${() => __classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_instances, "m", _UmbDocumentGridCollectionViewElement_onSelect).call(this, item)}
69
82
  @deselected=${() => __classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_instances, "m", _UmbDocumentGridCollectionViewElement_onDeselect).call(this, item)}>
70
83
  <uui-icon slot="icon" name=${item.icon}></uui-icon>
84
+ ${__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_instances, "m", _UmbDocumentGridCollectionViewElement_renderState).call(this, item)} ${__classPrivateFieldGet(this, _UmbDocumentGridCollectionViewElement_instances, "m", _UmbDocumentGridCollectionViewElement_renderProperties).call(this, item)}
71
85
  </uui-card-content-node>
72
86
  `;
73
87
  };
88
+ _UmbDocumentGridCollectionViewElement_renderState = function _UmbDocumentGridCollectionViewElement_renderState(item) {
89
+ switch (item.state) {
90
+ case 'Published':
91
+ return html `<uui-tag slot="tag" color="positive" look="secondary"
92
+ >${this.localize.term('content_published')}</uui-tag
93
+ >`;
94
+ case 'PublishedPendingChanges':
95
+ return html `<uui-tag slot="tag" color="warning" look="secondary"
96
+ >${this.localize.term('content_publishedPendingChanges')}</uui-tag
97
+ >`;
98
+ case 'Draft':
99
+ return html `<uui-tag slot="tag" color="default" look="secondary"
100
+ >${this.localize.term('content_unpublished')}</uui-tag
101
+ >`;
102
+ case 'NotCreated':
103
+ return html `<uui-tag slot="tag" color="danger" look="secondary"
104
+ >${this.localize.term('content_notCreated')}</uui-tag
105
+ >`;
106
+ default:
107
+ // TODO: [LK] Check if we have a `SplitPascalCase`-esque utility function that could be used here.
108
+ return html `<uui-tag slot="tag" color="danger" look="secondary"
109
+ >${item.state.replace(/([A-Z])/g, ' $1')}</uui-tag
110
+ >`;
111
+ }
112
+ };
113
+ _UmbDocumentGridCollectionViewElement_renderProperties = function _UmbDocumentGridCollectionViewElement_renderProperties(item) {
114
+ if (!this._userDefinedProperties)
115
+ return;
116
+ return html `
117
+ <ul>
118
+ ${repeat(this._userDefinedProperties, (column) => column.alias, (column) => html `<li><span>${column.header}:</span> ${getPropertyValueByAlias(item, column.alias)}</li>`)}
119
+ </ul>
120
+ `;
121
+ };
74
122
  UmbDocumentGridCollectionViewElement.styles = [
75
123
  UmbTextStyles,
76
124
  css `
@@ -79,6 +127,12 @@ UmbDocumentGridCollectionViewElement.styles = [
79
127
  flex-direction: column;
80
128
  }
81
129
 
130
+ .container {
131
+ display: flex;
132
+ justify-content: center;
133
+ align-items: center;
134
+ }
135
+
82
136
  #document-grid {
83
137
  display: grid;
84
138
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
@@ -89,6 +143,16 @@ UmbDocumentGridCollectionViewElement.styles = [
89
143
  width: 100%;
90
144
  height: 180px;
91
145
  }
146
+
147
+ ul {
148
+ list-style: none;
149
+ padding-inline-start: 0px;
150
+ margin: 0;
151
+ }
152
+
153
+ ul > li > span {
154
+ font-weight: 700;
155
+ }
92
156
  `,
93
157
  ];
94
158
  __decorate([
@@ -97,6 +161,9 @@ __decorate([
97
161
  __decorate([
98
162
  state()
99
163
  ], UmbDocumentGridCollectionViewElement.prototype, "_selection", void 0);
164
+ __decorate([
165
+ state()
166
+ ], UmbDocumentGridCollectionViewElement.prototype, "_userDefinedProperties", void 0);
100
167
  __decorate([
101
168
  state()
102
169
  ], UmbDocumentGridCollectionViewElement.prototype, "_loading", void 0);
@@ -1 +1,3 @@
1
+ import type { UmbDocumentCollectionItemModel } from '../types.js';
1
2
  export { UMB_DOCUMENT_GRID_COLLECTION_VIEW_ALIAS, UMB_DOCUMENT_TABLE_COLLECTION_VIEW_ALIAS } from './manifests.js';
3
+ export declare function getPropertyValueByAlias(item: UmbDocumentCollectionItemModel, alias: string): string | null | undefined;
@@ -1 +1,21 @@
1
1
  export { UMB_DOCUMENT_GRID_COLLECTION_VIEW_ALIAS, UMB_DOCUMENT_TABLE_COLLECTION_VIEW_ALIAS } from './manifests.js';
2
+ export function getPropertyValueByAlias(item, alias) {
3
+ switch (alias) {
4
+ case 'createDate':
5
+ return item.createDate.toLocaleString();
6
+ case 'entityName':
7
+ return item.name;
8
+ case 'entityState':
9
+ return item.state.replace(/([A-Z])/g, ' $1');
10
+ case 'owner':
11
+ return item.creator;
12
+ case 'published':
13
+ return item.state !== 'Draft' ? 'True' : 'False';
14
+ case 'updateDate':
15
+ return item.updateDate.toLocaleString();
16
+ case 'updater':
17
+ return item.updater;
18
+ default:
19
+ return item.values.find((value) => value.alias === alias)?.value ?? '';
20
+ }
21
+ }
@@ -0,0 +1,19 @@
1
+ import type { UmbDocumentCollectionItemModel } 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 UmbDocumentTableColumnNameElement extends UmbLitElement implements UmbTableColumnLayoutElement {
5
+ #private;
6
+ private _editDocumentPath;
7
+ column: UmbTableColumn;
8
+ item: UmbTableItem;
9
+ value: UmbDocumentCollectionItemModel;
10
+ constructor();
11
+ render(): import("lit-html").TemplateResult<1>;
12
+ static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
13
+ }
14
+ export default UmbDocumentTableColumnNameElement;
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'umb-document-table-column-name': UmbDocumentTableColumnNameElement;
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 _UmbDocumentTableColumnNameElement_instances, _UmbDocumentTableColumnNameElement_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 UmbDocumentTableColumnNameElement = class UmbDocumentTableColumnNameElement extends UmbLitElement {
17
+ constructor() {
18
+ super();
19
+ _UmbDocumentTableColumnNameElement_instances.add(this);
20
+ this._editDocumentPath = '';
21
+ new UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL)
22
+ .addAdditionalPath('document')
23
+ .onSetup(() => {
24
+ return { data: { entityType: 'document', preset: {} } };
25
+ })
26
+ .observeRouteBuilder((routeBuilder) => {
27
+ this._editDocumentPath = routeBuilder({});
28
+ });
29
+ }
30
+ render() {
31
+ return html `<uui-button
32
+ look="default"
33
+ color="default"
34
+ compact
35
+ href="${this._editDocumentPath}edit/${this.value.unique}"
36
+ label="${this.value.name}"
37
+ @click=${__classPrivateFieldGet(this, _UmbDocumentTableColumnNameElement_instances, "m", _UmbDocumentTableColumnNameElement_onClick)}></uui-button>`;
38
+ }
39
+ };
40
+ _UmbDocumentTableColumnNameElement_instances = new WeakSet();
41
+ _UmbDocumentTableColumnNameElement_onClick = function _UmbDocumentTableColumnNameElement_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
+ UmbDocumentTableColumnNameElement.styles = [
47
+ css `
48
+ uui-button {
49
+ text-align: left;
50
+ }
51
+ `,
52
+ ];
53
+ __decorate([
54
+ state()
55
+ ], UmbDocumentTableColumnNameElement.prototype, "_editDocumentPath", void 0);
56
+ __decorate([
57
+ property({ type: Object, attribute: false })
58
+ ], UmbDocumentTableColumnNameElement.prototype, "column", void 0);
59
+ __decorate([
60
+ property({ type: Object, attribute: false })
61
+ ], UmbDocumentTableColumnNameElement.prototype, "item", void 0);
62
+ __decorate([
63
+ property({ attribute: false })
64
+ ], UmbDocumentTableColumnNameElement.prototype, "value", void 0);
65
+ UmbDocumentTableColumnNameElement = __decorate([
66
+ customElement('umb-document-table-column-name')
67
+ ], UmbDocumentTableColumnNameElement);
68
+ export { UmbDocumentTableColumnNameElement };
69
+ export default UmbDocumentTableColumnNameElement;
@@ -0,0 +1,15 @@
1
+ import type { UmbDocumentCollectionItemModel } 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 UmbDocumentTableColumnStateElement extends UmbLitElement implements UmbTableColumnLayoutElement {
5
+ column: UmbTableColumn;
6
+ item: UmbTableItem;
7
+ value: UmbDocumentCollectionItemModel;
8
+ render(): import("lit-html").TemplateResult<1>;
9
+ }
10
+ export default UmbDocumentTableColumnStateElement;
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'umb-document-table-column-state': UmbDocumentTableColumnStateElement;
14
+ }
15
+ }
@@ -0,0 +1,39 @@
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
+ import { customElement, html, property } from '../../../../../../../external/lit/index.js';
8
+ import { UmbLitElement } from '../../../../../../core/lit-element/index.js';
9
+ let UmbDocumentTableColumnStateElement = class UmbDocumentTableColumnStateElement extends UmbLitElement {
10
+ render() {
11
+ switch (this.value.state) {
12
+ case 'Published':
13
+ return html `<uui-tag color="positive" look="secondary">${this.localize.term('content_published')}</uui-tag>`;
14
+ case 'PublishedPendingChanges':
15
+ return html `<uui-tag color="warning" look="secondary">${this.localize.term('content_publishedPendingChanges')}</uui-tag>`;
16
+ case 'Draft':
17
+ return html `<uui-tag color="default" look="secondary">${this.localize.term('content_unpublished')}</uui-tag>`;
18
+ case 'NotCreated':
19
+ return html `<uui-tag color="danger" look="secondary">${this.localize.term('content_notCreated')}</uui-tag>`;
20
+ default:
21
+ // TODO: [LK] Check if we have a `SplitPascalCase`-esque utility function that could be used here.
22
+ return html `<uui-tag color="danger" look="secondary">${this.value.state.replace(/([A-Z])/g, ' $1')}</uui-tag>`;
23
+ }
24
+ }
25
+ };
26
+ __decorate([
27
+ property({ type: Object, attribute: false })
28
+ ], UmbDocumentTableColumnStateElement.prototype, "column", void 0);
29
+ __decorate([
30
+ property({ type: Object, attribute: false })
31
+ ], UmbDocumentTableColumnStateElement.prototype, "item", void 0);
32
+ __decorate([
33
+ property({ attribute: false })
34
+ ], UmbDocumentTableColumnStateElement.prototype, "value", void 0);
35
+ UmbDocumentTableColumnStateElement = __decorate([
36
+ customElement('umb-document-table-column-state')
37
+ ], UmbDocumentTableColumnStateElement);
38
+ export { UmbDocumentTableColumnStateElement };
39
+ export default UmbDocumentTableColumnStateElement;
@@ -1,16 +1,16 @@
1
1
  import { UmbLitElement } from '../../../../../core/lit-element/index.js';
2
+ import './column-layouts/document-table-column-name.element.js';
3
+ import './column-layouts/document-table-column-state.element.js';
2
4
  export declare class UmbDocumentTableCollectionViewElement extends UmbLitElement {
3
5
  #private;
4
- private _busy;
6
+ private _loading;
5
7
  private _userDefinedProperties?;
6
8
  private _items?;
7
9
  private _tableConfig;
8
10
  private _tableColumns;
9
11
  private _tableItems;
10
12
  private _selection;
11
- private _collectionContext?;
12
13
  constructor();
13
- private _observeCollectionContext;
14
14
  private _handleSelect;
15
15
  private _handleDeselect;
16
16
  private _handleOrdering;
@@ -4,80 +4,84 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
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
+ };
7
13
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
14
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
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");
10
16
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
17
  };
12
- var _UmbDocumentTableCollectionViewElement_instances, _UmbDocumentTableCollectionViewElement_systemColumns, _UmbDocumentTableCollectionViewElement_createTableHeadings, _UmbDocumentTableCollectionViewElement_createTableItems;
18
+ var _UmbDocumentTableCollectionViewElement_instances, _UmbDocumentTableCollectionViewElement_systemColumns, _UmbDocumentTableCollectionViewElement_collectionContext, _UmbDocumentTableCollectionViewElement_observeCollectionContext, _UmbDocumentTableCollectionViewElement_createTableHeadings, _UmbDocumentTableCollectionViewElement_createTableItems;
19
+ import { getPropertyValueByAlias } from '../index.js';
13
20
  import { css, html, customElement, state } from '../../../../../../external/lit/index.js';
14
21
  import { UmbLitElement } from '../../../../../core/lit-element/index.js';
15
22
  import { UmbTextStyles } from '../../../../../../shared/style/index.js';
16
23
  import { UMB_DEFAULT_COLLECTION_CONTEXT } from '../../../../../core/collection/index.js';
24
+ import './column-layouts/document-table-column-name.element.js';
25
+ import './column-layouts/document-table-column-state.element.js';
17
26
  let UmbDocumentTableCollectionViewElement = class UmbDocumentTableCollectionViewElement extends UmbLitElement {
18
27
  constructor() {
19
28
  super();
20
29
  _UmbDocumentTableCollectionViewElement_instances.add(this);
21
- this._busy = false;
30
+ this._loading = false;
22
31
  this._tableConfig = {
23
32
  allowSelection: true,
24
33
  };
25
34
  this._tableColumns = [];
26
35
  _UmbDocumentTableCollectionViewElement_systemColumns.set(this, [
27
36
  {
28
- name: 'Name',
37
+ name: this.localize.term('general_name'),
29
38
  alias: 'entityName',
39
+ elementName: 'umb-document-table-column-name',
40
+ allowSorting: true,
41
+ },
42
+ {
43
+ name: this.localize.term('content_publishStatus'),
44
+ alias: 'entityState',
45
+ elementName: 'umb-document-table-column-state',
30
46
  allowSorting: true,
31
47
  },
32
48
  ]);
33
49
  this._tableItems = [];
34
50
  this._selection = [];
51
+ _UmbDocumentTableCollectionViewElement_collectionContext.set(this, void 0);
35
52
  this.consumeContext(UMB_DEFAULT_COLLECTION_CONTEXT, (instance) => {
36
- this._collectionContext = instance;
37
- this._observeCollectionContext();
38
- });
39
- }
40
- _observeCollectionContext() {
41
- if (!this._collectionContext)
42
- return;
43
- this.observe(this._collectionContext.userDefinedProperties, (userDefinedProperties) => {
44
- this._userDefinedProperties = userDefinedProperties;
45
- __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_instances, "m", _UmbDocumentTableCollectionViewElement_createTableHeadings).call(this);
46
- });
47
- this.observe(this._collectionContext.items, (items) => {
48
- this._items = items;
49
- __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_instances, "m", _UmbDocumentTableCollectionViewElement_createTableItems).call(this, this._items);
50
- });
51
- this.observe(this._collectionContext.selection.selection, (selection) => {
52
- this._selection = selection;
53
+ __classPrivateFieldSet(this, _UmbDocumentTableCollectionViewElement_collectionContext, instance, "f");
54
+ __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_instances, "m", _UmbDocumentTableCollectionViewElement_observeCollectionContext).call(this);
53
55
  });
54
56
  }
55
57
  _handleSelect(event) {
56
58
  event.stopPropagation();
57
59
  const table = event.target;
58
60
  const selection = table.selection;
59
- this._collectionContext?.selection.setSelection(selection);
61
+ __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f")?.selection.setSelection(selection);
60
62
  }
61
63
  _handleDeselect(event) {
62
64
  event.stopPropagation();
63
65
  const table = event.target;
64
66
  const selection = table.selection;
65
- this._collectionContext?.selection.setSelection(selection);
67
+ __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f")?.selection.setSelection(selection);
66
68
  }
67
69
  _handleOrdering(event) {
68
70
  const table = event.target;
69
71
  const orderingColumn = table.orderingColumn;
70
72
  const orderingDesc = table.orderingDesc;
71
- this._collectionContext?.setFilter({
73
+ __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f")?.setFilter({
72
74
  orderBy: orderingColumn,
73
75
  orderDirection: orderingDesc ? 'desc' : 'asc',
74
76
  });
75
77
  }
76
78
  render() {
77
- if (this._busy)
79
+ if (this._loading) {
78
80
  return html `<div class="container"><uui-loader></uui-loader></div>`;
79
- if (this._tableItems.length === 0)
81
+ }
82
+ if (this._tableItems.length === 0) {
80
83
  return html `<div class="container"><p>${this.localize.term('content_listViewNoItems')}</p></div>`;
84
+ }
81
85
  return html `
82
86
  <umb-table
83
87
  .config=${this._tableConfig}
@@ -91,7 +95,23 @@ let UmbDocumentTableCollectionViewElement = class UmbDocumentTableCollectionView
91
95
  }
92
96
  };
93
97
  _UmbDocumentTableCollectionViewElement_systemColumns = new WeakMap();
98
+ _UmbDocumentTableCollectionViewElement_collectionContext = new WeakMap();
94
99
  _UmbDocumentTableCollectionViewElement_instances = new WeakSet();
100
+ _UmbDocumentTableCollectionViewElement_observeCollectionContext = function _UmbDocumentTableCollectionViewElement_observeCollectionContext() {
101
+ if (!__classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f"))
102
+ return;
103
+ this.observe(__classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f").userDefinedProperties, (userDefinedProperties) => {
104
+ this._userDefinedProperties = userDefinedProperties;
105
+ __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_instances, "m", _UmbDocumentTableCollectionViewElement_createTableHeadings).call(this);
106
+ }, 'umbCollectionUserDefinedPropertiesObserver');
107
+ this.observe(__classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f").items, (items) => {
108
+ this._items = items;
109
+ __classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_instances, "m", _UmbDocumentTableCollectionViewElement_createTableItems).call(this, this._items);
110
+ }, 'umbCollectionItemsObserver');
111
+ this.observe(__classPrivateFieldGet(this, _UmbDocumentTableCollectionViewElement_collectionContext, "f").selection.selection, (selection) => {
112
+ this._selection = selection;
113
+ }, 'umbCollectionSelectionObserver');
114
+ };
95
115
  _UmbDocumentTableCollectionViewElement_createTableHeadings = function _UmbDocumentTableCollectionViewElement_createTableHeadings() {
96
116
  if (this._userDefinedProperties && this._userDefinedProperties.length > 0) {
97
117
  const userColumns = this._userDefinedProperties.map((item) => {
@@ -106,30 +126,13 @@ _UmbDocumentTableCollectionViewElement_createTableHeadings = function _UmbDocume
106
126
  }
107
127
  };
108
128
  _UmbDocumentTableCollectionViewElement_createTableItems = function _UmbDocumentTableCollectionViewElement_createTableItems(items) {
109
- // TODO: [LK] This is a temporary solution. Let's explore a nicer way to display the values.
110
- const getValue = (item, alias) => {
111
- switch (alias) {
112
- case 'createDate':
113
- return item.createDate.toLocaleString();
114
- case 'owner':
115
- return item.creator;
116
- case 'published':
117
- return item.state !== 'Draft' ? 'True' : 'False';
118
- case 'updateDate':
119
- return item.updateDate.toLocaleString();
120
- case 'updater':
121
- return item.updater;
122
- default:
123
- return item.values.find((value) => value.alias === alias)?.value ?? '';
124
- }
125
- };
126
129
  this._tableItems = items.map((item) => {
127
130
  if (!item.unique)
128
131
  throw new Error('Item id is missing.');
129
132
  const data = this._tableColumns?.map((column) => {
130
133
  return {
131
134
  columnAlias: column.alias,
132
- value: column.elementName ? item : getValue(item, column.alias),
135
+ value: column.elementName ? item : getPropertyValueByAlias(item, column.alias),
133
136
  };
134
137
  }) ?? [];
135
138
  return {
@@ -164,7 +167,7 @@ UmbDocumentTableCollectionViewElement.styles = [
164
167
  ];
165
168
  __decorate([
166
169
  state()
167
- ], UmbDocumentTableCollectionViewElement.prototype, "_busy", void 0);
170
+ ], UmbDocumentTableCollectionViewElement.prototype, "_loading", void 0);
168
171
  __decorate([
169
172
  state()
170
173
  ], UmbDocumentTableCollectionViewElement.prototype, "_userDefinedProperties", void 0);
@@ -1,26 +1,28 @@
1
+ import { manifests as breadcrumbManifests } from './breadcrumb/manifests.js';
1
2
  import { manifests as collectionManifests } from './collection/manifests.js';
2
3
  import { manifests as conditionManifests } from './conditions/manifests.js';
3
- import { manifests as menuItemManifests } from './menu-item/manifests.js';
4
- import { manifests as repositoryManifests } from './repository/manifests.js';
5
- import { manifests as treeManifests } from './tree/manifests.js';
6
- import { manifests as workspaceManifests } from './workspace/manifests.js';
7
4
  import { manifests as entityActionManifests } from './entity-actions/manifests.js';
8
5
  import { manifests as entityBulkActionManifests } from './entity-bulk-actions/manifests.js';
6
+ import { manifests as menuItemManifests } from './menu-item/manifests.js';
9
7
  import { manifests as propertyEditorManifests } from './property-editors/manifests.js';
10
- import { manifests as userPermissionManifests } from './user-permissions/manifests.js';
11
8
  import { manifests as recycleBinManifests } from './recycle-bin/manifests.js';
9
+ import { manifests as repositoryManifests } from './repository/manifests.js';
12
10
  import { manifests as trackedReferenceManifests } from './tracked-reference/manifests.js';
11
+ import { manifests as treeManifests } from './tree/manifests.js';
12
+ import { manifests as userPermissionManifests } from './user-permissions/manifests.js';
13
+ import { manifests as workspaceManifests } from './workspace/manifests.js';
13
14
  export const manifests = [
15
+ ...breadcrumbManifests,
14
16
  ...collectionManifests,
15
17
  ...conditionManifests,
16
- ...menuItemManifests,
17
- ...treeManifests,
18
- ...repositoryManifests,
19
- ...workspaceManifests,
20
18
  ...entityActionManifests,
21
19
  ...entityBulkActionManifests,
20
+ ...menuItemManifests,
22
21
  ...propertyEditorManifests,
23
- ...userPermissionManifests,
24
22
  ...recycleBinManifests,
23
+ ...repositoryManifests,
25
24
  ...trackedReferenceManifests,
25
+ ...treeManifests,
26
+ ...userPermissionManifests,
27
+ ...workspaceManifests,
26
28
  ];
@@ -35,9 +35,7 @@ let UmbDocumentWorkspaceSplitViewElement = class UmbDocumentWorkspaceSplitViewEl
35
35
  `)}
36
36
  </div>
37
37
 
38
- <umb-workspace-footer alias="Umb.Workspace.Document">
39
- <div id="breadcrumbs">Breadcrumbs</div>
40
- </umb-workspace-footer>`
38
+ <umb-workspace-footer alias="Umb.Workspace.Document"></umb-workspace-footer>`
41
39
  : nothing;
42
40
  }
43
41
  };
@@ -42,5 +42,6 @@ const mapper = (item) => {
42
42
  entityType: item.isFolder ? UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE : UMB_MEDIA_TYPE_ENTITY_TYPE,
43
43
  hasChildren: item.hasChildren,
44
44
  isFolder: item.isFolder,
45
+ icon: item.icon,
45
46
  };
46
47
  };
@@ -38,6 +38,7 @@ export class UmbMediaTypeTreeStore extends UmbUniqueTreeStore {
38
38
  _UmbMediaTypeTreeStore_updateTreeItemMapper.set(this, (item) => {
39
39
  return {
40
40
  name: item.name,
41
+ icon: item.icon,
41
42
  };
42
43
  });
43
44
  new UmbStoreConnector(host, this, UMB_MEDIA_TYPE_DETAIL_STORE_CONTEXT, (item) => __classPrivateFieldGet(this, _UmbMediaTypeTreeStore_createTreeItemMapper, "f").call(this, item), (item) => __classPrivateFieldGet(this, _UmbMediaTypeTreeStore_updateTreeItemMapper, "f").call(this, item));
@@ -39,5 +39,6 @@ const mapper = (item) => {
39
39
  entityType: UMB_MEMBER_TYPE_ENTITY_TYPE,
40
40
  hasChildren: item.hasChildren,
41
41
  isFolder: false,
42
+ icon: 'icon-user',
42
43
  };
43
44
  };
@@ -38,6 +38,7 @@ export class UmbMemberTypeTreeStore extends UmbUniqueTreeStore {
38
38
  _UmbMemberTypeTreeStore_updateTreeItemMapper.set(this, (item) => {
39
39
  return {
40
40
  name: item.name,
41
+ icon: item.icon,
41
42
  };
42
43
  });
43
44
  new UmbStoreConnector(host, this, UMB_MEMBER_TYPE_DETAIL_STORE_CONTEXT, (item) => __classPrivateFieldGet(this, _UmbMemberTypeTreeStore_createTreeItemMapper, "f").call(this, item), (item) => __classPrivateFieldGet(this, _UmbMemberTypeTreeStore_updateTreeItemMapper, "f").call(this, item));
@@ -6,7 +6,6 @@ export declare class UmbTemplatingInsertMenuElement extends UmbLitElement {
6
6
  private _modalContext?;
7
7
  constructor();
8
8
  determineInsertValue(modalValue: UmbTemplatingItemPickerModalValue): Promise<void>;
9
- hidePartialView: boolean;
10
9
  render(): import("lit-html").TemplateResult<1>;
11
10
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
12
11
  }