@umbraco-cms/backoffice 14.0.0-3aaba617 → 14.0.0-41f35ef1

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 (46) hide show
  1. package/dist-cms/custom-elements.json +94 -35
  2. package/dist-cms/mocks/data/template.data.d.ts +5 -23
  3. package/dist-cms/mocks/data/template.data.js +44 -21
  4. package/dist-cms/mocks/handlers/template.handlers.js +4 -0
  5. package/dist-cms/packages/core/components/button-with-dropdown/button-with-dropdown.element.d.ts +2 -0
  6. package/dist-cms/packages/core/components/button-with-dropdown/button-with-dropdown.element.js +4 -4
  7. package/dist-cms/packages/core/components/code-block/code-block.element.d.ts +6 -1
  8. package/dist-cms/packages/core/components/code-block/code-block.element.js +93 -19
  9. package/dist-cms/packages/core/components/index.d.ts +1 -0
  10. package/dist-cms/packages/core/components/index.js +1 -1
  11. package/dist-cms/packages/core/modal/token/dictionary-item-picker-modal.token.d.ts +0 -1
  12. package/dist-cms/packages/core/modal/token/dictionary-item-picker-modal.token.js +1 -2
  13. package/dist-cms/packages/core/tree/tree.context.js +8 -11
  14. package/dist-cms/packages/templating/components/insert-menu/templating-insert-menu.element.js +3 -31
  15. package/dist-cms/packages/templating/modals/insert-choose-type-sidebar.element.d.ts +2 -4
  16. package/dist-cms/packages/templating/modals/insert-choose-type-sidebar.element.js +5 -27
  17. package/dist-cms/packages/templating/modals/insert-section-modal/insert-section-input.element.js +1 -0
  18. package/dist-cms/packages/templating/modals/insert-section-modal/insert-section-modal.element.js +5 -4
  19. package/dist-cms/packages/templating/modals/manifests.d.ts +0 -1
  20. package/dist-cms/packages/templating/modals/manifests.js +0 -7
  21. package/dist-cms/packages/templating/templates/components/alias-input/alias-input.js +1 -1
  22. package/dist-cms/packages/templating/templates/index.d.ts +2 -0
  23. package/dist-cms/packages/templating/templates/index.js +2 -0
  24. package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
  25. package/dist-cms/packages/templating/templates/manifests.js +2 -0
  26. package/dist-cms/packages/templating/templates/modals/manifests.d.ts +3 -0
  27. package/dist-cms/packages/templating/templates/modals/manifests.js +10 -0
  28. package/dist-cms/packages/templating/templates/modals/modal-tokens.d.ts +3 -0
  29. package/dist-cms/packages/templating/templates/modals/modal-tokens.js +6 -0
  30. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder-filter.element.d.ts +24 -0
  31. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder-filter.element.js +157 -0
  32. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.d.ts +28 -0
  33. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.js +277 -0
  34. package/dist-cms/packages/templating/templates/repository/sources/template.query-builder.server.data.d.ts +33 -0
  35. package/dist-cms/packages/templating/templates/repository/sources/template.query-builder.server.data.js +37 -0
  36. package/dist-cms/packages/templating/templates/repository/template.repository.d.ts +11 -7
  37. package/dist-cms/packages/templating/templates/repository/template.repository.js +28 -14
  38. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +21 -3
  39. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +2 -1
  40. package/dist-cms/packages/templating/templates/workspace/template-workspace.element.d.ts +1 -0
  41. package/dist-cms/packages/templating/templates/workspace/template-workspace.element.js +2 -1
  42. package/dist-cms/tsconfig.tsbuildinfo +1 -1
  43. package/dist-cms/vscode-html-custom-data.json +40 -7
  44. package/package.json +1 -1
  45. package/dist-cms/packages/templating/modals/insert-value-sidebar.element.d.ts +0 -19
  46. package/dist-cms/packages/templating/modals/insert-value-sidebar.element.js +0 -135
@@ -658,8 +658,41 @@
658
658
  {
659
659
  "name": "umb-code-block",
660
660
  "path": "./../src/packages/core/components/code-block/code-block.element.ts",
661
- "description": "A simple styled box for showing code-based error messages.",
661
+ "description": "A simple styled box for showing code-based error messages or blocks od code.",
662
+ "attributes": [
663
+ {
664
+ "name": "language",
665
+ "type": "string",
666
+ "default": "\"\""
667
+ },
668
+ {
669
+ "name": "copy",
670
+ "type": "boolean",
671
+ "default": "false"
672
+ }
673
+ ],
662
674
  "properties": [
675
+ {
676
+ "name": "language",
677
+ "attribute": "language",
678
+ "type": "string",
679
+ "default": "\"\""
680
+ },
681
+ {
682
+ "name": "copy",
683
+ "attribute": "copy",
684
+ "type": "boolean",
685
+ "default": "false"
686
+ },
687
+ {
688
+ "name": "nodes",
689
+ "type": "NodeListOf<ChildNode>"
690
+ },
691
+ {
692
+ "name": "copyState",
693
+ "type": "\"idle\" | \"success\"",
694
+ "default": "\"idle\""
695
+ },
663
696
  {
664
697
  "name": "styles",
665
698
  "type": "array",
@@ -7162,40 +7195,6 @@
7162
7195
  }
7163
7196
  ]
7164
7197
  },
7165
- {
7166
- "name": "umb-insert-value-sidebar",
7167
- "path": "./../src/packages/templating/modals/insert-value-sidebar.element.ts",
7168
- "properties": [
7169
- {
7170
- "name": "showDefaultValueInput",
7171
- "type": "boolean",
7172
- "default": "false"
7173
- },
7174
- {
7175
- "name": "recursive",
7176
- "type": "boolean",
7177
- "default": "false"
7178
- },
7179
- {
7180
- "name": "defaultValue",
7181
- "type": "string | null"
7182
- },
7183
- {
7184
- "name": "field",
7185
- "type": "string | null"
7186
- },
7187
- {
7188
- "name": "output",
7189
- "type": "string",
7190
- "default": "\"\""
7191
- },
7192
- {
7193
- "name": "styles",
7194
- "type": "array",
7195
- "default": "[\"UUITextStyles\",null]"
7196
- }
7197
- ]
7198
- },
7199
7198
  {
7200
7199
  "name": "umb-partial-view-picker-modal",
7201
7200
  "path": "./../src/packages/templating/modals/partial-view-picker-modal.element.ts",
@@ -7399,6 +7398,66 @@
7399
7398
  }
7400
7399
  ]
7401
7400
  },
7401
+ {
7402
+ "name": "umb-query-builder-filter",
7403
+ "path": "./../src/packages/templating/templates/modals/query-builder/query-builder-filter.element.ts",
7404
+ "attributes": [
7405
+ {
7406
+ "name": "unremovable",
7407
+ "type": "boolean",
7408
+ "default": "false"
7409
+ }
7410
+ ],
7411
+ "properties": [
7412
+ {
7413
+ "name": "filter",
7414
+ "default": "{}"
7415
+ },
7416
+ {
7417
+ "name": "unremovable",
7418
+ "attribute": "unremovable",
7419
+ "type": "boolean",
7420
+ "default": "false"
7421
+ },
7422
+ {
7423
+ "name": "settings"
7424
+ },
7425
+ {
7426
+ "name": "currentPropertyType"
7427
+ },
7428
+ {
7429
+ "name": "isFilterValid",
7430
+ "type": "boolean"
7431
+ },
7432
+ {
7433
+ "name": "styles",
7434
+ "type": "CSSResult[]",
7435
+ "default": "[\"UUITextStyles\",null]"
7436
+ }
7437
+ ],
7438
+ "events": [
7439
+ {
7440
+ "name": "remove-filter"
7441
+ },
7442
+ {
7443
+ "name": "add-filter"
7444
+ },
7445
+ {
7446
+ "name": "update-query"
7447
+ }
7448
+ ]
7449
+ },
7450
+ {
7451
+ "name": "umb-templating-query-builder-modal",
7452
+ "path": "./../src/packages/templating/templates/modals/query-builder/query-builder.element.ts",
7453
+ "properties": [
7454
+ {
7455
+ "name": "styles",
7456
+ "type": "array",
7457
+ "default": "[\"UUITextStyles\",null]"
7458
+ }
7459
+ ]
7460
+ },
7402
7461
  {
7403
7462
  "name": "umb-template-workspace-editor",
7404
7463
  "path": "./../src/packages/templating/templates/workspace/template-workspace-editor.element.ts",
@@ -1,36 +1,18 @@
1
1
  import { UmbEntityData } from './entity.data.js';
2
- import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel, TemplateResponseModel, TemplateScaffoldResponseModel, CreateTemplateRequestModel, TemplateItemResponseModel } from '../../external/backend-api/index.js';
2
+ import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel, TemplateResponseModel, TemplateScaffoldResponseModel, CreateTemplateRequestModel, TemplateItemResponseModel, TemplateQuerySettingsResponseModel, TemplateQueryResultResponseModel } from '../../external/backend-api/index.js';
3
3
  type TemplateDBItem = TemplateResponseModel & EntityTreeItemResponseModel;
4
4
  export declare const data: Array<TemplateDBItem>;
5
5
  export declare const createTemplateScaffold: (masterTemplateAlias: string) => string;
6
- export declare const templateQuerySettings: {
7
- contentTypeAliases: never[];
8
- properties: {
9
- alias: string;
10
- type: string;
11
- }[];
12
- operators: {
13
- operator: string;
14
- applicableTypes: string[];
15
- }[];
16
- };
6
+ export declare const templateQueryResult: TemplateQueryResultResponseModel;
7
+ export declare const templateQuerySettings: TemplateQuerySettingsResponseModel;
17
8
  declare class UmbTemplateData extends UmbEntityData<TemplateDBItem> {
18
9
  constructor();
19
10
  getById(id: string): TemplateResponseModel | undefined;
20
11
  getItemById(id: string): TemplateItemResponseModel | null;
21
12
  getScaffold(masterTemplateId?: string | null): TemplateScaffoldResponseModel;
22
13
  getItems(ids: string[]): TemplateItemResponseModel[];
23
- getTemplateQuerySettings: () => {
24
- contentTypeAliases: never[];
25
- properties: {
26
- alias: string;
27
- type: string;
28
- }[];
29
- operators: {
30
- operator: string;
31
- applicableTypes: string[];
32
- }[];
33
- };
14
+ getTemplateQuerySettings: () => TemplateQuerySettingsResponseModel;
15
+ getTemplateQueryResult: () => TemplateQueryResultResponseModel;
34
16
  create(templateData: CreateTemplateRequestModel): {
35
17
  name?: string | undefined;
36
18
  alias?: string | undefined;
@@ -1,6 +1,7 @@
1
1
  import { UmbEntityData } from './entity.data.js';
2
2
  import { createEntityTreeItem } from './utils.js';
3
3
  import { UmbId } from '../../packages/core/id/index.js';
4
+ import { TemplateQueryPropertyTypeModel, OperatorModel, } from '../../external/backend-api/index.js';
4
5
  const createTemplate = (dbItem) => {
5
6
  return {
6
7
  $type: '',
@@ -87,58 +88,79 @@ export const createTemplateScaffold = (masterTemplateAlias) => {
87
88
  Layout = ${masterTemplateAlias};
88
89
  }`;
89
90
  };
91
+ //prettier-ignore
92
+ const templateQueryExpressions = [
93
+ `Umbraco.ContentAtRoot().FirstOrDefault()
94
+ .ChildrenOfType("docTypeWithTemplate")
95
+ .Where(x => x.IsVisible())`,
96
+ `Umbraco.Content(Guid.Parse("0b3498dc-255a-4d62-aa4f-ef7bff333544"))
97
+ .ChildrenOfType("docTypeWithTemplate")
98
+ .Where(x => x.IsVisible())`,
99
+ `Umbraco.ContentAtRoot().FirstOrDefault()
100
+ .ChildrenOfType("docTypeWithTemplate")
101
+ .Where(x => (x.Id != -6))
102
+ .Where(x => x.IsVisible())
103
+ .OrderBy(x => x.UpdateDate)`,
104
+ ];
105
+ const randomIndex = () => Math.floor(Math.random() * 3);
106
+ export const templateQueryResult = {
107
+ queryExpression: templateQueryExpressions[randomIndex()],
108
+ sampleResults: [],
109
+ resultCount: 0,
110
+ executionTime: 0,
111
+ };
90
112
  export const templateQuerySettings = {
91
- contentTypeAliases: [],
113
+ contentTypeAliases: ['docTypeWithTemplate', 'propertyTypeWithTemplate', 'somethingElse'],
92
114
  properties: [
93
115
  {
94
116
  alias: 'Id',
95
- type: 'Integer',
117
+ type: TemplateQueryPropertyTypeModel.INTEGER,
96
118
  },
97
119
  {
98
120
  alias: 'Name',
99
- type: 'String',
121
+ type: TemplateQueryPropertyTypeModel.STRING,
100
122
  },
101
123
  {
102
124
  alias: 'CreateDate',
103
- type: 'DateTime',
125
+ type: TemplateQueryPropertyTypeModel.DATE_TIME,
104
126
  },
105
127
  {
106
128
  alias: 'UpdateDate',
107
- type: 'DateTime',
129
+ type: TemplateQueryPropertyTypeModel.DATE_TIME,
108
130
  },
109
131
  ],
110
132
  operators: [
111
133
  {
112
- operator: 'Equals',
113
- applicableTypes: ['Integer', 'String'],
134
+ operator: OperatorModel.EQUALS,
135
+ applicableTypes: [TemplateQueryPropertyTypeModel.INTEGER, TemplateQueryPropertyTypeModel.STRING],
114
136
  },
115
137
  {
116
- operator: 'NotEquals',
117
- applicableTypes: ['Integer', 'String'],
138
+ operator: OperatorModel.NOT_EQUALS,
139
+ applicableTypes: [TemplateQueryPropertyTypeModel.INTEGER, TemplateQueryPropertyTypeModel.STRING],
118
140
  },
119
141
  {
120
- operator: 'LessThan',
121
- applicableTypes: ['Integer', 'DateTime'],
142
+ operator: OperatorModel.LESS_THAN,
143
+ applicableTypes: [TemplateQueryPropertyTypeModel.INTEGER, TemplateQueryPropertyTypeModel.DATE_TIME],
122
144
  },
123
145
  {
124
- operator: 'LessThanEqualTo',
125
- applicableTypes: ['Integer', 'DateTime'],
146
+ operator: OperatorModel.GREATER_THAN_EQUAL_TO,
147
+ applicableTypes: [TemplateQueryPropertyTypeModel.INTEGER, TemplateQueryPropertyTypeModel.DATE_TIME],
126
148
  },
127
149
  {
128
- operator: 'GreaterThan',
129
- applicableTypes: ['Integer', 'DateTime'],
150
+ operator: OperatorModel.GREATER_THAN,
151
+ applicableTypes: [TemplateQueryPropertyTypeModel.INTEGER, TemplateQueryPropertyTypeModel.DATE_TIME],
130
152
  },
131
153
  {
132
- operator: 'GreaterThanEqualTo',
133
- applicableTypes: ['Integer', 'DateTime'],
154
+ operator: OperatorModel.GREATER_THAN_EQUAL_TO,
155
+ applicableTypes: [TemplateQueryPropertyTypeModel.INTEGER, TemplateQueryPropertyTypeModel.DATE_TIME],
134
156
  },
135
157
  {
136
- operator: 'Contains',
137
- applicableTypes: ['String'],
158
+ operator: OperatorModel.CONTAINS,
159
+ applicableTypes: [TemplateQueryPropertyTypeModel.STRING],
138
160
  },
139
161
  {
140
- operator: 'NotContains',
141
- applicableTypes: ['String'],
162
+ operator: OperatorModel.NOT_CONTAINS,
163
+ applicableTypes: [TemplateQueryPropertyTypeModel.STRING],
142
164
  },
143
165
  ],
144
166
  };
@@ -147,6 +169,7 @@ class UmbTemplateData extends UmbEntityData {
147
169
  constructor() {
148
170
  super(data);
149
171
  this.getTemplateQuerySettings = () => templateQuerySettings;
172
+ this.getTemplateQueryResult = () => templateQueryResult;
150
173
  }
151
174
  getById(id) {
152
175
  const item = this.data.find((item) => item.id === id);
@@ -39,6 +39,10 @@ export const handlers = [
39
39
  const response = umbTemplateData.getTemplateQuerySettings();
40
40
  return res(ctx.status(200), ctx.json(response));
41
41
  }),
42
+ rest.post(umbracoPath('/template/query/execute'), (req, res, ctx) => {
43
+ const response = umbTemplateData.getTemplateQueryResult();
44
+ return res(ctx.status(200), ctx.json(response));
45
+ }),
42
46
  rest.get(umbracoPath('/template/:id'), (req, res, ctx) => {
43
47
  const id = req.params.id;
44
48
  if (!id)
@@ -10,6 +10,8 @@ export declare class UmbButtonWithDropdownElement extends LitElement {
10
10
  compact: boolean;
11
11
  symbolExpand: UUISymbolExpandElement;
12
12
  popover: UUIPopoverElement;
13
+ openPopover(): void;
14
+ closePopover(): void;
13
15
  render(): import("lit-html").TemplateResult<1>;
14
16
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
15
17
  }
@@ -18,22 +18,22 @@ export let UmbButtonWithDropdownElement = class UmbButtonWithDropdownElement ext
18
18
  this.placement = 'bottom-start';
19
19
  this.compact = false;
20
20
  }
21
- #openPopover() {
21
+ openPopover() {
22
22
  this.open = true;
23
23
  this.popover.open = true;
24
24
  this.symbolExpand.open = true;
25
25
  }
26
- #closePopover() {
26
+ closePopover() {
27
27
  this.open = false;
28
28
  this.popover.open = false;
29
29
  this.symbolExpand.open = false;
30
30
  }
31
31
  #togglePopover() {
32
- this.open ? this.#closePopover() : this.#openPopover();
32
+ this.open ? this.closePopover() : this.openPopover();
33
33
  }
34
34
  render() {
35
35
  return html `
36
- <uui-popover placement=${this.placement} id="popover" @close=${this.#closePopover}>
36
+ <uui-popover placement=${this.placement} id="popover" @close=${this.closePopover}>
37
37
  <uui-button
38
38
  slot="trigger"
39
39
  .look=${this.look}
@@ -1,10 +1,15 @@
1
1
  import { LitElement } from '../../../../external/lit/index.js';
2
2
  /**
3
- * A simple styled box for showing code-based error messages.
3
+ * A simple styled box for showing code-based error messages or blocks od code.
4
4
  * @slot the full message
5
5
  *
6
6
  */
7
7
  export declare class UmbCodeBlockElement extends LitElement {
8
+ language: string;
9
+ copy: boolean;
10
+ nodes: NodeListOf<ChildNode>;
11
+ copyState: 'idle' | 'success';
12
+ copyCode(): Promise<void>;
8
13
  render(): import("lit-html").TemplateResult<1>;
9
14
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
10
15
  }
@@ -5,54 +5,128 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { UUITextStyles } from '../../../../external/uui/index.js';
8
- import { css, html, LitElement, customElement } from '../../../../external/lit/index.js';
8
+ import { css, html, LitElement, customElement, property, queryAssignedNodes, state, } from '../../../../external/lit/index.js';
9
+ //TODO consider adding a highlight prop to the code block, that could spin up/access monaco instance and highlight the code
9
10
  /**
10
- * A simple styled box for showing code-based error messages.
11
+ * A simple styled box for showing code-based error messages or blocks od code.
11
12
  * @slot the full message
12
13
  *
13
14
  */
14
15
  export let UmbCodeBlockElement = class UmbCodeBlockElement extends LitElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.language = '';
19
+ this.copy = false;
20
+ this.copyState = 'idle';
21
+ }
22
+ async copyCode() {
23
+ const text = this.textContent;
24
+ if (text) {
25
+ await navigator.clipboard.writeText(text);
26
+ this.copyState = 'success';
27
+ setTimeout(() => {
28
+ this.copyState = 'idle';
29
+ }, 2000);
30
+ }
31
+ }
15
32
  render() {
16
- return html `<div id="container">
17
- <uui-scroll-container>
18
- <pre>
33
+ return html `
34
+ ${this.language
35
+ ? html `<div id="header">
36
+ <span id="lang">${this.language}</span> ${this.copy
37
+ ? html `<button @click=${this.copyCode}>
38
+ ${this.copyState === 'idle'
39
+ ? html `<uui-icon name="copy"></uui-icon>Copy`
40
+ : html `<uui-icon name="check"></uui-icon>Copied!`}
41
+ </button>`
42
+ : ''}
43
+ </div>`
44
+ : ''}
45
+ <pre style="${this.language ? 'border-top: 1px solid var(--uui-color-divider-emphasis);' : ''}">
46
+ <uui-scroll-container>
19
47
  <code>
20
48
  <slot></slot>
21
49
  </code>
50
+ </uui-scroll-container>
22
51
  </pre>
23
- </uui-scroll-container>
24
- </div> `;
52
+ `;
25
53
  }
26
54
  static { this.styles = [
27
55
  UUITextStyles,
28
56
  css `
29
57
  :host {
30
58
  display: block;
31
- font-family: monospace;
32
- }
33
-
34
- #container {
35
59
  border: 1px solid var(--uui-color-divider-emphasis);
36
- color: var(--uui-color-text-alt);
37
- background-color: var(--uui-color-divider-standalone);
38
- padding: var(--uui-size-space-2);
39
60
  border-radius: var(--uui-border-radius);
40
- line-height: var(--uui-size-10);
41
61
  }
42
- :host uui-scroll-container {
62
+
63
+ uui-scroll-container {
43
64
  max-height: 500px;
44
65
  overflow-y: auto;
45
66
  overflow-wrap: anywhere;
46
67
  }
68
+
47
69
  pre {
48
- max-width: 100%;
70
+ font-family: monospace;
71
+ background-color: var(--uui-color-surface-alt);
72
+ color: #303033;
73
+ display: block;
74
+ font-family: Lato, Helvetica Neue, Helvetica, Arial, sans-serif;
75
+ margin: 0;
76
+ overflow-x: auto;
77
+ padding: 9.5px;
78
+ }
79
+
80
+ pre,
81
+ code {
82
+ word-wrap: normal;
49
83
  white-space: pre-line;
50
- word-break: break-word;
51
- overflow-wrap: break-word;
84
+ }
85
+
86
+ #header {
87
+ display: flex;
88
+ justify-content: space-between;
89
+ align-items: center;
90
+ background-color: var(--uui-color-surface-alt);
91
+ }
92
+
93
+ #lang {
94
+ margin-left: 16px;
95
+ font-weight: bold;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ button {
100
+ font-family: inherit;
101
+ padding: 6px 16px;
102
+ background-color: transparent;
103
+ border: none;
104
+ border-left: 1px solid var(--uui-color-divider-emphasis);
105
+ border-radius: 0;
106
+ color: #000;
107
+ display: flex;
108
+ align-items: center;
109
+ gap: 8px;
110
+ }
111
+
112
+ button:hover {
113
+ background-color: var(--uui-color-surface-emphasis);
52
114
  }
53
115
  `,
54
116
  ]; }
55
117
  };
118
+ __decorate([
119
+ property()
120
+ ], UmbCodeBlockElement.prototype, "language", void 0);
121
+ __decorate([
122
+ property({ type: Boolean })
123
+ ], UmbCodeBlockElement.prototype, "copy", void 0);
124
+ __decorate([
125
+ queryAssignedNodes()
126
+ ], UmbCodeBlockElement.prototype, "nodes", void 0);
127
+ __decorate([
128
+ state()
129
+ ], UmbCodeBlockElement.prototype, "copyState", void 0);
56
130
  UmbCodeBlockElement = __decorate([
57
131
  customElement('umb-code-block')
58
132
  ], UmbCodeBlockElement);
@@ -2,6 +2,7 @@ export * from './backoffice-modal-container/backoffice-modal-container.element.j
2
2
  export * from './backoffice-notification-container/backoffice-notification-container.element.js';
3
3
  export * from './body-layout/body-layout.element.js';
4
4
  export * from './button-with-dropdown/button-with-dropdown.element.js';
5
+ export * from './code-block/index.js';
5
6
  export * from './data-type/index.js';
6
7
  export * from './input-date/index.js';
7
8
  export * from './dropdown/index.js';
@@ -4,7 +4,7 @@ export * from './backoffice-modal-container/backoffice-modal-container.element.j
4
4
  export * from './backoffice-notification-container/backoffice-notification-container.element.js';
5
5
  export * from './body-layout/body-layout.element.js';
6
6
  export * from './button-with-dropdown/button-with-dropdown.element.js'; // TODO: delete this and change usage to umb-dropdown
7
- // export * from './code-block.js';
7
+ export * from './code-block/index.js';
8
8
  export * from './data-type/index.js';
9
9
  export * from './input-date/index.js';
10
10
  export * from './dropdown/index.js';
@@ -2,5 +2,4 @@ import type { EntityTreeItemResponseModel } from '../../../../external/backend-a
2
2
  import { UmbModalToken, UmbPickerModalResult, UmbTreePickerModalData } from '../index.js';
3
3
  export type UmbDictionaryItemPickerModalData = UmbTreePickerModalData<EntityTreeItemResponseModel>;
4
4
  export type UmbDictionaryItemPickerModalResult = UmbPickerModalResult;
5
- export declare const UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS = "Umb.Modal.DictionaryItemPicker";
6
5
  export declare const UMB_DICTIONARY_ITEM_PICKER_MODAL: UmbModalToken<UmbDictionaryItemPickerModalData, UmbPickerModalResult>;
@@ -1,6 +1,5 @@
1
1
  import { UmbModalToken } from '../index.js';
2
- export const UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS = 'Umb.Modal.DictionaryItemPicker';
3
- export const UMB_DICTIONARY_ITEM_PICKER_MODAL = new UmbModalToken(UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS, {
2
+ export const UMB_DICTIONARY_ITEM_PICKER_MODAL = new UmbModalToken('Umb.Modal.TreePicker', {
4
3
  type: 'sidebar',
5
4
  size: 'small',
6
5
  }, {
@@ -1,4 +1,3 @@
1
- import { map } from '../../../external/rxjs/index.js';
2
1
  import { umbExtensionsRegistry } from '../extension-registry/index.js';
3
2
  import { UmbBooleanState } from '../../../libs/observable-api/index.js';
4
3
  import { UmbBaseController } from '../../../libs/controller-api/index.js';
@@ -36,9 +35,7 @@ export class UmbTreeContextBase extends UmbBaseController {
36
35
  if (this.#treeAlias === treeAlias)
37
36
  return;
38
37
  this.#treeAlias = treeAlias;
39
- if (treeAlias) {
40
- this.#observeTreeManifest();
41
- }
38
+ this.#observeTreeManifest();
42
39
  }
43
40
  getTreeAlias() {
44
41
  return this.#treeAlias;
@@ -94,13 +91,13 @@ export class UmbTreeContextBase extends UmbBaseController {
94
91
  return this.repository.treeItemsOf(parentUnique);
95
92
  }
96
93
  #observeTreeManifest() {
97
- this.observe(umbExtensionsRegistry
98
- .extensionsOfType('tree')
99
- .pipe(map((treeManifests) => treeManifests.find((treeManifest) => treeManifest.alias === this.#treeAlias))), async (treeManifest) => {
100
- if (!treeManifest)
101
- return;
102
- this.#observeRepository(treeManifest);
103
- }, '_observeTreeManifest');
94
+ if (this.#treeAlias) {
95
+ this.observe(umbExtensionsRegistry.getByTypeAndAlias('tree', this.#treeAlias), async (treeManifest) => {
96
+ if (!treeManifest)
97
+ return;
98
+ this.#observeRepository(treeManifest);
99
+ }, '_observeTreeManifest');
100
+ }
104
101
  }
105
102
  #observeRepository(treeManifest) {
106
103
  const repositoryAlias = treeManifest.meta.repositoryAlias;