@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
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
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");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
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 _UmbBlockEntryContext_instances, _UmbBlockEntryContext_contentUdi, _UmbBlockEntryContext_blockTypeName, _UmbBlockEntryContext_label, _UmbBlockEntryContext_workspacePath, _UmbBlockEntryContext_content, _UmbBlockEntryContext_settings, _UmbBlockEntryContext_observeLayout, _UmbBlockEntryContext_gotManager, _UmbBlockEntryContext_gotEntries, _UmbBlockEntryContext_observeData, _UmbBlockEntryContext_observeBlockType, _UmbBlockEntryContext_observeBlockTypeContentElementName, _UmbBlockEntryContext_observeBlockTypeLabel;
|
|
13
|
+
import { UmbContextBase } from '../../../../libs/class-api/index.js';
|
|
14
|
+
import { UmbObjectState, UmbStringState } from '../../../../libs/observable-api/index.js';
|
|
15
|
+
import { encodeFilePath } from '../../../../shared/utils/index.js';
|
|
16
|
+
import { UMB_CONFIRM_MODAL, UMB_MODAL_MANAGER_CONTEXT } from '../../../core/modal/index.js';
|
|
17
|
+
export class UmbBlockEntryContext extends UmbContextBase {
|
|
18
|
+
/**
|
|
19
|
+
* Set the contentUdi of this entry.
|
|
20
|
+
* @method setContentUdi
|
|
21
|
+
* @param {string} contentUdi the entry content UDI.
|
|
22
|
+
* @returns {void}
|
|
23
|
+
*/
|
|
24
|
+
setContentUdi(contentUdi) {
|
|
25
|
+
__classPrivateFieldSet(this, _UmbBlockEntryContext_contentUdi, contentUdi, "f");
|
|
26
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeLayout).call(this);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the current value of this Blocks label.
|
|
30
|
+
* @method getLabel
|
|
31
|
+
* @returns {string}
|
|
32
|
+
*/
|
|
33
|
+
getLabel() {
|
|
34
|
+
return __classPrivateFieldGet(this, _UmbBlockEntryContext_label, "f").value;
|
|
35
|
+
}
|
|
36
|
+
constructor(host, blockManagerContextToken, blockEntriesContextToken) {
|
|
37
|
+
super(host, 'UmbBlockEntryContext');
|
|
38
|
+
_UmbBlockEntryContext_instances.add(this);
|
|
39
|
+
_UmbBlockEntryContext_contentUdi.set(this, void 0);
|
|
40
|
+
_UmbBlockEntryContext_blockTypeName.set(this, new UmbStringState(undefined));
|
|
41
|
+
this.blockTypeName = __classPrivateFieldGet(this, _UmbBlockEntryContext_blockTypeName, "f").asObservable();
|
|
42
|
+
// TODO: index state + observable?
|
|
43
|
+
_UmbBlockEntryContext_label.set(this, new UmbStringState(''));
|
|
44
|
+
this.label = __classPrivateFieldGet(this, _UmbBlockEntryContext_label, "f").asObservable();
|
|
45
|
+
_UmbBlockEntryContext_workspacePath.set(this, new UmbStringState(undefined));
|
|
46
|
+
this.workspacePath = __classPrivateFieldGet(this, _UmbBlockEntryContext_workspacePath, "f").asObservable();
|
|
47
|
+
this.workspaceEditPath = __classPrivateFieldGet(this, _UmbBlockEntryContext_workspacePath, "f").asObservablePart((path) => path ? path + 'edit/' + encodeFilePath(this.getContentUdi() ?? '') : '');
|
|
48
|
+
this.workspaceEditSettingsPath = __classPrivateFieldGet(this, _UmbBlockEntryContext_workspacePath, "f").asObservablePart((path) => path ? path + 'edit/' + encodeFilePath(this.getContentUdi() ?? '') + '/view/settings' : '');
|
|
49
|
+
this._blockType = new UmbObjectState(undefined);
|
|
50
|
+
this.blockType = this._blockType.asObservable();
|
|
51
|
+
this.blockTypeContentElementTypeKey = this._blockType.asObservablePart((x) => x?.contentElementTypeKey);
|
|
52
|
+
this.blockTypeSettingsElementTypeKey = this._blockType.asObservablePart((x) => x?.settingsElementTypeKey);
|
|
53
|
+
this._layout = new UmbObjectState(undefined);
|
|
54
|
+
this.layout = this._layout.asObservable();
|
|
55
|
+
/**
|
|
56
|
+
* @obsolete Use `unique` instead. Cause we will most likely rename this in the future.
|
|
57
|
+
*/
|
|
58
|
+
this.contentUdi = this._layout.asObservablePart((x) => x?.contentUdi);
|
|
59
|
+
this.unique = this._layout.asObservablePart((x) => x?.contentUdi);
|
|
60
|
+
_UmbBlockEntryContext_content.set(this, new UmbObjectState(undefined));
|
|
61
|
+
this.content = __classPrivateFieldGet(this, _UmbBlockEntryContext_content, "f").asObservable();
|
|
62
|
+
this.contentTypeKey = __classPrivateFieldGet(this, _UmbBlockEntryContext_content, "f").asObservablePart((x) => x?.contentTypeKey);
|
|
63
|
+
// TODO: Make sure changes to the Block Content / Settings are reflected back to Manager.
|
|
64
|
+
_UmbBlockEntryContext_settings.set(this, new UmbObjectState(undefined));
|
|
65
|
+
this.settings = __classPrivateFieldGet(this, _UmbBlockEntryContext_settings, "f").asObservable();
|
|
66
|
+
// Consume block manager:
|
|
67
|
+
this.consumeContext(blockManagerContextToken, (manager) => {
|
|
68
|
+
this._manager = manager;
|
|
69
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_gotManager).call(this);
|
|
70
|
+
this._gotManager();
|
|
71
|
+
});
|
|
72
|
+
// Consume block entries:
|
|
73
|
+
this.consumeContext(blockEntriesContextToken, (entries) => {
|
|
74
|
+
this._entries = entries;
|
|
75
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_gotEntries).call(this);
|
|
76
|
+
this._gotEntries();
|
|
77
|
+
});
|
|
78
|
+
// Observe UDI:
|
|
79
|
+
this.observe(this.unique, (contentUdi) => {
|
|
80
|
+
if (!contentUdi)
|
|
81
|
+
return;
|
|
82
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeData).call(this);
|
|
83
|
+
});
|
|
84
|
+
// Observe contentElementTypeKey:
|
|
85
|
+
this.observe(this.contentTypeKey, (contentElementTypeKey) => {
|
|
86
|
+
if (!contentElementTypeKey)
|
|
87
|
+
return;
|
|
88
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeBlockType).call(this);
|
|
89
|
+
});
|
|
90
|
+
// Observe blockType:
|
|
91
|
+
this.observe(this.blockType, (blockType) => {
|
|
92
|
+
if (!blockType)
|
|
93
|
+
return;
|
|
94
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeBlockTypeContentElementName).call(this);
|
|
95
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeBlockTypeLabel).call(this);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getContentUdi() {
|
|
99
|
+
return this._layout.value?.contentUdi;
|
|
100
|
+
}
|
|
101
|
+
// Public methods:
|
|
102
|
+
//activate
|
|
103
|
+
edit() { }
|
|
104
|
+
//editSettings
|
|
105
|
+
requestDelete() {
|
|
106
|
+
this.consumeContext(UMB_MODAL_MANAGER_CONTEXT, async (modalManager) => {
|
|
107
|
+
const modalContext = modalManager.open(UMB_CONFIRM_MODAL, {
|
|
108
|
+
data: {
|
|
109
|
+
headline: `Delete ${this.getLabel()}`,
|
|
110
|
+
content: 'Are you sure you want to delete this [INSERT BLOCK TYPE NAME]?',
|
|
111
|
+
confirmLabel: 'Delete',
|
|
112
|
+
color: 'danger',
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
await modalContext.onSubmit();
|
|
116
|
+
this.delete();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
delete() {
|
|
120
|
+
if (!this._entries)
|
|
121
|
+
return;
|
|
122
|
+
const contentUdi = this._layout.value?.contentUdi;
|
|
123
|
+
if (!contentUdi)
|
|
124
|
+
return;
|
|
125
|
+
this._entries.delete(contentUdi);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
_UmbBlockEntryContext_contentUdi = new WeakMap(), _UmbBlockEntryContext_blockTypeName = new WeakMap(), _UmbBlockEntryContext_label = new WeakMap(), _UmbBlockEntryContext_workspacePath = new WeakMap(), _UmbBlockEntryContext_content = new WeakMap(), _UmbBlockEntryContext_settings = new WeakMap(), _UmbBlockEntryContext_instances = new WeakSet(), _UmbBlockEntryContext_observeLayout = function _UmbBlockEntryContext_observeLayout() {
|
|
129
|
+
if (!this._entries || !__classPrivateFieldGet(this, _UmbBlockEntryContext_contentUdi, "f"))
|
|
130
|
+
return;
|
|
131
|
+
this.observe(this._entries.layoutOf(__classPrivateFieldGet(this, _UmbBlockEntryContext_contentUdi, "f")), (layout) => {
|
|
132
|
+
this._layout.setValue(layout);
|
|
133
|
+
}, 'observeParentLayout');
|
|
134
|
+
this.observe(this.layout, (layout) => {
|
|
135
|
+
if (layout) {
|
|
136
|
+
this._entries?.setOneLayout(layout);
|
|
137
|
+
}
|
|
138
|
+
}, 'observeThisLayout');
|
|
139
|
+
}, _UmbBlockEntryContext_gotManager = function _UmbBlockEntryContext_gotManager() {
|
|
140
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeBlockType).call(this);
|
|
141
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeData).call(this);
|
|
142
|
+
}, _UmbBlockEntryContext_gotEntries = function _UmbBlockEntryContext_gotEntries() {
|
|
143
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_instances, "m", _UmbBlockEntryContext_observeLayout).call(this);
|
|
144
|
+
if (this._entries) {
|
|
145
|
+
this.observe(this._entries.workspacePath, (workspacePath) => {
|
|
146
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_workspacePath, "f").setValue(workspacePath);
|
|
147
|
+
}, 'observeWorkspacePath');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
this.removeControllerByAlias('observeWorkspacePath');
|
|
151
|
+
}
|
|
152
|
+
}, _UmbBlockEntryContext_observeData = function _UmbBlockEntryContext_observeData() {
|
|
153
|
+
if (!this._manager)
|
|
154
|
+
return;
|
|
155
|
+
const contentUdi = this._layout.value?.contentUdi;
|
|
156
|
+
if (!contentUdi)
|
|
157
|
+
return;
|
|
158
|
+
// observe content:
|
|
159
|
+
this.observe(this._manager.contentOf(contentUdi), (content) => {
|
|
160
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_content, "f").setValue(content);
|
|
161
|
+
}, 'observeContent');
|
|
162
|
+
// observe settings:
|
|
163
|
+
const settingsUdi = this._layout.value?.settingsUdi;
|
|
164
|
+
if (settingsUdi) {
|
|
165
|
+
this.observe(this._manager.contentOf(settingsUdi), (content) => {
|
|
166
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_settings, "f").setValue(content);
|
|
167
|
+
}, 'observeSettings');
|
|
168
|
+
}
|
|
169
|
+
}, _UmbBlockEntryContext_observeBlockType = function _UmbBlockEntryContext_observeBlockType() {
|
|
170
|
+
if (!this._manager)
|
|
171
|
+
return;
|
|
172
|
+
const contentTypeKey = __classPrivateFieldGet(this, _UmbBlockEntryContext_content, "f").value?.contentTypeKey;
|
|
173
|
+
if (!contentTypeKey)
|
|
174
|
+
return;
|
|
175
|
+
// observe blockType:
|
|
176
|
+
this.observe(this._manager.blockTypeOf(contentTypeKey), (blockType) => {
|
|
177
|
+
this._blockType.setValue(blockType);
|
|
178
|
+
}, 'observeBlockType');
|
|
179
|
+
}, _UmbBlockEntryContext_observeBlockTypeContentElementName = function _UmbBlockEntryContext_observeBlockTypeContentElementName() {
|
|
180
|
+
if (!this._manager)
|
|
181
|
+
return;
|
|
182
|
+
const contentElementTypeKey = this._blockType.value?.contentElementTypeKey;
|
|
183
|
+
if (!contentElementTypeKey)
|
|
184
|
+
return;
|
|
185
|
+
// observe blockType:
|
|
186
|
+
this.observe(this._manager.contentTypeNameOf(contentElementTypeKey), (contentTypeName) => {
|
|
187
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_blockTypeName, "f").setValue(contentTypeName);
|
|
188
|
+
}, 'observeBlockTypeContentElementTypeName');
|
|
189
|
+
}, _UmbBlockEntryContext_observeBlockTypeLabel = function _UmbBlockEntryContext_observeBlockTypeLabel() {
|
|
190
|
+
if (!this._manager)
|
|
191
|
+
return;
|
|
192
|
+
const blockType = this._blockType.value;
|
|
193
|
+
if (!blockType)
|
|
194
|
+
return;
|
|
195
|
+
if (blockType.label) {
|
|
196
|
+
this.removeControllerByAlias('observeContentTypeName');
|
|
197
|
+
// Missing part for label syntax, as we need to store the syntax, interpretive it and then set the label: (here we are just parsing the label syntax)
|
|
198
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_label, "f").setValue(blockType.label);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// TODO: Maybe this could be skipped if we had a fallback label which was set to get the content element type name?
|
|
203
|
+
// Get the name of the content element type for label:
|
|
204
|
+
this.observe(this.blockTypeName, (contentTypeName) => {
|
|
205
|
+
__classPrivateFieldGet(this, _UmbBlockEntryContext_label, "f").setValue(contentTypeName ?? 'no name');
|
|
206
|
+
}, 'observeBlockTypeName');
|
|
207
|
+
}
|
|
208
|
+
};
|
|
@@ -5,9 +5,16 @@ import { UmbArrayState } from '../../../../libs/observable-api/index.js';
|
|
|
5
5
|
import type { UmbBlockTypeBaseModel, UmbBlockWorkspaceData } from '../../index.js';
|
|
6
6
|
import type { UmbContentTypeModel } from '../../../core/content-type/index.js';
|
|
7
7
|
import type { UmbPropertyEditorConfigCollection } from '../../../core/property-editor/index.js';
|
|
8
|
+
import type { UmbVariantId } from '../../../core/variant/index.js';
|
|
9
|
+
export type UmbBlockDataObjectModel<LayoutEntryType extends UmbBlockLayoutBaseModel> = {
|
|
10
|
+
layout: LayoutEntryType;
|
|
11
|
+
content: UmbBlockDataType;
|
|
12
|
+
settings?: UmbBlockDataType;
|
|
13
|
+
};
|
|
8
14
|
export declare abstract class UmbBlockManagerContext<BlockType extends UmbBlockTypeBaseModel = UmbBlockTypeBaseModel, BlockLayoutType extends UmbBlockLayoutBaseModel = UmbBlockLayoutBaseModel> extends UmbContextBase<UmbBlockManagerContext> {
|
|
9
15
|
#private;
|
|
10
|
-
|
|
16
|
+
propertyAlias: import("rxjs").Observable<string | undefined>;
|
|
17
|
+
variantId: import("rxjs").Observable<UmbVariantId | undefined>;
|
|
11
18
|
readonly contentTypes: import("rxjs").Observable<UmbContentTypeModel[]>;
|
|
12
19
|
readonly blockTypes: import("rxjs").Observable<BlockType[]>;
|
|
13
20
|
readonly editorConfiguration: import("rxjs").Observable<UmbPropertyEditorConfigCollection | undefined>;
|
|
@@ -29,10 +36,19 @@ export declare abstract class UmbBlockManagerContext<BlockType extends UmbBlockT
|
|
|
29
36
|
layoutOf(contentUdi: string): import("rxjs").Observable<BlockLayoutType | undefined>;
|
|
30
37
|
contentOf(udi: string): import("rxjs").Observable<UmbBlockDataType | undefined>;
|
|
31
38
|
settingsOf(udi: string): import("rxjs").Observable<UmbBlockDataType | undefined>;
|
|
32
|
-
setOneLayout(layoutData: BlockLayoutType): UmbArrayState<BlockLayoutType>;
|
|
33
39
|
setOneContent(contentData: UmbBlockDataType): void;
|
|
34
40
|
setOneSettings(settingsData: UmbBlockDataType): void;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
removeOneContent(contentUdi: string): void;
|
|
42
|
+
removeOneSettings(settingsUdi: string): void;
|
|
43
|
+
abstract create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentUdi'>, modalData?: UmbBlockWorkspaceData): UmbBlockDataObjectModel<BlockLayoutType> | undefined;
|
|
44
|
+
protected createBlockData<ModalDataType extends UmbBlockWorkspaceData>(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentUdi'>): {
|
|
45
|
+
layout: BlockLayoutType;
|
|
46
|
+
content: {
|
|
47
|
+
udi: string;
|
|
48
|
+
contentTypeKey: string;
|
|
49
|
+
};
|
|
50
|
+
settings: UmbBlockDataType | undefined;
|
|
51
|
+
};
|
|
52
|
+
abstract insert(layoutEntry: BlockLayoutType, content: UmbBlockDataType, settings: UmbBlockDataType | undefined, modalData: UmbBlockWorkspaceData): boolean;
|
|
53
|
+
protected insertBlockData<ModalDataType extends UmbBlockWorkspaceData>(layoutEntry: BlockLayoutType, content: UmbBlockDataType, settings: UmbBlockDataType | undefined, modalData: ModalDataType): false | undefined;
|
|
38
54
|
}
|
|
@@ -3,15 +3,24 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
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");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _UmbBlockManagerContext_instances, _UmbBlockManagerContext_contentTypeRepository,
|
|
6
|
+
var _UmbBlockManagerContext_instances, _UmbBlockManagerContext_contentTypeRepository, _UmbBlockManagerContext_propertyAlias, _UmbBlockManagerContext_variantId, _UmbBlockManagerContext_contentTypes, _UmbBlockManagerContext_blockTypes, _UmbBlockManagerContext_editorConfiguration, _UmbBlockManagerContext_contents, _UmbBlockManagerContext_settings, _UmbBlockManagerContext_loadContentType;
|
|
7
7
|
import { UmbContextBase } from '../../../../libs/class-api/index.js';
|
|
8
8
|
import { UmbArrayState, UmbClassState, UmbStringState } from '../../../../libs/observable-api/index.js';
|
|
9
9
|
import { UmbDocumentTypeDetailRepository } from '../../../documents/document-types/index.js';
|
|
10
10
|
import { buildUdi, getKeyFromUdi } from '../../../../shared/utils/index.js';
|
|
11
|
-
import { UMB_BLOCK_MANAGER_CONTEXT
|
|
12
|
-
import { UmbModalRouteRegistrationController } from '../../../core/modal/index.js';
|
|
11
|
+
import { UMB_BLOCK_MANAGER_CONTEXT } from '../../index.js';
|
|
13
12
|
import { UmbId } from '../../../core/id/index.js';
|
|
13
|
+
import { UMB_PROPERTY_CONTEXT } from '../../../core/property/index.js';
|
|
14
14
|
export class UmbBlockManagerContext extends UmbContextBase {
|
|
15
|
+
// TODO: maybe its bad to consume Property Context, and instead wire this up manually in the property editor? With these: (and one for variant-id..)
|
|
16
|
+
/*setPropertyAlias(alias: string) {
|
|
17
|
+
this.#propertyAlias.setValue(alias);
|
|
18
|
+
console.log('!!!!!manager got alias: ', alias);
|
|
19
|
+
this.#workspaceModal.setUniquePathValue('propertyAlias', alias);
|
|
20
|
+
}
|
|
21
|
+
getPropertyAlias() {
|
|
22
|
+
this.#propertyAlias.value;
|
|
23
|
+
}*/
|
|
15
24
|
setEditorConfiguration(configs) {
|
|
16
25
|
__classPrivateFieldGet(this, _UmbBlockManagerContext_editorConfiguration, "f").setValue(configs);
|
|
17
26
|
}
|
|
@@ -35,8 +44,10 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
35
44
|
_UmbBlockManagerContext_instances.add(this);
|
|
36
45
|
//
|
|
37
46
|
_UmbBlockManagerContext_contentTypeRepository.set(this, new UmbDocumentTypeDetailRepository(this));
|
|
38
|
-
|
|
39
|
-
this.
|
|
47
|
+
_UmbBlockManagerContext_propertyAlias.set(this, new UmbStringState(undefined));
|
|
48
|
+
this.propertyAlias = __classPrivateFieldGet(this, _UmbBlockManagerContext_propertyAlias, "f").asObservable();
|
|
49
|
+
_UmbBlockManagerContext_variantId.set(this, new UmbClassState(undefined));
|
|
50
|
+
this.variantId = __classPrivateFieldGet(this, _UmbBlockManagerContext_variantId, "f").asObservable();
|
|
40
51
|
_UmbBlockManagerContext_contentTypes.set(this, new UmbArrayState([], (x) => x.unique));
|
|
41
52
|
this.contentTypes = __classPrivateFieldGet(this, _UmbBlockManagerContext_contentTypes, "f").asObservable();
|
|
42
53
|
_UmbBlockManagerContext_blockTypes.set(this, new UmbArrayState([], (x) => x.contentElementTypeKey));
|
|
@@ -49,16 +60,13 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
49
60
|
this.contents = __classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").asObservable();
|
|
50
61
|
_UmbBlockManagerContext_settings.set(this, new UmbArrayState([], (x) => x.udi));
|
|
51
62
|
this.settings = __classPrivateFieldGet(this, _UmbBlockManagerContext_settings, "f").asObservable();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
.observeRouteBuilder((routeBuilder) => {
|
|
60
|
-
const newPath = routeBuilder({});
|
|
61
|
-
__classPrivateFieldGet(this, _UmbBlockManagerContext_workspacePath, "f").setValue(newPath);
|
|
63
|
+
this.consumeContext(UMB_PROPERTY_CONTEXT, (propertyContext) => {
|
|
64
|
+
this.observe(propertyContext?.alias, (alias) => {
|
|
65
|
+
__classPrivateFieldGet(this, _UmbBlockManagerContext_propertyAlias, "f").setValue(alias);
|
|
66
|
+
}, 'observePropertyAlias');
|
|
67
|
+
this.observe(propertyContext?.variantId, (variantId) => {
|
|
68
|
+
__classPrivateFieldGet(this, _UmbBlockManagerContext_variantId, "f").setValue(variantId);
|
|
69
|
+
}, 'observePropertyVariantId');
|
|
62
70
|
});
|
|
63
71
|
}
|
|
64
72
|
async ensureContentType(unique) {
|
|
@@ -88,71 +96,66 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
88
96
|
settingsOf(udi) {
|
|
89
97
|
return __classPrivateFieldGet(this, _UmbBlockManagerContext_settings, "f").asObservablePart((source) => source.find((x) => x.udi === udi));
|
|
90
98
|
}
|
|
91
|
-
setOneLayout(layoutData) {
|
|
99
|
+
/*setOneLayout(layoutData: BlockLayoutType) {
|
|
92
100
|
return this._layouts.appendOne(layoutData);
|
|
93
|
-
}
|
|
101
|
+
}*/
|
|
94
102
|
setOneContent(contentData) {
|
|
95
103
|
__classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").appendOne(contentData);
|
|
96
104
|
}
|
|
97
105
|
setOneSettings(settingsData) {
|
|
98
106
|
__classPrivateFieldGet(this, _UmbBlockManagerContext_settings, "f").appendOne(settingsData);
|
|
99
107
|
}
|
|
100
|
-
|
|
108
|
+
removeOneContent(contentUdi) {
|
|
109
|
+
__classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").removeOne(contentUdi);
|
|
110
|
+
}
|
|
111
|
+
removeOneSettings(settingsUdi) {
|
|
112
|
+
__classPrivateFieldGet(this, _UmbBlockManagerContext_settings, "f").removeOne(settingsUdi);
|
|
113
|
+
}
|
|
114
|
+
createBlockData(contentElementTypeKey, partialLayoutEntry) {
|
|
101
115
|
// Find block type.
|
|
102
116
|
const blockType = __classPrivateFieldGet(this, _UmbBlockManagerContext_blockTypes, "f").value.find((x) => x.contentElementTypeKey === contentElementTypeKey);
|
|
103
117
|
if (!blockType) {
|
|
104
118
|
throw new Error(`Cannot create block, missing block type for ${contentElementTypeKey}`);
|
|
105
|
-
return false;
|
|
106
119
|
}
|
|
107
120
|
// Create layout entry:
|
|
108
|
-
const
|
|
121
|
+
const layout = {
|
|
109
122
|
contentUdi: buildUdi('element', UmbId.new()),
|
|
110
|
-
...
|
|
123
|
+
...partialLayoutEntry,
|
|
124
|
+
};
|
|
125
|
+
const content = {
|
|
126
|
+
udi: layout.contentUdi,
|
|
127
|
+
contentTypeKey: contentElementTypeKey,
|
|
111
128
|
};
|
|
129
|
+
let settings = undefined;
|
|
112
130
|
if (blockType.settingsElementTypeKey) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
131
|
+
layout.settingsUdi = buildUdi('element', UmbId.new());
|
|
132
|
+
settings = {
|
|
133
|
+
udi: layout.settingsUdi,
|
|
134
|
+
contentTypeKey: blockType.settingsElementTypeKey,
|
|
135
|
+
};
|
|
117
136
|
}
|
|
137
|
+
return {
|
|
138
|
+
layout,
|
|
139
|
+
content,
|
|
140
|
+
settings,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
insertBlockData(layoutEntry, content, settings, modalData) {
|
|
118
144
|
// Create content entry:
|
|
119
|
-
if (
|
|
120
|
-
__classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").appendOne(
|
|
121
|
-
contentTypeKey: contentElementTypeKey,
|
|
122
|
-
udi: fullLayoutEntry.contentUdi,
|
|
123
|
-
});
|
|
145
|
+
if (layoutEntry.contentUdi) {
|
|
146
|
+
__classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").appendOne(content);
|
|
124
147
|
}
|
|
125
148
|
else {
|
|
126
149
|
throw new Error('Cannot create block, missing contentUdi');
|
|
127
150
|
return false;
|
|
128
151
|
}
|
|
129
152
|
//Create settings entry:
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
__classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").appendOne({
|
|
133
|
-
contentTypeKey: blockType.settingsElementTypeKey,
|
|
134
|
-
udi: fullLayoutEntry.settingsUdi,
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
throw new Error('Cannot create block, missing settingsUdi');
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
153
|
+
if (settings && layoutEntry.settingsUdi) {
|
|
154
|
+
__classPrivateFieldGet(this, _UmbBlockManagerContext_settings, "f").appendOne(settings);
|
|
141
155
|
}
|
|
142
|
-
return true;
|
|
143
|
-
}
|
|
144
|
-
deleteBlock(contentUdi) {
|
|
145
|
-
const layout = this._layouts.value.find((x) => x.contentUdi === contentUdi);
|
|
146
|
-
if (!layout)
|
|
147
|
-
return;
|
|
148
|
-
if (layout.settingsUdi) {
|
|
149
|
-
__classPrivateFieldGet(this, _UmbBlockManagerContext_settings, "f").removeOne(layout.settingsUdi);
|
|
150
|
-
}
|
|
151
|
-
this._layouts.removeOne(contentUdi);
|
|
152
|
-
__classPrivateFieldGet(this, _UmbBlockManagerContext_contents, "f").removeOne(contentUdi);
|
|
153
156
|
}
|
|
154
157
|
}
|
|
155
|
-
_UmbBlockManagerContext_contentTypeRepository = new WeakMap(),
|
|
158
|
+
_UmbBlockManagerContext_contentTypeRepository = new WeakMap(), _UmbBlockManagerContext_propertyAlias = new WeakMap(), _UmbBlockManagerContext_variantId = new WeakMap(), _UmbBlockManagerContext_contentTypes = new WeakMap(), _UmbBlockManagerContext_blockTypes = new WeakMap(), _UmbBlockManagerContext_editorConfiguration = new WeakMap(), _UmbBlockManagerContext_contents = new WeakMap(), _UmbBlockManagerContext_settings = new WeakMap(), _UmbBlockManagerContext_instances = new WeakSet(), _UmbBlockManagerContext_loadContentType = async function _UmbBlockManagerContext_loadContentType(unique) {
|
|
156
159
|
if (!unique)
|
|
157
160
|
return {};
|
|
158
161
|
const { data } = await __classPrivateFieldGet(this, _UmbBlockManagerContext_contentTypeRepository, "f").requestByUnique(unique);
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
export * from './block-
|
|
1
|
+
export * from './block-entry.context-token.js';
|
|
2
|
+
export * from './block-entry.context.js';
|
|
3
|
+
export * from './block-entries.context-token.js';
|
|
4
|
+
export * from './block-entries.context.js';
|
|
5
|
+
export * from './block-manager.context-token.js';
|
|
6
|
+
export type * from './block-manager.context.js';
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
export * from './block-
|
|
1
|
+
export * from './block-entry.context-token.js';
|
|
2
|
+
export * from './block-entry.context.js';
|
|
3
|
+
export * from './block-entries.context-token.js';
|
|
4
|
+
export * from './block-entries.context.js';
|
|
5
|
+
export * from './block-manager.context-token.js';
|
|
@@ -2,7 +2,6 @@ import { UmbLitElement } from '../../../core/lit-element/index.js';
|
|
|
2
2
|
export declare class UmbBlockWorkspaceEditorElement extends UmbLitElement {
|
|
3
3
|
#private;
|
|
4
4
|
workspaceAlias?: string;
|
|
5
|
-
constructor();
|
|
6
5
|
render(): "" | import("lit-html").TemplateResult<1>;
|
|
7
6
|
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
|
8
7
|
}
|
|
@@ -4,31 +4,15 @@ 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
|
-
};
|
|
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
7
|
var _UmbBlockWorkspaceEditorElement_workspaceContext;
|
|
19
|
-
import { UMB_BLOCK_WORKSPACE_CONTEXT } from './block-workspace.context-token.js';
|
|
20
8
|
import { UmbTextStyles } from '../../../../shared/style/index.js';
|
|
21
9
|
import { customElement, css, html, property } from '../../../../external/lit/index.js';
|
|
22
10
|
import { UmbLitElement } from '../../../core/lit-element/index.js';
|
|
23
11
|
let UmbBlockWorkspaceEditorElement = class UmbBlockWorkspaceEditorElement extends UmbLitElement {
|
|
24
12
|
constructor() {
|
|
25
|
-
super();
|
|
13
|
+
super(...arguments);
|
|
26
14
|
//
|
|
27
15
|
_UmbBlockWorkspaceEditorElement_workspaceContext.set(this, void 0);
|
|
28
|
-
this.consumeContext(UMB_BLOCK_WORKSPACE_CONTEXT, (instance) => {
|
|
29
|
-
__classPrivateFieldSet(this, _UmbBlockWorkspaceEditorElement_workspaceContext, instance, "f");
|
|
30
|
-
__classPrivateFieldGet(this, _UmbBlockWorkspaceEditorElement_workspaceContext, "f")?.content.createPropertyDatasetContext(this);
|
|
31
|
-
});
|
|
32
16
|
}
|
|
33
17
|
render() {
|
|
34
18
|
return this.workspaceAlias
|