@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.
Files changed (109) hide show
  1. package/dist-cms/css/umbraco-blockgridlayout.css +50 -0
  2. package/dist-cms/custom-elements.json +71 -40
  3. package/dist-cms/libs/observable-api/utils/append-to-frozen-array.function.d.ts +6 -5
  4. package/dist-cms/libs/observable-api/utils/append-to-frozen-array.function.js +6 -5
  5. package/dist-cms/mocks/data/data-type/data-type.data.js +1 -1
  6. package/dist-cms/mocks/data/document/document.data.js +91 -1
  7. package/dist-cms/packages/block/block/context/block-entries.context-token.d.ts +5 -0
  8. package/dist-cms/packages/block/block/context/block-entries.context-token.js +2 -0
  9. package/dist-cms/packages/block/block/context/block-entries.context.d.ts +29 -0
  10. package/dist-cms/packages/block/block/context/block-entries.context.js +69 -0
  11. package/dist-cms/packages/block/block/context/block-entry.context-token.d.ts +6 -0
  12. package/dist-cms/packages/block/block/context/block-entry.context-token.js +2 -0
  13. package/dist-cms/packages/block/block/context/{block-entity.context.d.ts → block-entry.context.d.ts} +25 -10
  14. package/dist-cms/packages/block/block/context/block-entry.context.js +208 -0
  15. package/dist-cms/packages/block/block/{manager → context}/block-manager.context.d.ts +21 -5
  16. package/dist-cms/packages/block/block/{manager → context}/block-manager.context.js +56 -53
  17. package/dist-cms/packages/block/block/context/index.d.ts +6 -1
  18. package/dist-cms/packages/block/block/context/index.js +5 -1
  19. package/dist-cms/packages/block/block/index.d.ts +0 -1
  20. package/dist-cms/packages/block/block/index.js +0 -1
  21. package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.d.ts +0 -1
  22. package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.js +1 -17
  23. package/dist-cms/packages/block/block/workspace/block-workspace.context.js +78 -45
  24. 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
  25. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +148 -0
  26. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.js +4 -1
  27. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.d.ts +18 -0
  28. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.js +46 -0
  29. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/index.d.ts +1 -0
  30. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/index.js +1 -0
  31. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +21 -0
  32. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +118 -0
  33. package/dist-cms/packages/block/block-grid/components/block-grid-entries/index.d.ts +1 -0
  34. package/dist-cms/packages/block/block-grid/components/block-grid-entries/index.js +1 -0
  35. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.d.ts +28 -0
  36. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +124 -0
  37. package/dist-cms/packages/block/block-grid/components/block-grid-entry/index.d.ts +1 -0
  38. package/dist-cms/packages/block/block-grid/components/block-grid-entry/index.js +1 -0
  39. package/dist-cms/packages/block/block-grid/components/index.d.ts +0 -0
  40. package/dist-cms/packages/block/block-grid/components/index.js +1 -0
  41. package/dist-cms/packages/block/block-grid/components/ref-grid-block/index.d.ts +1 -0
  42. package/dist-cms/packages/block/block-grid/components/ref-grid-block/index.js +1 -0
  43. package/dist-cms/packages/block/block-grid/components/ref-grid-block/ref-grid-block.element.d.ts +18 -0
  44. package/dist-cms/packages/block/block-grid/components/ref-grid-block/ref-grid-block.element.js +47 -0
  45. package/dist-cms/packages/block/block-grid/context/block-grid-entries.context-token.d.ts +3 -0
  46. package/dist-cms/packages/block/block-grid/context/block-grid-entries.context-token.js +3 -0
  47. package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.d.ts +25 -0
  48. package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.js +134 -0
  49. package/dist-cms/packages/block/block-grid/context/block-grid-entry.context-token.d.ts +3 -0
  50. package/dist-cms/packages/block/block-grid/context/block-grid-entry.context-token.js +3 -0
  51. package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.d.ts +12 -0
  52. package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.js +38 -0
  53. package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.d.ts +25 -0
  54. package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.js +38 -0
  55. package/dist-cms/packages/block/block-grid/context/index.d.ts +2 -0
  56. package/dist-cms/packages/block/block-grid/context/index.js +2 -0
  57. package/dist-cms/packages/block/block-grid/index.d.ts +2 -1
  58. package/dist-cms/packages/block/block-grid/index.js +2 -1
  59. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/manifests.d.ts +1 -0
  60. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/manifests.js +2 -1
  61. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.d.ts +7 -8
  62. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +59 -89
  63. 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
  64. package/dist-cms/packages/block/block-grid/types.d.ts +15 -3
  65. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.d.ts +29 -0
  66. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +132 -0
  67. package/dist-cms/packages/block/block-list/components/block-list-entry/index.d.ts +1 -0
  68. package/dist-cms/packages/block/block-list/components/block-list-entry/index.js +1 -0
  69. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.d.ts +1 -1
  70. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.js +5 -6
  71. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +3 -2
  72. package/dist-cms/packages/block/block-list/context/block-list-entries.context-token.d.ts +3 -0
  73. package/dist-cms/packages/block/block-list/context/block-list-entries.context-token.js +3 -0
  74. package/dist-cms/packages/block/block-list/context/block-list-entries.context.d.ts +23 -0
  75. package/dist-cms/packages/block/block-list/context/block-list-entries.context.js +81 -0
  76. package/dist-cms/packages/block/block-list/context/block-list-entry.context-token.d.ts +3 -0
  77. package/dist-cms/packages/block/block-list/context/block-list-entry.context-token.js +3 -0
  78. package/dist-cms/packages/block/block-list/context/block-list-entry.context.d.ts +11 -0
  79. package/dist-cms/packages/block/block-list/context/{block-list.context.js → block-list-entry.context.js} +11 -10
  80. package/dist-cms/packages/block/block-list/{manager → context}/block-list-manager.context.d.ts +13 -4
  81. package/dist-cms/packages/block/block-list/{manager → context}/block-list-manager.context.js +8 -4
  82. package/dist-cms/packages/block/block-list/context/index.d.ts +1 -0
  83. package/dist-cms/packages/block/block-list/context/index.js +1 -0
  84. package/dist-cms/packages/block/block-list/index.d.ts +2 -1
  85. package/dist-cms/packages/block/block-list/index.js +2 -1
  86. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.d.ts +2 -7
  87. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +39 -30
  88. package/dist-cms/packages/block/block-list/types.d.ts +3 -1
  89. package/dist-cms/packages/block/block-type/components/block-type-card/block-type-card.element.js +1 -1
  90. package/dist-cms/packages/core/modal/modal-route-registration.controller.d.ts +1 -1
  91. package/dist-cms/packages/core/modal/modal-route-registration.controller.js +1 -1
  92. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  93. package/dist-cms/vscode-html-custom-data.json +36 -25
  94. package/package.json +13 -2
  95. package/dist-cms/packages/block/block/context/block-entity.context.js +0 -151
  96. package/dist-cms/packages/block/block/manager/index.d.ts +0 -2
  97. package/dist-cms/packages/block/block/manager/index.js +0 -1
  98. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-no-router.element.js +0 -132
  99. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid-inner-test.element.d.ts +0 -18
  100. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid-inner-test.element.js +0 -87
  101. package/dist-cms/packages/block/block-list/components/block-list-block/block-list-block.element.d.ts +0 -31
  102. package/dist-cms/packages/block/block-list/components/block-list-block/block-list-block.element.js +0 -149
  103. package/dist-cms/packages/block/block-list/components/block-list-block/index.d.ts +0 -1
  104. package/dist-cms/packages/block/block-list/components/block-list-block/index.js +0 -1
  105. package/dist-cms/packages/block/block-list/context/block-list.context-token.d.ts +0 -3
  106. package/dist-cms/packages/block/block-list/context/block-list.context-token.js +0 -2
  107. package/dist-cms/packages/block/block-list/context/block-list.context.d.ts +0 -9
  108. /package/dist-cms/packages/block/block/{manager → context}/block-manager.context-token.d.ts +0 -0
  109. /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 { UmbId } from '../../../core/id/index.js';
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, _UmbBlockWorkspaceContext_blockManager, "f")?.deleteBlock(contentUdi);
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
- // TODO: Observe or just get the LiveEditing setting?
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, _UmbBlockWorkspaceContext_blockManager, "f").layoutOf(unique), (layoutData) => {
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, _UmbBlockWorkspaceContext_retrieveBlockManager, "f");
138
+ await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_retrieveBlockEntries, "f");
104
139
  await __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_retrieveModalContext, "f");
105
- if (!__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f")) {
106
- throw new Error('Block Manager not found');
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, _UmbBlockWorkspaceContext_layout, "f").setValue(layoutData);
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
- const blockCreated = __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").createBlock(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f").data, layoutData, contentElementTypeId);
130
- if (!blockCreated) {
131
- throw new Error('Block Manager could not create block');
132
- return;
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
- const blockCreated = __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").createBlock(__classPrivateFieldGet(this, _UmbBlockWorkspaceContext_modalContext, "f").data, layoutData, contentData.contentTypeKey);
177
- if (!blockCreated) {
178
- throw new Error('Block Manager could not create block');
179
- return;
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
- // TODO: Save the block, but only in non-live-editing mode.
183
- __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").setOneLayout(layoutData);
184
- if (contentData) {
185
- __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").setOneContent(contentData);
186
- }
187
- const settingsData = this.settings.getData();
188
- if (settingsData) {
189
- __classPrivateFieldGet(this, _UmbBlockWorkspaceContext_blockManager, "f").setOneSettings(settingsData);
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, _UmbBlockWorkspaceContext_blockManager, "f")?.setOneLayout(layoutData);
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
- export declare class UmbBlockWorkspaceViewEditNoRouterElement extends UmbLitElement implements UmbWorkspaceViewElement {
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 UmbBlockWorkspaceViewEditNoRouterElement;
22
+ export default UmbBlockWorkspaceViewEditContentNoRouterElement;
20
23
  declare global {
21
24
  interface HTMLElementTagNameMap {
22
- 'umb-block-workspace-view-edit-no-router': UmbBlockWorkspaceViewEditNoRouterElement;
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;
@@ -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
- __classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_tabsStructureHelper, "f").setStructureManager(__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_blockWorkspace, "f")[__classPrivateFieldGet(this, _UmbBlockWorkspaceViewEditElement_managerName, "f")].structure);
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';