@umbraco-cms/backoffice 14.0.0--preview006-89e89a2e → 14.0.0--preview006-7bdcb4ac
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.
- package/dist-cms/css/umbraco-blockgridlayout.css +50 -0
- package/dist-cms/custom-elements.json +71 -40
- package/dist-cms/libs/observable-api/utils/append-to-frozen-array.function.d.ts +6 -5
- package/dist-cms/libs/observable-api/utils/append-to-frozen-array.function.js +6 -5
- package/dist-cms/mocks/data/data-type/data-type.data.js +1 -1
- package/dist-cms/mocks/data/document/document.data.js +91 -1
- package/dist-cms/packages/block/block/context/block-entries.context-token.d.ts +5 -0
- package/dist-cms/packages/block/block/context/block-entries.context-token.js +2 -0
- package/dist-cms/packages/block/block/context/block-entries.context.d.ts +29 -0
- package/dist-cms/packages/block/block/context/block-entries.context.js +69 -0
- package/dist-cms/packages/block/block/context/block-entry.context-token.d.ts +6 -0
- package/dist-cms/packages/block/block/context/block-entry.context-token.js +2 -0
- package/dist-cms/packages/block/block/context/{block-entity.context.d.ts → block-entry.context.d.ts} +25 -10
- package/dist-cms/packages/block/block/context/block-entry.context.js +208 -0
- package/dist-cms/packages/block/block/{manager → context}/block-manager.context.d.ts +21 -5
- package/dist-cms/packages/block/block/{manager → context}/block-manager.context.js +56 -53
- package/dist-cms/packages/block/block/context/index.d.ts +6 -1
- package/dist-cms/packages/block/block/context/index.js +5 -1
- package/dist-cms/packages/block/block/index.d.ts +0 -1
- package/dist-cms/packages/block/block/index.js +0 -1
- package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.d.ts +0 -1
- package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.js +1 -17
- package/dist-cms/packages/block/block/workspace/block-workspace.context.js +78 -45
- package/dist-cms/packages/block/block/workspace/views/edit/{block-workspace-view-edit-no-router.element.d.ts → block-workspace-view-edit-content-no-router.element.d.ts} +8 -5
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +148 -0
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.js +4 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.d.ts +18 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.js +46 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/index.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/index.js +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +21 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +118 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/index.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/index.js +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.d.ts +28 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +124 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/index.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/index.js +1 -0
- package/dist-cms/packages/block/block-grid/components/index.d.ts +0 -0
- package/dist-cms/packages/block/block-grid/components/index.js +1 -0
- package/dist-cms/packages/block/block-grid/components/ref-grid-block/index.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/components/ref-grid-block/index.js +1 -0
- package/dist-cms/packages/block/block-grid/components/ref-grid-block/ref-grid-block.element.d.ts +18 -0
- package/dist-cms/packages/block/block-grid/components/ref-grid-block/ref-grid-block.element.js +47 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entries.context-token.d.ts +3 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entries.context-token.js +3 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.d.ts +25 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.js +134 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entry.context-token.d.ts +3 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entry.context-token.js +3 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.d.ts +12 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.js +38 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.d.ts +25 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.js +38 -0
- package/dist-cms/packages/block/block-grid/context/index.d.ts +2 -0
- package/dist-cms/packages/block/block-grid/context/index.js +2 -0
- package/dist-cms/packages/block/block-grid/index.d.ts +2 -1
- package/dist-cms/packages/block/block-grid/index.js +2 -1
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/manifests.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/manifests.js +2 -1
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.d.ts +7 -8
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +59 -89
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.d.ts +3 -3
- package/dist-cms/packages/block/block-grid/types.d.ts +15 -3
- package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.d.ts +29 -0
- package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +132 -0
- package/dist-cms/packages/block/block-list/components/block-list-entry/index.d.ts +1 -0
- package/dist-cms/packages/block/block-list/components/block-list-entry/index.js +1 -0
- package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.d.ts +1 -1
- package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.js +5 -6
- package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +3 -2
- package/dist-cms/packages/block/block-list/context/block-list-entries.context-token.d.ts +3 -0
- package/dist-cms/packages/block/block-list/context/block-list-entries.context-token.js +3 -0
- package/dist-cms/packages/block/block-list/context/block-list-entries.context.d.ts +23 -0
- package/dist-cms/packages/block/block-list/context/block-list-entries.context.js +81 -0
- package/dist-cms/packages/block/block-list/context/block-list-entry.context-token.d.ts +3 -0
- package/dist-cms/packages/block/block-list/context/block-list-entry.context-token.js +3 -0
- package/dist-cms/packages/block/block-list/context/block-list-entry.context.d.ts +11 -0
- package/dist-cms/packages/block/block-list/context/{block-list.context.js → block-list-entry.context.js} +11 -10
- package/dist-cms/packages/block/block-list/{manager → context}/block-list-manager.context.d.ts +13 -4
- package/dist-cms/packages/block/block-list/{manager → context}/block-list-manager.context.js +8 -4
- package/dist-cms/packages/block/block-list/context/index.d.ts +1 -0
- package/dist-cms/packages/block/block-list/context/index.js +1 -0
- package/dist-cms/packages/block/block-list/index.d.ts +2 -1
- package/dist-cms/packages/block/block-list/index.js +2 -1
- package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.d.ts +2 -7
- package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +39 -30
- package/dist-cms/packages/block/block-list/types.d.ts +3 -1
- package/dist-cms/packages/block/block-type/components/block-type-card/block-type-card.element.js +1 -1
- package/dist-cms/packages/core/modal/modal-route-registration.controller.d.ts +1 -1
- package/dist-cms/packages/core/modal/modal-route-registration.controller.js +1 -1
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/vscode-html-custom-data.json +36 -25
- package/package.json +13 -2
- package/dist-cms/packages/block/block/context/block-entity.context.js +0 -151
- package/dist-cms/packages/block/block/manager/index.d.ts +0 -2
- package/dist-cms/packages/block/block/manager/index.js +0 -1
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-no-router.element.js +0 -132
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid-inner-test.element.d.ts +0 -18
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid-inner-test.element.js +0 -87
- package/dist-cms/packages/block/block-list/components/block-list-block/block-list-block.element.d.ts +0 -31
- package/dist-cms/packages/block/block-list/components/block-list-block/block-list-block.element.js +0 -149
- package/dist-cms/packages/block/block-list/components/block-list-block/index.d.ts +0 -1
- package/dist-cms/packages/block/block-list/components/block-list-block/index.js +0 -1
- package/dist-cms/packages/block/block-list/context/block-list.context-token.d.ts +0 -3
- package/dist-cms/packages/block/block-list/context/block-list.context-token.js +0 -2
- package/dist-cms/packages/block/block-list/context/block-list.context.d.ts +0 -9
- /package/dist-cms/packages/block/block/{manager → context}/block-manager.context-token.d.ts +0 -0
- /package/dist-cms/packages/block/block/{manager → context}/block-manager.context-token.js +0 -0
|
@@ -9,13 +9,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _UmbBlockWorkspaceContext_instances, _UmbBlockWorkspaceContext_blockManager, _UmbBlockWorkspaceContext_retrieveBlockManager, _UmbBlockWorkspaceContext_modalContext, _UmbBlockWorkspaceContext_retrieveModalContext, _UmbBlockWorkspaceContext_editorConfigPromise, _UmbBlockWorkspaceContext_entityType, _UmbBlockWorkspaceContext_isNew, _UmbBlockWorkspaceContext_liveEditingMode, _UmbBlockWorkspaceContext_layout, _UmbBlockWorkspaceContext_label, _UmbBlockWorkspaceContext_establishLiveSync, _UmbBlockWorkspaceContext_modalRejected;
|
|
12
|
+
var _UmbBlockWorkspaceContext_instances, _UmbBlockWorkspaceContext_blockManager, _UmbBlockWorkspaceContext_retrieveBlockManager, _UmbBlockWorkspaceContext_blockEntries, _UmbBlockWorkspaceContext_retrieveBlockEntries, _UmbBlockWorkspaceContext_modalContext, _UmbBlockWorkspaceContext_retrieveModalContext, _UmbBlockWorkspaceContext_editorConfigPromise, _UmbBlockWorkspaceContext_entityType, _UmbBlockWorkspaceContext_isNew, _UmbBlockWorkspaceContext_liveEditingMode, _UmbBlockWorkspaceContext_initialLayout, _UmbBlockWorkspaceContext_initialContent, _UmbBlockWorkspaceContext_initialSettings, _UmbBlockWorkspaceContext_layout, _UmbBlockWorkspaceContext_label, _UmbBlockWorkspaceContext_establishLiveSync, _UmbBlockWorkspaceContext_modalRejected;
|
|
13
13
|
import { UmbBlockElementManager } from './block-element-manager.js';
|
|
14
14
|
import { UmbEditableWorkspaceContextBase } from '../../../core/workspace/index.js';
|
|
15
15
|
import { UmbBooleanState, UmbObjectState, UmbStringState } from '../../../../libs/observable-api/index.js';
|
|
16
|
-
import {
|
|
17
|
-
import { UMB_BLOCK_MANAGER_CONTEXT } from '../../index.js';
|
|
18
|
-
import { buildUdi } from '../../../../shared/utils/index.js';
|
|
16
|
+
import { UMB_BLOCK_ENTRIES_CONTEXT, UMB_BLOCK_MANAGER_CONTEXT, } from '../../index.js';
|
|
19
17
|
import { UMB_MODAL_CONTEXT } from '../../../core/modal/index.js';
|
|
20
18
|
export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
21
19
|
constructor(host, workspaceArgs) {
|
|
@@ -25,6 +23,8 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
25
23
|
this.IS_BLOCK_WORKSPACE_CONTEXT = true;
|
|
26
24
|
_UmbBlockWorkspaceContext_blockManager.set(this, void 0);
|
|
27
25
|
_UmbBlockWorkspaceContext_retrieveBlockManager.set(this, void 0);
|
|
26
|
+
_UmbBlockWorkspaceContext_blockEntries.set(this, void 0);
|
|
27
|
+
_UmbBlockWorkspaceContext_retrieveBlockEntries.set(this, void 0);
|
|
28
28
|
_UmbBlockWorkspaceContext_modalContext.set(this, void 0);
|
|
29
29
|
_UmbBlockWorkspaceContext_retrieveModalContext.set(this, void 0);
|
|
30
30
|
_UmbBlockWorkspaceContext_editorConfigPromise.set(this, void 0);
|
|
@@ -32,6 +32,9 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
32
32
|
_UmbBlockWorkspaceContext_isNew.set(this, new UmbBooleanState(undefined));
|
|
33
33
|
this.isNew = __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_isNew, "f").asObservable();
|
|
34
34
|
_UmbBlockWorkspaceContext_liveEditingMode.set(this, void 0);
|
|
35
|
+
_UmbBlockWorkspaceContext_initialLayout.set(this, void 0);
|
|
36
|
+
_UmbBlockWorkspaceContext_initialContent.set(this, void 0);
|
|
37
|
+
_UmbBlockWorkspaceContext_initialSettings.set(this, void 0);
|
|
35
38
|
_UmbBlockWorkspaceContext_layout.set(this, new UmbObjectState(undefined));
|
|
36
39
|
this.layout = __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_layout, "f").asObservable();
|
|
37
40
|
//readonly unique = this.#layout.asObservablePart((x) => x?.contentUdi);
|
|
@@ -49,7 +52,20 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
49
52
|
// Remove the block?
|
|
50
53
|
const contentUdi = __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_layout, "f").value?.contentUdi;
|
|
51
54
|
if (contentUdi) {
|
|
52
|
-
__classPrivateFieldGet(this,
|
|
55
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f")?.delete(contentUdi);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// TODO: Revert the layout, content & settings data to the original state.
|
|
60
|
+
if (__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialLayout, "f")) {
|
|
61
|
+
console.log('reverted layout');
|
|
62
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f")?.setOneLayout(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialLayout, "f"));
|
|
63
|
+
}
|
|
64
|
+
if (__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialContent, "f")) {
|
|
65
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f")?.setOneContent(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialContent, "f"));
|
|
66
|
+
}
|
|
67
|
+
if (__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialSettings, "f")) {
|
|
68
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f")?.setOneContent(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialSettings, "f"));
|
|
53
69
|
}
|
|
54
70
|
}
|
|
55
71
|
}
|
|
@@ -67,18 +83,25 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
67
83
|
const value = editorConfigs.getValueByAlias('useLiveEditing');
|
|
68
84
|
__classPrivateFieldSet(this, _UmbBlockWorkspaceContext_liveEditingMode, value, "f");
|
|
69
85
|
}
|
|
70
|
-
}).asPromise(), "f");
|
|
71
|
-
|
|
86
|
+
}, 'observeEditorConfig').asPromise(), "f");
|
|
87
|
+
}).asPromise(), "f");
|
|
88
|
+
__classPrivateFieldSet(this, _UmbBlockWorkspaceContext_retrieveBlockEntries, this.consumeContext(UMB_BLOCK_ENTRIES_CONTEXT, (context) => {
|
|
89
|
+
__classPrivateFieldSet(this, _UmbBlockWorkspaceContext_blockEntries, context, "f");
|
|
72
90
|
}).asPromise(), "f");
|
|
73
91
|
}
|
|
74
92
|
async load(unique) {
|
|
75
93
|
await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_retrieveBlockManager, "f");
|
|
94
|
+
await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_retrieveBlockEntries, "f");
|
|
76
95
|
await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_editorConfigPromise, "f");
|
|
77
|
-
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f")) {
|
|
96
|
+
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f") || !__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f")) {
|
|
78
97
|
throw new Error('Block manager not found');
|
|
79
98
|
return;
|
|
80
99
|
}
|
|
81
|
-
this.observe(__classPrivateFieldGet(this,
|
|
100
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f").layoutOf(unique), (layoutData) => {
|
|
101
|
+
__classPrivateFieldSet(this, _UmbBlockWorkspaceContext_initialLayout, __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialLayout, "f") ?? layoutData, "f");
|
|
102
|
+
this.removeControllerByAlias('observeLayoutInitially');
|
|
103
|
+
}, 'observeLayoutInitially');
|
|
104
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f").layoutOf(unique), (layoutData) => {
|
|
82
105
|
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_layout, "f").setValue(layoutData);
|
|
83
106
|
// Content:
|
|
84
107
|
const contentUdi = layoutData?.contentUdi;
|
|
@@ -86,6 +109,12 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
86
109
|
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").contentOf(contentUdi), (contentData) => {
|
|
87
110
|
this.content.setData(contentData);
|
|
88
111
|
}, 'observeContent');
|
|
112
|
+
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialContent, "f")) {
|
|
113
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").contentOf(contentUdi), (contentData) => {
|
|
114
|
+
__classPrivateFieldSet(this, _UmbBlockWorkspaceContext_initialContent, __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialContent, "f") ?? contentData, "f");
|
|
115
|
+
this.removeControllerByAlias('observeContentInitially');
|
|
116
|
+
}, 'observeContentInitially');
|
|
117
|
+
}
|
|
89
118
|
}
|
|
90
119
|
// Settings:
|
|
91
120
|
const settingsUdi = layoutData?.settingsUdi;
|
|
@@ -93,6 +122,12 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
93
122
|
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").settingsOf(settingsUdi), (settingsData) => {
|
|
94
123
|
this.settings.setData(settingsData);
|
|
95
124
|
}, 'observeSettings');
|
|
125
|
+
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialSettings, "f")) {
|
|
126
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").contentOf(settingsUdi), (settingsData) => {
|
|
127
|
+
__classPrivateFieldSet(this, _UmbBlockWorkspaceContext_initialSettings, __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_initialSettings, "f") ?? settingsData, "f");
|
|
128
|
+
this.removeControllerByAlias('observeSettingsInitially');
|
|
129
|
+
}, 'observeSettingsInitially');
|
|
130
|
+
}
|
|
96
131
|
}
|
|
97
132
|
}, 'observeLayout');
|
|
98
133
|
if (__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_liveEditingMode, "f")) {
|
|
@@ -100,36 +135,32 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
100
135
|
}
|
|
101
136
|
}
|
|
102
137
|
async create(contentElementTypeId) {
|
|
103
|
-
await __classPrivateFieldGet(this,
|
|
138
|
+
await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_retrieveBlockEntries, "f");
|
|
104
139
|
await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_retrieveModalContext, "f");
|
|
105
|
-
if (!__classPrivateFieldGet(this,
|
|
106
|
-
throw new Error('Block
|
|
140
|
+
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f")) {
|
|
141
|
+
throw new Error('Block Entries not found');
|
|
107
142
|
return;
|
|
108
143
|
}
|
|
109
144
|
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f")) {
|
|
110
145
|
throw new Error('Modal Context not found');
|
|
111
146
|
return;
|
|
112
147
|
}
|
|
113
|
-
//
|
|
114
|
-
// TODO: Condense this into some kind of create method?
|
|
115
|
-
const key = UmbId.new();
|
|
116
|
-
const contentUdi = buildUdi('block', key);
|
|
117
|
-
const layoutData = {
|
|
118
|
-
contentUdi: contentUdi,
|
|
119
|
-
};
|
|
120
|
-
const contentData = {
|
|
121
|
-
udi: contentUdi,
|
|
122
|
-
contentTypeKey: contentElementTypeId,
|
|
123
|
-
};
|
|
124
|
-
this.content.setData(contentData);
|
|
125
|
-
// TODO: If we have Settings dedicated to this block type, we initiate them here:
|
|
148
|
+
// TODO: Missing some way to append more layout data... this could be part of modal data, (or context api?)
|
|
126
149
|
this.setIsNew(true);
|
|
127
|
-
__classPrivateFieldGet(this,
|
|
150
|
+
const blockCreated = await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f").create(contentElementTypeId, {}, __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f").data);
|
|
151
|
+
if (!blockCreated) {
|
|
152
|
+
throw new Error('Block Entries could not create block');
|
|
153
|
+
}
|
|
154
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_layout, "f").setValue(blockCreated.layout);
|
|
155
|
+
this.content.setData(blockCreated.content);
|
|
156
|
+
if (blockCreated.settings) {
|
|
157
|
+
this.settings.setData(blockCreated.settings);
|
|
158
|
+
}
|
|
128
159
|
if (__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_liveEditingMode, "f")) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
160
|
+
// Insert already, cause we are in live editing mode:
|
|
161
|
+
const blockInserted = await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f").insert(blockCreated.layout, blockCreated.content, blockCreated.settings, __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f").data);
|
|
162
|
+
if (!blockInserted) {
|
|
163
|
+
throw new Error('Block Entries could not insert block');
|
|
133
164
|
}
|
|
134
165
|
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_instances, "m", _UmbBlockWorkspaceContext_establishLiveSync).call(this);
|
|
135
166
|
}
|
|
@@ -169,24 +200,26 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
169
200
|
async save() {
|
|
170
201
|
const layoutData = __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_layout, "f").value;
|
|
171
202
|
const contentData = this.content.getData();
|
|
172
|
-
if (!layoutData || !__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f") || !contentData || !__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f"))
|
|
203
|
+
if (!layoutData || !__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f") || !__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f") || !contentData || !__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f"))
|
|
173
204
|
return;
|
|
205
|
+
const settingsData = this.settings.getData();
|
|
174
206
|
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_liveEditingMode, "f")) {
|
|
175
207
|
if (this.getIsNew() === true) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
208
|
+
// Insert (This means the layout entry will be inserted at the desired location):
|
|
209
|
+
const blockInserted = await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f").insert(layoutData, contentData, settingsData, __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f").data);
|
|
210
|
+
if (!blockInserted) {
|
|
211
|
+
throw new Error('Block Entries could not insert block');
|
|
180
212
|
}
|
|
181
213
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
214
|
+
else {
|
|
215
|
+
// Update data:
|
|
216
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f").setOneLayout(layoutData);
|
|
217
|
+
if (contentData) {
|
|
218
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").setOneContent(contentData);
|
|
219
|
+
}
|
|
220
|
+
if (settingsData) {
|
|
221
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").setOneSettings(settingsData);
|
|
222
|
+
}
|
|
190
223
|
}
|
|
191
224
|
}
|
|
192
225
|
this.saveComplete(layoutData);
|
|
@@ -195,10 +228,10 @@ export class UmbBlockWorkspaceContext extends UmbEditableWorkspaceContextBase {
|
|
|
195
228
|
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_layout, "f").destroy();
|
|
196
229
|
}
|
|
197
230
|
}
|
|
198
|
-
_UmbBlockWorkspaceContext_blockManager = new WeakMap(), _UmbBlockWorkspaceContext_retrieveBlockManager = new WeakMap(), _UmbBlockWorkspaceContext_modalContext = new WeakMap(), _UmbBlockWorkspaceContext_retrieveModalContext = new WeakMap(), _UmbBlockWorkspaceContext_editorConfigPromise = new WeakMap(), _UmbBlockWorkspaceContext_entityType = new WeakMap(), _UmbBlockWorkspaceContext_isNew = new WeakMap(), _UmbBlockWorkspaceContext_liveEditingMode = new WeakMap(), _UmbBlockWorkspaceContext_layout = new WeakMap(), _UmbBlockWorkspaceContext_label = new WeakMap(), _UmbBlockWorkspaceContext_modalRejected = new WeakMap(), _UmbBlockWorkspaceContext_instances = new WeakSet(), _UmbBlockWorkspaceContext_establishLiveSync = function _UmbBlockWorkspaceContext_establishLiveSync() {
|
|
231
|
+
_UmbBlockWorkspaceContext_blockManager = new WeakMap(), _UmbBlockWorkspaceContext_retrieveBlockManager = new WeakMap(), _UmbBlockWorkspaceContext_blockEntries = new WeakMap(), _UmbBlockWorkspaceContext_retrieveBlockEntries = new WeakMap(), _UmbBlockWorkspaceContext_modalContext = new WeakMap(), _UmbBlockWorkspaceContext_retrieveModalContext = new WeakMap(), _UmbBlockWorkspaceContext_editorConfigPromise = new WeakMap(), _UmbBlockWorkspaceContext_entityType = new WeakMap(), _UmbBlockWorkspaceContext_isNew = new WeakMap(), _UmbBlockWorkspaceContext_liveEditingMode = new WeakMap(), _UmbBlockWorkspaceContext_initialLayout = new WeakMap(), _UmbBlockWorkspaceContext_initialContent = new WeakMap(), _UmbBlockWorkspaceContext_initialSettings = new WeakMap(), _UmbBlockWorkspaceContext_layout = new WeakMap(), _UmbBlockWorkspaceContext_label = new WeakMap(), _UmbBlockWorkspaceContext_modalRejected = new WeakMap(), _UmbBlockWorkspaceContext_instances = new WeakSet(), _UmbBlockWorkspaceContext_establishLiveSync = function _UmbBlockWorkspaceContext_establishLiveSync() {
|
|
199
232
|
this.observe(this.layout, (layoutData) => {
|
|
200
233
|
if (layoutData) {
|
|
201
|
-
__classPrivateFieldGet(this,
|
|
234
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockEntries, "f")?.setOneLayout(layoutData);
|
|
202
235
|
}
|
|
203
236
|
});
|
|
204
237
|
this.observe(this.content.data, (contentData) => {
|
|
@@ -2,23 +2,26 @@ import './block-workspace-view-edit-tab.element.js';
|
|
|
2
2
|
import { UmbLitElement } from '../../../../../core/lit-element/index.js';
|
|
3
3
|
import type { PropertyTypeContainerModelBaseModel } from '../../../../../../external/backend-api/index.js';
|
|
4
4
|
import type { UmbWorkspaceViewElement } from '../../../../../core/extension-registry/index.js';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @element umb-block-workspace-view-edit-content-no-router
|
|
7
|
+
* @description
|
|
8
|
+
* A specific view for editing content in a block workspace placed inline within a block view/element.
|
|
9
|
+
*/
|
|
10
|
+
export declare class UmbBlockWorkspaceViewEditContentNoRouterElement extends UmbLitElement implements UmbWorkspaceViewElement {
|
|
6
11
|
#private;
|
|
7
12
|
private _hasRootGroups;
|
|
8
13
|
_tabs?: Array<PropertyTypeContainerModelBaseModel>;
|
|
9
14
|
private _activeTabId?;
|
|
10
15
|
private _activeTabName?;
|
|
11
|
-
private _workspaceContext?;
|
|
12
|
-
private _tabsStructureHelper;
|
|
13
16
|
constructor();
|
|
14
17
|
private _observeRootGroups;
|
|
15
18
|
private _checkDefaultTabName;
|
|
16
19
|
render(): import("lit-html").TemplateResult<1> | undefined;
|
|
17
20
|
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
|
18
21
|
}
|
|
19
|
-
export default
|
|
22
|
+
export default UmbBlockWorkspaceViewEditContentNoRouterElement;
|
|
20
23
|
declare global {
|
|
21
24
|
interface HTMLElementTagNameMap {
|
|
22
|
-
'umb-block-workspace-view-edit-no-router':
|
|
25
|
+
'umb-block-workspace-view-edit-content-no-router': UmbBlockWorkspaceViewEditContentNoRouterElement;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
@@ -0,0 +1,148 @@
|
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
13
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
14
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
15
|
+
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");
|
|
16
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
|
+
};
|
|
18
|
+
var _UmbBlockWorkspaceViewEditContentNoRouterElement_instances, _UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace, _UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper, _UmbBlockWorkspaceViewEditContentNoRouterElement_setTabName;
|
|
19
|
+
import { UMB_BLOCK_WORKSPACE_CONTEXT } from '../../block-workspace.context-token.js';
|
|
20
|
+
import './block-workspace-view-edit-tab.element.js';
|
|
21
|
+
import { css, html, customElement, state, repeat } from '../../../../../../external/lit/index.js';
|
|
22
|
+
import { UmbTextStyles } from '../../../../../../shared/style/index.js';
|
|
23
|
+
import { UmbContentTypeContainerStructureHelper } from '../../../../../core/content-type/index.js';
|
|
24
|
+
import { UmbLitElement } from '../../../../../core/lit-element/index.js';
|
|
25
|
+
/**
|
|
26
|
+
* @element umb-block-workspace-view-edit-content-no-router
|
|
27
|
+
* @description
|
|
28
|
+
* A specific view for editing content in a block workspace placed inline within a block view/element.
|
|
29
|
+
*/
|
|
30
|
+
let UmbBlockWorkspaceViewEditContentNoRouterElement = class UmbBlockWorkspaceViewEditContentNoRouterElement extends UmbLitElement {
|
|
31
|
+
constructor() {
|
|
32
|
+
super();
|
|
33
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_instances.add(this);
|
|
34
|
+
//private _hasRootProperties = false;
|
|
35
|
+
this._hasRootGroups = false;
|
|
36
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace.set(this, void 0);
|
|
37
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper.set(this, new UmbContentTypeContainerStructureHelper(this));
|
|
38
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper, "f").setIsRoot(true);
|
|
39
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper, "f").setContainerChildType('Tab');
|
|
40
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper, "f").containers, (tabs) => {
|
|
41
|
+
this._tabs = tabs;
|
|
42
|
+
this._checkDefaultTabName();
|
|
43
|
+
});
|
|
44
|
+
// _hasRootProperties can be gotten via _tabsStructureHelper.hasProperties. But we do not support root properties currently.
|
|
45
|
+
this.consumeContext(UMB_BLOCK_WORKSPACE_CONTEXT, (workspaceContext) => {
|
|
46
|
+
__classPrivateFieldSet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace, workspaceContext, "f");
|
|
47
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper, "f").setStructureManager(workspaceContext.content.structure);
|
|
48
|
+
workspaceContext.content.createPropertyDatasetContext(this);
|
|
49
|
+
this._observeRootGroups();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
_observeRootGroups() {
|
|
53
|
+
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace, "f"))
|
|
54
|
+
return;
|
|
55
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace, "f").content.structure.hasRootContainers('Group'), (hasRootGroups) => {
|
|
56
|
+
this._hasRootGroups = hasRootGroups;
|
|
57
|
+
this._checkDefaultTabName();
|
|
58
|
+
}, 'observeGroups');
|
|
59
|
+
}
|
|
60
|
+
_checkDefaultTabName() {
|
|
61
|
+
if (!this._tabs || !__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace, "f"))
|
|
62
|
+
return;
|
|
63
|
+
// Find the default tab to grab:
|
|
64
|
+
if (this._activeTabId === undefined) {
|
|
65
|
+
if (this._hasRootGroups) {
|
|
66
|
+
this._activeTabName = null;
|
|
67
|
+
this._activeTabId = null;
|
|
68
|
+
}
|
|
69
|
+
else if (this._tabs.length > 0) {
|
|
70
|
+
this._activeTabName = this._tabs[0].name;
|
|
71
|
+
this._activeTabId = this._tabs[0].id;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
render() {
|
|
76
|
+
if (!this._tabs)
|
|
77
|
+
return;
|
|
78
|
+
return html `
|
|
79
|
+
${this._tabs.length > 1 || (this._tabs.length === 1 && this._hasRootGroups)
|
|
80
|
+
? html ` <uui-tab-group slot="header">
|
|
81
|
+
${this._hasRootGroups && this._tabs.length > 0
|
|
82
|
+
? html `
|
|
83
|
+
<uui-tab
|
|
84
|
+
label="Content"
|
|
85
|
+
.active=${null === this._activeTabId}
|
|
86
|
+
@click=${() => __classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_instances, "m", _UmbBlockWorkspaceViewEditContentNoRouterElement_setTabName).call(this, null, null)}
|
|
87
|
+
>Content</uui-tab
|
|
88
|
+
>
|
|
89
|
+
`
|
|
90
|
+
: ''}
|
|
91
|
+
${repeat(this._tabs, (tab) => tab.name, (tab) => {
|
|
92
|
+
return html `<uui-tab
|
|
93
|
+
label=${tab.name ?? 'Unnamed'}
|
|
94
|
+
.active=${tab.id === this._activeTabId}
|
|
95
|
+
@click=${() => __classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_instances, "m", _UmbBlockWorkspaceViewEditContentNoRouterElement_setTabName).call(this, tab.name, tab.id)}
|
|
96
|
+
>${tab.name}</uui-tab
|
|
97
|
+
>`;
|
|
98
|
+
})}
|
|
99
|
+
</uui-tab-group>`
|
|
100
|
+
: ''}
|
|
101
|
+
${this._activeTabId !== undefined
|
|
102
|
+
? html `<umb-block-workspace-view-edit-tab
|
|
103
|
+
.managerName=${'content'}
|
|
104
|
+
.hideSingleGroup=${true}
|
|
105
|
+
.ownerTabId=${this._activeTabId && __classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper, "f").isOwnerContainer(this._activeTabId)
|
|
106
|
+
? this._activeTabId
|
|
107
|
+
: null}
|
|
108
|
+
.noTabName=${this._hasRootGroups && this._activeTabName === null}
|
|
109
|
+
.tabName=${this._activeTabName ?? undefined}>
|
|
110
|
+
</umb-block-workspace-view-edit-tab>`
|
|
111
|
+
: ''}
|
|
112
|
+
`;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_blockWorkspace = new WeakMap();
|
|
116
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_tabsStructureHelper = new WeakMap();
|
|
117
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_instances = new WeakSet();
|
|
118
|
+
_UmbBlockWorkspaceViewEditContentNoRouterElement_setTabName = function _UmbBlockWorkspaceViewEditContentNoRouterElement_setTabName(tabName, tabId) {
|
|
119
|
+
this._activeTabName = tabName;
|
|
120
|
+
this._activeTabId = tabId;
|
|
121
|
+
};
|
|
122
|
+
UmbBlockWorkspaceViewEditContentNoRouterElement.styles = [
|
|
123
|
+
UmbTextStyles,
|
|
124
|
+
css `
|
|
125
|
+
:host {
|
|
126
|
+
display: block;
|
|
127
|
+
height: 100%;
|
|
128
|
+
--uui-tab-background: var(--uui-color-surface);
|
|
129
|
+
}
|
|
130
|
+
`,
|
|
131
|
+
];
|
|
132
|
+
__decorate([
|
|
133
|
+
state()
|
|
134
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_hasRootGroups", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
state()
|
|
137
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_tabs", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
state()
|
|
140
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_activeTabId", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
state()
|
|
143
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_activeTabName", void 0);
|
|
144
|
+
UmbBlockWorkspaceViewEditContentNoRouterElement = __decorate([
|
|
145
|
+
customElement('umb-block-workspace-view-edit-content-no-router')
|
|
146
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement);
|
|
147
|
+
export { UmbBlockWorkspaceViewEditContentNoRouterElement };
|
|
148
|
+
export default UmbBlockWorkspaceViewEditContentNoRouterElement;
|
package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.js
CHANGED
|
@@ -136,7 +136,10 @@ _UmbBlockWorkspaceViewEditElement_instances = new WeakSet();
|
|
|
136
136
|
_UmbBlockWorkspaceViewEditElement_setStructureManager = function _UmbBlockWorkspaceViewEditElement_setStructureManager() {
|
|
137
137
|
if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_blockWorkspace, "f") || !__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_managerName, "f"))
|
|
138
138
|
return;
|
|
139
|
-
|
|
139
|
+
const dataManager = __classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_blockWorkspace, "f")[__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_managerName, "f")];
|
|
140
|
+
__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_tabsStructureHelper, "f").setStructureManager(dataManager.structure);
|
|
141
|
+
// Create Data Set:
|
|
142
|
+
dataManager.createPropertyDatasetContext(this);
|
|
140
143
|
this.observe(__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_blockWorkspace, "f")[__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_managerName, "f")].structure.hasRootContainers('Group'), (hasRootGroups) => {
|
|
141
144
|
this._hasRootGroups = hasRootGroups;
|
|
142
145
|
this._createRoutes();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type UmbBlockGridLayoutAreaItemModel } from '../../../index.js';
|
|
2
|
+
import { UmbLitElement } from '../../../../core/lit-element/index.js';
|
|
3
|
+
import '../block-grid-entries/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @element umb-block-grid-area-container
|
|
6
|
+
*/
|
|
7
|
+
export declare class UmbBlockGridAreaContainerElement extends UmbLitElement {
|
|
8
|
+
_areas?: Array<UmbBlockGridLayoutAreaItemModel>;
|
|
9
|
+
constructor();
|
|
10
|
+
render(): unknown;
|
|
11
|
+
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
|
12
|
+
}
|
|
13
|
+
export default UmbBlockGridAreaContainerElement;
|
|
14
|
+
declare global {
|
|
15
|
+
interface HTMLElementTagNameMap {
|
|
16
|
+
'umb-block-grid-area-container': UmbBlockGridAreaContainerElement;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 { UMB_BLOCK_GRID_ENTRY_CONTEXT } from '../../../index.js';
|
|
8
|
+
import { css, customElement, html, repeat, state } from '../../../../../external/lit/index.js';
|
|
9
|
+
import { UmbLitElement } from '../../../../core/lit-element/index.js';
|
|
10
|
+
import '../block-grid-entries/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* @element umb-block-grid-area-container
|
|
13
|
+
*/
|
|
14
|
+
let UmbBlockGridAreaContainerElement = class UmbBlockGridAreaContainerElement extends UmbLitElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
//
|
|
18
|
+
this._areas = [];
|
|
19
|
+
this.consumeContext(UMB_BLOCK_GRID_ENTRY_CONTEXT, (context) => {
|
|
20
|
+
this.observe(context.areas, (areas) => {
|
|
21
|
+
this._areas = areas;
|
|
22
|
+
}, 'observeAreas');
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
return this._areas
|
|
27
|
+
? repeat(this._areas, (area) => area.key, (area) => html ` <umb-block-grid-entries .areaKey=${area.key}> </umb-block-grid-entries>`)
|
|
28
|
+
: '';
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
UmbBlockGridAreaContainerElement.styles = [
|
|
32
|
+
css `
|
|
33
|
+
:host {
|
|
34
|
+
display: block;
|
|
35
|
+
width: 100%;
|
|
36
|
+
}
|
|
37
|
+
`,
|
|
38
|
+
];
|
|
39
|
+
__decorate([
|
|
40
|
+
state()
|
|
41
|
+
], UmbBlockGridAreaContainerElement.prototype, "_areas", void 0);
|
|
42
|
+
UmbBlockGridAreaContainerElement = __decorate([
|
|
43
|
+
customElement('umb-block-grid-area-container')
|
|
44
|
+
], UmbBlockGridAreaContainerElement);
|
|
45
|
+
export { UmbBlockGridAreaContainerElement };
|
|
46
|
+
export default UmbBlockGridAreaContainerElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './block-grid-areas-container.element.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './block-grid-areas-container.element.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { UmbLitElement } from '../../../../core/lit-element/index.js';
|
|
2
|
+
import '../block-grid-entry/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* @element umb-block-grid-entries
|
|
5
|
+
*/
|
|
6
|
+
export declare class UmbBlockGridEntriesElement extends UmbLitElement {
|
|
7
|
+
#private;
|
|
8
|
+
set areaKey(value: string | null);
|
|
9
|
+
get areaKey(): string | null;
|
|
10
|
+
private _layoutEntries;
|
|
11
|
+
private _createButtonLabel;
|
|
12
|
+
constructor();
|
|
13
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
14
|
+
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
|
15
|
+
}
|
|
16
|
+
export default UmbBlockGridEntriesElement;
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'umb-block-grid-entries': UmbBlockGridEntriesElement;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
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 _UmbBlockGridEntriesElement_sorter, _UmbBlockGridEntriesElement_context;
|
|
13
|
+
import { UmbBlockGridEntriesContext } from '../../context/block-grid-entries.context.js';
|
|
14
|
+
import { html, customElement, state, repeat, css, property } from '../../../../../external/lit/index.js';
|
|
15
|
+
import { UmbTextStyles } from '../../../../../shared/style/index.js';
|
|
16
|
+
import { UmbLitElement } from '../../../../core/lit-element/index.js';
|
|
17
|
+
import '../block-grid-entry/index.js';
|
|
18
|
+
import { UmbSorterController } from '../../../../core/sorter/index.js';
|
|
19
|
+
const SORTER_CONFIG = {
|
|
20
|
+
getUniqueOfElement: (element) => {
|
|
21
|
+
return element.contentUdi;
|
|
22
|
+
},
|
|
23
|
+
getUniqueOfModel: (modelEntry) => {
|
|
24
|
+
return modelEntry.contentUdi;
|
|
25
|
+
},
|
|
26
|
+
identifier: 'block-grid-editor',
|
|
27
|
+
itemSelector: 'umb-block-grid-entry',
|
|
28
|
+
//containerSelector: 'EMPTY ON PURPOSE, SO IT BECOMES THE HOST ELEMENT',
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @element umb-block-grid-entries
|
|
32
|
+
*/
|
|
33
|
+
let UmbBlockGridEntriesElement = class UmbBlockGridEntriesElement extends UmbLitElement {
|
|
34
|
+
set areaKey(value) {
|
|
35
|
+
__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_context, "f").setAreaKey(value);
|
|
36
|
+
}
|
|
37
|
+
get areaKey() {
|
|
38
|
+
return null; // Not implemented.
|
|
39
|
+
}
|
|
40
|
+
constructor() {
|
|
41
|
+
super();
|
|
42
|
+
//
|
|
43
|
+
// TODO: Make sure Sorter callbacks handles columnSpan when retrieving a new entry.
|
|
44
|
+
//
|
|
45
|
+
_UmbBlockGridEntriesElement_sorter.set(this, new UmbSorterController(this, {
|
|
46
|
+
...SORTER_CONFIG,
|
|
47
|
+
onChange: ({ model }) => {
|
|
48
|
+
__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_context, "f").setLayouts(model);
|
|
49
|
+
},
|
|
50
|
+
}));
|
|
51
|
+
_UmbBlockGridEntriesElement_context.set(this, new UmbBlockGridEntriesContext(this));
|
|
52
|
+
this._layoutEntries = [];
|
|
53
|
+
this._createButtonLabel = this.localize.term('blockEditor_addBlock');
|
|
54
|
+
this.observe(__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_context, "f").layoutEntries, (layoutEntries) => {
|
|
55
|
+
const oldValue = this._layoutEntries;
|
|
56
|
+
this._layoutEntries = layoutEntries;
|
|
57
|
+
__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_sorter, "f").setModel(layoutEntries);
|
|
58
|
+
this.requestUpdate('layoutEntries', oldValue);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
render() {
|
|
62
|
+
// TODO: Missing ability to jump directly to creating a Block, when there is only one Block Type.
|
|
63
|
+
return html `${repeat(this._layoutEntries, (x) => x.contentUdi, (layoutEntry, index) => html `<uui-button-inline-create
|
|
64
|
+
href=${__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_context, "f").getPathForCreateBlock(index) ?? ''}></uui-button-inline-create>
|
|
65
|
+
<umb-block-grid-entry .contentUdi=${layoutEntry.contentUdi} .layout=${layoutEntry}>
|
|
66
|
+
</umb-block-grid-entry>`)}
|
|
67
|
+
<uui-button-group>
|
|
68
|
+
<uui-button
|
|
69
|
+
id="add-button"
|
|
70
|
+
look="placeholder"
|
|
71
|
+
label=${this._createButtonLabel}
|
|
72
|
+
href=${__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_context, "f").getPathForCreateBlock(-1) ?? ''}></uui-button>
|
|
73
|
+
<uui-button
|
|
74
|
+
label=${this.localize.term('content_createFromClipboard')}
|
|
75
|
+
look="placeholder"
|
|
76
|
+
href=${__classPrivateFieldGet(this, _UmbBlockGridEntriesElement_context, "f").getPathForClipboard(-1) ?? ''}>
|
|
77
|
+
<uui-icon name="icon-paste-in"></uui-icon>
|
|
78
|
+
</uui-button>
|
|
79
|
+
</uui-button-group>`;
|
|
80
|
+
//
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
_UmbBlockGridEntriesElement_sorter = new WeakMap();
|
|
84
|
+
_UmbBlockGridEntriesElement_context = new WeakMap();
|
|
85
|
+
UmbBlockGridEntriesElement.styles = [
|
|
86
|
+
UmbTextStyles,
|
|
87
|
+
css `
|
|
88
|
+
:host {
|
|
89
|
+
display: grid;
|
|
90
|
+
gap: 1px;
|
|
91
|
+
}
|
|
92
|
+
> div {
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-direction: column;
|
|
95
|
+
align-items: stretch;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
uui-button-group {
|
|
99
|
+
padding-top: 1px;
|
|
100
|
+
display: grid;
|
|
101
|
+
grid-template-columns: 1fr auto;
|
|
102
|
+
}
|
|
103
|
+
`,
|
|
104
|
+
];
|
|
105
|
+
__decorate([
|
|
106
|
+
property({ attribute: false })
|
|
107
|
+
], UmbBlockGridEntriesElement.prototype, "areaKey", null);
|
|
108
|
+
__decorate([
|
|
109
|
+
state()
|
|
110
|
+
], UmbBlockGridEntriesElement.prototype, "_layoutEntries", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
state()
|
|
113
|
+
], UmbBlockGridEntriesElement.prototype, "_createButtonLabel", void 0);
|
|
114
|
+
UmbBlockGridEntriesElement = __decorate([
|
|
115
|
+
customElement('umb-block-grid-entries')
|
|
116
|
+
], UmbBlockGridEntriesElement);
|
|
117
|
+
export { UmbBlockGridEntriesElement };
|
|
118
|
+
export default UmbBlockGridEntriesElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './block-grid-entries.element.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './block-grid-entries.element.js';
|