@umbraco-cms/backoffice 15.0.0-rc1 → 15.0.0-rc2
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/apps/backoffice/components/backoffice-header-logo.element.js +1 -6
- package/dist-cms/assets/lang/ar.d.ts +3 -0
- package/dist-cms/assets/lang/ar.js +2342 -0
- package/dist-cms/assets/lang/ar.ts +2394 -0
- package/dist-cms/assets/lang/bs.js +2 -2
- package/dist-cms/assets/lang/bs.ts +2 -2
- package/dist-cms/assets/lang/cs-cz.js +2 -2
- package/dist-cms/assets/lang/cs-cz.ts +2 -2
- package/dist-cms/assets/lang/cy-gb.js +2 -2
- package/dist-cms/assets/lang/cy-gb.ts +2 -2
- package/dist-cms/assets/lang/da-dk.js +6 -3
- package/dist-cms/assets/lang/da-dk.ts +6 -3
- package/dist-cms/assets/lang/de-de.js +2 -2
- package/dist-cms/assets/lang/de-de.ts +2 -2
- package/dist-cms/assets/lang/en-us.js +20 -7
- package/dist-cms/assets/lang/en-us.ts +20 -7
- package/dist-cms/assets/lang/en.js +30 -5
- package/dist-cms/assets/lang/en.ts +30 -5
- package/dist-cms/assets/lang/es-es.js +3 -3
- package/dist-cms/assets/lang/es-es.ts +3 -3
- package/dist-cms/assets/lang/fr-fr.js +2 -2
- package/dist-cms/assets/lang/fr-fr.ts +2 -3
- package/dist-cms/assets/lang/he-il.js +1 -1
- package/dist-cms/assets/lang/he-il.ts +1 -1
- package/dist-cms/assets/lang/hr-hr.js +2 -2
- package/dist-cms/assets/lang/hr-hr.ts +2 -2
- package/dist-cms/assets/lang/it-it.js +1 -1
- package/dist-cms/assets/lang/it-it.ts +1 -1
- package/dist-cms/assets/lang/ja-jp.js +1 -1
- package/dist-cms/assets/lang/ja-jp.ts +1 -1
- package/dist-cms/assets/lang/ko-kr.js +1 -1
- package/dist-cms/assets/lang/ko-kr.ts +1 -1
- package/dist-cms/assets/lang/nb-no.js +3 -1
- package/dist-cms/assets/lang/nb-no.ts +3 -1
- package/dist-cms/assets/lang/nl-nl.js +2 -2
- package/dist-cms/assets/lang/nl-nl.ts +2 -2
- package/dist-cms/assets/lang/pl-pl.js +2 -2
- package/dist-cms/assets/lang/pl-pl.ts +2 -2
- package/dist-cms/assets/lang/pt-br.js +1 -1
- package/dist-cms/assets/lang/pt-br.ts +1 -1
- package/dist-cms/assets/lang/ru-ru.js +2 -2
- package/dist-cms/assets/lang/ru-ru.ts +2 -2
- package/dist-cms/assets/lang/tr-tr.js +2 -2
- package/dist-cms/assets/lang/tr-tr.ts +2 -2
- package/dist-cms/assets/lang/uk-ua.js +2 -2
- package/dist-cms/assets/lang/uk-ua.ts +2 -2
- package/dist-cms/assets/lang/zh-cn.js +2 -2
- package/dist-cms/assets/lang/zh-cn.ts +2 -2
- package/dist-cms/assets/lang/zh-tw.js +1 -1
- package/dist-cms/assets/lang/zh-tw.ts +1 -2
- package/dist-cms/assets/login.jpg +0 -0
- package/dist-cms/custom-elements.json +4 -4
- package/dist-cms/external/monaco-editor/{cssMode-CDJQLEXE.js → cssMode-DA72DEEy.js} +1 -1
- package/dist-cms/external/monaco-editor/{freemarker2-BtohW-RX.js → freemarker2-Cl3U_XXG.js} +1 -1
- package/dist-cms/external/monaco-editor/{handlebars-Wz3s8HqG.js → handlebars-DSroMiE1.js} +1 -1
- package/dist-cms/external/monaco-editor/{html-MlXP3Eno.js → html-CkfQ3Tez.js} +1 -1
- package/dist-cms/external/monaco-editor/{htmlMode-Ds-h6y_M.js → htmlMode-D-n07ZL6.js} +1 -1
- package/dist-cms/external/monaco-editor/{index-BsCYch8u.js → index-QOjL-QlL.js} +181 -182
- package/dist-cms/external/monaco-editor/index.js +1 -1
- package/dist-cms/external/monaco-editor/{javascript-Dejz0u77.js → javascript-CPYBePIj.js} +1 -1
- package/dist-cms/external/monaco-editor/{jsonMode-CQ2qSm4x.js → jsonMode-xglY6Smp.js} +1 -1
- package/dist-cms/external/monaco-editor/{liquid-BhEdJewW.js → liquid-BcU1huVG.js} +1 -1
- package/dist-cms/external/monaco-editor/{mdx-C292GrsL.js → mdx-BngkqVPl.js} +1 -1
- package/dist-cms/external/monaco-editor/{python-CTKihC4R.js → python-Da-YVbMh.js} +1 -1
- package/dist-cms/external/monaco-editor/{razor-aZ9MyDfI.js → razor-C_XA8ptN.js} +1 -1
- package/dist-cms/external/monaco-editor/{tsMode-D1lPHHTW.js → tsMode-CsqUs61y.js} +1 -1
- package/dist-cms/external/monaco-editor/{typescript-DodsUUWq.js → typescript-DmWQ3leM.js} +1 -1
- package/dist-cms/external/monaco-editor/{xml-CnOKc87p.js → xml-CmhlGeEt.js} +1 -1
- package/dist-cms/external/monaco-editor/{yaml-BGcRgHu1.js → yaml-DDN00dBJ.js} +1 -1
- package/dist-cms/external/tinymce/index.js +1 -1
- package/dist-cms/external/uui/index.js +302 -278
- package/dist-cms/libs/extension-api/types/condition.types.d.ts +5 -5
- package/dist-cms/packages/block/block/conditions/types.d.ts +1 -1
- package/dist-cms/packages/block/block/context/block-entry.context.d.ts +1 -0
- package/dist-cms/packages/block/block/context/block-entry.context.js +9 -4
- package/dist-cms/packages/block/block/context/block-manager.context.d.ts +8 -7
- package/dist-cms/packages/block/block/context/block-manager.context.js +28 -9
- package/dist-cms/packages/block/block/workspace/block-workspace.context.d.ts +1 -0
- package/dist-cms/packages/block/block/workspace/block-workspace.context.js +14 -13
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.d.ts +3 -1
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +50 -12
- package/dist-cms/packages/block/block-custom-view/types.d.ts +1 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +3 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +3 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +2 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +13 -5
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +2 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.d.ts +4 -2
- package/dist-cms/packages/block/block-grid/context/block-grid-entries.context.js +26 -17
- package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-entry.context.js +3 -2
- package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.d.ts +3 -0
- package/dist-cms/packages/block/block-grid/context/block-grid-manager.context.js +12 -2
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +2 -0
- package/dist-cms/packages/block/block-grid/types.d.ts +1 -0
- package/dist-cms/packages/block/block-list/context/block-list-entries.context.d.ts +1 -1
- package/dist-cms/packages/block/block-list/context/block-list-entries.context.js +8 -4
- package/dist-cms/packages/block/block-list/context/block-list-entry.context.d.ts +1 -1
- package/dist-cms/packages/block/block-list/context/block-list-entry.context.js +3 -3
- package/dist-cms/packages/block/block-list/context/block-list-manager.context.d.ts +1 -1
- package/dist-cms/packages/block/block-list/context/block-list-manager.context.js +5 -2
- package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.d.ts +2 -2
- package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.js +5 -5
- package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.d.ts +1 -1
- package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.js +5 -3
- package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.d.ts +3 -2
- package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.js +6 -3
- package/dist-cms/packages/core/collection/extensions/collection-action.extension.d.ts +1 -1
- package/dist-cms/packages/core/collection/extensions/collection-view.extension.d.ts +1 -1
- package/dist-cms/packages/core/collection/extensions/collection.extension.d.ts +1 -1
- package/dist-cms/packages/core/content-type/structure/content-type-structure-manager.class.d.ts +1 -0
- package/dist-cms/packages/core/content-type/structure/content-type-structure-manager.class.js +3 -2
- package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
- package/dist-cms/packages/core/dashboard/dashboard.extension.d.ts +1 -1
- package/dist-cms/packages/core/entity-action/entity-action.extension.d.ts +1 -1
- package/dist-cms/packages/core/extension-registry/conditions/index.d.ts +1 -1
- package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +10 -6
- package/dist-cms/packages/core/extension-registry/extensions/entity-bulk-action.extension.d.ts +1 -1
- package/dist-cms/packages/core/extension-registry/extensions/repository.extension.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icon-dictionary.json +68 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-3d.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-3d.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-bar.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-bar.js +18 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-graph.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-chart-graph.js +16 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-command.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-command.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-font.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-font.js +18 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-html.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-html.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-image.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-image.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-js.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-js.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-key.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-key.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-medal.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-medal.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-play.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-play.js +16 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-search.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-search.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-settings.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-settings.js +19 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-spreadsheet.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-spreadsheet.js +19 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-user.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-document-user.js +17 -0
- package/dist-cms/packages/core/icon-registry/icons.d.ts +56 -0
- package/dist-cms/packages/core/icon-registry/icons.js +51 -0
- package/dist-cms/packages/core/localization/manifests.js +11 -1
- package/dist-cms/packages/core/menu/menu-item.extension.d.ts +1 -1
- package/dist-cms/packages/core/property/manifests.d.ts +1 -1
- package/dist-cms/packages/core/property-action/extensions/property-action.extension.d.ts +1 -1
- package/dist-cms/packages/core/section/conditions/types.d.ts +1 -1
- package/dist-cms/packages/core/section/extensions/section-sidebar-app.extension.d.ts +1 -1
- package/dist-cms/packages/core/section/extensions/section-view.extension.d.ts +1 -1
- package/dist-cms/packages/core/section/extensions/section.extension.d.ts +1 -1
- package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +3 -2
- package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
- package/dist-cms/packages/core/tree/extensions/tree.extension.d.ts +1 -1
- package/dist-cms/packages/core/utils/index.d.ts +1 -0
- package/dist-cms/packages/core/utils/index.js +1 -0
- package/dist-cms/packages/core/utils/sanitize/sanitize-html.function.d.ts +6 -0
- package/dist-cms/packages/core/utils/sanitize/sanitize-html.function.js +9 -0
- package/dist-cms/packages/core/workspace/conditions/types.d.ts +1 -1
- package/dist-cms/packages/core/workspace/conditions/workspace-alias.condition.d.ts +2 -2
- package/dist-cms/packages/core/workspace/conditions/workspace-content-type-alias.condition.d.ts +2 -2
- package/dist-cms/packages/core/workspace/conditions/workspace-entity-is-new.condition.d.ts +2 -2
- package/dist-cms/packages/core/workspace/conditions/workspace-entity-type.condition.d.ts +2 -2
- package/dist-cms/packages/core/workspace/conditions/workspace-has-collection.condition.d.ts +2 -2
- package/dist-cms/packages/core/workspace/extensions/workspace-action-menu-item.model.d.ts +1 -1
- package/dist-cms/packages/core/workspace/extensions/workspace-action.model.d.ts +1 -1
- package/dist-cms/packages/core/workspace/extensions/workspace-context.model.d.ts +1 -1
- package/dist-cms/packages/core/workspace/extensions/workspace-footer-app.model.d.ts +1 -1
- package/dist-cms/packages/core/workspace/extensions/workspace-view.model.d.ts +1 -1
- package/dist-cms/packages/dictionary/workspace/views/workspace-view-dictionary-editor.element.js +9 -5
- package/dist-cms/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.js +1 -1
- package/dist-cms/packages/documents/document-types/paths.js +1 -1
- package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +1 -1
- package/dist-cms/packages/documents/documents/user-permissions/conditions/types.d.ts +1 -1
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +4 -0
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +13 -2
- package/dist-cms/packages/documents/documents/workspace/views/info/document-workspace-view-info.element.js +1 -1
- package/dist-cms/packages/extension-types/index.d.ts +118 -0
- package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.js +2 -2
- package/dist-cms/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.d.ts +2 -1
- package/dist-cms/packages/multi-url-picker/tiny-mce-plugin/tiny-mce-multi-url-picker.plugin.js +28 -48
- package/dist-cms/packages/packages/package-builder/workspace/workspace-package-builder.element.js +4 -4
- package/dist-cms/packages/sysinfo/components/sysinfo.element.d.ts +1 -1
- package/dist-cms/packages/sysinfo/components/sysinfo.element.js +29 -11
- package/dist-cms/packages/templating/partial-views/entity-actions/create/options-modal/partial-view-create-options-modal.element.js +2 -2
- package/dist-cms/packages/templating/partial-views/entity-actions/create/snippet-modal/create-from-snippet-modal.js +1 -1
- package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.server.data-source.js +1 -1
- package/dist-cms/packages/templating/scripts/entity-actions/create/options-modal/script-create-options-modal.element.js +1 -1
- package/dist-cms/packages/templating/scripts/tree/script-tree.server.data-source.js +1 -1
- package/dist-cms/packages/templating/stylesheets/entity-actions/create/options-modal/stylesheet-create-options-modal.element.js +2 -2
- package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.server.data-source.js +1 -1
- package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.js +1 -1
- package/dist-cms/packages/templating/templates/tree/template-tree.server.data-source.js +1 -1
- package/dist-cms/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.defaults.js +1 -1
- package/dist-cms/packages/tiny-mce/plugins/tiny-mce-code-editor.plugin.js +5 -4
- package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.d.ts +1 -1
- package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.d.ts +1 -1
- package/dist-cms/packages/tiptap/components/types.d.ts +1 -0
- package/dist-cms/packages/tiptap/components/types.js +1 -0
- package/dist-cms/packages/tiptap/extensions/core/media-upload.extension.js +6 -0
- package/dist-cms/packages/tiptap/extensions/manifests.js +142 -154
- package/dist-cms/packages/tiptap/extensions/tiptap-toolbar-extension.d.ts +1 -0
- package/dist-cms/packages/tiptap/extensions/types.d.ts +0 -1
- package/dist-cms/packages/tiptap/plugins/manifests.js +1 -1
- package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-extensions-configuration.element.d.ts +7 -5
- package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-extensions-configuration.element.js +112 -109
- package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-toolbar-configuration.element.d.ts +6 -6
- package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-toolbar-configuration.element.js +304 -198
- package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-toolbar-configuration.context.d.ts +27 -0
- package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-toolbar-configuration.context.js +185 -0
- package/dist-cms/packages/tiptap/property-editors/tiptap/manifests.js +13 -9
- package/dist-cms/packages/tiptap/property-editors/tiptap/types.d.ts +12 -0
- package/dist-cms/packages/tiptap/property-editors/tiptap/types.js +1 -0
- package/dist-cms/packages/user/current-user/current-user-action.extension.d.ts +1 -1
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +18 -6
- package/dist-cms/umbraco-package.json +1 -1
- package/dist-cms/vscode-html-custom-data.json +4 -4
- package/package.json +5 -4
|
@@ -57,13 +57,13 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
57
57
|
}
|
|
58
58
|
getMinAllowed() {
|
|
59
59
|
if (this.#areaKey) {
|
|
60
|
-
return this.#areaType?.minAllowed ?? 0;
|
|
60
|
+
return this.#areaType.getValue()?.minAllowed ?? 0;
|
|
61
61
|
}
|
|
62
62
|
return this._manager?.getMinAllowed() ?? 0;
|
|
63
63
|
}
|
|
64
64
|
getMaxAllowed() {
|
|
65
65
|
if (this.#areaKey) {
|
|
66
|
-
return this.#areaType?.maxAllowed ?? Infinity;
|
|
66
|
+
return this.#areaType.getValue()?.maxAllowed ?? Infinity;
|
|
67
67
|
}
|
|
68
68
|
return this._manager?.getMaxAllowed() ?? Infinity;
|
|
69
69
|
}
|
|
@@ -74,6 +74,9 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
74
74
|
super(host, UMB_BLOCK_GRID_MANAGER_CONTEXT);
|
|
75
75
|
this.#layoutColumns = new UmbNumberState(undefined);
|
|
76
76
|
this.layoutColumns = this.#layoutColumns.asObservable();
|
|
77
|
+
this.#areaType = new UmbObjectState(undefined);
|
|
78
|
+
this.areaType = this.#areaType.asObservable();
|
|
79
|
+
this.areaTypeCreateLabel = this.#areaType.asObservablePart((x) => x?.createLabel);
|
|
77
80
|
this.#rangeLimits = new UmbObjectState(undefined);
|
|
78
81
|
this.rangeLimits = this.#rangeLimits.asObservable();
|
|
79
82
|
this.#allowedBlockTypes = new UmbArrayState([], (x) => x.contentElementTypeKey);
|
|
@@ -90,15 +93,17 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
90
93
|
.addUniquePaths(['propertyAlias', 'variantId', 'parentUnique', 'areaKey'])
|
|
91
94
|
.addAdditionalPath(':view/:index')
|
|
92
95
|
.onSetup((routingInfo) => {
|
|
96
|
+
if (!this._manager)
|
|
97
|
+
return false;
|
|
93
98
|
// Idea: Maybe on setup should be async, so it can retrieve the values when needed? [NL]
|
|
94
99
|
const index = routingInfo.index ? parseInt(routingInfo.index) : -1;
|
|
95
100
|
return {
|
|
96
101
|
data: {
|
|
97
102
|
blocks: this.#allowedBlockTypes.getValue(),
|
|
98
|
-
blockGroups: this._manager
|
|
103
|
+
blockGroups: this._manager.getBlockGroups() ?? [],
|
|
99
104
|
openClipboard: routingInfo.view === 'clipboard',
|
|
100
105
|
originData: { index: index, areaKey: this.#areaKey, parentUnique: this.#parentUnique },
|
|
101
|
-
createBlockInWorkspace:
|
|
106
|
+
createBlockInWorkspace: this._manager.getInlineEditingMode() === false,
|
|
102
107
|
},
|
|
103
108
|
};
|
|
104
109
|
})
|
|
@@ -203,7 +208,7 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
203
208
|
}
|
|
204
209
|
}, 'observeThisLayouts');
|
|
205
210
|
this.observe(this.#parentEntry.areaType(this.#areaKey), (areaType) => {
|
|
206
|
-
this.#areaType
|
|
211
|
+
this.#areaType.setValue(areaType);
|
|
207
212
|
const hostEl = this.getHostElement();
|
|
208
213
|
if (!hostEl)
|
|
209
214
|
return;
|
|
@@ -229,14 +234,15 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
229
234
|
return;
|
|
230
235
|
//const range = this.#retrieveRangeLimits();
|
|
231
236
|
if (this.#areaKey != null) {
|
|
237
|
+
const areaType = this.#areaType.getValue();
|
|
232
238
|
this.removeUmbControllerByAlias('observeConfigurationRootLimits');
|
|
233
239
|
// Area entries:
|
|
234
|
-
if (!
|
|
240
|
+
if (!areaType)
|
|
235
241
|
return undefined;
|
|
236
242
|
// No need to observe as this method is called every time the area is changed.
|
|
237
243
|
this.#rangeLimits.setValue({
|
|
238
|
-
min:
|
|
239
|
-
max:
|
|
244
|
+
min: areaType.minAllowed ?? 0,
|
|
245
|
+
max: areaType.maxAllowed ?? Infinity,
|
|
240
246
|
});
|
|
241
247
|
}
|
|
242
248
|
else if (this.#areaKey === null) {
|
|
@@ -285,17 +291,18 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
285
291
|
}
|
|
286
292
|
/**
|
|
287
293
|
* @internal
|
|
288
|
-
* @returns an Array of ElementTypeKeys that are allowed in the current area. Or undefined if not ready jet.
|
|
294
|
+
* @returns {Array<UmbBlockGridTypeModel>} an Array of ElementTypeKeys that are allowed in the current area. Or undefined if not ready jet.
|
|
289
295
|
*/
|
|
290
296
|
#retrieveAllowedElementTypes() {
|
|
291
297
|
if (!this._manager)
|
|
292
298
|
return [];
|
|
293
299
|
if (this.#areaKey) {
|
|
300
|
+
const areaType = this.#areaType.getValue();
|
|
294
301
|
// Area entries:
|
|
295
|
-
if (!
|
|
302
|
+
if (!areaType)
|
|
296
303
|
return [];
|
|
297
|
-
if (
|
|
298
|
-
return (
|
|
304
|
+
if (areaType.specifiedAllowance && areaType.specifiedAllowance?.length > 0) {
|
|
305
|
+
return (areaType.specifiedAllowance
|
|
299
306
|
.flatMap((permission) => {
|
|
300
307
|
if (permission.groupKey) {
|
|
301
308
|
return (this._manager?.getBlockTypes().filter((blockType) => blockType.groupKey === permission.groupKey) ?? []);
|
|
@@ -325,10 +332,11 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
325
332
|
if (!this._manager)
|
|
326
333
|
return;
|
|
327
334
|
if (this.#areaKey) {
|
|
335
|
+
const areaType = this.#areaType.getValue();
|
|
328
336
|
// Area entries:
|
|
329
|
-
if (!
|
|
337
|
+
if (!areaType)
|
|
330
338
|
return;
|
|
331
|
-
if (
|
|
339
|
+
if (areaType.specifiedAllowance && areaType.specifiedAllowance?.length > 0) {
|
|
332
340
|
this.#hasTypeLimits.setValue(true);
|
|
333
341
|
}
|
|
334
342
|
}
|
|
@@ -345,10 +353,11 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
345
353
|
* @returns {boolean} - True if the block type limits are valid, otherwise false.
|
|
346
354
|
*/
|
|
347
355
|
checkBlockTypeLimitsValidity() {
|
|
348
|
-
|
|
356
|
+
const areaType = this.#areaType.getValue();
|
|
357
|
+
if (!areaType || !areaType.specifiedAllowance)
|
|
349
358
|
return false;
|
|
350
359
|
const layoutEntries = this._layoutEntries.getValue();
|
|
351
|
-
this.#invalidBlockTypeLimits =
|
|
360
|
+
this.#invalidBlockTypeLimits = areaType.specifiedAllowance
|
|
352
361
|
.map((rule) => {
|
|
353
362
|
const minAllowed = rule.minAllowed || 0;
|
|
354
363
|
const maxAllowed = rule.maxAllowed || 0;
|
|
@@ -400,7 +409,7 @@ export class UmbBlockGridEntriesContext extends UmbBlockEntriesContext {
|
|
|
400
409
|
}
|
|
401
410
|
/**
|
|
402
411
|
* Check if given contentKey is allowed in the current area.
|
|
403
|
-
* @param
|
|
412
|
+
* @param {string} contentKey - The contentKey of the content to check.
|
|
404
413
|
* @returns {boolean} - True if the content is allowed in the current area, otherwise false.
|
|
405
414
|
*/
|
|
406
415
|
allowDrop(contentKey) {
|
|
@@ -14,6 +14,7 @@ export declare class UmbBlockGridEntryContext extends UmbBlockEntryContext<typeo
|
|
|
14
14
|
readonly areaTypeGridColumns: import("rxjs/internal/Observable").Observable<number | undefined>;
|
|
15
15
|
readonly areas: import("rxjs/internal/Observable").Observable<import("../index.js").UmbBlockGridTypeAreaType[]>;
|
|
16
16
|
readonly minMaxRowSpan: import("rxjs/internal/Observable").Observable<number[] | undefined>;
|
|
17
|
+
readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
17
18
|
getMinMaxRowSpan(): [number, number] | undefined;
|
|
18
19
|
readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean>;
|
|
19
20
|
readonly relevantColumnSpanOptions: import("rxjs/internal/Observable").Observable<number[]>;
|
|
@@ -2,7 +2,7 @@ import { closestColumnSpanOption } from '../utils/index.js';
|
|
|
2
2
|
import { UMB_BLOCK_GRID_MANAGER_CONTEXT } from './block-grid-manager.context-token.js';
|
|
3
3
|
import { UMB_BLOCK_GRID_ENTRIES_CONTEXT } from './block-grid-entries.context-token.js';
|
|
4
4
|
import { UmbBlockGridScaleManager, } from './block-grid-scale-manager/block-grid-scale-manager.controller.js';
|
|
5
|
-
import { UmbArrayState, UmbBooleanState, UmbNumberState, UmbObjectState, appendToFrozenArray, observeMultiple, } from '../../../../libs/observable-api/index.js';
|
|
5
|
+
import { UmbArrayState, UmbBooleanState, UmbNumberState, UmbObjectState, appendToFrozenArray, mergeObservables, observeMultiple, } from '../../../../libs/observable-api/index.js';
|
|
6
6
|
import { UmbBlockEntryContext } from '../../block/index.js';
|
|
7
7
|
export class UmbBlockGridEntryContext extends UmbBlockEntryContext {
|
|
8
8
|
getMinMaxRowSpan() {
|
|
@@ -28,6 +28,7 @@ export class UmbBlockGridEntryContext extends UmbBlockEntryContext {
|
|
|
28
28
|
this.areaTypeGridColumns = this._blockType.asObservablePart((x) => x?.areaGridColumns);
|
|
29
29
|
this.areas = this._blockType.asObservablePart((x) => x?.areas ?? []);
|
|
30
30
|
this.minMaxRowSpan = this._blockType.asObservablePart((x) => x ? [x.rowMinSpan ?? 1, x.rowMaxSpan ?? 1] : undefined);
|
|
31
|
+
this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => x ? (x.forceHideContentEditorInOverlay ?? false) : undefined);
|
|
31
32
|
this.inlineEditingMode = this._blockType.asObservablePart((x) => x?.inlineEditing === true);
|
|
32
33
|
this.#relevantColumnSpanOptions = new UmbArrayState([], (x) => x);
|
|
33
34
|
this.relevantColumnSpanOptions = this.#relevantColumnSpanOptions.asObservable();
|
|
@@ -35,7 +36,7 @@ export class UmbBlockGridEntryContext extends UmbBlockEntryContext {
|
|
|
35
36
|
this.canScale = this.#canScale.asObservable();
|
|
36
37
|
this.#areaGridColumns = new UmbNumberState(undefined);
|
|
37
38
|
this.areaGridColumns = this.#areaGridColumns.asObservable();
|
|
38
|
-
this.showContentEdit = this.
|
|
39
|
+
this.showContentEdit = mergeObservables([this._contentStructureHasProperties, this.forceHideContentEditorInOverlay], ([a, b]) => a === true && b === false);
|
|
39
40
|
this.#firstPropertyType = new UmbObjectState(undefined);
|
|
40
41
|
this.firstPropertyType = this.#firstPropertyType.asObservable();
|
|
41
42
|
this.scaleManager = new UmbBlockGridScaleManager(this);
|
|
@@ -10,6 +10,9 @@ export declare const UMB_BLOCK_GRID_DEFAULT_LAYOUT_STYLESHEET = "/umbraco/backof
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class UmbBlockGridManagerContext<BlockLayoutType extends UmbBlockGridLayoutModel = UmbBlockGridLayoutModel> extends UmbBlockManagerContext<UmbBlockGridTypeModel, UmbBlockGridLayoutModel, UmbBlockGridWorkspaceOriginData> {
|
|
12
12
|
#private;
|
|
13
|
+
readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
14
|
+
setInlineEditingMode(inlineEditingMode: boolean | undefined): void;
|
|
15
|
+
getInlineEditingMode(): boolean | undefined;
|
|
13
16
|
readonly blockGroups: import("rxjs/internal/Observable").Observable<UmbBlockTypeGroup[]>;
|
|
14
17
|
layoutStylesheet: import("rxjs/internal/Observable").Observable<string | undefined>;
|
|
15
18
|
gridColumns: import("rxjs/internal/Observable").Observable<number>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UmbArrayState, appendToFrozenArray, pushAtToUniqueArray } from '../../../../libs/observable-api/index.js';
|
|
1
|
+
import { UmbArrayState, UmbBooleanState, appendToFrozenArray, pushAtToUniqueArray, } from '../../../../libs/observable-api/index.js';
|
|
2
2
|
import { removeLastSlashFromPath, transformServerPathToClientPath } from '../../../core/utils/index.js';
|
|
3
3
|
import { UMB_APP_CONTEXT } from '../../../../apps/app/index.js';
|
|
4
4
|
import { UmbBlockManagerContext } from '../../block/index.js';
|
|
@@ -8,6 +8,13 @@ export const UMB_BLOCK_GRID_DEFAULT_LAYOUT_STYLESHEET = '/umbraco/backoffice/css
|
|
|
8
8
|
*/
|
|
9
9
|
export class UmbBlockGridManagerContext extends UmbBlockManagerContext {
|
|
10
10
|
//
|
|
11
|
+
#inlineEditingMode;
|
|
12
|
+
setInlineEditingMode(inlineEditingMode) {
|
|
13
|
+
this.#inlineEditingMode.setValue(inlineEditingMode ?? false);
|
|
14
|
+
}
|
|
15
|
+
getInlineEditingMode() {
|
|
16
|
+
return this.#inlineEditingMode.getValue();
|
|
17
|
+
}
|
|
11
18
|
#initAppUrl;
|
|
12
19
|
#appUrl;
|
|
13
20
|
#blockGroups;
|
|
@@ -34,6 +41,9 @@ export class UmbBlockGridManagerContext extends UmbBlockManagerContext {
|
|
|
34
41
|
}
|
|
35
42
|
constructor(host) {
|
|
36
43
|
super(host);
|
|
44
|
+
//
|
|
45
|
+
this.#inlineEditingMode = new UmbBooleanState(undefined);
|
|
46
|
+
this.inlineEditingMode = this.#inlineEditingMode.asObservable();
|
|
37
47
|
this.#blockGroups = new UmbArrayState([], (x) => x.key);
|
|
38
48
|
this.blockGroups = this.#blockGroups.asObservable();
|
|
39
49
|
this.layoutStylesheet = this._editorConfiguration.asObservablePart((x) => {
|
|
@@ -117,7 +127,7 @@ export class UmbBlockGridManagerContext extends UmbBlockManagerContext {
|
|
|
117
127
|
// TODO: Remove dependency on modalData object here. [NL] Maybe change it into requiring the originData object instead.
|
|
118
128
|
insert(layoutEntry, content, settings, originData) {
|
|
119
129
|
this.setOneLayout(layoutEntry, originData);
|
|
120
|
-
this.insertBlockData(layoutEntry, content, settings);
|
|
130
|
+
this.insertBlockData(layoutEntry, content, settings, originData);
|
|
121
131
|
return true;
|
|
122
132
|
}
|
|
123
133
|
setOneLayout(layoutEntry, originData) {
|
|
@@ -30,6 +30,8 @@ let UmbPropertyEditorUIBlockGridElement = class UmbPropertyEditorUIBlockGridElem
|
|
|
30
30
|
this.#managerContext.setBlockTypes(blocks);
|
|
31
31
|
const blockGroups = config.getValueByAlias('blockGroups') ?? [];
|
|
32
32
|
this.#managerContext.setBlockGroups(blockGroups);
|
|
33
|
+
const useInlineEditingAsDefault = config.getValueByAlias('useInlineEditingAsDefault');
|
|
34
|
+
this.#managerContext.setInlineEditingMode(useInlineEditingAsDefault);
|
|
33
35
|
this.style.maxWidth = config.getValueByAlias('maxPropertyWidth') ?? '';
|
|
34
36
|
//config.useLiveEditing, is covered by the EditorConfiguration of context. [NL]
|
|
35
37
|
this.#managerContext.setEditorConfiguration(config);
|
|
@@ -24,6 +24,7 @@ export interface UmbBlockGridTypeAreaType {
|
|
|
24
24
|
minAllowed?: number;
|
|
25
25
|
maxAllowed?: number;
|
|
26
26
|
specifiedAllowance?: Array<UmbBlockGridTypeAreaTypePermission>;
|
|
27
|
+
createLabel?: string;
|
|
27
28
|
}
|
|
28
29
|
export interface UmbBlockGridTypeAreaTypePermission {
|
|
29
30
|
elementTypeKey?: string;
|
|
@@ -12,7 +12,7 @@ export declare class UmbBlockListEntriesContext extends UmbBlockEntriesContext<t
|
|
|
12
12
|
getPathForCreateBlock(index: number): string | undefined;
|
|
13
13
|
getPathForClipboard(index: number): string | undefined;
|
|
14
14
|
setLayouts(layouts: Array<UmbBlockListLayoutModel>): Promise<void>;
|
|
15
|
-
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockListLayoutModel, 'contentKey'
|
|
15
|
+
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockListLayoutModel, 'contentKey'>, originData?: UmbBlockListWorkspaceOriginData): Promise<{
|
|
16
16
|
layout: UmbBlockListLayoutModel;
|
|
17
17
|
content: {
|
|
18
18
|
key: string;
|
|
@@ -32,7 +32,7 @@ export class UmbBlockListEntriesContext extends UmbBlockEntriesContext {
|
|
|
32
32
|
})
|
|
33
33
|
.onSubmit(async (value, data) => {
|
|
34
34
|
if (value?.create && data) {
|
|
35
|
-
const created = await this.create(value.create.contentElementTypeKey, {});
|
|
35
|
+
const created = await this.create(value.create.contentElementTypeKey, {}, data.originData);
|
|
36
36
|
if (created) {
|
|
37
37
|
this.insert(created.layout, created.content, created.settings, data.originData);
|
|
38
38
|
}
|
|
@@ -87,14 +87,18 @@ export class UmbBlockListEntriesContext extends UmbBlockEntriesContext {
|
|
|
87
87
|
await this._retrieveManager;
|
|
88
88
|
this._manager?.setLayouts(layouts);
|
|
89
89
|
}
|
|
90
|
-
async create(contentElementTypeKey, partialLayoutEntry) {
|
|
90
|
+
async create(contentElementTypeKey, partialLayoutEntry, originData) {
|
|
91
91
|
await this._retrieveManager;
|
|
92
|
-
return this._manager?.create(contentElementTypeKey, partialLayoutEntry);
|
|
92
|
+
return this._manager?.create(contentElementTypeKey, partialLayoutEntry, originData);
|
|
93
93
|
}
|
|
94
94
|
// insert Block?
|
|
95
95
|
async insert(layoutEntry, content, settings, originData) {
|
|
96
96
|
await this._retrieveManager;
|
|
97
|
-
|
|
97
|
+
const success = this._manager?.insert(layoutEntry, content, settings, originData) ?? false;
|
|
98
|
+
if (success) {
|
|
99
|
+
this._manager?.setOneExpose(layoutEntry.contentKey);
|
|
100
|
+
}
|
|
101
|
+
return success;
|
|
98
102
|
}
|
|
99
103
|
// create Block?
|
|
100
104
|
async delete(contentKey) {
|
|
@@ -5,7 +5,7 @@ import type { UmbControllerHost } from '../../../../libs/controller-api/index.js
|
|
|
5
5
|
export declare class UmbBlockListEntryContext extends UmbBlockEntryContext<typeof UMB_BLOCK_LIST_MANAGER_CONTEXT, typeof UMB_BLOCK_LIST_MANAGER_CONTEXT.TYPE, typeof UMB_BLOCK_LIST_ENTRIES_CONTEXT, typeof UMB_BLOCK_LIST_ENTRIES_CONTEXT.TYPE> {
|
|
6
6
|
#private;
|
|
7
7
|
readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
8
|
-
readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean>;
|
|
8
|
+
readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
9
9
|
readonly showContentEdit: import("rxjs/internal/Observable").Observable<boolean>;
|
|
10
10
|
constructor(host: UmbControllerHost);
|
|
11
11
|
_gotManager(): void;
|
|
@@ -8,9 +8,9 @@ export class UmbBlockListEntryContext extends UmbBlockEntryContext {
|
|
|
8
8
|
super(host, UMB_BLOCK_LIST_MANAGER_CONTEXT, UMB_BLOCK_LIST_ENTRIES_CONTEXT);
|
|
9
9
|
this.#inlineEditingMode = new UmbBooleanState(undefined);
|
|
10
10
|
this.inlineEditingMode = this.#inlineEditingMode.asObservable();
|
|
11
|
-
this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) =>
|
|
12
|
-
this.showContentEdit = mergeObservables([this.forceHideContentEditorInOverlay, this.inlineEditingMode], ([
|
|
13
|
-
return
|
|
11
|
+
this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => x ? (x.forceHideContentEditorInOverlay ?? false) : undefined);
|
|
12
|
+
this.showContentEdit = mergeObservables([this._contentStructureHasProperties, this.forceHideContentEditorInOverlay, this.inlineEditingMode], ([a, b, c]) => {
|
|
13
|
+
return a === true && b === false && c === false;
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
_gotManager() {
|
|
@@ -10,7 +10,7 @@ export declare class UmbBlockListManagerContext<BlockLayoutType extends UmbBlock
|
|
|
10
10
|
readonly inlineEditingMode: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
11
11
|
setInlineEditingMode(inlineEditingMode: boolean | undefined): void;
|
|
12
12
|
getInlineEditingMode(): boolean | undefined;
|
|
13
|
-
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'
|
|
13
|
+
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>, _originData?: UmbBlockListWorkspaceOriginData): {
|
|
14
14
|
layout: BlockLayoutType;
|
|
15
15
|
content: {
|
|
16
16
|
key: string;
|
|
@@ -18,12 +18,15 @@ export class UmbBlockListManagerContext extends UmbBlockManagerContext {
|
|
|
18
18
|
getInlineEditingMode() {
|
|
19
19
|
return this.#inlineEditingMode.getValue();
|
|
20
20
|
}
|
|
21
|
-
create(contentElementTypeKey, partialLayoutEntry
|
|
21
|
+
create(contentElementTypeKey, partialLayoutEntry,
|
|
22
|
+
// This property is used by some implementations, but not used in this. Do not remove. [NL]
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
+
_originData) {
|
|
22
25
|
return super._createBlockData(contentElementTypeKey, partialLayoutEntry);
|
|
23
26
|
}
|
|
24
27
|
insert(layoutEntry, content, settings, originData) {
|
|
25
28
|
this._layouts.appendOneAt(layoutEntry, originData.index ?? -1);
|
|
26
|
-
this.insertBlockData(layoutEntry, content, settings);
|
|
29
|
+
this.insertBlockData(layoutEntry, content, settings, originData);
|
|
27
30
|
return true;
|
|
28
31
|
}
|
|
29
32
|
}
|
|
@@ -12,7 +12,7 @@ export declare class UmbBlockRteEntriesContext extends UmbBlockEntriesContext<ty
|
|
|
12
12
|
getPathForCreateBlock(): string | undefined;
|
|
13
13
|
getPathForClipboard(): string | undefined;
|
|
14
14
|
setLayouts(layouts: Array<UmbBlockRteLayoutModel>): Promise<void>;
|
|
15
|
-
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockRteLayoutModel, 'contentKey'
|
|
15
|
+
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<UmbBlockRteLayoutModel, 'contentKey'>, originData?: UmbBlockRteWorkspaceOriginData): Promise<{
|
|
16
16
|
layout: UmbBlockRteLayoutModel;
|
|
17
17
|
content: {
|
|
18
18
|
key: string;
|
|
@@ -21,6 +21,6 @@ export declare class UmbBlockRteEntriesContext extends UmbBlockEntriesContext<ty
|
|
|
21
21
|
};
|
|
22
22
|
settings: UmbBlockDataModel | undefined;
|
|
23
23
|
} | undefined>;
|
|
24
|
-
insert(layoutEntry: UmbBlockRteLayoutModel, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined): Promise<boolean>;
|
|
24
|
+
insert(layoutEntry: UmbBlockRteLayoutModel, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, originData: UmbBlockRteWorkspaceOriginData): Promise<boolean>;
|
|
25
25
|
delete(contentKey: string): Promise<void>;
|
|
26
26
|
}
|
|
@@ -32,7 +32,7 @@ export class UmbBlockRteEntriesContext extends UmbBlockEntriesContext {
|
|
|
32
32
|
// We can parse an empty object, cause the rest will be filled in by others.
|
|
33
33
|
{});
|
|
34
34
|
if (created) {
|
|
35
|
-
this.insert(created.layout, created.content, created.settings);
|
|
35
|
+
this.insert(created.layout, created.content, created.settings, data.originData);
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
38
|
throw new Error('Failed to create block');
|
|
@@ -82,14 +82,14 @@ export class UmbBlockRteEntriesContext extends UmbBlockEntriesContext {
|
|
|
82
82
|
await this._retrieveManager;
|
|
83
83
|
this._manager?.setLayouts(layouts);
|
|
84
84
|
}
|
|
85
|
-
async create(contentElementTypeKey, partialLayoutEntry) {
|
|
85
|
+
async create(contentElementTypeKey, partialLayoutEntry, originData) {
|
|
86
86
|
await this._retrieveManager;
|
|
87
|
-
return this._manager?.create(contentElementTypeKey, partialLayoutEntry);
|
|
87
|
+
return this._manager?.create(contentElementTypeKey, partialLayoutEntry, originData);
|
|
88
88
|
}
|
|
89
89
|
// insert Block?
|
|
90
|
-
async insert(layoutEntry, content, settings) {
|
|
90
|
+
async insert(layoutEntry, content, settings, originData) {
|
|
91
91
|
await this._retrieveManager;
|
|
92
|
-
return this._manager?.insert(layoutEntry, content, settings) ?? false;
|
|
92
|
+
return this._manager?.insert(layoutEntry, content, settings, originData) ?? false;
|
|
93
93
|
}
|
|
94
94
|
// create Block?
|
|
95
95
|
async delete(contentKey) {
|
|
@@ -6,7 +6,7 @@ import type { UmbControllerHost } from '../../../../libs/controller-api/index.js
|
|
|
6
6
|
export declare class UmbBlockRteEntryContext extends UmbBlockEntryContext<typeof UMB_BLOCK_RTE_MANAGER_CONTEXT, typeof UMB_BLOCK_RTE_MANAGER_CONTEXT.TYPE, typeof UMB_BLOCK_RTE_ENTRIES_CONTEXT, typeof UMB_BLOCK_RTE_ENTRIES_CONTEXT.TYPE, UmbBlockRteTypeModel, UmbBlockRteLayoutModel> {
|
|
7
7
|
readonly displayInline: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
8
8
|
readonly displayInlineConfig: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
9
|
-
readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean>;
|
|
9
|
+
readonly forceHideContentEditorInOverlay: import("rxjs/internal/Observable").Observable<boolean | undefined>;
|
|
10
10
|
readonly showContentEdit: import("rxjs/internal/Observable").Observable<boolean>;
|
|
11
11
|
constructor(host: UmbControllerHost);
|
|
12
12
|
_gotManager(): void;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { UMB_BLOCK_RTE_MANAGER_CONTEXT } from './block-rte-manager.context-token.js';
|
|
2
2
|
import { UMB_BLOCK_RTE_ENTRIES_CONTEXT } from './block-rte-entries.context-token.js';
|
|
3
3
|
import { UmbBlockEntryContext } from '../../block/index.js';
|
|
4
|
-
import { observeMultiple } from '../../../../libs/observable-api/index.js';
|
|
4
|
+
import { mergeObservables, observeMultiple } from '../../../../libs/observable-api/index.js';
|
|
5
5
|
export class UmbBlockRteEntryContext extends UmbBlockEntryContext {
|
|
6
6
|
constructor(host) {
|
|
7
7
|
super(host, UMB_BLOCK_RTE_MANAGER_CONTEXT, UMB_BLOCK_RTE_ENTRIES_CONTEXT);
|
|
8
8
|
this.displayInline = this._layout.asObservablePart((x) => (x ? (x.displayInline ?? false) : undefined));
|
|
9
9
|
this.displayInlineConfig = this._blockType.asObservablePart((x) => (x ? (x.displayInline ?? false) : undefined));
|
|
10
|
-
this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) =>
|
|
11
|
-
this.showContentEdit = this.
|
|
10
|
+
this.forceHideContentEditorInOverlay = this._blockType.asObservablePart((x) => x ? (x.forceHideContentEditorInOverlay ?? false) : undefined);
|
|
11
|
+
this.showContentEdit = mergeObservables([this._contentStructureHasProperties, this.forceHideContentEditorInOverlay], ([a, b]) => {
|
|
12
|
+
return a === true && b === false;
|
|
13
|
+
});
|
|
12
14
|
}
|
|
13
15
|
_gotManager() { }
|
|
14
16
|
_gotEntries() {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UmbBlockRteWorkspaceOriginData } from '../workspace/block-rte-workspace.modal-token.js';
|
|
1
2
|
import type { UmbBlockRteLayoutModel, UmbBlockRteTypeModel } from '../types.js';
|
|
2
3
|
import type { UmbBlockDataModel } from '../../block/types.js';
|
|
3
4
|
import { UmbBlockManagerContext } from '../../block/index.js';
|
|
@@ -7,7 +8,7 @@ import '../components/block-rte-entry/index.js';
|
|
|
7
8
|
*/
|
|
8
9
|
export declare class UmbBlockRteManagerContext<BlockLayoutType extends UmbBlockRteLayoutModel = UmbBlockRteLayoutModel> extends UmbBlockManagerContext<UmbBlockRteTypeModel, BlockLayoutType> {
|
|
9
10
|
removeOneLayout(contentKey: string): void;
|
|
10
|
-
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'
|
|
11
|
+
create(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>, _originData?: UmbBlockRteWorkspaceOriginData): {
|
|
11
12
|
layout: BlockLayoutType;
|
|
12
13
|
content: {
|
|
13
14
|
key: string;
|
|
@@ -16,7 +17,7 @@ export declare class UmbBlockRteManagerContext<BlockLayoutType extends UmbBlockR
|
|
|
16
17
|
};
|
|
17
18
|
settings: UmbBlockDataModel | undefined;
|
|
18
19
|
};
|
|
19
|
-
insert(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined): boolean;
|
|
20
|
+
insert(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, originData: UmbBlockRteWorkspaceOriginData): boolean;
|
|
20
21
|
/**
|
|
21
22
|
* @param contentKey
|
|
22
23
|
* @internal
|
|
@@ -7,7 +7,10 @@ export class UmbBlockRteManagerContext extends UmbBlockManagerContext {
|
|
|
7
7
|
removeOneLayout(contentKey) {
|
|
8
8
|
this._layouts.removeOne(contentKey);
|
|
9
9
|
}
|
|
10
|
-
create(contentElementTypeKey, partialLayoutEntry
|
|
10
|
+
create(contentElementTypeKey, partialLayoutEntry,
|
|
11
|
+
// This property is used by some implementations, but not used in this, do not remove. [NL]
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
13
|
+
_originData) {
|
|
11
14
|
const data = super._createBlockData(contentElementTypeKey, partialLayoutEntry);
|
|
12
15
|
// Find block type.
|
|
13
16
|
const blockType = this.getBlockTypes().find((x) => x.contentElementTypeKey === contentElementTypeKey);
|
|
@@ -19,9 +22,9 @@ export class UmbBlockRteManagerContext extends UmbBlockManagerContext {
|
|
|
19
22
|
}
|
|
20
23
|
return data;
|
|
21
24
|
}
|
|
22
|
-
insert(layoutEntry, content, settings) {
|
|
25
|
+
insert(layoutEntry, content, settings, originData) {
|
|
23
26
|
this._layouts.appendOne(layoutEntry);
|
|
24
|
-
this.insertBlockData(layoutEntry, content, settings);
|
|
27
|
+
this.insertBlockData(layoutEntry, content, settings, originData);
|
|
25
28
|
return true;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
@@ -3,7 +3,7 @@ import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../..
|
|
|
3
3
|
* An action to perform on an entity
|
|
4
4
|
* For example for content you may wish to create a new document etc
|
|
5
5
|
*/
|
|
6
|
-
export interface ManifestCollectionAction extends ManifestElementAndApi, ManifestWithDynamicConditions<
|
|
6
|
+
export interface ManifestCollectionAction extends ManifestElementAndApi, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
|
|
7
7
|
type: 'collectionAction';
|
|
8
8
|
meta: MetaCollectionAction;
|
|
9
9
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ManifestElement, ManifestWithDynamicConditions } from '../../../../libs/extension-api/index.js';
|
|
2
|
-
export interface ManifestCollectionView extends ManifestElement, ManifestWithDynamicConditions<
|
|
2
|
+
export interface ManifestCollectionView extends ManifestElement, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
|
|
3
3
|
type: 'collectionView';
|
|
4
4
|
meta: MetaCollectionView;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../../../../libs/extension-api/index.js';
|
|
2
|
-
export interface ManifestCollection extends ManifestElementAndApi, ManifestWithDynamicConditions<
|
|
2
|
+
export interface ManifestCollection extends ManifestElementAndApi, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
|
|
3
3
|
type: 'collection';
|
|
4
4
|
meta: MetaCollection;
|
|
5
5
|
}
|
package/dist-cms/packages/core/content-type/structure/content-type-structure-manager.class.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class UmbContentTypeStructureManager<T extends UmbContentTypeMode
|
|
|
16
16
|
readonly contentTypes: import("rxjs/internal/Observable").Observable<T[]>;
|
|
17
17
|
readonly ownerContentType: import("rxjs/internal/Observable").Observable<T | undefined>;
|
|
18
18
|
readonly ownerContentTypeAlias: import("rxjs/internal/Observable").Observable<string | undefined>;
|
|
19
|
+
readonly ownerContentTypeName: import("rxjs/internal/Observable").Observable<string | undefined>;
|
|
19
20
|
readonly ownerContentTypeCompositions: import("rxjs/internal/Observable").Observable<import("../types.js").UmbContentTypeCompositionModel[] | undefined>;
|
|
20
21
|
readonly contentTypeProperties: import("rxjs/internal/Observable").Observable<UmbPropertyTypeModel[]>;
|
|
21
22
|
readonly contentTypeDataTypeUniques: import("rxjs/internal/Observable").Observable<string[]>;
|
package/dist-cms/packages/core/content-type/structure/content-type-structure-manager.class.js
CHANGED
|
@@ -27,8 +27,9 @@ export class UmbContentTypeStructureManager extends UmbControllerBase {
|
|
|
27
27
|
this.#contentTypes = new UmbArrayState([], (x) => x.unique);
|
|
28
28
|
this.contentTypes = this.#contentTypes.asObservable();
|
|
29
29
|
this.ownerContentType = this.#contentTypes.asObservablePart((x) => x.find((y) => y.unique === this.#ownerContentTypeUnique));
|
|
30
|
-
this.ownerContentTypeAlias = this
|
|
31
|
-
this.
|
|
30
|
+
this.ownerContentTypeAlias = createObservablePart(this.ownerContentType, (x) => x?.alias);
|
|
31
|
+
this.ownerContentTypeName = createObservablePart(this.ownerContentType, (x) => x?.name);
|
|
32
|
+
this.ownerContentTypeCompositions = createObservablePart(this.ownerContentType, (x) => x?.compositions);
|
|
32
33
|
this.#contentTypeContainers = this.#contentTypes.asObservablePart((contentTypes) => {
|
|
33
34
|
// Notice this may need to use getValue to avoid resetting it self. [NL]
|
|
34
35
|
return contentTypes.flatMap((x) => x.containers ?? []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const manifests: (import("../collection/types.js").ManifestCollection | import("../modal/types.js").ManifestModal | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../extension-registry/index.js").ManifestTypes | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("../../../libs/controller-api/index.js").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | (import("../property-editor/index.js").ManifestPropertyEditorSchema | import("../property-editor/index.js").ManifestPropertyEditorUi) | import("../../ufm/index.js").ManifestUfmFilter | import("../../ufm/index.js").ManifestUfmComponent | import("../property/types.js").ManifestPropertyValueResolver | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/index.js").ManifestEntityActionDefaultKind | import("../entity-action/common/delete/types.js").ManifestEntityActionDeleteKind | import("../tree/entity-actions/reload-tree-item-children/types.js").ManifestEntityActionReloadTreeItemChildrenKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/index.js").ManifestMenuItemLinkKind | import("../tree/index.js").ManifestMenuItemTreeKind | import("../tree/index.js").ManifestEntityActionCreateFolderKind | import("../tree/index.js").ManifestEntityActionDeleteFolderKind | import("../tree/index.js").ManifestEntityActionUpdateFolderKind | import("../tree/index.js").ManifestEntityActionSortChildrenOfKind | import("../tree/index.js").ManifestEntityActionMoveToKind | import("../tree/index.js").ManifestEntityActionDuplicateToKind | import("../icon-registry/index.js").ManifestIcons | import("../recycle-bin/index.js").ManifestEntityActionTrashKind | import("../recycle-bin/index.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/index.js").ManifestEntityActionEmptyRecycleBinKind | import("
|
|
1
|
+
export declare const manifests: (import("../collection/types.js").ManifestCollection | import("../modal/types.js").ManifestModal | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../extension-registry/index.js").ManifestTypes | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("../../../libs/controller-api/index.js").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | (import("../property-editor/index.js").ManifestPropertyEditorSchema | import("../property-editor/index.js").ManifestPropertyEditorUi) | import("../../ufm/index.js").ManifestUfmFilter | import("../../ufm/index.js").ManifestUfmComponent | import("../property/types.js").ManifestPropertyValueResolver | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/index.js").ManifestEntityActionDefaultKind | import("../entity-action/common/delete/types.js").ManifestEntityActionDeleteKind | import("../tree/entity-actions/reload-tree-item-children/types.js").ManifestEntityActionReloadTreeItemChildrenKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/index.js").ManifestMenuItemLinkKind | import("../tree/index.js").ManifestMenuItemTreeKind | import("../tree/index.js").ManifestEntityActionCreateFolderKind | import("../tree/index.js").ManifestEntityActionDeleteFolderKind | import("../tree/index.js").ManifestEntityActionUpdateFolderKind | import("../tree/index.js").ManifestEntityActionSortChildrenOfKind | import("../tree/index.js").ManifestEntityActionMoveToKind | import("../tree/index.js").ManifestEntityActionDuplicateToKind | import("../icon-registry/index.js").ManifestIcons | import("../recycle-bin/index.js").ManifestEntityActionTrashKind | import("../recycle-bin/index.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/index.js").ManifestEntityActionEmptyRecycleBinKind | import("../collection/workspace-view/types.js").ManifestWorkspaceViewCollectionKind | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../localization/index.js").ManifestLocalization | import("../../search/index.js").ManifestSearchProvider | import("../../search/index.js").ManifestSearchResultItem | import("../picker/index.js").ManifestPickerSearchResultItem | import("../property-action/index.js").UmbPropertyActionExtensions | import("../../user/current-user/index.js").ManifestCurrentUserAction<import("../../user/current-user/index.js").MetaCurrentUserAction> | import("../../media/media/index.js").ManifestFileUploadPreview | import("../../user/current-user/index.js").ManifestUserProfileApp | import("../server-file-system/index.js").ManifestEntityActionRenameServerFileKind | import("../themes/theme.extension.js").ManifestTheme | import("../workspace/kinds/default/types.js").ManifestWorkspaceDefaultKind | import("../../block/block-custom-view/index.js").ManifestBlockEditorCustomView | import("../../user/user-permission/index.js").ManifestEntityUserPermission | import("../../user/user-permission/index.js").ManifestGranularUserPermission | import("../../health-check/index.js").ManifestHealthCheck | import("../../tiny-mce/index.js").ManifestTinyMcePlugin | import("../../packages/package/index.js").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("../../tiptap/index.js").ManifestTiptapToolbarExtension<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapToolbarExtensionButtonKind<import("../../tiptap/index.js").MetaTiptapToolbarExtension> | import("../../tiptap/index.js").ManifestTiptapExtension<import("../../tiptap/index.js").MetaTiptapExtension> | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("../../../libs/extension-api/index.js").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../../markdown-editor/index.js").ManifestMonacoMarkdownEditorAction | import("../content/collection/types.js").ManifestWorkspaceViewContentCollectionKind)[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { UmbDashboardElement } from './dashboard-element.interface.js';
|
|
2
2
|
import type { ManifestElement, ManifestWithDynamicConditions } from '../../../libs/extension-api/index.js';
|
|
3
|
-
export interface ManifestDashboard extends ManifestElement<UmbDashboardElement>, ManifestWithDynamicConditions<
|
|
3
|
+
export interface ManifestDashboard extends ManifestElement<UmbDashboardElement>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
|
|
4
4
|
type: 'dashboard';
|
|
5
5
|
meta: MetaDashboard;
|
|
6
6
|
}
|
|
@@ -4,7 +4,7 @@ import type { UmbEntityAction, UmbEntityActionElement } from './index.js';
|
|
|
4
4
|
* An action to perform on an entity
|
|
5
5
|
* For example for content you may wish to create a new document etc
|
|
6
6
|
*/
|
|
7
|
-
export interface ManifestEntityAction<MetaType extends MetaEntityAction = MetaEntityAction> extends ManifestElementAndApi<UmbEntityActionElement, UmbEntityAction<MetaType>>, ManifestWithDynamicConditions<
|
|
7
|
+
export interface ManifestEntityAction<MetaType extends MetaEntityAction = MetaEntityAction> extends ManifestElementAndApi<UmbEntityActionElement, UmbEntityAction<MetaType>>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
|
|
8
8
|
type: 'entityAction';
|
|
9
9
|
forEntityTypes: Array<string>;
|
|
10
10
|
meta: MetaType;
|