@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
|
@@ -2,17 +2,17 @@ import type { ManifestBase } from './manifest-base.interface.js';
|
|
|
2
2
|
export interface UmbConditionConfigBase<AliasType extends string = string> {
|
|
3
3
|
alias: AliasType;
|
|
4
4
|
}
|
|
5
|
-
export type ConditionTypeMap<
|
|
6
|
-
[Condition in
|
|
5
|
+
export type ConditionTypeMap<ConditionConfigs extends UmbConditionConfigBase> = {
|
|
6
|
+
[Condition in ConditionConfigs as Condition['alias']]: Condition;
|
|
7
7
|
} & {
|
|
8
8
|
[key: string]: UmbConditionConfigBase;
|
|
9
9
|
};
|
|
10
|
-
export type SpecificConditionTypeOrUmbConditionConfigBase<
|
|
11
|
-
export interface ManifestWithDynamicConditions<
|
|
10
|
+
export type SpecificConditionTypeOrUmbConditionConfigBase<ConditionConfigs extends UmbConditionConfigBase, T extends keyof ConditionTypeMap<ConditionConfigs> | string> = T extends keyof ConditionTypeMap<ConditionConfigs> ? ConditionTypeMap<ConditionConfigs>[T] : UmbConditionConfigBase;
|
|
11
|
+
export interface ManifestWithDynamicConditions<ConditionConfigs extends UmbConditionConfigBase = UmbConditionConfigBase> extends ManifestBase {
|
|
12
12
|
/**
|
|
13
13
|
* Set the conditions for when the extension should be loaded
|
|
14
14
|
*/
|
|
15
|
-
conditions?: Array<
|
|
15
|
+
conditions?: Array<ConditionConfigs>;
|
|
16
16
|
/**
|
|
17
17
|
* Define one or more extension aliases that this extension should overwrite.
|
|
18
18
|
*/
|
|
@@ -5,7 +5,7 @@ export interface BlockEntryIsExposedConditionConfig extends UmbConditionConfigBa
|
|
|
5
5
|
match?: boolean;
|
|
6
6
|
}
|
|
7
7
|
declare global {
|
|
8
|
-
interface
|
|
8
|
+
interface UmbExtensionConditionConfigMap {
|
|
9
9
|
umbBlock: BlockEntryShowContentEditConditionConfig | BlockWorkspaceHasSettingsConditionConfig | BlockEntryIsExposedConditionConfig;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -38,6 +38,7 @@ export declare abstract class UmbBlockEntryContext<BlockManagerContextTokenType
|
|
|
38
38
|
readonly workspacePath: Observable<string | undefined>;
|
|
39
39
|
readonly workspaceEditContentPath: Observable<string>;
|
|
40
40
|
readonly workspaceEditSettingsPath: Observable<string>;
|
|
41
|
+
_contentStructureHasProperties: Observable<boolean | undefined>;
|
|
41
42
|
propertyVariantId(structure: UmbContentTypeStructureManager, propertyAlias: string): Promise<Observable<UmbVariantId | undefined>>;
|
|
42
43
|
setContentPropertyValue(propertyAlias: string, value: unknown): void;
|
|
43
44
|
setSettingsPropertyValue(propertyAlias: string, value: unknown): void;
|
|
@@ -31,6 +31,7 @@ export class UmbBlockEntryContext extends UmbContextBase {
|
|
|
31
31
|
#contentStructure;
|
|
32
32
|
#contentStructurePromiseResolve;
|
|
33
33
|
#contentStructurePromise;
|
|
34
|
+
#contentStructureHasProperties;
|
|
34
35
|
#settingsStructure;
|
|
35
36
|
#settingsStructurePromiseResolve;
|
|
36
37
|
#settingsStructurePromise;
|
|
@@ -149,6 +150,8 @@ export class UmbBlockEntryContext extends UmbContextBase {
|
|
|
149
150
|
this.#contentStructurePromiseResolve = undefined;
|
|
150
151
|
};
|
|
151
152
|
});
|
|
153
|
+
this.#contentStructureHasProperties = new UmbBooleanState(undefined);
|
|
154
|
+
this._contentStructureHasProperties = this.#contentStructureHasProperties.asObservable();
|
|
152
155
|
this.#settingsStructurePromise = new Promise((resolve) => {
|
|
153
156
|
this.#settingsStructurePromiseResolve = () => {
|
|
154
157
|
resolve(undefined);
|
|
@@ -363,6 +366,9 @@ export class UmbBlockEntryContext extends UmbContextBase {
|
|
|
363
366
|
this.#contentElementType.setValue(contentType);
|
|
364
367
|
this._gotContentType(contentType);
|
|
365
368
|
}, 'observeContentElementType');
|
|
369
|
+
this.observe(this.#contentStructure?.contentTypeHasProperties, (has) => {
|
|
370
|
+
this.#contentStructureHasProperties.setValue(has);
|
|
371
|
+
}, 'observeContentTypeHasProperties');
|
|
366
372
|
}
|
|
367
373
|
#getSettingsStructure(contentTypeKey) {
|
|
368
374
|
if (!this._manager || !contentTypeKey)
|
|
@@ -407,7 +413,7 @@ export class UmbBlockEntryContext extends UmbContextBase {
|
|
|
407
413
|
if (!variantId || !this.#contentKey)
|
|
408
414
|
return;
|
|
409
415
|
// TODO: Handle variantId changes
|
|
410
|
-
this.observe(this._manager?.hasExposeOf(this.#contentKey
|
|
416
|
+
this.observe(this._manager?.hasExposeOf(this.#contentKey), (hasExpose) => {
|
|
411
417
|
this.#hasExpose.setValue(hasExpose);
|
|
412
418
|
}, 'observeExpose');
|
|
413
419
|
}
|
|
@@ -439,9 +445,8 @@ export class UmbBlockEntryContext extends UmbContextBase {
|
|
|
439
445
|
this._entries.delete(contentKey);
|
|
440
446
|
}
|
|
441
447
|
expose() {
|
|
442
|
-
|
|
443
|
-
if (!this.#contentKey || !variantId)
|
|
448
|
+
if (!this.#contentKey)
|
|
444
449
|
return;
|
|
445
|
-
this._manager?.setOneExpose(this.#contentKey
|
|
450
|
+
this._manager?.setOneExpose(this.#contentKey);
|
|
446
451
|
}
|
|
447
452
|
}
|
|
@@ -2,7 +2,7 @@ import type { UmbBlockWorkspaceOriginData } from '../workspace/index.js';
|
|
|
2
2
|
import type { UmbBlockLayoutBaseModel, UmbBlockDataModel, UmbBlockExposeModel } from '../types.js';
|
|
3
3
|
import { UmbContextBase } from '../../../../libs/class-api/index.js';
|
|
4
4
|
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
|
|
5
|
-
import { UmbArrayState, UmbBooleanState, UmbClassState } from '../../../../libs/observable-api/index.js';
|
|
5
|
+
import { UmbArrayState, UmbBooleanState, UmbClassState, type MappingFunction } from '../../../../libs/observable-api/index.js';
|
|
6
6
|
import { UmbContentTypeStructureManager, type UmbContentTypeModel } from '../../../core/content-type/index.js';
|
|
7
7
|
import type { UmbPropertyEditorConfigCollection } from '../../../core/property-editor/index.js';
|
|
8
8
|
import type { UmbVariantId } from '../../../core/variant/index.js';
|
|
@@ -31,6 +31,7 @@ export declare abstract class UmbBlockManagerContext<BlockType extends UmbBlockT
|
|
|
31
31
|
readonly exposes: import("rxjs/internal/Observable").Observable<UmbBlockExposeModel[]>;
|
|
32
32
|
setEditorConfiguration(configs: UmbPropertyEditorConfigCollection): void;
|
|
33
33
|
getEditorConfiguration(): UmbPropertyEditorConfigCollection | undefined;
|
|
34
|
+
editorConfigurationPart(method: MappingFunction<UmbPropertyEditorConfigCollection | undefined, unknown>): import("rxjs/internal/Observable").Observable<unknown>;
|
|
34
35
|
setBlockTypes(blockTypes: Array<BlockType>): void;
|
|
35
36
|
getBlockTypes(): BlockType[];
|
|
36
37
|
setLayouts(layouts: Array<BlockLayoutType>): void;
|
|
@@ -50,18 +51,18 @@ export declare abstract class UmbBlockManagerContext<BlockType extends UmbBlockT
|
|
|
50
51
|
layoutOf(contentKey: string): import("rxjs/internal/Observable").Observable<BlockLayoutType | undefined>;
|
|
51
52
|
contentOf(key: string): import("rxjs/internal/Observable").Observable<UmbBlockDataModel | undefined>;
|
|
52
53
|
settingsOf(key: string): import("rxjs/internal/Observable").Observable<UmbBlockDataModel | undefined>;
|
|
53
|
-
|
|
54
|
-
hasExposeOf(contentKey: string
|
|
54
|
+
currentExposeOf(contentKey: string): import("rxjs/internal/Observable").Observable<UmbBlockExposeModel | undefined> | undefined;
|
|
55
|
+
hasExposeOf(contentKey: string): import("rxjs/internal/Observable").Observable<boolean> | undefined;
|
|
55
56
|
getBlockTypeOf(contentTypeKey: string): BlockType | undefined;
|
|
56
57
|
getContentOf(contentKey: string): UmbBlockDataModel | undefined;
|
|
57
|
-
setOneLayout(layoutData: BlockLayoutType): void;
|
|
58
|
+
setOneLayout(layoutData: BlockLayoutType, _originData?: BlockOriginDataType): void;
|
|
58
59
|
setOneContent(contentData: UmbBlockDataModel): void;
|
|
59
60
|
setOneSettings(settingsData: UmbBlockDataModel): void;
|
|
60
|
-
setOneExpose(contentKey: string
|
|
61
|
+
setOneExpose(contentKey: string): void;
|
|
61
62
|
removeOneContent(contentKey: string): void;
|
|
62
63
|
removeOneSettings(settingsKey: string): void;
|
|
63
64
|
removeExposesOf(contentKey: string): void;
|
|
64
|
-
|
|
65
|
+
removeCurrentExpose(contentKey: string): void;
|
|
65
66
|
setOneContentProperty(key: string, propertyAlias: string, value: unknown): void;
|
|
66
67
|
setOneSettingsProperty(key: string, propertyAlias: string, value: unknown): void;
|
|
67
68
|
contentProperty(key: string, propertyAlias: string): void;
|
|
@@ -87,6 +88,6 @@ export declare abstract class UmbBlockManagerContext<BlockType extends UmbBlockT
|
|
|
87
88
|
settings: UmbBlockDataModel | undefined;
|
|
88
89
|
};
|
|
89
90
|
abstract insert(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, originData: BlockOriginDataType): boolean;
|
|
90
|
-
protected insertBlockData(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings
|
|
91
|
+
protected insertBlockData(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, _originData: BlockOriginDataType): void;
|
|
91
92
|
protected removeBlockKey(contentKey: string): void;
|
|
92
93
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UMB_BLOCK_MANAGER_CONTEXT } from './block-manager.context-token.js';
|
|
2
2
|
import { UmbContextBase } from '../../../../libs/class-api/index.js';
|
|
3
|
-
import { UmbArrayState, UmbBooleanState, UmbClassState, UmbStringState } from '../../../../libs/observable-api/index.js';
|
|
3
|
+
import { UmbArrayState, UmbBooleanState, UmbClassState, UmbStringState, mergeObservables, } from '../../../../libs/observable-api/index.js';
|
|
4
4
|
import { UmbDocumentTypeDetailRepository } from '../../../documents/document-types/index.js';
|
|
5
5
|
import { UmbContentTypeStructureManager } from '../../../core/content-type/index.js';
|
|
6
6
|
import { UmbId } from '../../../core/id/index.js';
|
|
@@ -26,12 +26,15 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
26
26
|
setEditorConfiguration(configs) {
|
|
27
27
|
this._editorConfiguration.setValue(configs);
|
|
28
28
|
if (this._liveEditingMode.getValue() === undefined) {
|
|
29
|
-
this._liveEditingMode.setValue(configs.getValueByAlias('
|
|
29
|
+
this._liveEditingMode.setValue(configs.getValueByAlias('useLiveEditing'));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
getEditorConfiguration() {
|
|
33
33
|
return this._editorConfiguration.getValue();
|
|
34
34
|
}
|
|
35
|
+
editorConfigurationPart(method) {
|
|
36
|
+
return this._editorConfiguration.asObservablePart(method);
|
|
37
|
+
}
|
|
35
38
|
setBlockTypes(blockTypes) {
|
|
36
39
|
this.#blockTypes.setValue(blockTypes);
|
|
37
40
|
}
|
|
@@ -139,10 +142,16 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
139
142
|
settingsOf(key) {
|
|
140
143
|
return this.#settings.asObservablePart((source) => source.find((x) => x.key === key));
|
|
141
144
|
}
|
|
142
|
-
|
|
143
|
-
|
|
145
|
+
currentExposeOf(contentKey) {
|
|
146
|
+
const variantId = this.#variantId.getValue();
|
|
147
|
+
if (!variantId)
|
|
148
|
+
return;
|
|
149
|
+
return mergeObservables([this.#exposes.asObservablePart((source) => source.filter((x) => x.contentKey === contentKey)), this.variantId], ([exposes, variantId]) => (variantId ? exposes.find((x) => variantId.compare(x)) : undefined));
|
|
144
150
|
}
|
|
145
|
-
hasExposeOf(contentKey
|
|
151
|
+
hasExposeOf(contentKey) {
|
|
152
|
+
const variantId = this.#variantId.getValue();
|
|
153
|
+
if (!variantId)
|
|
154
|
+
return;
|
|
146
155
|
return this.#exposes.asObservablePart((source) => source.some((x) => x.contentKey === contentKey && variantId.compare(x)));
|
|
147
156
|
}
|
|
148
157
|
getBlockTypeOf(contentTypeKey) {
|
|
@@ -151,7 +160,9 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
151
160
|
getContentOf(contentKey) {
|
|
152
161
|
return this.#contents.value.find((x) => x.key === contentKey);
|
|
153
162
|
}
|
|
154
|
-
|
|
163
|
+
// originData param is used by some implementations. [NL] should be here, do not remove it.
|
|
164
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
165
|
+
setOneLayout(layoutData, _originData) {
|
|
155
166
|
this._layouts.appendOne(layoutData);
|
|
156
167
|
}
|
|
157
168
|
setOneContent(contentData) {
|
|
@@ -160,7 +171,10 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
160
171
|
setOneSettings(settingsData) {
|
|
161
172
|
this.#settings.appendOne(settingsData);
|
|
162
173
|
}
|
|
163
|
-
setOneExpose(contentKey
|
|
174
|
+
setOneExpose(contentKey) {
|
|
175
|
+
const variantId = this.#variantId.getValue();
|
|
176
|
+
if (!variantId)
|
|
177
|
+
return;
|
|
164
178
|
this.#exposes.appendOne({ contentKey, ...variantId.toObject() });
|
|
165
179
|
}
|
|
166
180
|
removeOneContent(contentKey) {
|
|
@@ -172,7 +186,10 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
172
186
|
removeExposesOf(contentKey) {
|
|
173
187
|
this.#exposes.filter((x) => x.contentKey !== contentKey);
|
|
174
188
|
}
|
|
175
|
-
|
|
189
|
+
removeCurrentExpose(contentKey) {
|
|
190
|
+
const variantId = this.#variantId.getValue();
|
|
191
|
+
if (!variantId)
|
|
192
|
+
return;
|
|
176
193
|
this.#exposes.filter((x) => !(x.contentKey === contentKey && variantId.compare(x)));
|
|
177
194
|
}
|
|
178
195
|
setOneContentProperty(key, propertyAlias, value) {
|
|
@@ -231,7 +248,9 @@ export class UmbBlockManagerContext extends UmbContextBase {
|
|
|
231
248
|
settings,
|
|
232
249
|
};
|
|
233
250
|
}
|
|
234
|
-
insertBlockData(layoutEntry, content, settings
|
|
251
|
+
insertBlockData(layoutEntry, content, settings,
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
253
|
+
_originData) {
|
|
235
254
|
// Create content entry:
|
|
236
255
|
if (layoutEntry.contentKey) {
|
|
237
256
|
this.#contents.appendOne(content);
|
|
@@ -51,6 +51,7 @@ export declare class UmbBlockWorkspaceContext<LayoutDataType extends UmbBlockLay
|
|
|
51
51
|
*/
|
|
52
52
|
setPropertyValue(alias: string, value: unknown): Promise<void>;
|
|
53
53
|
submit(): Promise<void>;
|
|
54
|
+
expose(): void;
|
|
54
55
|
destroy(): void;
|
|
55
56
|
}
|
|
56
57
|
export { UmbBlockWorkspaceContext as api };
|
|
@@ -57,7 +57,7 @@ export class UmbBlockWorkspaceContext extends UmbSubmittableWorkspaceContextBase
|
|
|
57
57
|
else {
|
|
58
58
|
// Revert the layout, content & settings data to the original state: [NL]
|
|
59
59
|
if (this.#initialLayout) {
|
|
60
|
-
this.#blockManager?.setOneLayout(this.#initialLayout);
|
|
60
|
+
this.#blockManager?.setOneLayout(this.#initialLayout, this.#modalContext?.data.originData);
|
|
61
61
|
}
|
|
62
62
|
if (this.#initialContent) {
|
|
63
63
|
this.#blockManager?.setOneContent(this.#initialContent);
|
|
@@ -99,13 +99,13 @@ export class UmbBlockWorkspaceContext extends UmbSubmittableWorkspaceContextBase
|
|
|
99
99
|
}
|
|
100
100
|
this.#variantId.setValue(variantId);
|
|
101
101
|
}, 'observeBlockType');
|
|
102
|
-
this.observe(
|
|
103
|
-
if (!
|
|
102
|
+
this.observe(this.contentKey, (contentKey) => {
|
|
103
|
+
if (!contentKey)
|
|
104
104
|
return;
|
|
105
|
-
this.observe(manager.hasExposeOf(contentKey
|
|
105
|
+
this.observe(manager.hasExposeOf(contentKey), (exposed) => {
|
|
106
106
|
this.#exposed.setValue(exposed);
|
|
107
107
|
}, 'observeHasExpose');
|
|
108
|
-
}, '
|
|
108
|
+
}, 'observeContentKey');
|
|
109
109
|
}).asPromise();
|
|
110
110
|
this.#retrieveBlockEntries = this.consumeContext(UMB_BLOCK_ENTRIES_CONTEXT, (context) => {
|
|
111
111
|
this.#blockEntries = context;
|
|
@@ -260,7 +260,7 @@ export class UmbBlockWorkspaceContext extends UmbSubmittableWorkspaceContextBase
|
|
|
260
260
|
establishLiveSync() {
|
|
261
261
|
this.observe(this.layout, (layoutData) => {
|
|
262
262
|
if (layoutData) {
|
|
263
|
-
this.#blockManager?.setOneLayout(layoutData);
|
|
263
|
+
this.#blockManager?.setOneLayout(layoutData, this.#modalContext?.data.originData);
|
|
264
264
|
}
|
|
265
265
|
}, 'observeThisLayout');
|
|
266
266
|
this.observe(this.content.data, (contentData) => {
|
|
@@ -329,7 +329,7 @@ export class UmbBlockWorkspaceContext extends UmbSubmittableWorkspaceContextBase
|
|
|
329
329
|
}
|
|
330
330
|
else {
|
|
331
331
|
// Update data:
|
|
332
|
-
this.#blockManager.setOneLayout(layoutData);
|
|
332
|
+
this.#blockManager.setOneLayout(layoutData, this.#modalContext.data.originData);
|
|
333
333
|
if (contentData) {
|
|
334
334
|
this.#blockManager.setOneContent(contentData);
|
|
335
335
|
}
|
|
@@ -341,13 +341,14 @@ export class UmbBlockWorkspaceContext extends UmbSubmittableWorkspaceContextBase
|
|
|
341
341
|
this.#expose(layoutData.contentKey);
|
|
342
342
|
this.setIsNew(false);
|
|
343
343
|
}
|
|
344
|
+
expose() {
|
|
345
|
+
const contentKey = this.#layout.value?.contentKey;
|
|
346
|
+
if (!contentKey)
|
|
347
|
+
throw new Error('Cannot expose block that does not exist.');
|
|
348
|
+
this.#expose(contentKey);
|
|
349
|
+
}
|
|
344
350
|
#expose(unique) {
|
|
345
|
-
|
|
346
|
-
if (!variantId) {
|
|
347
|
-
throw new Error('Block could not bre exposed cause we where missing a variant ID.');
|
|
348
|
-
}
|
|
349
|
-
// expose
|
|
350
|
-
this.#blockManager?.setOneExpose(unique, variantId);
|
|
351
|
+
this.#blockManager?.setOneExpose(unique);
|
|
351
352
|
}
|
|
352
353
|
#modalRejected;
|
|
353
354
|
destroy() {
|
|
@@ -12,7 +12,9 @@ export declare class UmbBlockWorkspaceViewEditContentNoRouterElement extends Umb
|
|
|
12
12
|
private _hasRootGroups;
|
|
13
13
|
_tabs?: Array<UmbPropertyTypeContainerModel>;
|
|
14
14
|
private _activeTabId?;
|
|
15
|
-
private
|
|
15
|
+
private _ownerContentTypeName?;
|
|
16
|
+
private _variantName?;
|
|
17
|
+
private _exposed?;
|
|
16
18
|
constructor();
|
|
17
19
|
render(): import("lit-html").TemplateResult<1> | undefined;
|
|
18
20
|
static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
|
|
@@ -6,10 +6,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { UMB_BLOCK_WORKSPACE_CONTEXT } from '../../block-workspace.context-token.js';
|
|
8
8
|
import './block-workspace-view-edit-tab.element.js';
|
|
9
|
-
import { css, html, customElement, state, repeat } from '../../../../../../external/lit/index.js';
|
|
9
|
+
import { css, html, customElement, state, repeat, nothing } from '../../../../../../external/lit/index.js';
|
|
10
10
|
import { UmbTextStyles } from '../../../../../core/style/index.js';
|
|
11
11
|
import { UmbContentTypeContainerStructureHelper } from '../../../../../core/content-type/index.js';
|
|
12
12
|
import { UmbLitElement } from '../../../../../core/lit-element/index.js';
|
|
13
|
+
import { UmbLanguageItemRepository } from '../../../../../language/index.js';
|
|
13
14
|
/**
|
|
14
15
|
* @element umb-block-workspace-view-edit-content-no-router
|
|
15
16
|
* @description
|
|
@@ -23,6 +24,9 @@ let UmbBlockWorkspaceViewEditContentNoRouterElement = class UmbBlockWorkspaceVie
|
|
|
23
24
|
//private _hasRootProperties = false;
|
|
24
25
|
this._hasRootGroups = false;
|
|
25
26
|
this.#tabsStructureHelper = new UmbContentTypeContainerStructureHelper(this);
|
|
27
|
+
this.#expose = () => {
|
|
28
|
+
this.#blockWorkspace?.expose();
|
|
29
|
+
};
|
|
26
30
|
this.#tabsStructureHelper.setIsRoot(true);
|
|
27
31
|
this.#tabsStructureHelper.setContainerChildType('Tab');
|
|
28
32
|
this.observe(this.#tabsStructureHelper.mergedContainers, (tabs) => {
|
|
@@ -30,11 +34,29 @@ let UmbBlockWorkspaceViewEditContentNoRouterElement = class UmbBlockWorkspaceVie
|
|
|
30
34
|
this.#checkDefaultTabName();
|
|
31
35
|
});
|
|
32
36
|
// _hasRootProperties can be gotten via _tabsStructureHelper.hasProperties. But we do not support root properties currently.
|
|
33
|
-
this.consumeContext(UMB_BLOCK_WORKSPACE_CONTEXT, (
|
|
34
|
-
this.#blockWorkspace =
|
|
35
|
-
this.#tabsStructureHelper.setStructureManager(
|
|
36
|
-
|
|
37
|
+
this.consumeContext(UMB_BLOCK_WORKSPACE_CONTEXT, (context) => {
|
|
38
|
+
this.#blockWorkspace = context;
|
|
39
|
+
this.#tabsStructureHelper.setStructureManager(context.content.structure);
|
|
40
|
+
context.content.setup(this);
|
|
37
41
|
this.#observeRootGroups();
|
|
42
|
+
this.observe(context.content.structure.ownerContentTypeName, (name) => {
|
|
43
|
+
this._ownerContentTypeName = name;
|
|
44
|
+
}, 'observeContentTypeName');
|
|
45
|
+
this.observe(context.variantId, async (variantId) => {
|
|
46
|
+
if (variantId) {
|
|
47
|
+
// TODO: Support segment name?
|
|
48
|
+
const culture = variantId.culture;
|
|
49
|
+
if (culture) {
|
|
50
|
+
const languageRepository = new UmbLanguageItemRepository(this);
|
|
51
|
+
const { data } = await languageRepository.requestItems([culture]);
|
|
52
|
+
const name = data?.[0].name;
|
|
53
|
+
this._variantName = name ? this.localize.string(name) : undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}, 'observeVariant');
|
|
57
|
+
this.observe(context.exposed, (exposed) => {
|
|
58
|
+
this._exposed = exposed;
|
|
59
|
+
}, 'observeExposed');
|
|
38
60
|
});
|
|
39
61
|
}
|
|
40
62
|
async #observeRootGroups() {
|
|
@@ -51,20 +73,29 @@ let UmbBlockWorkspaceViewEditContentNoRouterElement = class UmbBlockWorkspaceVie
|
|
|
51
73
|
// Find the default tab to grab:
|
|
52
74
|
if (this._activeTabId === undefined) {
|
|
53
75
|
if (this._hasRootGroups) {
|
|
54
|
-
this._activeTabName = null;
|
|
76
|
+
//this._activeTabName = null;
|
|
55
77
|
this._activeTabId = null;
|
|
56
78
|
}
|
|
57
79
|
else if (this._tabs.length > 0) {
|
|
58
|
-
this._activeTabName = this._tabs[0].name;
|
|
80
|
+
//this._activeTabName = this._tabs[0].name;
|
|
59
81
|
this._activeTabId = this._tabs[0].id;
|
|
60
82
|
}
|
|
61
83
|
}
|
|
62
84
|
}
|
|
63
85
|
#setTabName(tabName, tabId) {
|
|
64
|
-
this._activeTabName = tabName;
|
|
86
|
+
//this._activeTabName = tabName;
|
|
65
87
|
this._activeTabId = tabId;
|
|
66
88
|
}
|
|
89
|
+
#expose;
|
|
67
90
|
render() {
|
|
91
|
+
if (this._exposed === false) {
|
|
92
|
+
return html `<uui-button style="position:absolute; inset:0;" @click=${this.#expose}
|
|
93
|
+
><uui-icon name="icon-add"></uui-icon>
|
|
94
|
+
<umb-localize
|
|
95
|
+
key="blockEditor_createThisFor"
|
|
96
|
+
.args=${[this._ownerContentTypeName, this._variantName]}></umb-localize
|
|
97
|
+
></uui-button>`;
|
|
98
|
+
}
|
|
68
99
|
if (!this._tabs)
|
|
69
100
|
return;
|
|
70
101
|
return html `
|
|
@@ -79,7 +110,7 @@ let UmbBlockWorkspaceViewEditContentNoRouterElement = class UmbBlockWorkspaceVie
|
|
|
79
110
|
>Content</uui-tab
|
|
80
111
|
>
|
|
81
112
|
`
|
|
82
|
-
:
|
|
113
|
+
: nothing}
|
|
83
114
|
${repeat(this._tabs, (tab) => tab.name, (tab) => {
|
|
84
115
|
return html `<uui-tab
|
|
85
116
|
label=${tab.name ?? 'Unnamed'}
|
|
@@ -89,20 +120,21 @@ let UmbBlockWorkspaceViewEditContentNoRouterElement = class UmbBlockWorkspaceVie
|
|
|
89
120
|
>`;
|
|
90
121
|
})}
|
|
91
122
|
</uui-tab-group>`
|
|
92
|
-
:
|
|
123
|
+
: nothing}
|
|
93
124
|
${this._activeTabId !== undefined
|
|
94
125
|
? html `<umb-block-workspace-view-edit-tab
|
|
95
126
|
.managerName=${'content'}
|
|
96
127
|
.hideSingleGroup=${true}
|
|
97
128
|
.containerId=${this._activeTabId}>
|
|
98
129
|
</umb-block-workspace-view-edit-tab>`
|
|
99
|
-
:
|
|
130
|
+
: nothing}
|
|
100
131
|
`;
|
|
101
132
|
}
|
|
102
133
|
static { this.styles = [
|
|
103
134
|
UmbTextStyles,
|
|
104
135
|
css `
|
|
105
136
|
:host {
|
|
137
|
+
position: relative;
|
|
106
138
|
display: block;
|
|
107
139
|
height: 100%;
|
|
108
140
|
--uui-tab-background: var(--uui-color-surface);
|
|
@@ -123,7 +155,13 @@ __decorate([
|
|
|
123
155
|
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_activeTabId", void 0);
|
|
124
156
|
__decorate([
|
|
125
157
|
state()
|
|
126
|
-
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "
|
|
158
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_ownerContentTypeName", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
state()
|
|
161
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_variantName", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
state()
|
|
164
|
+
], UmbBlockWorkspaceViewEditContentNoRouterElement.prototype, "_exposed", void 0);
|
|
127
165
|
UmbBlockWorkspaceViewEditContentNoRouterElement = __decorate([
|
|
128
166
|
customElement('umb-block-workspace-view-edit-content-no-router')
|
|
129
167
|
], UmbBlockWorkspaceViewEditContentNoRouterElement);
|
|
@@ -10,7 +10,7 @@ export interface UmbBlockEditorCustomViewConfiguration {
|
|
|
10
10
|
}
|
|
11
11
|
export interface UmbBlockEditorCustomViewProperties<LayoutType extends UmbBlockLayoutBaseModel = UmbBlockLayoutBaseModel, BlockType extends UmbBlockTypeBaseModel = UmbBlockTypeBaseModel> {
|
|
12
12
|
manifest?: ManifestBlockEditorCustomView;
|
|
13
|
-
config?:
|
|
13
|
+
config?: UmbBlockEditorCustomViewConfiguration;
|
|
14
14
|
blockType?: BlockType;
|
|
15
15
|
contentKey?: string;
|
|
16
16
|
label?: string;
|
package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js
CHANGED
|
@@ -14,7 +14,9 @@ import '../ref-grid-block/index.js';
|
|
|
14
14
|
*/
|
|
15
15
|
let UmbBlockGridBlockElement = class UmbBlockGridBlockElement extends UmbLitElement {
|
|
16
16
|
render() {
|
|
17
|
-
return html `<umb-ref-grid-block
|
|
17
|
+
return html `<umb-ref-grid-block
|
|
18
|
+
standalone
|
|
19
|
+
href=${(this.config?.showContentEdit ? this.config?.editContentPath : undefined) ?? ''}>
|
|
18
20
|
<umb-icon slot="icon" .name=${this.icon}></umb-icon>
|
|
19
21
|
<umb-ufm-render slot="name" inline .markdown=${this.label} .value=${this.content}></umb-ufm-render>
|
|
20
22
|
<umb-block-grid-areas-container slot="areas"></umb-block-grid-areas-container>
|
|
@@ -24,7 +24,9 @@ let UmbBlockGridBlockInlineElement = class UmbBlockGridBlockInlineElement extend
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
|
-
return html `<umb-ref-grid-block
|
|
27
|
+
return html `<umb-ref-grid-block
|
|
28
|
+
standalone
|
|
29
|
+
href=${(this.config?.showContentEdit ? this.config?.editContentPath : undefined) ?? ''}>
|
|
28
30
|
<umb-icon slot="icon" .name=${this.icon}></umb-icon>
|
|
29
31
|
<umb-ufm-render slot="name" inline .markdown=${this.label} .value=${this.content}></umb-ufm-render>
|
|
30
32
|
<umb-property-type-based-property
|
|
@@ -12,7 +12,8 @@ export declare class UmbBlockGridEntriesElement extends UmbBlockGridEntriesEleme
|
|
|
12
12
|
get layoutColumns(): number | undefined;
|
|
13
13
|
private _areaKey?;
|
|
14
14
|
private _canCreate?;
|
|
15
|
-
private
|
|
15
|
+
private _createLabel?;
|
|
16
|
+
private _configCreateLabel?;
|
|
16
17
|
private _styleElement?;
|
|
17
18
|
private _layoutEntries;
|
|
18
19
|
constructor();
|
|
@@ -151,11 +151,12 @@ let UmbBlockGridEntriesElement = class UmbBlockGridEntriesElement extends UmbFor
|
|
|
151
151
|
this._canCreate = length > 0;
|
|
152
152
|
if (length === 1) {
|
|
153
153
|
this.observe(this.#context.firstAllowedBlockTypeName(), (firstAllowedName) => {
|
|
154
|
-
this.
|
|
154
|
+
this._createLabel = this.localize.term('blockEditor_addThis', [firstAllowedName]);
|
|
155
155
|
}, 'observeSingleBlockTypeName');
|
|
156
156
|
}
|
|
157
157
|
else {
|
|
158
158
|
this.removeUmbControllerByAlias('observeSingleBlockTypeName');
|
|
159
|
+
this._createLabel = this.localize.term('blockEditor_addBlock');
|
|
159
160
|
}
|
|
160
161
|
}, null);
|
|
161
162
|
this.observe(this.#context.rangeLimits, (rangeLimits) => {
|
|
@@ -172,6 +173,12 @@ let UmbBlockGridEntriesElement = class UmbBlockGridEntriesElement extends UmbFor
|
|
|
172
173
|
this._styleElement.rel = 'stylesheet';
|
|
173
174
|
this._styleElement.href = stylesheet;
|
|
174
175
|
}, 'observeStylesheet');
|
|
176
|
+
if (this.areaKey) {
|
|
177
|
+
this.observe(this.#context.areaTypeCreateLabel, (label) => (this._configCreateLabel = label), 'observeConfigCreateLabel');
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.observe(manager.editorConfigurationPart((x) => x?.find((y) => y.alias === 'createLabel')?.value), (label) => (this._configCreateLabel = label), 'observeConfigCreateLabel');
|
|
181
|
+
}
|
|
175
182
|
});
|
|
176
183
|
new UmbFormControlValidator(this, this /*, this.#dataPath*/);
|
|
177
184
|
}
|
|
@@ -234,9 +241,7 @@ let UmbBlockGridEntriesElement = class UmbBlockGridEntriesElement extends UmbFor
|
|
|
234
241
|
return html `<uui-button-group id="createButton">
|
|
235
242
|
<uui-button
|
|
236
243
|
look="placeholder"
|
|
237
|
-
label=${this.
|
|
238
|
-
? this.localize.term('blockEditor_addThis', [this._singleBlockTypeName])
|
|
239
|
-
: this.localize.term('blockEditor_addBlock')}
|
|
244
|
+
label=${this._configCreateLabel ?? this._createLabel ?? ''}
|
|
240
245
|
href=${this.#context.getPathForCreateBlock(-1) ?? ''}></uui-button>
|
|
241
246
|
${this._areaKey === null
|
|
242
247
|
? html ` <uui-button
|
|
@@ -332,7 +337,10 @@ __decorate([
|
|
|
332
337
|
], UmbBlockGridEntriesElement.prototype, "_canCreate", void 0);
|
|
333
338
|
__decorate([
|
|
334
339
|
state()
|
|
335
|
-
], UmbBlockGridEntriesElement.prototype, "
|
|
340
|
+
], UmbBlockGridEntriesElement.prototype, "_createLabel", void 0);
|
|
341
|
+
__decorate([
|
|
342
|
+
state()
|
|
343
|
+
], UmbBlockGridEntriesElement.prototype, "_configCreateLabel", void 0);
|
|
336
344
|
__decorate([
|
|
337
345
|
state()
|
|
338
346
|
], UmbBlockGridEntriesElement.prototype, "_styleElement", void 0);
|
package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js
CHANGED
|
@@ -223,6 +223,7 @@ let UmbBlockGridEntryElement = class UmbBlockGridEntryElement extends UmbLitElem
|
|
|
223
223
|
.label=${this._label}
|
|
224
224
|
.icon=${this._icon}
|
|
225
225
|
.unpublished=${!this._exposed}
|
|
226
|
+
.config=${this._blockViewProps.config}
|
|
226
227
|
.content=${this._blockViewProps.content}
|
|
227
228
|
.settings=${this._blockViewProps.settings}></umb-block-grid-block-inline>`;
|
|
228
229
|
}
|
|
@@ -232,6 +233,7 @@ let UmbBlockGridEntryElement = class UmbBlockGridEntryElement extends UmbLitElem
|
|
|
232
233
|
.label=${this._label}
|
|
233
234
|
.icon=${this._icon}
|
|
234
235
|
.unpublished=${!this._exposed}
|
|
236
|
+
.config=${this._blockViewProps.config}
|
|
235
237
|
.content=${this._blockViewProps.content}
|
|
236
238
|
.settings=${this._blockViewProps.settings}></umb-block-grid-block>`;
|
|
237
239
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { UmbBlockDataModel } from '../../block/index.js';
|
|
2
2
|
import { UmbBlockEntriesContext } from '../../block/index.js';
|
|
3
3
|
import { type UmbBlockGridWorkspaceOriginData } from '../index.js';
|
|
4
|
-
import type { UmbBlockGridLayoutModel, UmbBlockGridTypeModel } from '../types.js';
|
|
4
|
+
import type { UmbBlockGridLayoutModel, UmbBlockGridTypeAreaType, UmbBlockGridTypeModel } from '../types.js';
|
|
5
5
|
import { UMB_BLOCK_GRID_MANAGER_CONTEXT } from './block-grid-manager.context-token.js';
|
|
6
6
|
import type { UmbBlockGridScalableContainerContext } from './block-grid-scale-manager/block-grid-scale-manager.controller.js';
|
|
7
7
|
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
|
|
@@ -17,6 +17,8 @@ interface UmbBlockGridAreaTypeInvalidRuleType {
|
|
|
17
17
|
export declare class UmbBlockGridEntriesContext extends UmbBlockEntriesContext<typeof UMB_BLOCK_GRID_MANAGER_CONTEXT, typeof UMB_BLOCK_GRID_MANAGER_CONTEXT.TYPE, UmbBlockGridTypeModel, UmbBlockGridLayoutModel, UmbBlockGridWorkspaceOriginData> implements UmbBlockGridScalableContainerContext {
|
|
18
18
|
#private;
|
|
19
19
|
readonly layoutColumns: import("rxjs/internal/Observable").Observable<number | undefined>;
|
|
20
|
+
areaType: import("rxjs/internal/Observable").Observable<UmbBlockGridTypeAreaType | undefined>;
|
|
21
|
+
areaTypeCreateLabel: import("rxjs/internal/Observable").Observable<string | undefined>;
|
|
20
22
|
readonly rangeLimits: import("rxjs/internal/Observable").Observable<UmbNumberRangeValueType | undefined>;
|
|
21
23
|
readonly allowedBlockTypes: import("rxjs/internal/Observable").Observable<UmbBlockGridTypeModel[]>;
|
|
22
24
|
readonly amountOfAllowedBlockTypes: import("rxjs/internal/Observable").Observable<number>;
|
|
@@ -53,7 +55,7 @@ export declare class UmbBlockGridEntriesContext extends UmbBlockEntriesContext<t
|
|
|
53
55
|
checkBlockTypeLimitsValidity(): boolean;
|
|
54
56
|
/**
|
|
55
57
|
* Check if given contentKey is allowed in the current area.
|
|
56
|
-
* @param
|
|
58
|
+
* @param {string} contentKey - The contentKey of the content to check.
|
|
57
59
|
* @returns {boolean} - True if the content is allowed in the current area, otherwise false.
|
|
58
60
|
*/
|
|
59
61
|
allowDrop(contentKey: string): boolean;
|