@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
@@ -3,26 +3,27 @@ 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 _UmbBlockListContext_inlineEditingMode;
7
- import { UMB_BLOCK_LIST_MANAGER_CONTEXT } from '../manager/block-list-manager.context.js';
8
- import { UmbBlockContext } from '../../index.js';
6
+ var _UmbBlockListEntryContext_inlineEditingMode;
7
+ import { UMB_BLOCK_LIST_MANAGER_CONTEXT } from './block-list-manager.context.js';
8
+ import { UMB_BLOCK_LIST_ENTRIES_CONTEXT } from './block-list-entries.context-token.js';
9
+ import { UmbBlockEntryContext } from '../../index.js';
9
10
  import { UmbBooleanState } from '../../../../libs/observable-api/index.js';
10
- export class UmbBlockListContext extends UmbBlockContext {
11
+ export class UmbBlockListEntryContext extends UmbBlockEntryContext {
11
12
  constructor(host) {
12
- super(host, UMB_BLOCK_LIST_MANAGER_CONTEXT);
13
- _UmbBlockListContext_inlineEditingMode.set(this, new UmbBooleanState(undefined));
14
- this.inlineEditingMode = __classPrivateFieldGet(this, _UmbBlockListContext_inlineEditingMode, "f").asObservable();
13
+ super(host, UMB_BLOCK_LIST_MANAGER_CONTEXT, UMB_BLOCK_LIST_ENTRIES_CONTEXT);
14
+ _UmbBlockListEntryContext_inlineEditingMode.set(this, new UmbBooleanState(undefined));
15
+ this.inlineEditingMode = __classPrivateFieldGet(this, _UmbBlockListEntryContext_inlineEditingMode, "f").asObservable();
15
16
  }
16
17
  _gotManager() {
17
- super._gotManager();
18
18
  if (this._manager) {
19
19
  this.observe(this._manager.inlineEditingMode, (inlineEditingMode) => {
20
- __classPrivateFieldGet(this, _UmbBlockListContext_inlineEditingMode, "f").setValue(inlineEditingMode);
20
+ __classPrivateFieldGet(this, _UmbBlockListEntryContext_inlineEditingMode, "f").setValue(inlineEditingMode);
21
21
  }, 'observeInlineEditingMode');
22
22
  }
23
23
  else {
24
24
  this.removeControllerByAlias('observeInlineEditingMode');
25
25
  }
26
26
  }
27
+ _gotEntries() { }
27
28
  }
28
- _UmbBlockListContext_inlineEditingMode = new WeakMap();
29
+ _UmbBlockListEntryContext_inlineEditingMode = new WeakMap();
@@ -1,14 +1,23 @@
1
1
  import type { UmbBlockListLayoutModel, UmbBlockListTypeModel } from '../types.js';
2
- import { UmbBlockManagerContext } from '../../block/manager/block-manager.context.js';
2
+ import { UmbBlockManagerContext } from '../../block/context/block-manager.context.js';
3
3
  import type { UmbBlockListWorkspaceData } from '../index.js';
4
+ import type { UmbBlockDataType } from '../../block/types.js';
4
5
  import { UmbContextToken } from '../../../../libs/context-api/index.js';
5
6
  /**
6
- * A implementation of the Block Manager specifically for the Block List.
7
+ * A implementation of the Block Manager specifically for the Block List Editor.
7
8
  */
8
9
  export declare class UmbBlockListManagerContext<BlockLayoutType extends UmbBlockListLayoutModel = UmbBlockListLayoutModel> extends UmbBlockManagerContext<UmbBlockListTypeModel, BlockLayoutType> {
9
10
  #private;
10
- inlineEditingMode: import("rxjs").Observable<boolean | undefined>;
11
+ readonly inlineEditingMode: import("rxjs").Observable<boolean | undefined>;
11
12
  setInlineEditingMode(inlineEditingMode: boolean | undefined): void;
12
- _createBlock(modalData: UmbBlockListWorkspaceData, layoutEntry: BlockLayoutType, contentElementTypeKey: string): boolean;
13
+ create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentUdi'>, modalData?: UmbBlockListWorkspaceData): {
14
+ layout: BlockLayoutType;
15
+ content: {
16
+ udi: string;
17
+ contentTypeKey: string;
18
+ };
19
+ settings: UmbBlockDataType | undefined;
20
+ };
21
+ insert(layoutEntry: BlockLayoutType, content: UmbBlockDataType, settings: UmbBlockDataType | undefined, modalData: UmbBlockListWorkspaceData): boolean;
13
22
  }
14
23
  export declare const UMB_BLOCK_LIST_MANAGER_CONTEXT: UmbContextToken<UmbBlockListManagerContext<UmbBlockListLayoutModel>, UmbBlockListManagerContext<UmbBlockListLayoutModel>>;
@@ -4,11 +4,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _UmbBlockListManagerContext_inlineEditingMode;
7
- import { UmbBlockManagerContext } from '../../block/manager/block-manager.context.js';
7
+ import { UmbBlockManagerContext } from '../../block/context/block-manager.context.js';
8
8
  import { UmbContextToken } from '../../../../libs/context-api/index.js';
9
9
  import { UmbBooleanState } from '../../../../libs/observable-api/index.js';
10
10
  /**
11
- * A implementation of the Block Manager specifically for the Block List.
11
+ * A implementation of the Block Manager specifically for the Block List Editor.
12
12
  */
13
13
  export class UmbBlockListManagerContext extends UmbBlockManagerContext {
14
14
  constructor() {
@@ -20,11 +20,15 @@ export class UmbBlockListManagerContext extends UmbBlockManagerContext {
20
20
  setInlineEditingMode(inlineEditingMode) {
21
21
  __classPrivateFieldGet(this, _UmbBlockListManagerContext_inlineEditingMode, "f").setValue(inlineEditingMode ?? false);
22
22
  }
23
- _createBlock(modalData, layoutEntry, contentElementTypeKey) {
24
- // Here is room to append some extra layout properties if needed for this type.
23
+ create(contentElementTypeKey, partialLayoutEntry, modalData) {
24
+ return super.createBlockData(contentElementTypeKey, partialLayoutEntry);
25
+ }
26
+ insert(layoutEntry, content, settings, modalData) {
25
27
  this._layouts.appendOneAt(layoutEntry, modalData.originData.index ?? -1);
28
+ this.insertBlockData(layoutEntry, content, settings, modalData);
26
29
  return true;
27
30
  }
28
31
  }
29
32
  _UmbBlockListManagerContext_inlineEditingMode = new WeakMap();
33
+ // TODO: Make discriminator method for this:
30
34
  export const UMB_BLOCK_LIST_MANAGER_CONTEXT = new UmbContextToken('UmbBlockManagerContext');
@@ -0,0 +1 @@
1
+ export * from './block-list-entry.context-token.js';
@@ -0,0 +1 @@
1
+ export * from './block-list-entry.context-token.js';
@@ -1,2 +1,3 @@
1
+ export * from './context/index.js';
2
+ export * from './types.js';
1
3
  export * from './workspace/index.js';
2
- export * from './context/block-list.context-token.js';
@@ -1,2 +1,3 @@
1
+ export * from './context/index.js';
2
+ export * from './types.js';
1
3
  export * from './workspace/index.js';
2
- export * from './context/block-list.context-token.js';
@@ -1,12 +1,8 @@
1
- import '../../components/block-list-block/index.js';
1
+ import '../../components/block-list-entry/index.js';
2
+ import type { UmbBlockListValueModel } from '../../types.js';
2
3
  import type { UmbPropertyEditorUiElement } from '../../../../core/extension-registry/index.js';
3
4
  import { UmbLitElement } from '../../../../core/lit-element/index.js';
4
5
  import type { UmbPropertyEditorConfigCollection } from '../../../../core/property-editor/index.js';
5
- import type { UmbBlockLayoutBaseModel, UmbBlockValueType } from '../../../index.js';
6
- export interface UmbBlockListLayoutModel extends UmbBlockLayoutBaseModel {
7
- }
8
- export interface UmbBlockListValueModel extends UmbBlockValueType<UmbBlockListLayoutModel> {
9
- }
10
6
  /**
11
7
  * @element umb-property-editor-ui-block-list
12
8
  */
@@ -22,7 +18,6 @@ export declare class UmbPropertyEditorUIBlockListElement extends UmbLitElement i
22
18
  private _blocks?;
23
19
  private _layouts;
24
20
  private _catalogueRouteBuilder?;
25
- private _directRoute?;
26
21
  constructor();
27
22
  render(): import("lit-html").TemplateResult<1>;
28
23
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
@@ -15,9 +15,10 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
15
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
16
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
17
  };
18
- var _UmbPropertyEditorUIBlockListElement_sorter, _UmbPropertyEditorUIBlockListElement_catalogueModal, _UmbPropertyEditorUIBlockListElement_context;
19
- import { UmbBlockListManagerContext } from '../../manager/block-list-manager.context.js';
20
- import '../../components/block-list-block/index.js';
18
+ var _UmbPropertyEditorUIBlockListElement_sorter, _UmbPropertyEditorUIBlockListElement_catalogueModal, _UmbPropertyEditorUIBlockListElement_managerContext, _UmbPropertyEditorUIBlockListElement_entriesContext;
19
+ import { UmbBlockListManagerContext } from '../../context/block-list-manager.context.js';
20
+ import '../../components/block-list-entry/index.js';
21
+ import { UmbBlockListEntriesContext } from '../../context/block-list-entries.context.js';
21
22
  import { UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS } from './manifests.js';
22
23
  import { html, customElement, property, state, repeat, css } from '../../../../../external/lit/index.js';
23
24
  import { UmbTextStyles } from '../../../../../shared/style/index.js';
@@ -29,13 +30,13 @@ import { UmbSorterController } from '../../../../core/sorter/index.js';
29
30
  import { UMB_PROPERTY_CONTEXT } from '../../../../core/property/index.js';
30
31
  const SORTER_CONFIG = {
31
32
  getUniqueOfElement: (element) => {
32
- return element.getAttribute('data-udi');
33
+ return element.contentUdi;
33
34
  },
34
35
  getUniqueOfModel: (modelEntry) => {
35
36
  return modelEntry.contentUdi;
36
37
  },
37
- identifier: 'block-list-editor',
38
- itemSelector: 'umb-property-editor-ui-block-list-block',
38
+ //identifier: 'block-list-editor',
39
+ itemSelector: 'umb-block-list-entry',
39
40
  //containerSelector: 'EMPTY ON PURPOSE, SO IT BECOMES THE HOST ELEMENT',
40
41
  };
41
42
  /**
@@ -51,9 +52,9 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
51
52
  buildUpValue.contentData ?? (buildUpValue.contentData = []);
52
53
  buildUpValue.settingsData ?? (buildUpValue.settingsData = []);
53
54
  this._value = buildUpValue;
54
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setLayouts(this._value.layout[UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS] ?? []);
55
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setContents(buildUpValue.contentData);
56
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setSettings(buildUpValue.settingsData);
55
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setLayouts(this._value.layout[UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS] ?? []);
56
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setContents(buildUpValue.contentData);
57
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setSettings(buildUpValue.settingsData);
57
58
  }
58
59
  set config(config) {
59
60
  if (!config)
@@ -62,7 +63,7 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
62
63
  this._limitMin = validationLimit?.min;
63
64
  this._limitMax = validationLimit?.max;
64
65
  const blocks = config.getValueByAlias('blocks') ?? [];
65
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setBlockTypes(blocks);
66
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setBlockTypes(blocks);
66
67
  const customCreateButtonLabel = config.getValueByAlias('createLabel');
67
68
  if (customCreateButtonLabel) {
68
69
  this._createButtonLabel = customCreateButtonLabel;
@@ -71,12 +72,11 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
71
72
  this._createButtonLabel = `${this.localize.term('general_add')} ${blocks[0].label}`;
72
73
  }
73
74
  const useInlineEditingAsDefault = config.getValueByAlias('useInlineEditingAsDefault');
74
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setInlineEditingMode(useInlineEditingAsDefault);
75
- //config.useSingleBlockMode
76
- //config.useLiveEditing
77
- //config.useInlineEditingAsDefault
75
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setInlineEditingMode(useInlineEditingAsDefault);
76
+ // TODO:
77
+ //config.useSingleBlockMode, not done jey
78
78
  this.style.maxWidth = config.getValueByAlias('maxPropertyWidth') ?? '';
79
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setEditorConfiguration(config);
79
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setEditorConfiguration(config);
80
80
  }
81
81
  constructor() {
82
82
  super();
@@ -84,7 +84,7 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
84
84
  _UmbPropertyEditorUIBlockListElement_sorter.set(this, new UmbSorterController(this, {
85
85
  ...SORTER_CONFIG,
86
86
  onChange: ({ model }) => {
87
- __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").setLayouts(model);
87
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_entriesContext, "f").setLayouts(model);
88
88
  },
89
89
  }));
90
90
  _UmbPropertyEditorUIBlockListElement_catalogueModal.set(this, void 0);
@@ -95,35 +95,42 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
95
95
  };
96
96
  this._createButtonLabel = this.localize.term('content_createEmpty');
97
97
  this._layouts = [];
98
- _UmbPropertyEditorUIBlockListElement_context.set(this, new UmbBlockListManagerContext(this));
98
+ _UmbPropertyEditorUIBlockListElement_managerContext.set(this, new UmbBlockListManagerContext(this));
99
+ _UmbPropertyEditorUIBlockListElement_entriesContext.set(this, new UmbBlockListEntriesContext(this));
99
100
  this.consumeContext(UMB_PROPERTY_CONTEXT, (propertyContext) => {
100
101
  this.observe(propertyContext?.alias, (alias) => {
101
102
  __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_catalogueModal, "f").setUniquePathValue('propertyAlias', alias);
102
103
  }, 'observePropertyAlias');
103
104
  });
104
105
  // TODO: Prevent initial notification from these observes:
105
- this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").layouts, (layouts) => {
106
+ this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").layouts, (layouts) => {
106
107
  this._value = { ...this._value, layout: { [UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS]: layouts } };
107
108
  // Notify that the value has changed.
108
109
  //console.log('layout changed', this._value);
109
110
  // TODO: idea: consider inserting an await here, so other changes could appear first? Maybe some mechanism to only fire change event onces?
111
+ //this.#entriesContext.setLayoutEntries(layouts);
112
+ this.dispatchEvent(new UmbChangeEvent());
113
+ });
114
+ this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_entriesContext, "f").layoutEntries, (layouts) => {
110
115
  this._layouts = layouts;
116
+ // Update sorter.
111
117
  __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_sorter, "f").setModel(layouts);
112
- this.dispatchEvent(new UmbChangeEvent());
118
+ // Update manager:
119
+ __classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").setLayouts(layouts);
113
120
  });
114
- this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").contents, (contents) => {
121
+ this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").contents, (contents) => {
115
122
  this._value = { ...this._value, contentData: contents };
116
123
  // Notify that the value has changed.
117
124
  //console.log('content changed', this._value);
118
125
  this.dispatchEvent(new UmbChangeEvent());
119
126
  });
120
- this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").settings, (settings) => {
127
+ this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").settings, (settings) => {
121
128
  this._value = { ...this._value, settingsData: settings };
122
129
  // Notify that the value has changed.
123
130
  //console.log('settings changed', this._value);
124
131
  this.dispatchEvent(new UmbChangeEvent());
125
132
  });
126
- this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_context, "f").blockTypes, (blockTypes) => {
133
+ this.observe(__classPrivateFieldGet(this, _UmbPropertyEditorUIBlockListElement_managerContext, "f").blockTypes, (blockTypes) => {
127
134
  this._blocks = blockTypes;
128
135
  });
129
136
  __classPrivateFieldSet(this, _UmbPropertyEditorUIBlockListElement_catalogueModal, new UmbModalRouteRegistrationController(this, UMB_BLOCK_CATALOGUE_MODAL)
@@ -144,21 +151,25 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
144
151
  }), "f");
145
152
  }
146
153
  render() {
154
+ let createPath;
147
155
  if (this._blocks?.length === 1) {
148
156
  const elementKey = this._blocks[0].contentElementTypeKey;
149
- this._directRoute =
157
+ createPath =
150
158
  this._catalogueRouteBuilder?.({ view: 'create', index: -1 }) + 'modal/umb-modal-workspace/create/' + elementKey;
151
159
  }
160
+ else {
161
+ createPath = this._catalogueRouteBuilder?.({ view: 'create', index: -1 });
162
+ }
152
163
  return html ` ${repeat(this._layouts, (x) => x.contentUdi, (layoutEntry, index) => html `<uui-button-inline-create
153
164
  href=${this._catalogueRouteBuilder?.({ view: 'create', index: index }) ?? ''}></uui-button-inline-create>
154
- <umb-property-editor-ui-block-list-block data-udi=${layoutEntry.contentUdi} .layout=${layoutEntry}>
155
- </umb-property-editor-ui-block-list-block> `)}
165
+ <umb-block-list-entry .contentUdi=${layoutEntry.contentUdi} .layout=${layoutEntry}>
166
+ </umb-block-list-entry> `)}
156
167
  <uui-button-group>
157
168
  <uui-button
158
169
  id="add-button"
159
170
  look="placeholder"
160
171
  label=${this._createButtonLabel}
161
- href=${this._directRoute ?? this._catalogueRouteBuilder?.({ view: 'create', index: -1 }) ?? ''}></uui-button>
172
+ href=${createPath ?? ''}></uui-button>
162
173
  <uui-button
163
174
  label=${this.localize.term('content_createFromClipboard')}
164
175
  look="placeholder"
@@ -170,7 +181,8 @@ let UmbPropertyEditorUIBlockListElement = class UmbPropertyEditorUIBlockListElem
170
181
  };
171
182
  _UmbPropertyEditorUIBlockListElement_sorter = new WeakMap();
172
183
  _UmbPropertyEditorUIBlockListElement_catalogueModal = new WeakMap();
173
- _UmbPropertyEditorUIBlockListElement_context = new WeakMap();
184
+ _UmbPropertyEditorUIBlockListElement_managerContext = new WeakMap();
185
+ _UmbPropertyEditorUIBlockListElement_entriesContext = new WeakMap();
174
186
  UmbPropertyEditorUIBlockListElement.styles = [
175
187
  UmbTextStyles,
176
188
  css `
@@ -215,9 +227,6 @@ __decorate([
215
227
  __decorate([
216
228
  state()
217
229
  ], UmbPropertyEditorUIBlockListElement.prototype, "_catalogueRouteBuilder", void 0);
218
- __decorate([
219
- state()
220
- ], UmbPropertyEditorUIBlockListElement.prototype, "_directRoute", void 0);
221
230
  UmbPropertyEditorUIBlockListElement = __decorate([
222
231
  customElement('umb-property-editor-ui-block-list')
223
232
  ], UmbPropertyEditorUIBlockListElement);
@@ -1,7 +1,9 @@
1
1
  import type { UmbBlockTypeBaseModel } from '../block-type/index.js';
2
- import type { UmbBlockLayoutBaseModel } from '../index.js';
2
+ import type { UmbBlockLayoutBaseModel, UmbBlockValueType } from '../index.js';
3
3
  export declare const UMB_BLOCK_LIST_TYPE = "block-list-type";
4
4
  export interface UmbBlockListTypeModel extends UmbBlockTypeBaseModel {
5
5
  }
6
6
  export interface UmbBlockListLayoutModel extends UmbBlockLayoutBaseModel {
7
7
  }
8
+ export interface UmbBlockListValueModel extends UmbBlockValueType<UmbBlockListLayoutModel> {
9
+ }
@@ -63,7 +63,7 @@ _UmbBlockTypeCardElement_onRequestDelete = function _UmbBlockTypeCardElement_onR
63
63
  data: {
64
64
  color: 'danger',
65
65
  headline: `Remove ${this._name}?`,
66
- content: 'Are you sure you want to remove this item',
66
+ content: 'Are you sure you want to remove this block type?',
67
67
  confirmLabel: 'Remove',
68
68
  },
69
69
  });
@@ -3,7 +3,7 @@ import type { UmbModalToken } from './token/index.js';
3
3
  import type { UmbController, UmbControllerHost } from '../../../libs/controller-api/index.js';
4
4
  export declare class UmbModalRouteRegistrationController<D extends object = object, R = any> extends UmbModalRouteRegistration<D, R> implements UmbController {
5
5
  #private;
6
- get controllerAlias(): undefined;
6
+ get controllerAlias(): string;
7
7
  protected getControllerHostElement(): Element;
8
8
  /**
9
9
  * Creates an instance of UmbModalRouteRegistrationController.
@@ -15,7 +15,7 @@ import { UMB_ROUTE_CONTEXT } from '../../../shared/router/index.js';
15
15
  import { UmbContextConsumerController } from '../../../libs/context-api/index.js';
16
16
  export class UmbModalRouteRegistrationController extends UmbModalRouteRegistration {
17
17
  get controllerAlias() {
18
- return undefined;
18
+ return this.alias.toString();
19
19
  }
20
20
  getControllerHostElement() {
21
21
  return __classPrivateFieldGet(this, _UmbModalRouteRegistrationController_host, "f").getHostElement();