@umbraco-cms/backoffice 14.0.0--preview004-478ab905 → 14.0.0--preview004-eaff2f45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist-cms/apps/app/app.context.js +1 -1
  2. package/dist-cms/custom-elements.json +184 -173
  3. package/dist-cms/packages/core/collection/default/collection-default.context.js +1 -1
  4. package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +2 -2
  5. package/dist-cms/packages/core/components/variant-selector/variant-selector.element.js +4 -3
  6. package/dist-cms/packages/core/data-type/components/property-editor-config/property-editor-config.element.d.ts +1 -1
  7. package/dist-cms/packages/core/data-type/components/property-editor-config/property-editor-config.element.js +9 -8
  8. package/dist-cms/packages/core/data-type/index.d.ts +0 -1
  9. package/dist-cms/packages/core/data-type/index.js +0 -1
  10. package/dist-cms/packages/core/data-type/workspace/data-type-workspace-editor.element.js +1 -1
  11. package/dist-cms/packages/core/data-type/workspace/data-type-workspace.context.d.ts +3 -3
  12. package/dist-cms/packages/core/data-type/workspace/data-type-workspace.context.js +44 -6
  13. package/dist-cms/packages/core/data-type/workspace/views/details/data-type-details-workspace-view.element.js +2 -2
  14. package/dist-cms/packages/core/data-type/workspace/views/info/workspace-view-data-type-info.element.js +6 -6
  15. package/dist-cms/packages/core/modal/common/embedded-media/embedded-media-modal.element.js +12 -12
  16. package/dist-cms/packages/core/modal/common/section-picker/section-picker-modal.element.js +4 -9
  17. package/dist-cms/packages/core/property/index.d.ts +4 -0
  18. package/dist-cms/packages/core/property/index.js +4 -0
  19. package/dist-cms/packages/core/property/property/index.d.ts +2 -0
  20. package/dist-cms/packages/core/property/property/index.js +2 -0
  21. package/dist-cms/packages/core/{workspace/workspace-property/workspace-property.context.d.ts → property/property/property.context.d.ts} +3 -3
  22. package/dist-cms/packages/core/{workspace/workspace-property/workspace-property.context.js → property/property/property.context.js} +15 -15
  23. package/dist-cms/packages/core/{workspace/workspace-property/workspace-property.element.d.ts → property/property/property.element.d.ts} +9 -10
  24. package/dist-cms/packages/core/{workspace/workspace-property/workspace-property.element.js → property/property/property.element.js} +63 -56
  25. package/dist-cms/packages/core/property/property-dataset/index.d.ts +6 -0
  26. package/dist-cms/packages/core/property/property-dataset/index.js +6 -0
  27. package/dist-cms/packages/core/property/property-dataset/nameable-property-dataset-context.interface.d.ts +7 -0
  28. package/dist-cms/packages/core/property/property-dataset/nameable-property-dataset-context.token.d.ts +5 -0
  29. package/dist-cms/packages/core/property/property-dataset/nameable-property-dataset-context.token.js +4 -0
  30. package/dist-cms/packages/core/property/property-dataset/property-dataset-base-context.d.ts +33 -0
  31. package/dist-cms/packages/core/property/property-dataset/property-dataset-base-context.js +58 -0
  32. package/dist-cms/packages/core/{workspace/variant-context/variant-context.interface.d.ts → property/property-dataset/property-dataset-context.interface.d.ts} +7 -6
  33. package/dist-cms/packages/core/property/property-dataset/property-dataset-context.token.d.ts +3 -0
  34. package/dist-cms/packages/core/property/property-dataset/property-dataset-context.token.js +2 -0
  35. package/dist-cms/packages/core/property/property-dataset/property-dataset.element.d.ts +67 -0
  36. package/dist-cms/packages/core/property/property-dataset/property-dataset.element.js +119 -0
  37. package/dist-cms/packages/core/property/property-layout/index.d.ts +1 -0
  38. package/dist-cms/packages/core/property/property-layout/index.js +1 -0
  39. package/dist-cms/packages/core/{workspace/workspace-property-layout/workspace-property-layout.element.d.ts → property/property-layout/property-layout.element.d.ts} +4 -4
  40. package/dist-cms/packages/core/{workspace/workspace-property-layout/workspace-property-layout.element.js → property/property-layout/property-layout.element.js} +12 -12
  41. package/dist-cms/packages/core/property/types/index.d.ts +1 -0
  42. package/dist-cms/packages/core/property/types/index.js +1 -0
  43. package/dist-cms/packages/core/property/types/property-value-data.type.d.ts +4 -0
  44. package/dist-cms/packages/core/property/types/property-value-data.type.js +1 -0
  45. package/dist-cms/packages/core/property-action/common/clear/property-action-clear.element.js +2 -2
  46. package/dist-cms/packages/core/property-editor/uis/block-grid/property-editor-ui-block-grid.element.js +2 -2
  47. package/dist-cms/packages/core/property-editor/uis/block-list/config/block-configuration/property-editor-ui-block-list-block-configuration.element.js +1 -1
  48. package/dist-cms/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.js +2 -2
  49. package/dist-cms/packages/core/property-editor/uis/text-box/property-editor-ui-text-box.element.js +5 -2
  50. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.js +6 -6
  51. package/dist-cms/packages/core/tree/tree.context.d.ts +3 -21
  52. package/dist-cms/packages/core/tree/tree.context.js +1 -37
  53. package/dist-cms/packages/core/tree/tree.element.js +6 -6
  54. package/dist-cms/packages/core/workspace/index.d.ts +1 -3
  55. package/dist-cms/packages/core/workspace/index.js +1 -3
  56. package/dist-cms/packages/core/workspace/workspace-context/workspace-invariantable-context.interface.d.ts +3 -2
  57. package/dist-cms/packages/core/workspace/workspace-context/workspace-variantable-context.interface.d.ts +2 -2
  58. package/dist-cms/packages/core/workspace/workspace-modal/workspace-modal.element.d.ts +1 -1
  59. package/dist-cms/packages/core/workspace/workspace-modal/workspace-modal.element.js +2 -2
  60. package/dist-cms/packages/core/workspace/workspace-property-dataset/index.d.ts +1 -0
  61. package/dist-cms/packages/core/workspace/workspace-property-dataset/index.js +1 -0
  62. package/dist-cms/packages/core/workspace/workspace-property-dataset/invariant-workspace-property-dataset-context.d.ts +26 -0
  63. package/dist-cms/packages/core/workspace/workspace-property-dataset/invariant-workspace-property-dataset-context.js +44 -0
  64. package/dist-cms/packages/core/workspace/workspace-split-view/workspace-split-view.context.js +1 -1
  65. package/dist-cms/packages/dictionary/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.js +2 -2
  66. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-property.element.js +1 -1
  67. package/dist-cms/packages/documents/document-types/workspace/views/settings/document-type-workspace-view-settings.element.js +8 -8
  68. package/dist-cms/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.js +6 -6
  69. package/dist-cms/packages/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.js +4 -4
  70. package/dist-cms/packages/documents/documents/{variant-context/document-variant-context.d.ts → property-dataset-context/document-property-dataset-context.d.ts} +4 -4
  71. package/dist-cms/packages/documents/documents/{variant-context/document-variant-context.js → property-dataset-context/document-property-dataset-context.js} +6 -8
  72. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset-context.token.d.ts +5 -0
  73. package/dist-cms/packages/documents/documents/{variant-context/document-variant-context.token.js → property-dataset-context/document-property-dataset-context.token.js} +1 -1
  74. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +2 -2
  75. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +3 -3
  76. package/dist-cms/packages/media/media-types/workspace/views/design/media-type-workspace-view-edit-property.element.js +1 -1
  77. package/dist-cms/packages/media/media-types/workspace/views/structure/media-type-workspace-view-structure.element.js +6 -6
  78. package/dist-cms/packages/packages/package-builder/workspace/workspace-package-builder.element.js +15 -29
  79. package/dist-cms/packages/settings/languages/modals/language-picker/language-picker-modal.element.js +1 -1
  80. package/dist-cms/packages/settings/languages/workspace/language/views/details/language-details-workspace-view.element.js +8 -8
  81. package/dist-cms/packages/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.js +6 -6
  82. package/dist-cms/packages/tags/property-editors/tags/property-editor-ui-tags.element.js +2 -2
  83. package/dist-cms/packages/user/user/modals/user-picker/user-picker-modal.element.js +1 -1
  84. package/dist-cms/packages/user/user/workspace/components/user-workspace-access-settings/user-workspace-access-settings.element.js +6 -6
  85. package/dist-cms/packages/user/user/workspace/components/user-workspace-profile-settings/user-workspace-profile-settings.element.js +4 -4
  86. package/dist-cms/packages/user/user-group/modals/user-group-picker/user-group-picker-modal.element.js +1 -1
  87. package/dist-cms/packages/user/user-group/workspace/user-group-workspace-editor.element.js +6 -6
  88. package/dist-cms/shared/utils/index.d.ts +1 -1
  89. package/dist-cms/shared/utils/index.js +1 -1
  90. package/dist-cms/shared/utils/{selection-manager.d.ts → selection-manager/selection.manager.d.ts} +17 -1
  91. package/dist-cms/shared/utils/{selection-manager.js → selection-manager/selection.manager.js} +48 -6
  92. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  93. package/dist-cms/vscode-html-custom-data.json +63 -68
  94. package/examples/dashboard-with-property-dataset/README.md +5 -0
  95. package/examples/dashboard-with-property-dataset/dataset-dashboard.ts +75 -0
  96. package/examples/dashboard-with-property-dataset/index.ts +15 -0
  97. package/package.json +4 -1
  98. package/dist-cms/packages/core/data-type/variant-context/data-type-variant-context.d.ts +0 -7
  99. package/dist-cms/packages/core/data-type/variant-context/data-type-variant-context.js +0 -7
  100. package/dist-cms/packages/core/data-type/variant-context/data-type-variant-context.token.d.ts +0 -5
  101. package/dist-cms/packages/core/data-type/variant-context/data-type-variant-context.token.js +0 -3
  102. package/dist-cms/packages/core/data-type/variant-context/index.d.ts +0 -2
  103. package/dist-cms/packages/core/data-type/variant-context/index.js +0 -2
  104. package/dist-cms/packages/core/workspace/variant-context/index.d.ts +0 -5
  105. package/dist-cms/packages/core/workspace/variant-context/index.js +0 -5
  106. package/dist-cms/packages/core/workspace/variant-context/invariant-workspace-variant-context.d.ts +0 -29
  107. package/dist-cms/packages/core/workspace/variant-context/invariant-workspace-variant-context.js +0 -48
  108. package/dist-cms/packages/core/workspace/variant-context/nameable-variant-context.interface.d.ts +0 -7
  109. package/dist-cms/packages/core/workspace/variant-context/nameable-variant-context.token.d.ts +0 -5
  110. package/dist-cms/packages/core/workspace/variant-context/nameable-variant-context.token.js +0 -3
  111. package/dist-cms/packages/core/workspace/variant-context/variant-context.token.d.ts +0 -3
  112. package/dist-cms/packages/core/workspace/variant-context/variant-context.token.js +0 -2
  113. package/dist-cms/packages/core/workspace/workspace-property/index.d.ts +0 -2
  114. package/dist-cms/packages/core/workspace/workspace-property/index.js +0 -2
  115. package/dist-cms/packages/documents/documents/variant-context/document-variant-context.token.d.ts +0 -5
  116. /package/dist-cms/packages/core/{workspace/variant-context/nameable-variant-context.interface.js → property/property-dataset/nameable-property-dataset-context.interface.js} +0 -0
  117. /package/dist-cms/packages/core/{workspace/variant-context/variant-context.interface.js → property/property-dataset/property-dataset-context.interface.js} +0 -0
@@ -1,4 +1,4 @@
1
- export * from './variant-context/index.js';
1
+ export * from './workspace-property-dataset/index.js';
2
2
  export * from './workspace-action-menu/index.js';
3
3
  export * from './workspace-action/index.js';
4
4
  export type { WorkspaceAliasConditionConfig } from './workspace-alias.condition.js';
@@ -8,7 +8,5 @@ export * from './workspace-editor/index.js';
8
8
  export * from './workspace-footer/index.js';
9
9
  export * from './workspace-is-new-redirect-controller/index.js';
10
10
  export * from './workspace-modal/index.js';
11
- export * from './workspace-property-layout/workspace-property-layout.element.js';
12
- export * from './workspace-property/index.js';
13
11
  export * from './workspace-split-view-manager.class.js';
14
12
  export * from './workspace-split-view/index.js';
@@ -1,4 +1,4 @@
1
- export * from './variant-context/index.js';
1
+ export * from './workspace-property-dataset/index.js';
2
2
  export * from './workspace-action-menu/index.js';
3
3
  export * from './workspace-action/index.js';
4
4
  export * from './workspace-context/index.js';
@@ -6,7 +6,5 @@ export * from './workspace-editor/index.js';
6
6
  export * from './workspace-footer/index.js';
7
7
  export * from './workspace-is-new-redirect-controller/index.js';
8
8
  export * from './workspace-modal/index.js';
9
- export * from './workspace-property-layout/workspace-property-layout.element.js';
10
- export * from './workspace-property/index.js';
11
9
  export * from './workspace-split-view-manager.class.js';
12
10
  export * from './workspace-split-view/index.js';
@@ -1,13 +1,14 @@
1
1
  import { UmbVariantId } from '../../variant/variant-id.class.js';
2
- import { UmbVariantContext } from '../variant-context/variant-context.interface.js';
2
+ import { UmbPropertyDatasetContext } from '../../property/property-dataset/property-dataset-context.interface.js';
3
3
  import type { UmbSaveableWorkspaceContextInterface } from './saveable-workspace-context.interface.js';
4
4
  import { UmbControllerHost } from '../../../../libs/controller-api/index.js';
5
5
  import type { Observable } from '../../../../external/rxjs/index.js';
6
6
  export interface UmbInvariantableWorkspaceContextInterface<T = unknown> extends UmbSaveableWorkspaceContextInterface<T> {
7
+ name: Observable<string | undefined>;
7
8
  getName(): string | undefined;
8
9
  setName(name: string): void;
9
10
  propertyValueByAlias<ReturnType = unknown>(alias: string): Promise<Observable<ReturnType | undefined>>;
10
11
  getPropertyValue<ReturnType = unknown>(alias: string): ReturnType;
11
12
  setPropertyValue(alias: string, value: unknown): Promise<void>;
12
- createVariantContext(host: UmbControllerHost, variantId?: UmbVariantId): UmbVariantContext;
13
+ createPropertyDatasetContext(host: UmbControllerHost, variantId?: UmbVariantId): UmbPropertyDatasetContext;
13
14
  }
@@ -1,5 +1,5 @@
1
1
  import type { UmbWorkspaceSplitViewManager } from '../workspace-split-view-manager.class.js';
2
- import { UmbVariantContext } from '../variant-context/variant-context.interface.js';
2
+ import { UmbPropertyDatasetContext } from '../../property/property-dataset/property-dataset-context.interface.js';
3
3
  import type { UmbSaveableWorkspaceContextInterface } from './saveable-workspace-context.interface.js';
4
4
  import type { Observable } from '../../../../external/rxjs/index.js';
5
5
  import type { UmbVariantId } from '../../variant/index.js';
@@ -16,5 +16,5 @@ export interface UmbVariantableWorkspaceContextInterface<EntityType = unknown> e
16
16
  propertyValueByAlias<ReturnValue = unknown>(alias: string, variantId?: UmbVariantId): Promise<Observable<ReturnValue | undefined>>;
17
17
  getPropertyValue<ReturnValue = unknown>(alias: string, variantId?: UmbVariantId): ReturnValue | undefined;
18
18
  setPropertyValue(alias: string, value: unknown, variantId?: UmbVariantId): Promise<void>;
19
- createVariantContext(host: UmbControllerHost, variantId?: UmbVariantId): UmbVariantContext;
19
+ createPropertyDatasetContext(host: UmbControllerHost, variantId?: UmbVariantId): UmbPropertyDatasetContext;
20
20
  }
@@ -7,7 +7,7 @@ export declare class UmbWorkspaceModalElement extends UmbLitElement {
7
7
  * TODO: Consider if this binding and events integration is the right for communicating back the modal handler. Or if we should go with some Context API. like a Modal Context API.
8
8
  *
9
9
  */
10
- render(): import("lit-html").TemplateResult<1>;
10
+ render(): "" | import("lit-html").TemplateResult<1>;
11
11
  static styles: CSSResultGroup;
12
12
  }
13
13
  export default UmbWorkspaceModalElement;
@@ -13,7 +13,7 @@ let UmbWorkspaceModalElement = class UmbWorkspaceModalElement extends UmbLitElem
13
13
  *
14
14
  */
15
15
  render() {
16
- return html `<umb-workspace .entityType=${this.data?.entityType}></umb-workspace>`;
16
+ return this.data ? html `<umb-workspace .entityType=${this.data.entityType}></umb-workspace>` : '';
17
17
  }
18
18
  static { this.styles = [
19
19
  UmbTextStyles,
@@ -26,7 +26,7 @@ let UmbWorkspaceModalElement = class UmbWorkspaceModalElement extends UmbLitElem
26
26
  ]; }
27
27
  };
28
28
  __decorate([
29
- property()
29
+ property({ attribute: false })
30
30
  ], UmbWorkspaceModalElement.prototype, "data", void 0);
31
31
  UmbWorkspaceModalElement = __decorate([
32
32
  customElement('umb-workspace-modal')
@@ -0,0 +1 @@
1
+ export * from './invariant-workspace-property-dataset-context.js';
@@ -0,0 +1 @@
1
+ export * from './invariant-workspace-property-dataset-context.js';
@@ -0,0 +1,26 @@
1
+ import { UmbPropertyDatasetContext, UmbNameablePropertyDatasetContext } from '../../property/index.js';
2
+ import { type UmbControllerHost } from '../../../../libs/controller-api/index.js';
3
+ import { UmbBaseController } from '../../../../libs/class-api/index.js';
4
+ import { UmbVariantId } from '../../variant/index.js';
5
+ import { UmbInvariantableWorkspaceContextInterface } from '../index.js';
6
+ /**
7
+ * A property dataset context that hooks directly into the workspace context.
8
+ */
9
+ export declare class UmbInvariantWorkspacePropertyDatasetContext<WorkspaceType extends UmbInvariantableWorkspaceContextInterface = UmbInvariantableWorkspaceContextInterface> extends UmbBaseController implements UmbPropertyDatasetContext, UmbNameablePropertyDatasetContext {
10
+ #private;
11
+ name: import("rxjs").Observable<string | undefined>;
12
+ getVariantId(): UmbVariantId;
13
+ getEntityType(): string;
14
+ getUnique(): string | undefined;
15
+ getName(): string | undefined;
16
+ setName(name: string): void;
17
+ constructor(host: UmbControllerHost, workspace: WorkspaceType);
18
+ /**
19
+ * TODO: Write proper JSDocs here.
20
+ */
21
+ propertyValueByAlias<ReturnType = unknown>(propertyAlias: string): Promise<import("rxjs").Observable<ReturnType | undefined>>;
22
+ /**
23
+ * TODO: Write proper JSDocs here.
24
+ */
25
+ setPropertyValue(propertyAlias: string, value: unknown): Promise<void>;
26
+ }
@@ -0,0 +1,44 @@
1
+ import { UMB_PROPERTY_DATASET_CONTEXT, } from '../../property/index.js';
2
+ import { UmbBaseController } from '../../../../libs/class-api/index.js';
3
+ import { UmbVariantId } from '../../variant/index.js';
4
+ /**
5
+ * A property dataset context that hooks directly into the workspace context.
6
+ */
7
+ export class UmbInvariantWorkspacePropertyDatasetContext extends UmbBaseController {
8
+ #workspace;
9
+ // default data:
10
+ getVariantId() {
11
+ return UmbVariantId.CreateInvariant();
12
+ }
13
+ getEntityType() {
14
+ return this.#workspace.getEntityType();
15
+ }
16
+ getUnique() {
17
+ return this.#workspace.getEntityId();
18
+ }
19
+ getName() {
20
+ return this.#workspace.getName();
21
+ }
22
+ setName(name) {
23
+ this.#workspace.setName(name);
24
+ }
25
+ constructor(host, workspace) {
26
+ // The controller alias, is a very generic name cause we want only one of these for this controller host.
27
+ super(host, 'variantContext');
28
+ this.#workspace = workspace;
29
+ this.name = this.#workspace.name;
30
+ this.provideContext(UMB_PROPERTY_DATASET_CONTEXT, this);
31
+ }
32
+ /**
33
+ * TODO: Write proper JSDocs here.
34
+ */
35
+ async propertyValueByAlias(propertyAlias) {
36
+ return await this.#workspace.propertyValueByAlias(propertyAlias);
37
+ }
38
+ /**
39
+ * TODO: Write proper JSDocs here.
40
+ */
41
+ async setPropertyValue(propertyAlias, value) {
42
+ return this.#workspace.setPropertyValue(propertyAlias, value);
43
+ }
44
+ }
@@ -38,7 +38,7 @@ export class UmbWorkspaceSplitViewContext extends UmbBaseController {
38
38
  // TODO: Ask workspace context to create the specific variant context.
39
39
  this.#variantContext?.destroy();
40
40
  const variantId = UmbVariantId.Create(activeVariantInfo);
41
- this.#variantContext = this.#workspaceContext?.createVariantContext(this, variantId);
41
+ this.#variantContext = this.#workspaceContext?.createPropertyDatasetContext(this, variantId);
42
42
  }, '_observeActiveVariant');
43
43
  }
44
44
  switchVariant(variant) {
@@ -34,14 +34,14 @@ let UmbWorkspaceViewDictionaryEditorElement = class UmbWorkspaceViewDictionaryEd
34
34
  if (!language.isoCode)
35
35
  return;
36
36
  const translation = this._dictionary?.translations?.find((x) => x.isoCode === language.isoCode);
37
- return html ` <umb-workspace-property-layout label=${language.name ?? language.isoCode}>
37
+ return html ` <umb-property-layout label=${language.name ?? language.isoCode}>
38
38
  <uui-textarea
39
39
  slot="editor"
40
40
  name=${language.isoCode}
41
41
  label="translation"
42
42
  @change=${this.#onTextareaChange}
43
43
  value=${ifDefined(translation?.translation)}></uui-textarea>
44
- </umb-workspace-property-layout>`;
44
+ </umb-property-layout>`;
45
45
  }
46
46
  #onTextareaChange(e) {
47
47
  if (e instanceof UUITextareaEvent) {
@@ -165,7 +165,7 @@ let UmbDocumentTypeWorkspacePropertyElement = class UmbDocumentTypeWorkspaceProp
165
165
  .value=${this.property.name}
166
166
  @input=${this.#onNameChange}></uui-input>
167
167
  ${this.renderPropertyAlias()}
168
- <slot name="property-action-menu"></slot>
168
+ <slot name="action-menu"></slot>
169
169
  <p>
170
170
  <uui-textarea
171
171
  label="description"
@@ -28,7 +28,7 @@ let UmbDocumentTypeWorkspaceViewSettingsElement = class UmbDocumentTypeWorkspace
28
28
  render() {
29
29
  return html `
30
30
  <uui-box headline="Data variations">
31
- <umb-workspace-property-layout alias="VaryByCulture" label="Allow vary by culture">
31
+ <umb-property-layout alias="VaryByCulture" label="Allow vary by culture">
32
32
  <div slot="description">Allow editors to create content of different languages.</div>
33
33
  <div slot="editor">
34
34
  <uui-toggle
@@ -38,8 +38,8 @@ let UmbDocumentTypeWorkspaceViewSettingsElement = class UmbDocumentTypeWorkspace
38
38
  }}
39
39
  label="Vary by culture"></uui-toggle>
40
40
  </div>
41
- </umb-workspace-property-layout>
42
- <umb-workspace-property-layout alias="VaryBySegments" label="Allow segmentation">
41
+ </umb-property-layout>
42
+ <umb-property-layout alias="VaryBySegments" label="Allow segmentation">
43
43
  <div slot="description">Allow editors to segment their content.</div>
44
44
  <div slot="editor">
45
45
  <uui-toggle
@@ -49,8 +49,8 @@ let UmbDocumentTypeWorkspaceViewSettingsElement = class UmbDocumentTypeWorkspace
49
49
  }}
50
50
  label="Vary by segments"></uui-toggle>
51
51
  </div>
52
- </umb-workspace-property-layout>
53
- <umb-workspace-property-layout alias="ElementType" label="Is an Element Type">
52
+ </umb-property-layout>
53
+ <umb-property-layout alias="ElementType" label="Is an Element Type">
54
54
  <div slot="description">
55
55
  An Element Type is used for content instances in Property Editors, like the Block Editors.
56
56
  </div>
@@ -62,10 +62,10 @@ let UmbDocumentTypeWorkspaceViewSettingsElement = class UmbDocumentTypeWorkspace
62
62
  }}
63
63
  label="Element type"></uui-toggle>
64
64
  </div>
65
- </umb-workspace-property-layout>
65
+ </umb-property-layout>
66
66
  </uui-box>
67
67
  <uui-box headline="History cleanup">
68
- <umb-workspace-property-layout alias="HistoryCleanup" label="History cleanup">
68
+ <umb-property-layout alias="HistoryCleanup" label="History cleanup">
69
69
  <div slot="description">
70
70
  Allow overriding the global history cleanup settings. (TODO: this ui is not working.. )
71
71
  </div>
@@ -77,7 +77,7 @@ let UmbDocumentTypeWorkspaceViewSettingsElement = class UmbDocumentTypeWorkspace
77
77
  <uui-label for="latest-version-per-day-days">Keep latest version per day for X days</uui-label>
78
78
  <umb-property-editor-ui-number id="latest-version-per-day-days"></umb-property-editor-ui-number>
79
79
  </div>
80
- </umb-workspace-property-layout>
80
+ </umb-property-layout>
81
81
  </uui-box>
82
82
  `;
83
83
  }
@@ -33,7 +33,7 @@ let UmbDocumentTypeWorkspaceViewStructureElement = class UmbDocumentTypeWorkspac
33
33
  render() {
34
34
  return html `
35
35
  <uui-box headline="Structure">
36
- <umb-workspace-property-layout alias="Root" label="Allow as Root">
36
+ <umb-property-layout alias="Root" label="Allow as Root">
37
37
  <div slot="description">${this.localize.term('contentTypeEditor_allowAsRootDescription')}</div>
38
38
  <div slot="editor">
39
39
  <uui-toggle
@@ -43,8 +43,8 @@ let UmbDocumentTypeWorkspaceViewStructureElement = class UmbDocumentTypeWorkspac
43
43
  this.#workspaceContext?.setAllowedAsRoot(e.target.checked);
44
44
  }}></uui-toggle>
45
45
  </div>
46
- </umb-workspace-property-layout>
47
- <umb-workspace-property-layout alias="ChildNodeType" label="Allowed child node types">
46
+ </umb-property-layout>
47
+ <umb-property-layout alias="ChildNodeType" label="Allowed child node types">
48
48
  <div slot="description">
49
49
  Allow content of the specified types to be created underneath content of this type.
50
50
  </div>
@@ -61,13 +61,13 @@ let UmbDocumentTypeWorkspaceViewStructureElement = class UmbDocumentTypeWorkspac
61
61
  }}">
62
62
  </umb-document-type-input>
63
63
  </div>
64
- </umb-workspace-property-layout>
64
+ </umb-property-layout>
65
65
  </uui-box>
66
66
  <uui-box headline="Presentation">
67
- <umb-workspace-property-layout alias="Root" label="Collection view">
67
+ <umb-property-layout alias="Root" label="Collection view">
68
68
  <div slot="description">Provides an overview of child content and hides it in the tree.</div>
69
69
  <div slot="editor"><uui-toggle label="Display children in a Collection view"></uui-toggle></div>
70
- </umb-workspace-property-layout>
70
+ </umb-property-layout>
71
71
  </uui-box>
72
72
  `;
73
73
  }
@@ -41,7 +41,7 @@ let UmbDocumentTypeWorkspaceViewTemplatesElement = class UmbDocumentTypeWorkspac
41
41
  }
42
42
  render() {
43
43
  return html `<uui-box headline="Templates">
44
- <umb-workspace-property-layout alias="Templates" label="Allowed Templates">
44
+ <umb-property-layout alias="Templates" label="Allowed Templates">
45
45
  <div slot="description">Choose which templates editors are allowed to use on content of this type</div>
46
46
  <div id="templates" slot="editor">
47
47
  <umb-input-template
@@ -49,7 +49,7 @@ let UmbDocumentTypeWorkspaceViewTemplatesElement = class UmbDocumentTypeWorkspac
49
49
  .selectedIds=${this._allowedTemplateIds}
50
50
  @change=${this.#templateInputChange}></umb-input-template>
51
51
  </div>
52
- </umb-workspace-property-layout>
52
+ </umb-property-layout>
53
53
  </uui-box>`;
54
54
  }
55
55
  static { this.styles = [
@@ -70,10 +70,10 @@ let UmbDocumentTypeWorkspaceViewTemplatesElement = class UmbDocumentTypeWorkspac
70
70
  align-items: stretch;
71
71
  }
72
72
 
73
- umb-workspace-property-layout {
73
+ umb-property-layout {
74
74
  border-top: 1px solid var(--uui-color-border);
75
75
  }
76
- umb-workspace-property-layout:first-child {
76
+ umb-property-layout:first-child {
77
77
  padding-top: 0;
78
78
  border: none;
79
79
  }
@@ -1,17 +1,17 @@
1
+ import { UmbNameablePropertyDatasetContext, UmbPropertyDatasetContext } from '../../../core/property/index.js';
1
2
  import type { UmbDocumentWorkspaceContext } from '../workspace/index.js';
2
3
  import { DocumentVariantResponseModel } from '../../../../external/backend-api/index.js';
3
4
  import { type UmbControllerHost } from '../../../../libs/controller-api/index.js';
4
- import { UmbBaseController } from '../../../../libs/class-api/index.js';
5
+ import { UmbContextBase } from '../../../../libs/class-api/index.js';
5
6
  import { UmbVariantId } from '../../../core/variant/index.js';
6
- import { UmbVariantContext } from '../../../core/workspace/index.js';
7
- export declare class UmbDocumentVariantContext extends UmbBaseController implements UmbVariantContext {
7
+ export declare class UmbDocumentPropertyDataContext extends UmbContextBase<UmbPropertyDatasetContext> implements UmbPropertyDatasetContext, UmbNameablePropertyDatasetContext {
8
8
  #private;
9
9
  getVariantId(): UmbVariantId;
10
10
  currentVariant: import("rxjs/internal/Observable.js").Observable<DocumentVariantResponseModel | undefined>;
11
11
  name: import("rxjs/internal/Observable.js").Observable<string | undefined>;
12
12
  culture: import("rxjs/internal/Observable.js").Observable<string | null | undefined>;
13
13
  segment: import("rxjs/internal/Observable.js").Observable<string | null | undefined>;
14
- getType(): string;
14
+ getEntityType(): string;
15
15
  getUnique(): string | undefined;
16
16
  getName(): string | undefined;
17
17
  setName(name: string): void;
@@ -1,10 +1,10 @@
1
- import { UmbBaseController } from '../../../../libs/class-api/index.js';
1
+ import { UMB_PROPERTY_DATASET_CONTEXT, } from '../../../core/property/index.js';
2
+ import { UmbContextBase } from '../../../../libs/class-api/index.js';
2
3
  import { map } from '../../../../external/rxjs/index.js';
3
4
  import { UmbObjectState } from '../../../../libs/observable-api/index.js';
4
5
  import { UmbVariantId } from '../../../core/variant/index.js';
5
- import { UMB_VARIANT_CONTEXT } from '../../../core/workspace/index.js';
6
- // TODO: This code can be split into a UmbContentTypeVariantContext, leaving just the publishing state and methods to this class.
7
- export class UmbDocumentVariantContext extends UmbBaseController {
6
+ // TODO: This code can be split into a UmbContentTypePropertyDatasetContext, leaving just the publishing state and methods to this class.
7
+ export class UmbDocumentPropertyDataContext extends UmbContextBase {
8
8
  #workspace;
9
9
  #variantId;
10
10
  getVariantId() {
@@ -15,7 +15,7 @@ export class UmbDocumentVariantContext extends UmbBaseController {
15
15
  // TO make such happen I think we need to maintain all properties and their value of this object.
16
16
  // This will actually make it simpler if multiple are watching the same property.
17
17
  // But it will also mean that we wil watch all properties and their structure, for variantID, all the time for all of the properties.
18
- getType() {
18
+ getEntityType() {
19
19
  return this.#workspace.getEntityType();
20
20
  }
21
21
  getUnique() {
@@ -32,7 +32,7 @@ export class UmbDocumentVariantContext extends UmbBaseController {
32
32
  }
33
33
  constructor(host, workspace, variantId) {
34
34
  // The controller alias, is a very generic name cause we want only one of these for this controller host.
35
- super(host, 'variantContext');
35
+ super(host, UMB_PROPERTY_DATASET_CONTEXT);
36
36
  this.#currentVariant = new UmbObjectState(undefined);
37
37
  this.currentVariant = this.#currentVariant.asObservable();
38
38
  this.name = this.#currentVariant.asObservablePart((x) => x?.name);
@@ -45,8 +45,6 @@ export class UmbDocumentVariantContext extends UmbBaseController {
45
45
  return;
46
46
  this.#currentVariant.next(variantInfo);
47
47
  }, '_observeActiveVariant');
48
- // TODO: Refactor: use the document dataset context token.
49
- this.provideContext(UMB_VARIANT_CONTEXT, this);
50
48
  }
51
49
  #createPropertyVariantId(property) {
52
50
  return UmbVariantId.Create({
@@ -0,0 +1,5 @@
1
+ import { UmbPropertyDatasetContext } from '../../../core/property/index.js';
2
+ import type { UmbDocumentPropertyDataContext } from './document-property-dataset-context.js';
3
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
4
+ export declare const IsDocumentVariantContext: (context: UmbPropertyDatasetContext) => context is UmbDocumentPropertyDataContext;
5
+ export declare const UMB_DOCUMENT_VARIANT_CONTEXT: UmbContextToken<UmbPropertyDatasetContext, UmbDocumentPropertyDataContext>;
@@ -1,4 +1,4 @@
1
1
  import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js';
2
2
  import { UmbContextToken } from '../../../../libs/context-api/index.js';
3
- export const IsDocumentVariantContext = (context) => context.getType() === UMB_DOCUMENT_ENTITY_TYPE;
3
+ export const IsDocumentVariantContext = (context) => context.getEntityType() === UMB_DOCUMENT_ENTITY_TYPE;
4
4
  export const UMB_DOCUMENT_VARIANT_CONTEXT = new UmbContextToken('UmbVariantContext', undefined, IsDocumentVariantContext);
@@ -1,6 +1,6 @@
1
1
  import { UmbDocumentRepository } from '../repository/document.repository.js';
2
2
  import { UmbDocumentTypeDetailRepository } from '../../document-types/repository/detail/document-type-detail.repository.js';
3
- import { UmbDocumentVariantContext } from '../variant-context/document-variant-context.js';
3
+ import { UmbDocumentPropertyDataContext } from '../property-dataset-context/document-property-dataset-context.js';
4
4
  import { UmbVariantId } from '../../../core/variant/index.js';
5
5
  import { UmbContentTypePropertyStructureManager } from '../../../core/content-type/index.js';
6
6
  import { UmbSaveableWorkspaceContextInterface, UmbEditableWorkspaceContextBase, UmbWorkspaceSplitViewManager, UmbVariantableWorkspaceContextInterface, UmbPublishableWorkspaceContextInterface } from '../../../core/workspace/index.js';
@@ -44,7 +44,7 @@ export declare class UmbDocumentWorkspaceContext extends UmbEditableWorkspaceCon
44
44
  saveAndPublish(): Promise<void>;
45
45
  publish(): Promise<void>;
46
46
  unpublish(): Promise<void>;
47
- createVariantContext(host: UmbControllerHost, variantId: UmbVariantId): UmbDocumentVariantContext;
47
+ createPropertyDatasetContext(host: UmbControllerHost, variantId: UmbVariantId): UmbDocumentPropertyDataContext;
48
48
  destroy(): void;
49
49
  }
50
50
  export default UmbDocumentWorkspaceContext;
@@ -1,6 +1,6 @@
1
1
  import { UmbDocumentRepository } from '../repository/document.repository.js';
2
2
  import { UmbDocumentTypeDetailRepository } from '../../document-types/repository/detail/document-type-detail.repository.js';
3
- import { UmbDocumentVariantContext } from '../variant-context/document-variant-context.js';
3
+ import { UmbDocumentPropertyDataContext } from '../property-dataset-context/document-property-dataset-context.js';
4
4
  import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js';
5
5
  import { UmbVariantId } from '../../../core/variant/index.js';
6
6
  import { UmbContentTypePropertyStructureManager } from '../../../core/content-type/index.js';
@@ -202,8 +202,8 @@ export class UmbDocumentWorkspaceContext extends UmbEditableWorkspaceContextBase
202
202
 
203
203
  }
204
204
  */
205
- createVariantContext(host, variantId) {
206
- return new UmbDocumentVariantContext(host, this, variantId);
205
+ createPropertyDatasetContext(host, variantId) {
206
+ return new UmbDocumentPropertyDataContext(host, this, variantId);
207
207
  }
208
208
  destroy() {
209
209
  this.#currentData.destroy();
@@ -165,7 +165,7 @@ let UmbMediaTypeWorkspacePropertyElement = class UmbMediaTypeWorkspacePropertyEl
165
165
  .value=${this.property.name}
166
166
  @input=${this.#onNameChange}></uui-input>
167
167
  ${this.renderPropertyAlias()}
168
- <slot name="property-action-menu"></slot>
168
+ <slot name="action-menu"></slot>
169
169
  <p>
170
170
  <uui-textarea
171
171
  label="description"
@@ -33,7 +33,7 @@ let UmbMediaTypeWorkspaceViewStructureElement = class UmbMediaTypeWorkspaceViewS
33
33
  render() {
34
34
  return html `
35
35
  <uui-box headline="Structure">
36
- <umb-workspace-property-layout alias="Root" label="Allow as Root">
36
+ <umb-property-layout alias="Root" label="Allow as Root">
37
37
  <div slot="description">${this.localize.term('contentTypeEditor_allowAsRootDescription')}</div>
38
38
  <div slot="editor">
39
39
  <uui-toggle
@@ -43,8 +43,8 @@ let UmbMediaTypeWorkspaceViewStructureElement = class UmbMediaTypeWorkspaceViewS
43
43
  this.#workspaceContext?.updateProperty('allowedAsRoot', e.target.checked);
44
44
  }}></uui-toggle>
45
45
  </div>
46
- </umb-workspace-property-layout>
47
- <umb-workspace-property-layout alias="ChildNodeType" label="Allowed child node types">
46
+ </umb-property-layout>
47
+ <umb-property-layout alias="ChildNodeType" label="Allowed child node types">
48
48
  <div slot="description">
49
49
  Allow content of the specified types to be created underneath content of this type.
50
50
  </div>
@@ -61,13 +61,13 @@ let UmbMediaTypeWorkspaceViewStructureElement = class UmbMediaTypeWorkspaceViewS
61
61
  }}">
62
62
  </umb-media-type-input>
63
63
  </div>
64
- </umb-workspace-property-layout>
64
+ </umb-property-layout>
65
65
  </uui-box>
66
66
  <uui-box headline="Presentation">
67
- <umb-workspace-property-layout alias="Root" label="Collection view">
67
+ <umb-property-layout alias="Root" label="Collection view">
68
68
  <div slot="description">Provides an overview of child content and hides it in the tree.</div>
69
69
  <div slot="editor"><uui-toggle label="Display children in a Collection view"></uui-toggle></div>
70
- </umb-workspace-property-layout>
70
+ </umb-property-layout>
71
71
  </uui-box>
72
72
  `;
73
73
  }
@@ -107,49 +107,35 @@ let UmbWorkspacePackageBuilderElement = class UmbWorkspacePackageBuilderElement
107
107
  </div>`;
108
108
  }
109
109
  #renderEditors() {
110
- return html `<umb-workspace-property-layout label="Content" description="">
110
+ return html `<umb-property-layout label="Content" description="">
111
111
  ${this.#renderContentSection()}
112
- </umb-workspace-property-layout>
112
+ </umb-property-layout>
113
113
 
114
- <umb-workspace-property-layout label="Media" description=""
115
- >${this.#renderMediaSection()}
116
- </umb-workspace-property-layout>
114
+ <umb-property-layout label="Media" description="">${this.#renderMediaSection()} </umb-property-layout>
117
115
 
118
- <umb-workspace-property-layout label="Document Types" description="">
116
+ <umb-property-layout label="Document Types" description="">
119
117
  ${this.#renderDocumentTypeSection()}
120
- </umb-workspace-property-layout>
118
+ </umb-property-layout>
121
119
 
122
- <umb-workspace-property-layout label="Media Types" description="">
123
- ${this.#renderMediaTypeSection()}
124
- </umb-workspace-property-layout>
120
+ <umb-property-layout label="Media Types" description=""> ${this.#renderMediaTypeSection()} </umb-property-layout>
125
121
 
126
- <umb-workspace-property-layout label="Languages" description="">
127
- ${this.#renderLanguageSection()}
128
- </umb-workspace-property-layout>
122
+ <umb-property-layout label="Languages" description=""> ${this.#renderLanguageSection()} </umb-property-layout>
129
123
 
130
- <umb-workspace-property-layout label="Dictionary" description="">
131
- ${this.#renderDictionarySection()}
132
- </umb-workspace-property-layout>
124
+ <umb-property-layout label="Dictionary" description=""> ${this.#renderDictionarySection()} </umb-property-layout>
133
125
 
134
- <umb-workspace-property-layout label="Data Types" description="">
135
- ${this.#renderDataTypeSection()}
136
- </umb-workspace-property-layout>
126
+ <umb-property-layout label="Data Types" description=""> ${this.#renderDataTypeSection()} </umb-property-layout>
137
127
 
138
- <umb-workspace-property-layout label="Templates" description="">
139
- ${this.#renderTemplateSection()}
140
- </umb-workspace-property-layout>
128
+ <umb-property-layout label="Templates" description=""> ${this.#renderTemplateSection()} </umb-property-layout>
141
129
 
142
- <umb-workspace-property-layout label="Stylesheets" description="">
130
+ <umb-property-layout label="Stylesheets" description="">
143
131
  ${this.#renderStylesheetsSection()}
144
- </umb-workspace-property-layout>
132
+ </umb-property-layout>
145
133
 
146
- <umb-workspace-property-layout label="Scripts" description="">
147
- ${this.#renderScriptsSection()}
148
- </umb-workspace-property-layout>
134
+ <umb-property-layout label="Scripts" description=""> ${this.#renderScriptsSection()} </umb-property-layout>
149
135
 
150
- <umb-workspace-property-layout label="Partial Views" description="">
136
+ <umb-property-layout label="Partial Views" description="">
151
137
  ${this.#renderPartialViewSection()}
152
- </umb-workspace-property-layout>`;
138
+ </umb-property-layout>`;
153
139
  }
154
140
  #renderContentSection() {
155
141
  return html `
@@ -14,7 +14,7 @@ let UmbLanguagePickerModalElement = class UmbLanguagePickerModalElement extends
14
14
  super(...arguments);
15
15
  this._languages = [];
16
16
  this.#languageRepository = new UmbLanguageRepository(this);
17
- this.#selectionManager = new UmbSelectionManager();
17
+ this.#selectionManager = new UmbSelectionManager(this);
18
18
  }
19
19
  #languageRepository;
20
20
  #selectionManager;
@@ -88,7 +88,7 @@ let UmbLanguageDetailsWorkspaceViewElement = class UmbLanguageDetailsWorkspaceVi
88
88
  render() {
89
89
  return html `
90
90
  <uui-box>
91
- <umb-workspace-property-layout label="Language">
91
+ <umb-property-layout label="Language">
92
92
  <div slot="editor">
93
93
  <!-- TODO: disable already created cultures in the select -->
94
94
  <umb-input-culture-select
@@ -99,13 +99,13 @@ let UmbLanguageDetailsWorkspaceViewElement = class UmbLanguageDetailsWorkspaceVi
99
99
  <!-- TEMP VALIDATION ERROR -->
100
100
  ${this._validationErrors?.isoCode.map((isoCodeError) => html `<div class="validation-message">${isoCodeError}</div>`)}
101
101
  </div>
102
- </umb-workspace-property-layout>
102
+ </umb-property-layout>
103
103
 
104
- <umb-workspace-property-layout label="ISO Code">
104
+ <umb-property-layout label="ISO Code">
105
105
  <div slot="editor">${this._language?.isoCode}</div>
106
- </umb-workspace-property-layout>
106
+ </umb-property-layout>
107
107
 
108
- <umb-workspace-property-layout label="Settings">
108
+ <umb-property-layout label="Settings">
109
109
  <div slot="editor">
110
110
  <uui-toggle
111
111
  label="Default language"
@@ -135,9 +135,9 @@ let UmbLanguageDetailsWorkspaceViewElement = class UmbLanguageDetailsWorkspaceVi
135
135
  </div>
136
136
  </uui-toggle>
137
137
  </div>
138
- </umb-workspace-property-layout>
138
+ </umb-property-layout>
139
139
 
140
- <umb-workspace-property-layout
140
+ <umb-property-layout
141
141
  label="Fallback language"
142
142
  description="To allow multi-lingual content to fall back to another language if not present in the requested language, select it here.">
143
143
  <umb-input-language-picker
@@ -146,7 +146,7 @@ let UmbLanguageDetailsWorkspaceViewElement = class UmbLanguageDetailsWorkspaceVi
146
146
  max="1"
147
147
  @change=${this.#handleFallbackChange}
148
148
  .filter=${(language) => language.isoCode !== this._language?.isoCode}></umb-input-language-picker>
149
- </umb-workspace-property-layout>
149
+ </umb-property-layout>
150
150
  </uui-box>
151
151
  `;
152
152
  }