@umbraco-cms/backoffice 16.0.0-rc2 → 16.0.0-rc3

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 (193) hide show
  1. package/dist-cms/custom-elements.json +80 -0
  2. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.d.ts +1 -1
  3. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.js +7 -7
  4. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-property.element.js +1 -1
  5. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +1 -2
  6. package/dist-cms/packages/clipboard/property/value-translator/copy/clipboard-copy-translator-value-resolver.js +6 -1
  7. package/dist-cms/packages/content/content/controller/merge-content-variant-data.controller.js +1 -0
  8. package/dist-cms/packages/content/content/property-dataset-context/element-property-dataset.context.js +4 -1
  9. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +4 -0
  10. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.d.ts +1 -1
  11. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.js +7 -7
  12. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-property.element.js +1 -1
  13. package/dist-cms/packages/core/backend-api/types.gen.d.ts +2 -0
  14. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +1 -0
  15. package/dist-cms/packages/core/collection/default/collection-default.context.js +3 -0
  16. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +4 -1
  17. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  18. package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -0
  19. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.d.ts +9 -0
  20. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.js +80 -2
  21. package/dist-cms/packages/core/picker/search/picker-search-result.element.js +1 -2
  22. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  23. package/dist-cms/packages/core/property/property-dataset/property-dataset-base-context.js +7 -2
  24. package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.d.ts +15 -2
  25. package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.js +22 -15
  26. package/dist-cms/packages/core/property/property-value-cloner/property-value-clone.controller.js +2 -0
  27. package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +6 -1
  28. package/dist-cms/packages/core/section/section-default.element.js +3 -0
  29. package/dist-cms/packages/core/temporary-file/config/config.repository.d.ts +1 -0
  30. package/dist-cms/packages/core/temporary-file/config/config.repository.js +7 -3
  31. package/dist-cms/packages/core/temporary-file/config/config.server.data-source.js +1 -1
  32. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  33. package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +15 -4
  34. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  35. package/dist-cms/packages/core/utils/media/image-size.function.d.ts +5 -3
  36. package/dist-cms/packages/core/utils/media/image-size.function.js +9 -11
  37. package/dist-cms/packages/core/validation/controllers/bind-server-validation-to-form-control.controller.js +1 -1
  38. package/dist-cms/packages/core/validation/controllers/form-control-validator.controller.js +4 -4
  39. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-property-path-translation.controller.js +1 -0
  40. package/dist-cms/packages/core/validation/controllers/validation.controller.js +4 -4
  41. package/dist-cms/packages/core/variant/constants.d.ts +1 -0
  42. package/dist-cms/packages/core/variant/constants.js +1 -0
  43. package/dist-cms/packages/core/variant/context/constants.d.ts +1 -0
  44. package/dist-cms/packages/core/variant/context/constants.js +1 -0
  45. package/dist-cms/packages/core/variant/context/index.d.ts +1 -0
  46. package/dist-cms/packages/core/variant/context/index.js +1 -0
  47. package/dist-cms/packages/core/variant/context/variant.context.d.ts +91 -0
  48. package/dist-cms/packages/core/variant/context/variant.context.js +141 -0
  49. package/dist-cms/packages/core/variant/context/variant.context.token.d.ts +3 -0
  50. package/dist-cms/packages/core/variant/context/variant.context.token.js +2 -0
  51. package/dist-cms/packages/core/variant/index.d.ts +2 -0
  52. package/dist-cms/packages/core/variant/index.js +2 -0
  53. package/dist-cms/packages/core/workspace/info-app/global-components/workspace-info-app-layout.element.js +0 -4
  54. package/dist-cms/packages/core/workspace/workspace-property-dataset/invariant-workspace-property-dataset-context.js +4 -1
  55. package/dist-cms/packages/data-type/constants.d.ts +1 -0
  56. package/dist-cms/packages/data-type/constants.js +1 -0
  57. package/dist-cms/packages/data-type/search/constants.d.ts +2 -0
  58. package/dist-cms/packages/data-type/search/constants.js +2 -0
  59. package/dist-cms/packages/data-type/search/global-search/constants.d.ts +1 -0
  60. package/dist-cms/packages/data-type/search/global-search/constants.js +1 -0
  61. package/dist-cms/packages/data-type/search/global-search/manifests.d.ts +1 -0
  62. package/dist-cms/packages/data-type/search/global-search/manifests.js +22 -0
  63. package/dist-cms/packages/data-type/search/manifests.js +2 -0
  64. package/dist-cms/packages/dictionary/search/constants.d.ts +1 -0
  65. package/dist-cms/packages/dictionary/search/constants.js +1 -0
  66. package/dist-cms/packages/dictionary/search/global-search/constants.d.ts +1 -0
  67. package/dist-cms/packages/dictionary/search/global-search/constants.js +1 -0
  68. package/dist-cms/packages/dictionary/search/global-search/manifests.d.ts +1 -0
  69. package/dist-cms/packages/dictionary/search/global-search/manifests.js +22 -0
  70. package/dist-cms/packages/dictionary/search/manifests.js +2 -0
  71. package/dist-cms/packages/documents/document-types/search/constants.d.ts +1 -0
  72. package/dist-cms/packages/documents/document-types/search/constants.js +1 -0
  73. package/dist-cms/packages/documents/document-types/search/global-search/constants.d.ts +1 -0
  74. package/dist-cms/packages/documents/document-types/search/global-search/constants.js +1 -0
  75. package/dist-cms/packages/documents/document-types/search/global-search/manifests.d.ts +1 -0
  76. package/dist-cms/packages/documents/document-types/search/global-search/manifests.js +22 -0
  77. package/dist-cms/packages/documents/document-types/search/manifests.js +2 -0
  78. package/dist-cms/packages/documents/documents/collection/document-collection.context.d.ts +2 -0
  79. package/dist-cms/packages/documents/documents/collection/document-collection.context.js +23 -0
  80. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +4 -0
  81. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +2 -2
  82. package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +55 -68
  83. package/dist-cms/packages/documents/documents/item/document-item-ref.element.d.ts +4 -0
  84. package/dist-cms/packages/documents/documents/item/document-item-ref.element.js +33 -2
  85. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.d.ts +1 -0
  86. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.js +14 -8
  87. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.d.ts +0 -1
  88. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.js +0 -42
  89. package/dist-cms/packages/documents/documents/search/constants.d.ts +1 -0
  90. package/dist-cms/packages/documents/documents/search/constants.js +1 -0
  91. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +3 -2
  92. package/dist-cms/packages/documents/documents/search/global-search/constants.d.ts +1 -0
  93. package/dist-cms/packages/documents/documents/search/global-search/constants.js +1 -0
  94. package/dist-cms/packages/documents/documents/search/global-search/document-global-search.d.ts +6 -0
  95. package/dist-cms/packages/documents/documents/search/global-search/document-global-search.js +15 -0
  96. package/dist-cms/packages/documents/documents/search/global-search/manifests.d.ts +1 -0
  97. package/dist-cms/packages/documents/documents/search/global-search/manifests.js +23 -0
  98. package/dist-cms/packages/documents/documents/search/manifests.js +2 -0
  99. package/dist-cms/packages/documents/documents/search/types.d.ts +1 -0
  100. package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.d.ts +37 -0
  101. package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.js +78 -0
  102. package/dist-cms/packages/documents/documents/url/index.d.ts +1 -0
  103. package/dist-cms/packages/documents/documents/url/index.js +1 -0
  104. package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.d.ts +0 -1
  105. package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.js +29 -24
  106. package/dist-cms/packages/documents/documents/url/repository/types.d.ts +1 -1
  107. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +29 -0
  108. package/dist-cms/packages/language/global-contexts/app-language.context.js +14 -12
  109. package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.js +3 -0
  110. package/dist-cms/packages/media/media/components/input-media/input-media.context.js +4 -0
  111. package/dist-cms/packages/media/media/constants.d.ts +1 -1
  112. package/dist-cms/packages/media/media/constants.js +1 -1
  113. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +8 -0
  114. package/dist-cms/packages/media/media/search/constants.d.ts +1 -0
  115. package/dist-cms/packages/media/media/search/constants.js +1 -0
  116. package/dist-cms/packages/media/media/search/global-search/constants.d.ts +1 -0
  117. package/dist-cms/packages/media/media/search/global-search/constants.js +1 -0
  118. package/dist-cms/packages/media/media/search/global-search/manifests.d.ts +1 -0
  119. package/dist-cms/packages/media/media/search/global-search/manifests.js +23 -0
  120. package/dist-cms/packages/media/media/search/global-search/media-global-search.d.ts +15 -0
  121. package/dist-cms/packages/media/media/search/global-search/media-global-search.js +15 -0
  122. package/dist-cms/packages/media/media/search/manifests.js +2 -0
  123. package/dist-cms/packages/media/media/search/media-search.server.data-source.js +3 -2
  124. package/dist-cms/packages/media/media/search/types.d.ts +1 -0
  125. package/dist-cms/packages/media/media-types/constants.d.ts +1 -0
  126. package/dist-cms/packages/media/media-types/constants.js +1 -0
  127. package/dist-cms/packages/media/media-types/search/constants.d.ts +2 -0
  128. package/dist-cms/packages/media/media-types/search/constants.js +2 -0
  129. package/dist-cms/packages/media/media-types/search/global-search/constants.d.ts +1 -0
  130. package/dist-cms/packages/media/media-types/search/global-search/constants.js +1 -0
  131. package/dist-cms/packages/media/media-types/search/global-search/manifests.d.ts +1 -0
  132. package/dist-cms/packages/media/media-types/search/global-search/manifests.js +22 -0
  133. package/dist-cms/packages/media/media-types/search/manifests.js +4 -1
  134. package/dist-cms/packages/members/member/search/constants.d.ts +1 -0
  135. package/dist-cms/packages/members/member/search/constants.js +1 -0
  136. package/dist-cms/packages/members/member/search/global-search/constants.d.ts +1 -0
  137. package/dist-cms/packages/members/member/search/global-search/constants.js +1 -0
  138. package/dist-cms/packages/members/member/search/global-search/manifests.d.ts +1 -0
  139. package/dist-cms/packages/members/member/search/global-search/manifests.js +22 -0
  140. package/dist-cms/packages/members/member/search/manifests.js +2 -0
  141. package/dist-cms/packages/members/member-type/constants.d.ts +1 -0
  142. package/dist-cms/packages/members/member-type/constants.js +1 -0
  143. package/dist-cms/packages/members/member-type/search/constants.d.ts +2 -0
  144. package/dist-cms/packages/members/member-type/search/constants.js +2 -0
  145. package/dist-cms/packages/members/member-type/search/global-search/constants.d.ts +1 -0
  146. package/dist-cms/packages/members/member-type/search/global-search/constants.js +1 -0
  147. package/dist-cms/packages/members/member-type/search/global-search/manifests.d.ts +1 -0
  148. package/dist-cms/packages/members/member-type/search/global-search/manifests.js +22 -0
  149. package/dist-cms/packages/members/member-type/search/manifests.js +4 -1
  150. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +4 -0
  151. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.js +48 -1
  152. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.d.ts +2 -2
  153. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.js +95 -34
  154. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js +6 -1
  155. package/dist-cms/packages/search/global-search/global-search-base.d.ts +11 -0
  156. package/dist-cms/packages/search/global-search/global-search-base.js +49 -0
  157. package/dist-cms/packages/search/global-search/global-search.extension.d.ts +15 -0
  158. package/dist-cms/packages/search/global-search/global-search.extension.js +1 -0
  159. package/dist-cms/packages/search/global-search/index.d.ts +1 -0
  160. package/dist-cms/packages/search/global-search/index.js +1 -0
  161. package/dist-cms/packages/search/global-search/types.d.ts +4 -0
  162. package/dist-cms/packages/search/global-search/types.js +1 -0
  163. package/dist-cms/packages/search/index.d.ts +1 -0
  164. package/dist-cms/packages/search/index.js +1 -0
  165. package/dist-cms/packages/search/search-modal/search-modal.element.d.ts +4 -4
  166. package/dist-cms/packages/search/search-modal/search-modal.element.js +40 -29
  167. package/dist-cms/packages/search/types.d.ts +1 -0
  168. package/dist-cms/packages/sysinfo/components/sysinfo.element.js +49 -9
  169. package/dist-cms/packages/sysinfo/repository/sysinfo.repository.d.ts +3 -0
  170. package/dist-cms/packages/sysinfo/repository/sysinfo.repository.js +8 -0
  171. package/dist-cms/packages/templating/templates/constants.d.ts +1 -0
  172. package/dist-cms/packages/templating/templates/constants.js +1 -0
  173. package/dist-cms/packages/templating/templates/search/constants.d.ts +2 -0
  174. package/dist-cms/packages/templating/templates/search/constants.js +2 -0
  175. package/dist-cms/packages/templating/templates/search/global-search/constants.d.ts +1 -0
  176. package/dist-cms/packages/templating/templates/search/global-search/constants.js +1 -0
  177. package/dist-cms/packages/templating/templates/search/global-search/manifests.d.ts +1 -0
  178. package/dist-cms/packages/templating/templates/search/global-search/manifests.js +22 -0
  179. package/dist-cms/packages/templating/templates/search/manifests.js +4 -1
  180. package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.d.ts +6 -1
  181. package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.js +16 -6
  182. package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.d.ts +6 -1
  183. package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.js +27 -6
  184. package/dist-cms/packages/user/current-user/action/current-user-app-button.element.d.ts +1 -1
  185. package/dist-cms/packages/user/current-user/action/current-user-app-button.element.js +4 -8
  186. package/dist-cms/packages/user/current-user/current-user-action.extension.d.ts +0 -11
  187. package/dist-cms/packages/user/current-user/external-login/manifests.js +0 -1
  188. package/dist-cms/packages/user/current-user/mfa-login/manifests.js +0 -1
  189. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  190. package/dist-cms/umbraco-package-schema.json +147 -0
  191. package/dist-cms/umbraco-package.json +1 -1
  192. package/dist-cms/vscode-html-custom-data.json +48 -8
  193. package/package.json +1 -1
@@ -4352,6 +4352,22 @@
4352
4352
  {
4353
4353
  "name": "standalone",
4354
4354
  "type": "boolean"
4355
+ },
4356
+ {
4357
+ "name": "select-only",
4358
+ "type": "boolean"
4359
+ },
4360
+ {
4361
+ "name": "selectable",
4362
+ "type": "boolean"
4363
+ },
4364
+ {
4365
+ "name": "selected",
4366
+ "type": "boolean"
4367
+ },
4368
+ {
4369
+ "name": "disabled",
4370
+ "type": "boolean"
4355
4371
  }
4356
4372
  ],
4357
4373
  "properties": [
@@ -4368,6 +4384,26 @@
4368
4384
  "attribute": "standalone",
4369
4385
  "type": "boolean"
4370
4386
  },
4387
+ {
4388
+ "name": "selectOnly",
4389
+ "attribute": "select-only",
4390
+ "type": "boolean"
4391
+ },
4392
+ {
4393
+ "name": "selectable",
4394
+ "attribute": "selectable",
4395
+ "type": "boolean"
4396
+ },
4397
+ {
4398
+ "name": "selected",
4399
+ "attribute": "selected",
4400
+ "type": "boolean"
4401
+ },
4402
+ {
4403
+ "name": "disabled",
4404
+ "attribute": "disabled",
4405
+ "type": "boolean"
4406
+ },
4371
4407
  {
4372
4408
  "name": "styles",
4373
4409
  "type": "array",
@@ -7409,6 +7445,26 @@
7409
7445
  "name": "standalone",
7410
7446
  "type": "boolean",
7411
7447
  "default": "false"
7448
+ },
7449
+ {
7450
+ "name": "select-only",
7451
+ "type": "boolean",
7452
+ "default": "false"
7453
+ },
7454
+ {
7455
+ "name": "selectable",
7456
+ "type": "boolean",
7457
+ "default": "false"
7458
+ },
7459
+ {
7460
+ "name": "selected",
7461
+ "type": "boolean",
7462
+ "default": "false"
7463
+ },
7464
+ {
7465
+ "name": "disabled",
7466
+ "type": "boolean",
7467
+ "default": "false"
7412
7468
  }
7413
7469
  ],
7414
7470
  "properties": [
@@ -7428,6 +7484,30 @@
7428
7484
  "attribute": "standalone",
7429
7485
  "type": "boolean",
7430
7486
  "default": "false"
7487
+ },
7488
+ {
7489
+ "name": "selectOnly",
7490
+ "attribute": "select-only",
7491
+ "type": "boolean",
7492
+ "default": "false"
7493
+ },
7494
+ {
7495
+ "name": "selectable",
7496
+ "attribute": "selectable",
7497
+ "type": "boolean",
7498
+ "default": "false"
7499
+ },
7500
+ {
7501
+ "name": "selected",
7502
+ "attribute": "selected",
7503
+ "type": "boolean",
7504
+ "default": "false"
7505
+ },
7506
+ {
7507
+ "name": "disabled",
7508
+ "attribute": "disabled",
7509
+ "type": "boolean",
7510
+ "default": "false"
7431
7511
  }
7432
7512
  ]
7433
7513
  },
@@ -11,7 +11,7 @@ export declare class UmbBlockWorkspaceViewEditPropertiesElement extends UmbLitEl
11
11
  get containerId(): string | null | undefined;
12
12
  set containerId(value: string | null | undefined);
13
13
  _dataOwner?: UmbBlockElementManager;
14
- _variantId?: UmbVariantId;
14
+ _workspaceVariantId?: UmbVariantId;
15
15
  _visibleProperties?: Array<UmbPropertyTypeModel>;
16
16
  private _ownerEntityType?;
17
17
  constructor();
@@ -36,7 +36,7 @@ let UmbBlockWorkspaceViewEditPropertiesElement = class UmbBlockWorkspaceViewEdit
36
36
  this.#workspaceContext = workspaceContext;
37
37
  this._ownerEntityType = this.#workspaceContext?.getEntityType();
38
38
  this.observe(workspaceContext?.variantId, (variantId) => {
39
- this._variantId = variantId;
39
+ this._workspaceVariantId = variantId;
40
40
  this.#processPropertyStructure();
41
41
  }, 'observeVariantId');
42
42
  this.#setStructureManager();
@@ -54,13 +54,13 @@ let UmbBlockWorkspaceViewEditPropertiesElement = class UmbBlockWorkspaceViewEdit
54
54
  }, 'observePropertyStructure');
55
55
  }
56
56
  #processPropertyStructure() {
57
- if (!this._dataOwner || !this.#properties || !this.#propertyStructureHelper) {
57
+ if (!this._dataOwner || !this.#properties || !this.#propertyStructureHelper || !this._workspaceVariantId) {
58
58
  return;
59
59
  }
60
60
  const propertyViewGuard = this._dataOwner.propertyViewGuard;
61
61
  this.#properties.forEach((property) => {
62
- const propertyVariantId = new UmbVariantId(this._variantId?.culture, this._variantId?.segment);
63
- this.observe(propertyViewGuard.isPermittedForVariantAndProperty(propertyVariantId, property), (permitted) => {
62
+ const propertyVariantId = new UmbVariantId(property.variesByCulture ? this._workspaceVariantId.culture : null, property.variesBySegment ? this._workspaceVariantId.segment : null);
63
+ this.observe(propertyViewGuard.isPermittedForVariantAndProperty(propertyVariantId, property, this._workspaceVariantId), (permitted) => {
64
64
  if (permitted) {
65
65
  this.#visiblePropertiesUniques.push(property.unique);
66
66
  this.#calculateVisibleProperties();
@@ -79,12 +79,12 @@ let UmbBlockWorkspaceViewEditPropertiesElement = class UmbBlockWorkspaceViewEdit
79
79
  this._visibleProperties = this.#properties.filter((property) => this.#visiblePropertiesUniques.includes(property.unique));
80
80
  }
81
81
  render() {
82
- return this._variantId && this._visibleProperties
82
+ return this._workspaceVariantId && this._visibleProperties
83
83
  ? repeat(this._visibleProperties, (property) => property.alias, (property) => html `<umb-block-workspace-view-edit-property
84
84
  class="property"
85
85
  .ownerContext=${this._dataOwner}
86
86
  .ownerEntityType=${this._ownerEntityType}
87
- .variantId=${this._variantId}
87
+ .variantId=${this._workspaceVariantId}
88
88
  .property=${property}></umb-block-workspace-view-edit-property>`)
89
89
  : nothing;
90
90
  }
@@ -111,7 +111,7 @@ __decorate([
111
111
  ], UmbBlockWorkspaceViewEditPropertiesElement.prototype, "_dataOwner", void 0);
112
112
  __decorate([
113
113
  state()
114
- ], UmbBlockWorkspaceViewEditPropertiesElement.prototype, "_variantId", void 0);
114
+ ], UmbBlockWorkspaceViewEditPropertiesElement.prototype, "_workspaceVariantId", void 0);
115
115
  __decorate([
116
116
  state()
117
117
  ], UmbBlockWorkspaceViewEditPropertiesElement.prototype, "_visibleProperties", void 0);
@@ -19,7 +19,7 @@ let UmbBlockWorkspaceViewEditPropertyElement = class UmbBlockWorkspaceViewEditPr
19
19
  culture: propertyVariantId.culture,
20
20
  segment: propertyVariantId.segment,
21
21
  })}].value`;
22
- this.observe(this.ownerContext.propertyWriteGuard.isPermittedForVariantAndProperty(propertyVariantId, this.property), (write) => {
22
+ this.observe(this.ownerContext.propertyWriteGuard.isPermittedForVariantAndProperty(propertyVariantId, this.property, this.variantId), (write) => {
23
23
  this._writeable = write;
24
24
  }, 'observeView');
25
25
  }
@@ -103,8 +103,7 @@ let UmbInputBlockTypeElement = class UmbInputBlockTypeElement extends UmbLitElem
103
103
  // Only pick elements:
104
104
  docType.isElement &&
105
105
  // Prevent picking the an already used element type:
106
- this.#filter &&
107
- this.#filter.find((x) => x.contentElementTypeKey === docType.unique) === undefined,
106
+ this.#filter?.find((x) => x.contentElementTypeKey === docType.unique) === undefined,
108
107
  },
109
108
  value: {
110
109
  selection: [],
@@ -14,7 +14,12 @@ export class UmbClipboardCopyPropertyValueTranslatorValueResolver extends UmbCon
14
14
  throw new Error('No clipboard copy translators found.');
15
15
  }
16
16
  // Create translators
17
- const apiPromises = manifests.map((manifest) => createExtensionApi(this, manifest));
17
+ const apiPromises = manifests.map((manifest) => createExtensionApi(this, manifest).then((api) => {
18
+ if (api) {
19
+ api.manifest = manifest;
20
+ }
21
+ return api;
22
+ }));
18
23
  const apis = await Promise.all(apiPromises);
19
24
  // Translate values
20
25
  const valuePromises = apis.map(async (api) => api?.translate(propertyValue));
@@ -87,6 +87,7 @@ export class UmbMergeContentVariantDataController extends UmbControllerBase {
87
87
  // If api is not to be found, then we can continue using the draftValue as is.
88
88
  return draftValue;
89
89
  }
90
+ api.manifest = manifest;
90
91
  let newValue = draftValue;
91
92
  if (api.processValues) {
92
93
  // The a property values resolver resolves one value, we need to gather the persisted inner values first, and store them here:
@@ -1,7 +1,7 @@
1
1
  import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
2
2
  import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
3
3
  import { UmbBasicState, UmbBooleanState, classEqualMemoization, createObservablePart, mergeObservables, } from '@umbraco-cms/backoffice/observable-api';
4
- import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
4
+ import { UmbVariantContext, UmbVariantId } from '@umbraco-cms/backoffice/variant';
5
5
  export class UmbElementPropertyDatasetContext extends UmbContextBase {
6
6
  #variantId;
7
7
  getVariantId() {
@@ -10,6 +10,7 @@ export class UmbElementPropertyDatasetContext extends UmbContextBase {
10
10
  #propertyVariantIdPromise;
11
11
  #propertyVariantIdPromiseResolver;
12
12
  #propertyVariantIdMap;
13
+ #variantContext;
13
14
  getEntityType() {
14
15
  return this._dataOwner.getEntityType();
15
16
  }
@@ -26,8 +27,10 @@ export class UmbElementPropertyDatasetContext extends UmbContextBase {
26
27
  this._propertyVariantIdMap = this.#propertyVariantIdMap.asObservable();
27
28
  this._readOnly = new UmbBooleanState(false);
28
29
  this.readOnly = this._readOnly.asObservable();
30
+ this.#variantContext = new UmbVariantContext(this).inherit();
29
31
  this._dataOwner = dataOwner;
30
32
  this.#variantId = variantId ?? UmbVariantId.CreateInvariant();
33
+ this.#variantContext.setVariantId(this.#variantId);
31
34
  this.#propertyVariantIdPromise = new Promise((resolve) => {
32
35
  this.#propertyVariantIdPromiseResolver = resolve;
33
36
  });
@@ -512,6 +512,10 @@ export class UmbContentDetailWorkspaceContextBase extends UmbEntityDetailWorkspa
512
512
  */
513
513
  async runMandatoryValidationForSaveData(saveData, variantIds = []) {
514
514
  // Check that the data is valid before we save it.
515
+ // If we vary by culture then we do not want to validate the invariant variant.
516
+ if (this.getVariesByCulture()) {
517
+ variantIds = variantIds.filter((variant) => !variant.isCultureInvariant());
518
+ }
515
519
  const missingVariants = variantIds.filter((variant) => {
516
520
  return !saveData.variants.some((y) => variant.compare(y));
517
521
  });
@@ -6,7 +6,7 @@ export declare class UmbContentWorkspaceViewEditPropertiesElement extends UmbLit
6
6
  #private;
7
7
  get containerId(): string | null | undefined;
8
8
  set containerId(value: string | null | undefined);
9
- _variantId?: UmbVariantId;
9
+ _datasetVariantId?: UmbVariantId;
10
10
  _visibleProperties?: Array<UmbPropertyTypeModel>;
11
11
  constructor();
12
12
  render(): unknown;
@@ -26,7 +26,7 @@ let UmbContentWorkspaceViewEditPropertiesElement = class UmbContentWorkspaceView
26
26
  constructor() {
27
27
  super();
28
28
  this.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, (datasetContext) => {
29
- this._variantId = datasetContext?.getVariantId();
29
+ this._datasetVariantId = datasetContext?.getVariantId();
30
30
  this.#processPropertyStructure();
31
31
  });
32
32
  this.consumeContext(UMB_CONTENT_WORKSPACE_CONTEXT, (workspaceContext) => {
@@ -41,13 +41,13 @@ let UmbContentWorkspaceViewEditPropertiesElement = class UmbContentWorkspaceView
41
41
  });
42
42
  }
43
43
  #processPropertyStructure() {
44
- if (!this.#workspaceContext || !this.#properties || !this.#propertyStructureHelper) {
44
+ if (!this.#workspaceContext || !this.#properties || !this.#propertyStructureHelper || !this._datasetVariantId) {
45
45
  return;
46
46
  }
47
47
  const propertyViewGuard = this.#workspaceContext.propertyViewGuard;
48
48
  this.#properties.forEach((property) => {
49
- const propertyVariantId = new UmbVariantId(this._variantId?.culture, this._variantId?.segment);
50
- this.observe(propertyViewGuard.isPermittedForVariantAndProperty(propertyVariantId, property), (permitted) => {
49
+ const propertyVariantId = new UmbVariantId(property.variesByCulture ? this._datasetVariantId?.culture : null, property.variesBySegment ? this._datasetVariantId?.segment : null);
50
+ this.observe(propertyViewGuard.isPermittedForVariantAndProperty(propertyVariantId, property, this._datasetVariantId), (permitted) => {
51
51
  if (permitted) {
52
52
  this.#visiblePropertiesUniques.push(property.unique);
53
53
  this.#calculateVisibleProperties();
@@ -66,10 +66,10 @@ let UmbContentWorkspaceViewEditPropertiesElement = class UmbContentWorkspaceView
66
66
  this._visibleProperties = this.#properties.filter((property) => this.#visiblePropertiesUniques.includes(property.unique));
67
67
  }
68
68
  render() {
69
- return this._variantId && this._visibleProperties
69
+ return this._datasetVariantId && this._visibleProperties
70
70
  ? repeat(this._visibleProperties, (property) => property.alias, (property) => html `<umb-content-workspace-view-edit-property
71
71
  class="property"
72
- .variantId=${this._variantId}
72
+ .variantId=${this._datasetVariantId}
73
73
  .property=${property}></umb-content-workspace-view-edit-property>`)
74
74
  : nothing;
75
75
  }
@@ -90,7 +90,7 @@ __decorate([
90
90
  ], UmbContentWorkspaceViewEditPropertiesElement.prototype, "containerId", null);
91
91
  __decorate([
92
92
  state()
93
- ], UmbContentWorkspaceViewEditPropertiesElement.prototype, "_variantId", void 0);
93
+ ], UmbContentWorkspaceViewEditPropertiesElement.prototype, "_datasetVariantId", void 0);
94
94
  __decorate([
95
95
  state()
96
96
  ], UmbContentWorkspaceViewEditPropertiesElement.prototype, "_visibleProperties", void 0);
@@ -26,7 +26,7 @@ let UmbContentWorkspaceViewEditPropertyElement = class UmbContentWorkspaceViewEd
26
26
  culture: propertyVariantId.culture,
27
27
  segment: propertyVariantId.segment,
28
28
  })}].value`;
29
- this.observe(this._context.propertyWriteGuard.isPermittedForVariantAndProperty(propertyVariantId, this.property), (write) => {
29
+ this.observe(this._context.propertyWriteGuard.isPermittedForVariantAndProperty(propertyVariantId, this.property, this.variantId), (write) => {
30
30
  this._writeable = write;
31
31
  }, 'observeView');
32
32
  }
@@ -5808,6 +5808,7 @@ export type GetItemDocumentSearchData = {
5808
5808
  query?: {
5809
5809
  query?: string;
5810
5810
  trashed?: boolean;
5811
+ culture?: string;
5811
5812
  skip?: number;
5812
5813
  take?: number;
5813
5814
  parentId?: string;
@@ -7794,6 +7795,7 @@ export type GetItemMediaSearchData = {
7794
7795
  query?: {
7795
7796
  query?: string;
7796
7797
  trashed?: boolean;
7798
+ culture?: string;
7797
7799
  skip?: number;
7798
7800
  take?: number;
7799
7801
  parentId?: string;
@@ -57,6 +57,7 @@ export declare class UmbDefaultCollectionContext<CollectionItemType extends {
57
57
  * @memberof UmbCollectionContext
58
58
  */
59
59
  setFilter(filter: Partial<FilterModelType>): void;
60
+ updateFilter(filter: Partial<FilterModelType>): void;
60
61
  getLastSelectedView(unique: string | undefined): string | undefined;
61
62
  setLastSelectedView(unique: string | undefined, viewAlias: string): void;
62
63
  destroy(): void;
@@ -216,6 +216,9 @@ export class UmbDefaultCollectionContext extends UmbContextBase {
216
216
  this._filter.setValue({ ...this._filter.getValue(), ...filter });
217
217
  this.requestCollection();
218
218
  }
219
+ updateFilter(filter) {
220
+ this._filter.setValue({ ...this._filter.getValue(), ...filter });
221
+ }
219
222
  getLastSelectedView(unique) {
220
223
  if (!unique)
221
224
  return;
@@ -39,7 +39,10 @@ let UmbEntityActionsBundleElement = class UmbEntityActionsBundleElement extends
39
39
  this._firstActionApi = await createExtensionApi(this, this._firstActionManifest, [
40
40
  { unique: this.unique, entityType: this.entityType, meta: this._firstActionManifest.meta },
41
41
  ]);
42
- this._firstActionHref = await this._firstActionApi?.getHref();
42
+ if (this._firstActionApi) {
43
+ this._firstActionApi.manifest = this._firstActionManifest;
44
+ this._firstActionHref = await this._firstActionApi.getHref();
45
+ }
43
46
  }
44
47
  async #onFirstActionClick(event) {
45
48
  // skip if href is defined
@@ -1 +1 @@
1
- export declare const manifests: (import("../modal/types.js").ManifestModal | import("../collection/types.js").ManifestCollection | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | (import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | /*elided*/ any>>>>>>>>>>>) | import("../repository/types.js").ManifestDataSourceDataMapping<import("../repository/types.js").MetaDataSourceDataMapping> | import("../entity-bulk-action/types.js").ManifestEntityBulkActionDeleteKind | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceInfoApp<import("../workspace/types.js").MetaWorkspaceInfoApp> | import("../workspace/types.js").ManifestWorkspaceDefaultKind | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction, import("../workspace/types.js").UmbWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction>> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("@umbraco-cms/backoffice/controller-api").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | import("../property/types.js").ManifestPropertyContext<import("../property/types.js").MetaPropertyContext> | import("../property/types.js").ManifestPropertyValueCloner | (import("../property-editor/types.js").ManifestPropertyEditorSchema | import("../property-editor/types.js").ManifestPropertyEditorUi) | import("../property/types.js").ManifestPropertyValuePreset | import("../property/types.js").ManifestPropertyValueResolver | import("@umbraco-cms/backoffice/ufm").ManifestUfmComponent | import("@umbraco-cms/backoffice/ufm").ManifestUfmFilter | import("../entity-action/types.js").ManifestEntityActionDeleteKind | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/types.js").ManifestEntityActionDefaultKind | import("../entity-action/common/create/types.js").ManifestEntityActionCreateKind | import("../entity-create-option-action/entity-create-option-action.extension.js").ManifestEntityCreateOptionAction<import("../entity-create-option-action/entity-create-option-action.extension.js").MetaEntityCreateOptionAction> | import("../icon-registry/types.js").ManifestIcons | import("../tree/types.js").ManifestEntityActionDuplicateToKind | import("../tree/types.js").ManifestEntityActionMoveToKind | import("../tree/types.js").ManifestEntityActionReloadTreeItemChildrenKind | import("../tree/types.js").ManifestEntityActionSortChildrenOfKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../tree/types.js").ManifestEntityActionCreateFolderKind | import("../tree/types.js").ManifestEntityActionDeleteFolderKind | import("../tree/types.js").ManifestEntityActionUpdateFolderKind | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/types.js").ManifestMenuItemLinkKind | import("../tree/types.js").ManifestMenuItemTreeKind | import("../entity-item/entity-item-ref/entity-item-ref.extension.js").ManifestEntityItemRef<import("../entity-item/entity-item-ref/entity-item-ref.extension.js").MetaEntityItemRef> | import("@umbraco-cms/backoffice/content").ManifestWorkspaceViewContentCollectionKind | import("@umbraco-cms/backoffice/content").ManifestEntityActionSortChildrenOfContentKind | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../collection/types.js").ManifestCollectionActionCreateKind | import("../collection/types.js").ManifestWorkspaceViewCollectionKind | import("@umbraco-cms/backoffice/search").ManifestSearchProvider | import("@umbraco-cms/backoffice/search").ManifestSearchResultItem | import("../picker/types.js").ManifestPickerSearchResultItem | import("../validation/types.js").ManifestPropertyValidationPathTranslator<any> | import("@umbraco-cms/backoffice/current-user").ManifestUserProfileApp | import("@umbraco-cms/backoffice/current-user").ManifestCurrentUserAction<import("@umbraco-cms/backoffice/current-user").MetaCurrentUserAction> | import("@umbraco-cms/backoffice/user-permission").ManifestEntityUserPermission | import("@umbraco-cms/backoffice/user-permission").ManifestGranularUserPermission | import("../localization/index.js").ManifestLocalization | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("@umbraco-cms/backoffice/extension-api").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../themes/theme.extension.js").ManifestTheme | import("../property-action/property-action.extension.js").UmbPropertyActionExtensions | import("../recycle-bin/types.js").ManifestEntityActionTrashKind | import("../recycle-bin/types.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityActionEmptyRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityBulkActionTrashKind | import("../recycle-bin/tree/tree-item/types.js").ManifestTreeItemRecycleBinKind | import("../server-file-system/types.js").ManifestEntityActionRenameServerFileKind | import("../tree/folder/entity-create-option-action/types.js").ManifestEntityCreateOptionActionFolderKind | import("src/packages/relations/relations/entity-actions/bulk-delete/types.js").ManifestEntityBulkActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/bulk-trash/types.js").ManifestEntityBulkActionTrashWithRelationKind | import("@umbraco-cms/backoffice/block-custom-view").ManifestBlockEditorCustomView | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardCopyPropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardPastePropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionPasteFromClipboardKind | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionCopyToClipboardKind | import("@umbraco-cms/backoffice/media").ManifestFileUploadPreview | import("@umbraco-cms/backoffice/health-check").ManifestHealthCheck | import("@umbraco-cms/backoffice/package").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("src/packages/relations/relations/entity-actions/delete/types.js").ManifestEntityActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/trash/types.js").ManifestEntityActionTrashWithRelationKind | import("src/packages/relations/relations/reference/workspace-info-app/types.js").ManifestWorkspaceInfoAppEntityReferencesKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionColorPickerButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionStyleMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapStatusbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapStatusbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapExtension> | import("src/packages/clipboard/property/context/types.js").ManifestPropertyContextClipboardKind | import("@umbraco-cms/backoffice/markdown-editor").ManifestMonacoMarkdownEditorAction)[];
1
+ export declare const manifests: (import("../modal/types.js").ManifestModal | import("../collection/types.js").ManifestCollection | import("../tree/types.js").ManifestTreeItem | import("../tree/types.js").ManifestTree | import("../extension-registry/index.js").ManifestAppEntryPoint | import("../extension-registry/index.js").ManifestBackofficeEntryPoint | import("../extension-registry/index.js").ManifestEntryPoint | (import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | import("@umbraco-cms/backoffice/extension-api").ManifestBundle<import("@umbraco-cms/backoffice/extension-api").ManifestBase | import("@umbraco-cms/backoffice/extension-api").ManifestCondition | /*elided*/ any>>>>>>>>>>>) | import("../repository/types.js").ManifestDataSourceDataMapping<import("../repository/types.js").MetaDataSourceDataMapping> | import("../entity-bulk-action/types.js").ManifestEntityBulkActionDeleteKind | import("../workspace/types.js").ManifestWorkspaceActionMenuItem<import("../workspace/types.js").MetaWorkspaceActionMenuItem> | import("../workspace/types.js").ManifestWorkspaceActionMenuItemDefaultKind<import("../workspace/types.js").MetaWorkspaceActionMenuItemDefaultKind> | import("../workspace/types.js").ManifestWorkspaceInfoApp<import("../workspace/types.js").MetaWorkspaceInfoApp> | import("../workspace/types.js").ManifestWorkspaceDefaultKind | import("../workspace/types.js").ManifestWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction, import("../workspace/types.js").UmbWorkspaceAction<import("../workspace/types.js").MetaWorkspaceAction>> | import("../workspace/types.js").ManifestWorkspaceActionDefaultKind | import("../workspace/types.js").ManifestWorkspaceFooterApp | import("../workspace/types.js").ManifestWorkspaceFooterAppMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceFooterAppVariantMenuBreadcrumbKind | import("../workspace/types.js").ManifestWorkspaceView<import("../workspace/types.js").MetaWorkspaceView> | import("../workspace/types.js").ManifestWorkspaceViewContentTypeDesignEditorKind | import("../workspace/types.js").ManifestWorkspace<import("../workspace/types.js").MetaWorkspace, import("@umbraco-cms/backoffice/controller-api").UmbControllerHostElement, import("../workspace/workspace-context.interface.js").UmbWorkspaceContext> | import("../workspace/types.js").ManifestWorkspaceRoutableKind | import("../workspace/types.js").ManifestWorkspaceContext | import("../property/types.js").ManifestPropertyContext<import("../property/types.js").MetaPropertyContext> | import("../property/types.js").ManifestPropertyValueCloner | (import("../property-editor/types.js").ManifestPropertyEditorSchema | import("../property-editor/types.js").ManifestPropertyEditorUi) | import("../property/types.js").ManifestPropertyValuePreset | import("../property/types.js").ManifestPropertyValueResolver | import("@umbraco-cms/backoffice/ufm").ManifestUfmComponent | import("@umbraco-cms/backoffice/ufm").ManifestUfmFilter | import("../entity-action/types.js").ManifestEntityActionDeleteKind | import("../entity-action/entity-action.extension.js").ManifestEntityAction<import("../entity-action/entity-action.extension.js").MetaEntityAction> | import("../entity-action/types.js").ManifestEntityActionDefaultKind | import("../entity-action/common/create/types.js").ManifestEntityActionCreateKind | import("../entity-create-option-action/entity-create-option-action.extension.js").ManifestEntityCreateOptionAction<import("../entity-create-option-action/entity-create-option-action.extension.js").MetaEntityCreateOptionAction> | import("../icon-registry/types.js").ManifestIcons | import("../tree/types.js").ManifestEntityActionDuplicateToKind | import("../tree/types.js").ManifestEntityActionMoveToKind | import("../tree/types.js").ManifestEntityActionReloadTreeItemChildrenKind | import("../tree/types.js").ManifestEntityActionSortChildrenOfKind | (import("../section/types.js").ManifestSectionSidebarApp | import("../section/types.js").ManifestSection | import("../section/types.js").ManifestSectionRoute | import("../section/types.js").ManifestSectionView) | import("../dashboard/dashboard.extension.js").ManifestDashboard | import("../menu/menu.extension.js").ManifestMenu | import("../tree/types.js").ManifestEntityActionCreateFolderKind | import("../tree/types.js").ManifestEntityActionDeleteFolderKind | import("../tree/types.js").ManifestEntityActionUpdateFolderKind | import("../menu/menu-item.extension.js").ManifestMenuItem | import("../menu/types.js").ManifestMenuItemLinkKind | import("../tree/types.js").ManifestMenuItemTreeKind | import("../entity-item/entity-item-ref/entity-item-ref.extension.js").ManifestEntityItemRef<import("../entity-item/entity-item-ref/entity-item-ref.extension.js").MetaEntityItemRef> | import("@umbraco-cms/backoffice/content").ManifestWorkspaceViewContentCollectionKind | import("@umbraco-cms/backoffice/content").ManifestEntityActionSortChildrenOfContentKind | import("../collection/types.js").ManifestCollectionAction | import("../collection/types.js").ManifestCollectionView | import("../collection/types.js").ManifestCollectionActionCreateKind | import("../collection/types.js").ManifestWorkspaceViewCollectionKind | import("@umbraco-cms/backoffice/search").ManifestSearchProvider | import("@umbraco-cms/backoffice/search").ManifestSearchResultItem | import("@umbraco-cms/backoffice/search").ManifestGlobalSearch | import("../picker/types.js").ManifestPickerSearchResultItem | import("../validation/types.js").ManifestPropertyValidationPathTranslator<any> | import("@umbraco-cms/backoffice/current-user").ManifestUserProfileApp | import("@umbraco-cms/backoffice/current-user").ManifestCurrentUserAction<import("@umbraco-cms/backoffice/current-user").MetaCurrentUserAction> | import("@umbraco-cms/backoffice/user-permission").ManifestEntityUserPermission | import("@umbraco-cms/backoffice/user-permission").ManifestGranularUserPermission | import("../localization/index.js").ManifestLocalization | import("../extension-registry/index.js").UmbEntityBulkActionExtensions | import("../extension-registry/index.js").ManifestExternalLoginProvider | import("../extension-registry/index.js").ManifestGlobalContext | import("../extension-registry/index.js").ManifestHeaderApp | import("../extension-registry/index.js").ManifestHeaderAppButtonKind | import("../extension-registry/index.js").ManifestMfaLoginProvider | import("../extension-registry/index.js").ManifestPreviewAppProvider | import("../extension-registry/index.js").ManifestRepository<import("@umbraco-cms/backoffice/extension-api").UmbApi> | import("../extension-registry/index.js").UmbStoreExtensions | import("../auth/auth-provider.extension.js").ManifestAuthProvider | import("../themes/theme.extension.js").ManifestTheme | import("../property-action/property-action.extension.js").UmbPropertyActionExtensions | import("../recycle-bin/types.js").ManifestEntityActionTrashKind | import("../recycle-bin/types.js").ManifestEntityActionRestoreFromRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityActionEmptyRecycleBinKind | import("../recycle-bin/types.js").ManifestEntityBulkActionTrashKind | import("../recycle-bin/tree/tree-item/types.js").ManifestTreeItemRecycleBinKind | import("../server-file-system/types.js").ManifestEntityActionRenameServerFileKind | import("../tree/folder/entity-create-option-action/types.js").ManifestEntityCreateOptionActionFolderKind | import("src/packages/relations/relations/entity-actions/bulk-delete/types.js").ManifestEntityBulkActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/bulk-trash/types.js").ManifestEntityBulkActionTrashWithRelationKind | import("@umbraco-cms/backoffice/block-custom-view").ManifestBlockEditorCustomView | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardCopyPropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestClipboardPastePropertyValueTranslator | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionPasteFromClipboardKind | import("@umbraco-cms/backoffice/clipboard").ManifestPropertyActionCopyToClipboardKind | import("@umbraco-cms/backoffice/media").ManifestFileUploadPreview | import("@umbraco-cms/backoffice/health-check").ManifestHealthCheck | import("@umbraco-cms/backoffice/package").ManifestPackageView | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootOrigin | import("src/packages/property-editors/content-picker/index.js").ManifestDynamicRootQueryStep | import("src/packages/relations/relations/entity-actions/delete/types.js").ManifestEntityActionDeleteWithRelationKind | import("src/packages/relations/relations/entity-actions/trash/types.js").ManifestEntityActionTrashWithRelationKind | import("src/packages/relations/relations/reference/workspace-info-app/types.js").ManifestWorkspaceInfoAppEntityReferencesKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionColorPickerButtonKind<import("@umbraco-cms/backoffice/tiptap").MetaTiptapToolbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapToolbarExtensionStyleMenuKind | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapStatusbarExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapStatusbarExtension> | import("@umbraco-cms/backoffice/tiptap").ManifestTiptapExtension<import("@umbraco-cms/backoffice/tiptap").MetaTiptapExtension> | import("src/packages/clipboard/property/context/types.js").ManifestPropertyContextClipboardKind | import("@umbraco-cms/backoffice/markdown-editor").ManifestMonacoMarkdownEditorAction)[];
@@ -53,6 +53,7 @@ export class UmbCreateEntityAction extends UmbEntityActionBase {
53
53
  ]);
54
54
  if (!api)
55
55
  throw new Error(`Could not create api for ${manifest.alias}`);
56
+ api.manifest = manifest;
56
57
  this.#singleOptionApi = api;
57
58
  }
58
59
  }
@@ -11,8 +11,17 @@ export declare class UmbEntityItemRefElement extends UmbLitElement {
11
11
  set readonly(value: boolean);
12
12
  get standalone(): boolean;
13
13
  set standalone(value: boolean);
14
+ get selectOnly(): boolean;
15
+ set selectOnly(value: boolean);
16
+ get selectable(): boolean;
17
+ set selectable(value: boolean);
18
+ get selected(): boolean;
19
+ set selected(value: boolean);
20
+ get disabled(): boolean;
21
+ set disabled(value: boolean);
14
22
  protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
15
23
  render(): import("lit-html").TemplateResult<1>;
24
+ destroy(): void;
16
25
  static styles: import("lit").CSSResult[];
17
26
  }
18
27
  export { UmbEntityItemRefElement as element };
@@ -11,6 +11,7 @@ import { UMB_MARK_ATTRIBUTE_NAME } from '@umbraco-cms/backoffice/const';
11
11
  import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
12
12
  import { UmbRoutePathAddendumContext } from '@umbraco-cms/backoffice/router';
13
13
  import './default-item-ref.element.js';
14
+ import { UmbDeselectedEvent, UmbSelectedEvent } from '@umbraco-cms/backoffice/event';
14
15
  let UmbEntityItemRefElement = class UmbEntityItemRefElement extends UmbLitElement {
15
16
  #extensionsController;
16
17
  #item;
@@ -53,7 +54,61 @@ let UmbEntityItemRefElement = class UmbEntityItemRefElement extends UmbLitElemen
53
54
  this._component.standalone = this.#standalone;
54
55
  }
55
56
  }
57
+ #selectOnly = false;
58
+ get selectOnly() {
59
+ return this.#selectOnly;
60
+ }
61
+ set selectOnly(value) {
62
+ this.#selectOnly = value;
63
+ if (this._component) {
64
+ this._component.selectOnly = this.#selectOnly;
65
+ }
66
+ }
67
+ #selectable = false;
68
+ get selectable() {
69
+ return this.#selectable;
70
+ }
71
+ set selectable(value) {
72
+ this.#selectable = value;
73
+ if (this._component) {
74
+ this._component.selectable = this.#selectable;
75
+ }
76
+ }
77
+ #selected = false;
78
+ get selected() {
79
+ return this.#selected;
80
+ }
81
+ set selected(value) {
82
+ this.#selected = value;
83
+ if (this._component) {
84
+ this._component.selected = this.#selected;
85
+ }
86
+ }
87
+ #disabled = false;
88
+ get disabled() {
89
+ return this.#disabled;
90
+ }
91
+ set disabled(value) {
92
+ this.#disabled = value;
93
+ if (this._component) {
94
+ this._component.disabled = this.#disabled;
95
+ }
96
+ }
56
97
  #pathAddendum = new UmbRoutePathAddendumContext(this);
98
+ #onSelected(event) {
99
+ event.stopPropagation();
100
+ const unique = this.#item?.unique;
101
+ if (!unique)
102
+ throw new Error('No unique id found for item');
103
+ this.dispatchEvent(new UmbSelectedEvent(unique));
104
+ }
105
+ #onDeselected(event) {
106
+ event.stopPropagation();
107
+ const unique = this.#item?.unique;
108
+ if (!unique)
109
+ throw new Error('No unique id found for item');
110
+ this.dispatchEvent(new UmbDeselectedEvent(unique));
111
+ }
57
112
  firstUpdated(_changedProperties) {
58
113
  super.firstUpdated(_changedProperties);
59
114
  this.setAttribute(UMB_MARK_ATTRIBUTE_NAME, 'entity-item-ref');
@@ -69,6 +124,12 @@ let UmbEntityItemRefElement = class UmbEntityItemRefElement extends UmbLitElemen
69
124
  component.item = this.#item;
70
125
  component.readonly = this.readonly;
71
126
  component.standalone = this.standalone;
127
+ component.selectOnly = this.selectOnly;
128
+ component.selectable = this.selectable;
129
+ component.selected = this.selected;
130
+ component.disabled = this.disabled;
131
+ component.addEventListener(UmbSelectedEvent.TYPE, this.#onSelected.bind(this));
132
+ component.addEventListener(UmbDeselectedEvent.TYPE, this.#onDeselected.bind(this));
72
133
  // Proxy the actions slot to the component
73
134
  const slotElement = document.createElement('slot');
74
135
  slotElement.name = 'actions';
@@ -81,6 +142,11 @@ let UmbEntityItemRefElement = class UmbEntityItemRefElement extends UmbLitElemen
81
142
  render() {
82
143
  return html `${this._component}`;
83
144
  }
145
+ destroy() {
146
+ this._component?.removeEventListener(UmbSelectedEvent.TYPE, this.#onSelected.bind(this));
147
+ this._component?.removeEventListener(UmbDeselectedEvent.TYPE, this.#onDeselected.bind(this));
148
+ super.destroy();
149
+ }
84
150
  static { this.styles = [
85
151
  css `
86
152
  :host {
@@ -97,11 +163,23 @@ __decorate([
97
163
  property({ type: Object, attribute: false })
98
164
  ], UmbEntityItemRefElement.prototype, "item", null);
99
165
  __decorate([
100
- property({ type: Boolean, attribute: 'readonly' })
166
+ property({ type: Boolean, reflect: true })
101
167
  ], UmbEntityItemRefElement.prototype, "readonly", null);
102
168
  __decorate([
103
- property({ type: Boolean, attribute: 'standalone' })
169
+ property({ type: Boolean, reflect: true })
104
170
  ], UmbEntityItemRefElement.prototype, "standalone", null);
171
+ __decorate([
172
+ property({ type: Boolean, attribute: 'select-only', reflect: true })
173
+ ], UmbEntityItemRefElement.prototype, "selectOnly", null);
174
+ __decorate([
175
+ property({ type: Boolean, reflect: true })
176
+ ], UmbEntityItemRefElement.prototype, "selectable", null);
177
+ __decorate([
178
+ property({ type: Boolean, reflect: true })
179
+ ], UmbEntityItemRefElement.prototype, "selected", null);
180
+ __decorate([
181
+ property({ type: Boolean, reflect: true })
182
+ ], UmbEntityItemRefElement.prototype, "disabled", null);
105
183
  UmbEntityItemRefElement = __decorate([
106
184
  customElement('umb-entity-item-ref')
107
185
  ], UmbEntityItemRefElement);
@@ -37,14 +37,13 @@ let UmbPickerSearchResultElement = class UmbPickerSearchResultElement extends Um
37
37
  return html `<small>No result for <strong>"${this._query?.query}"</strong>.</small>`;
38
38
  }
39
39
  #renderResultItem(item) {
40
- console.log('pickableFilter', this.pickableFilter(item));
41
40
  return html `
42
41
  <umb-extension-with-api-slot
43
42
  type="pickerSearchResultItem"
44
43
  .filter=${(manifest) => manifest.forEntityTypes.includes(item.entityType)}
45
44
  .elementProps=${{
46
45
  item,
47
- disabled: !this.pickableFilter(item),
46
+ disabled: this.pickableFilter ? !this.pickableFilter(item) : undefined,
48
47
  }}></umb-extension-with-api-slot>
49
48
  `;
50
49
  }