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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/dist-cms/apps/preview/apps/manifests.js +7 -0
  2. package/dist-cms/apps/preview/apps/preview-segment.element.d.ts +16 -0
  3. package/dist-cms/apps/preview/apps/preview-segment.element.js +96 -0
  4. package/dist-cms/apps/preview/preview.context.d.ts +9 -6
  5. package/dist-cms/apps/preview/preview.context.js +61 -24
  6. package/dist-cms/assets/lang/{da-dk.js → da.js} +3 -2
  7. package/dist-cms/assets/lang/{da-dk.ts → da.ts} +3 -2
  8. package/dist-cms/assets/lang/en-us.js +19 -2354
  9. package/dist-cms/assets/lang/en-us.ts +22 -2548
  10. package/dist-cms/assets/lang/en.js +244 -198
  11. package/dist-cms/assets/lang/en.ts +250 -216
  12. package/dist-cms/assets/lang/pt-br.d.ts +2 -2
  13. package/dist-cms/assets/lang/pt-br.ts +2 -2
  14. package/dist-cms/assets/lang/pt.d.ts +13 -0
  15. package/dist-cms/assets/lang/pt.js +1 -0
  16. package/dist-cms/assets/lang/pt.ts +12 -0
  17. package/dist-cms/custom-elements.json +36 -16
  18. package/dist-cms/libs/observable-api/states/array-state.d.ts +6 -6
  19. package/dist-cms/libs/observable-api/states/array-state.js +3 -3
  20. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +6 -0
  21. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.d.ts +2 -3
  22. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +8 -3
  23. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +6 -0
  24. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +7 -0
  25. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +6 -0
  26. package/dist-cms/packages/clipboard/clipboard-entry/picker/clipboard-entry-picker.element.js +1 -1
  27. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +8 -2
  28. package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +16 -13
  29. package/dist-cms/packages/content/content-type/global-components/content-type-workspace-editor-header.element.js +4 -1
  30. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.d.ts +1 -0
  31. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.js +18 -2
  32. package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.token.d.ts +1 -0
  33. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +21 -3
  34. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +62 -43
  35. package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +1 -1
  36. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-properties.element.js +36 -3
  37. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +25 -1
  38. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +17 -6
  39. package/dist-cms/packages/core/auth/auth.context.js +1 -1
  40. package/dist-cms/packages/core/auth/modals/umb-app-auth-modal.element.js +5 -5
  41. package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +1 -0
  42. package/dist-cms/packages/core/collection/default/collection-default.context.js +19 -1
  43. package/dist-cms/packages/core/collection/default/collection-default.element.d.ts +1 -0
  44. package/dist-cms/packages/core/collection/default/collection-default.element.js +9 -1
  45. package/dist-cms/packages/core/collection/extensions/collection.extension.d.ts +1 -0
  46. package/dist-cms/packages/core/collection/types.d.ts +1 -0
  47. package/dist-cms/packages/core/components/body-layout/body-layout.element.js +7 -8
  48. package/dist-cms/packages/core/components/dropdown/dropdown.element.d.ts +4 -2
  49. package/dist-cms/packages/core/components/dropdown/dropdown.element.js +19 -13
  50. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.d.ts +1 -1
  51. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +12 -11
  52. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  53. package/dist-cms/packages/core/entity/constants.d.ts +1 -0
  54. package/dist-cms/packages/core/entity/constants.js +1 -0
  55. package/dist-cms/packages/core/entity/contexts/parent/constants.d.ts +1 -0
  56. package/dist-cms/packages/core/entity/contexts/parent/constants.js +1 -0
  57. package/dist-cms/packages/core/entity/contexts/parent/index.d.ts +1 -0
  58. package/dist-cms/packages/core/entity/contexts/parent/index.js +1 -0
  59. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context-token.d.ts +3 -0
  60. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context-token.js +2 -0
  61. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context.d.ts +26 -0
  62. package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context.js +33 -0
  63. package/dist-cms/packages/core/entity/index.d.ts +1 -0
  64. package/dist-cms/packages/core/entity/index.js +1 -0
  65. package/dist-cms/packages/core/entity-action/default/entity-action.element.d.ts +2 -1
  66. package/dist-cms/packages/core/entity-action/default/entity-action.element.js +5 -4
  67. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.d.ts +2 -2
  68. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +4 -1
  69. package/dist-cms/packages/core/entity-item/index.d.ts +1 -0
  70. package/dist-cms/packages/core/entity-item/index.js +1 -0
  71. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/index.d.ts +1 -0
  72. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/index.js +1 -0
  73. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.d.ts +12 -0
  74. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.js +46 -0
  75. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/types.d.ts +7 -0
  76. package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/types.js +1 -0
  77. package/dist-cms/packages/core/entity-item/types.d.ts +1 -0
  78. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.d.ts +5 -6
  79. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.js +57 -39
  80. package/dist-cms/packages/core/localization/manifests.js +99 -119
  81. package/dist-cms/packages/core/menu/components/menu-item-layout/menu-item-layout.element.js +8 -3
  82. package/dist-cms/packages/core/menu/index.d.ts +2 -0
  83. package/dist-cms/packages/core/menu/index.js +2 -0
  84. package/dist-cms/packages/core/menu/menu-structure-workspace-context.context-token.d.ts +3 -0
  85. package/dist-cms/packages/core/menu/menu-structure-workspace-context.context-token.js +2 -0
  86. package/dist-cms/packages/core/menu/menu-tree-structure-workspace-context-base.d.ts +3 -0
  87. package/dist-cms/packages/core/menu/menu-tree-structure-workspace-context-base.js +53 -10
  88. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.context-token.d.ts +3 -0
  89. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.context-token.js +2 -0
  90. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.interface.d.ts +6 -0
  91. package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.interface.js +1 -0
  92. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.d.ts +4 -0
  93. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.js +55 -21
  94. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.d.ts +5 -0
  95. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +22 -3
  96. package/dist-cms/packages/core/picker/search/picker-search-result.element.d.ts +3 -0
  97. package/dist-cms/packages/core/picker/search/picker-search-result.element.js +14 -6
  98. package/dist-cms/packages/core/picker/search/result-item/default/default-picker-search-result-item.element.js +2 -1
  99. package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.d.ts +1 -0
  100. package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.js +5 -1
  101. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  102. package/dist-cms/packages/core/property-action/components/property-action-menu/property-action-menu.element.js +6 -1
  103. package/dist-cms/packages/core/repository/item/item-server-data-source-base.d.ts +5 -6
  104. package/dist-cms/packages/core/repository/item/item-server-data-source-base.js +14 -9
  105. package/dist-cms/packages/core/repository/repository-details.manager.d.ts +1 -1
  106. package/dist-cms/packages/core/repository/repository-details.manager.js +6 -3
  107. package/dist-cms/packages/core/resources/api-interceptor.controller.d.ts +6 -0
  108. package/dist-cms/packages/core/resources/api-interceptor.controller.js +16 -0
  109. package/dist-cms/packages/core/resources/data-api/types.d.ts +7 -0
  110. package/dist-cms/packages/core/resources/data-api/types.js +1 -0
  111. package/dist-cms/packages/core/resources/index.d.ts +4 -7
  112. package/dist-cms/packages/core/resources/index.js +4 -7
  113. package/dist-cms/packages/core/resources/try-execute/batch-try-execute.function.d.ts +9 -0
  114. package/dist-cms/packages/core/resources/try-execute/batch-try-execute.function.js +11 -0
  115. package/dist-cms/packages/core/resources/try-execute/index.d.ts +5 -0
  116. package/dist-cms/packages/core/resources/try-execute/index.js +5 -0
  117. package/dist-cms/packages/core/resources/{try-execute.controller.d.ts → try-execute/try-execute.controller.d.ts} +2 -2
  118. package/dist-cms/packages/core/resources/{try-execute.controller.js → try-execute/try-execute.controller.js} +3 -3
  119. package/dist-cms/packages/core/resources/{tryExecute.function.d.ts → try-execute/tryExecute.function.d.ts} +1 -1
  120. package/dist-cms/packages/core/resources/{tryExecuteAndNotify.function.d.ts → try-execute/tryExecuteAndNotify.function.d.ts} +1 -1
  121. package/dist-cms/packages/core/resources/{tryXhrRequest.function.d.ts → try-execute/tryXhrRequest.function.d.ts} +1 -1
  122. package/dist-cms/packages/core/resources/{tryXhrRequest.function.js → try-execute/tryXhrRequest.function.js} +3 -3
  123. package/dist-cms/packages/core/resources/types.d.ts +1 -0
  124. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +23 -6
  125. package/dist-cms/packages/core/sorter/sorter.controller.js +224 -81
  126. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  127. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  128. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.d.ts +1 -1
  129. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.js +17 -3
  130. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +1 -0
  131. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +7 -4
  132. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.js +1 -1
  133. package/dist-cms/packages/core/utils/array/batch-array.d.ts +7 -0
  134. package/dist-cms/packages/core/utils/array/batch-array.js +13 -0
  135. package/dist-cms/packages/core/utils/array/index.d.ts +1 -0
  136. package/dist-cms/packages/core/utils/array/index.js +1 -0
  137. package/dist-cms/packages/core/utils/index.d.ts +1 -0
  138. package/dist-cms/packages/core/utils/index.js +1 -0
  139. package/dist-cms/packages/core/workspace/components/workspace-action/common/index.d.ts +1 -0
  140. package/dist-cms/packages/core/workspace/components/workspace-action/common/index.js +1 -0
  141. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/index.d.ts +2 -0
  142. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/index.js +1 -0
  143. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.d.ts +13 -0
  144. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.js +31 -0
  145. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/types.d.ts +6 -0
  146. package/dist-cms/packages/core/workspace/components/workspace-action/common/save/types.js +1 -0
  147. package/dist-cms/packages/core/workspace/components/workspace-action/common/submit/submit.action.d.ts +0 -1
  148. package/dist-cms/packages/core/workspace/components/workspace-action/common/submit/submit.action.js +0 -4
  149. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.d.ts +1 -1
  150. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +3 -6
  151. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.d.ts +1 -1
  152. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +3 -5
  153. package/dist-cms/packages/core/workspace/components/workspace-editor/workspace-editor.element.js +1 -2
  154. package/dist-cms/packages/core/workspace/components/workspace-entity-action-menu/workspace-entity-action-menu.element.js +3 -3
  155. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +1 -0
  156. package/dist-cms/packages/core/workspace/contexts/tokens/index.d.ts +5 -1
  157. package/dist-cms/packages/core/workspace/contexts/tokens/index.js +2 -0
  158. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace-context.interface.d.ts +4 -0
  159. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace-context.interface.js +1 -0
  160. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace.context-token.d.ts +4 -0
  161. package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace.context-token.js +2 -0
  162. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace-context.interface.d.ts +36 -0
  163. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace-context.interface.js +1 -0
  164. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.d.ts +4 -0
  165. package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.js +2 -0
  166. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +33 -1
  167. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +46 -9
  168. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.d.ts +1 -0
  169. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.js +8 -3
  170. package/dist-cms/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.js +1 -1
  171. package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.d.ts +4 -0
  172. package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.js +12 -3
  173. package/dist-cms/packages/data-type/tree/tree-item-children/collection/views/data-type-tree-item-table-collection-view.element.js +1 -0
  174. package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.d.ts +4 -0
  175. package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.js +12 -3
  176. package/dist-cms/packages/documents/document-blueprints/entity-actions/create/manifests.js +1 -1
  177. package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.d.ts +4 -1
  178. package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.js +13 -6
  179. package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.js +4 -1
  180. package/dist-cms/packages/documents/document-types/picker/document-type-picker-search-result-item.element.js +2 -1
  181. package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.d.ts +4 -0
  182. package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.js +13 -3
  183. package/dist-cms/packages/documents/document-types/tree/tree-item-children/collection/views/document-type-tree-item-table-collection-view.element.js +1 -0
  184. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.js +1 -0
  185. package/dist-cms/packages/documents/documents/entity-actions/duplicate/repository/document-duplicate.server.data-source.js +1 -1
  186. package/dist-cms/packages/documents/documents/entity-actions/move-to/repository/document-move.server.data-source.js +1 -1
  187. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.d.ts +4 -0
  188. package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.js +12 -3
  189. package/dist-cms/packages/documents/documents/modals/save-modal/document-save-modal.element.js +1 -5
  190. package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.js +2 -1
  191. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.d.ts +5 -1
  192. package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.js +45 -0
  193. package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.element.js +9 -13
  194. package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.token.d.ts +1 -0
  195. package/dist-cms/packages/documents/documents/publishing/schedule-publish/modal/document-schedule-modal.element.js +0 -10
  196. package/dist-cms/packages/documents/documents/publishing/unpublish/entity-action/unpublish.action.js +5 -19
  197. package/dist-cms/packages/documents/documents/publishing/unpublish/modal/document-unpublish-modal.element.js +3 -12
  198. package/dist-cms/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.js +3 -7
  199. package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.d.ts +4 -0
  200. package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.js +13 -3
  201. package/dist-cms/packages/documents/documents/workspace/actions/save.action.d.ts +3 -3
  202. package/dist-cms/packages/documents/documents/workspace/actions/save.action.js +2 -2
  203. package/dist-cms/packages/documents/documents/workspace/document-workspace.context-token.d.ts +2 -2
  204. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +1 -5
  205. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +18 -61
  206. package/dist-cms/packages/extension-insights/collection/views/table/extension-table-collection-view.element.js +1 -0
  207. package/dist-cms/packages/language/app-language-select/app-language-select.element.js +7 -2
  208. package/dist-cms/packages/language/collection/views/table/language-table-collection-view.element.js +1 -0
  209. package/dist-cms/packages/language/menu/language-menu-structure.context.d.ts +1 -1
  210. package/dist-cms/packages/language/menu/language-menu-structure.context.js +4 -2
  211. package/dist-cms/packages/language/repository/item/language-item.server.data-source.d.ts +4 -0
  212. package/dist-cms/packages/language/repository/item/language-item.server.data-source.js +12 -3
  213. package/dist-cms/packages/media/media/collection/media-collection.element.js +1 -0
  214. package/dist-cms/packages/media/media/collection/views/table/media-table-collection-view.element.js +1 -0
  215. package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.d.ts +4 -1
  216. package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.js +13 -6
  217. package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.d.ts +4 -0
  218. package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.js +12 -3
  219. package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.d.ts +4 -0
  220. package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.js +12 -3
  221. package/dist-cms/packages/media/media-types/tree/tree-item-children/collection/views/media-type-tree-item-table-collection-view.element.js +1 -0
  222. package/dist-cms/packages/members/member/collection/views/table/member-table-collection-view.element.js +1 -0
  223. package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.d.ts +4 -0
  224. package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.js +12 -3
  225. package/dist-cms/packages/members/member/picker/member-picker-search-result-item.element.js +2 -1
  226. package/dist-cms/packages/members/member-group/collection/views/table/member-group-table-collection-view.element.js +1 -0
  227. package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.d.ts +4 -0
  228. package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.js +12 -3
  229. package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.d.ts +4 -0
  230. package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.js +12 -3
  231. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.d.ts +1 -0
  232. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.js +37 -8
  233. package/dist-cms/packages/packages/package-section/views/installed/installed-packages-section-view-item.element.js +1 -1
  234. package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.d.ts +4 -0
  235. package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.js +14 -7
  236. package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.d.ts +4 -0
  237. package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.js +12 -3
  238. package/dist-cms/packages/user/user/collection/views/table/user-table-collection-view.element.js +1 -0
  239. package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.d.ts +4 -0
  240. package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.js +12 -3
  241. package/dist-cms/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.js +25 -22
  242. package/dist-cms/packages/user/user-group/collection/views/user-group-table-collection-view.element.js +1 -0
  243. package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.d.ts +4 -0
  244. package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.js +12 -3
  245. package/dist-cms/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.js +1 -0
  246. package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.d.ts +4 -0
  247. package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.js +12 -3
  248. package/dist-cms/packages/webhook/webhook/workspace/webhook-workspace-editor.element.js +2 -0
  249. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  250. package/dist-cms/umbraco-package-schema.json +151 -0
  251. package/dist-cms/umbraco-package.json +1 -1
  252. package/dist-cms/vscode-html-custom-data.json +23 -12
  253. package/examples/block-custom-view/block-custom-view.ts +8 -0
  254. package/package.json +1 -1
  255. package/dist-cms/assets/lang/de-ch.d.ts +0 -3
  256. package/dist-cms/assets/lang/de-ch.js +0 -15
  257. package/dist-cms/assets/lang/de-ch.ts +0 -17
  258. package/dist-cms/assets/lang/fr-ch.d.ts +0 -3
  259. package/dist-cms/assets/lang/fr-ch.js +0 -15
  260. package/dist-cms/assets/lang/fr-ch.ts +0 -17
  261. package/dist-cms/assets/lang/it-ch.d.ts +0 -3
  262. package/dist-cms/assets/lang/it-ch.js +0 -15
  263. package/dist-cms/assets/lang/it-ch.ts +0 -17
  264. /package/dist-cms/assets/lang/{cs-cz.d.ts → cs.d.ts} +0 -0
  265. /package/dist-cms/assets/lang/{cs-cz.js → cs.js} +0 -0
  266. /package/dist-cms/assets/lang/{cs-cz.ts → cs.ts} +0 -0
  267. /package/dist-cms/assets/lang/{cy-gb.d.ts → cy.d.ts} +0 -0
  268. /package/dist-cms/assets/lang/{cy-gb.js → cy.js} +0 -0
  269. /package/dist-cms/assets/lang/{cy-gb.ts → cy.ts} +0 -0
  270. /package/dist-cms/assets/lang/{da-dk.d.ts → da.d.ts} +0 -0
  271. /package/dist-cms/assets/lang/{de-de.d.ts → de.d.ts} +0 -0
  272. /package/dist-cms/assets/lang/{de-de.js → de.js} +0 -0
  273. /package/dist-cms/assets/lang/{de-de.ts → de.ts} +0 -0
  274. /package/dist-cms/assets/lang/{es-es.d.ts → es.d.ts} +0 -0
  275. /package/dist-cms/assets/lang/{es-es.js → es.js} +0 -0
  276. /package/dist-cms/assets/lang/{es-es.ts → es.ts} +0 -0
  277. /package/dist-cms/assets/lang/{fr-fr.d.ts → fr.d.ts} +0 -0
  278. /package/dist-cms/assets/lang/{fr-fr.js → fr.js} +0 -0
  279. /package/dist-cms/assets/lang/{fr-fr.ts → fr.ts} +0 -0
  280. /package/dist-cms/assets/lang/{he-il.d.ts → he.d.ts} +0 -0
  281. /package/dist-cms/assets/lang/{he-il.js → he.js} +0 -0
  282. /package/dist-cms/assets/lang/{he-il.ts → he.ts} +0 -0
  283. /package/dist-cms/assets/lang/{hr-hr.d.ts → hr.d.ts} +0 -0
  284. /package/dist-cms/assets/lang/{hr-hr.js → hr.js} +0 -0
  285. /package/dist-cms/assets/lang/{hr-hr.ts → hr.ts} +0 -0
  286. /package/dist-cms/assets/lang/{it-it.d.ts → it.d.ts} +0 -0
  287. /package/dist-cms/assets/lang/{it-it.js → it.js} +0 -0
  288. /package/dist-cms/assets/lang/{it-it.ts → it.ts} +0 -0
  289. /package/dist-cms/assets/lang/{ja-jp.d.ts → ja.d.ts} +0 -0
  290. /package/dist-cms/assets/lang/{ja-jp.js → ja.js} +0 -0
  291. /package/dist-cms/assets/lang/{ja-jp.ts → ja.ts} +0 -0
  292. /package/dist-cms/assets/lang/{ko-kr.d.ts → ko.d.ts} +0 -0
  293. /package/dist-cms/assets/lang/{ko-kr.js → ko.js} +0 -0
  294. /package/dist-cms/assets/lang/{ko-kr.ts → ko.ts} +0 -0
  295. /package/dist-cms/assets/lang/{nb-no.d.ts → nb.d.ts} +0 -0
  296. /package/dist-cms/assets/lang/{nb-no.js → nb.js} +0 -0
  297. /package/dist-cms/assets/lang/{nb-no.ts → nb.ts} +0 -0
  298. /package/dist-cms/assets/lang/{nl-nl.d.ts → nl.d.ts} +0 -0
  299. /package/dist-cms/assets/lang/{nl-nl.js → nl.js} +0 -0
  300. /package/dist-cms/assets/lang/{nl-nl.ts → nl.ts} +0 -0
  301. /package/dist-cms/assets/lang/{pl-pl.d.ts → pl.d.ts} +0 -0
  302. /package/dist-cms/assets/lang/{pl-pl.js → pl.js} +0 -0
  303. /package/dist-cms/assets/lang/{pl-pl.ts → pl.ts} +0 -0
  304. /package/dist-cms/assets/lang/{ro-ro.d.ts → ro.d.ts} +0 -0
  305. /package/dist-cms/assets/lang/{ro-ro.js → ro.js} +0 -0
  306. /package/dist-cms/assets/lang/{ro-ro.ts → ro.ts} +0 -0
  307. /package/dist-cms/assets/lang/{ru-ru.d.ts → ru.d.ts} +0 -0
  308. /package/dist-cms/assets/lang/{ru-ru.js → ru.js} +0 -0
  309. /package/dist-cms/assets/lang/{ru-ru.ts → ru.ts} +0 -0
  310. /package/dist-cms/assets/lang/{sv-se.d.ts → sv.d.ts} +0 -0
  311. /package/dist-cms/assets/lang/{sv-se.js → sv.js} +0 -0
  312. /package/dist-cms/assets/lang/{sv-se.ts → sv.ts} +0 -0
  313. /package/dist-cms/assets/lang/{tr-tr.d.ts → tr.d.ts} +0 -0
  314. /package/dist-cms/assets/lang/{tr-tr.js → tr.js} +0 -0
  315. /package/dist-cms/assets/lang/{tr-tr.ts → tr.ts} +0 -0
  316. /package/dist-cms/assets/lang/{uk-ua.d.ts → uk.d.ts} +0 -0
  317. /package/dist-cms/assets/lang/{uk-ua.js → uk.js} +0 -0
  318. /package/dist-cms/assets/lang/{uk-ua.ts → uk.ts} +0 -0
  319. /package/dist-cms/assets/lang/{zh-cn.d.ts → zh.d.ts} +0 -0
  320. /package/dist-cms/assets/lang/{zh-cn.js → zh.js} +0 -0
  321. /package/dist-cms/assets/lang/{zh-cn.ts → zh.ts} +0 -0
  322. /package/dist-cms/packages/core/resources/{tryExecute.function.js → try-execute/tryExecute.function.js} +0 -0
  323. /package/dist-cms/packages/core/resources/{tryExecuteAndNotify.function.js → try-execute/tryExecuteAndNotify.function.js} +0 -0
@@ -1,22 +1,32 @@
1
+ import { UMB_MENU_STRUCTURE_WORKSPACE_CONTEXT } from './menu-structure-workspace-context.context-token.js';
1
2
  import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry';
2
3
  import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
3
- import { UMB_SUBMITTABLE_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
4
+ import { UMB_SUBMITTABLE_TREE_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
4
5
  import { UmbArrayState, UmbObjectState } from '@umbraco-cms/backoffice/observable-api';
6
+ import { UmbAncestorsEntityContext, UmbParentEntityContext } from '@umbraco-cms/backoffice/entity';
7
+ // TODO: introduce base class for all menu structure workspaces to handle ancestors and parent
5
8
  export class UmbMenuTreeStructureWorkspaceContextBase extends UmbContextBase {
6
9
  #workspaceContext;
7
10
  #args;
8
11
  #structure;
9
12
  #parent;
13
+ #parentContext;
14
+ #ancestorContext;
10
15
  constructor(host, args) {
11
- // TODO: set up context token
12
- super(host, 'UmbMenuStructureWorkspaceContext');
16
+ super(host, UMB_MENU_STRUCTURE_WORKSPACE_CONTEXT);
13
17
  this.#structure = new UmbArrayState([], (x) => x.unique);
14
18
  this.structure = this.#structure.asObservable();
15
19
  this.#parent = new UmbObjectState(undefined);
20
+ /**
21
+ * @deprecated Will be removed in v.18: Use UMB_PARENT_ENTITY_CONTEXT instead.
22
+ */
16
23
  this.parent = this.#parent.asObservable();
24
+ this.#parentContext = new UmbParentEntityContext(this);
25
+ this.#ancestorContext = new UmbAncestorsEntityContext(this);
26
+ // 'UmbMenuStructureWorkspaceContext' is Obsolete, will be removed in v.18
27
+ this.provideContext('UmbMenuStructureWorkspaceContext', this);
17
28
  this.#args = args;
18
- // TODO: set up context token that supports parentEntityType, parentUnique, entityType.
19
- this.consumeContext(UMB_SUBMITTABLE_WORKSPACE_CONTEXT, (instance) => {
29
+ this.consumeContext(UMB_SUBMITTABLE_TREE_ENTITY_WORKSPACE_CONTEXT, (instance) => {
20
30
  this.#workspaceContext = instance;
21
31
  this.observe(this.#workspaceContext?.unique, (value) => {
22
32
  if (!value)
@@ -41,14 +51,16 @@ export class UmbMenuTreeStructureWorkspaceContextBase extends UmbContextBase {
41
51
  }
42
52
  const isNew = this.#workspaceContext?.getIsNew();
43
53
  const entityTypeObservable = isNew
44
- ? this.#workspaceContext?.parentEntityType
45
- : this.#workspaceContext.entityType;
54
+ ? this.#workspaceContext?._internal_createUnderParentEntityType
55
+ : this.#workspaceContext?.entityType;
46
56
  const entityType = (await this.observe(entityTypeObservable, () => { })?.asPromise());
47
57
  if (!entityType)
48
58
  throw new Error('Entity type is not available');
49
59
  // If the entity type is different from the root entity type, then we can request the ancestors.
50
60
  if (entityType !== root?.entityType) {
51
- const uniqueObservable = isNew ? this.#workspaceContext?.parentUnique : this.#workspaceContext?.unique;
61
+ const uniqueObservable = isNew
62
+ ? this.#workspaceContext?._internal_createUnderParentEntityUnique
63
+ : this.#workspaceContext?.unique;
52
64
  const unique = (await this.observe(uniqueObservable, () => { })?.asPromise());
53
65
  if (!unique)
54
66
  throw new Error('Unique is not available');
@@ -63,10 +75,41 @@ export class UmbMenuTreeStructureWorkspaceContextBase extends UmbContextBase {
63
75
  };
64
76
  });
65
77
  structureItems.push(...ancestorItems);
78
+ this.#structure.setValue(structureItems);
79
+ this.#setParentData(structureItems);
80
+ this.#setAncestorData(data);
66
81
  }
67
82
  }
68
- const parent = structureItems[structureItems.length - 2];
83
+ }
84
+ #setParentData(structureItems) {
85
+ /* If the item is not new, the current item is the last item in the array.
86
+ We filter out the current item unique to handle any case where it could show up */
87
+ const parent = structureItems.filter((item) => item.unique !== this.#workspaceContext?.getUnique()).pop();
88
+ // TODO: remove this when the parent gets removed from the structure interface
69
89
  this.#parent.setValue(parent);
70
- this.#structure.setValue(structureItems);
90
+ const parentEntity = parent
91
+ ? {
92
+ unique: parent.unique,
93
+ entityType: parent.entityType,
94
+ }
95
+ : undefined;
96
+ this.#parentContext.setParent(parentEntity);
97
+ }
98
+ /* Notice: ancestors are based on the server "data" ancestors and are not based on the full Menu (UI) structure.
99
+ This will mean that any item placed in the data root will not have any ancestors. But will have a parent based on the UI structure.
100
+ */
101
+ #setAncestorData(ancestors) {
102
+ const ancestorEntities = ancestors
103
+ .map((treeItem) => {
104
+ const entity = {
105
+ unique: treeItem.unique,
106
+ entityType: treeItem.entityType,
107
+ };
108
+ return entity;
109
+ })
110
+ /* If the item is not new, the current item is the last item in the array.
111
+ We filter out the current item unique to handle any case where it could show up */
112
+ .filter((item) => item.unique !== this.#workspaceContext?.getUnique());
113
+ this.#ancestorContext.setAncestors(ancestorEntities);
71
114
  }
72
115
  }
@@ -0,0 +1,3 @@
1
+ import type { UmbMenuVariantStructureWorkspaceContext } from './menu-variant-structure-workspace-context.interface.js';
2
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
3
+ export declare const UMB_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT: UmbContextToken<UmbMenuVariantStructureWorkspaceContext, UmbMenuVariantStructureWorkspaceContext>;
@@ -0,0 +1,2 @@
1
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
2
+ export const UMB_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT = new UmbContextToken('UmbWorkspaceContext', 'UmbMenuStructure', (context) => 'IS_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT' in context);
@@ -0,0 +1,6 @@
1
+ import type { UmbVariantStructureItemModel } from './types.js';
2
+ import type { UmbContext } from '@umbraco-cms/backoffice/class-api';
3
+ import type { Observable } from '@umbraco-cms/backoffice/external/rxjs';
4
+ export interface UmbMenuVariantStructureWorkspaceContext extends UmbContext {
5
+ structure: Observable<UmbVariantStructureItemModel[]>;
6
+ }
@@ -7,7 +7,11 @@ interface UmbMenuVariantTreeStructureWorkspaceContextBaseArgs {
7
7
  export declare abstract class UmbMenuVariantTreeStructureWorkspaceContextBase extends UmbContextBase {
8
8
  #private;
9
9
  readonly structure: import("rxjs").Observable<UmbVariantStructureItemModel[]>;
10
+ /**
11
+ * @deprecated Will be removed in v.18: Use UMB_PARENT_ENTITY_CONTEXT instead.
12
+ */
10
13
  readonly parent: import("rxjs").Observable<UmbVariantStructureItemModel | undefined>;
14
+ readonly IS_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT = true;
11
15
  constructor(host: UmbControllerHost, args: UmbMenuVariantTreeStructureWorkspaceContextBaseArgs);
12
16
  }
13
17
  export {};
@@ -1,26 +1,34 @@
1
+ import { UMB_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT } from './menu-variant-structure-workspace-context.context-token.js';
1
2
  import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry';
2
3
  import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
3
- import { UMB_VARIANT_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
4
4
  import { UmbArrayState, UmbObjectState } from '@umbraco-cms/backoffice/observable-api';
5
- import { UmbAncestorsEntityContext } from '@umbraco-cms/backoffice/entity';
5
+ import { UmbAncestorsEntityContext, UmbParentEntityContext } from '@umbraco-cms/backoffice/entity';
6
+ import { UMB_SUBMITTABLE_TREE_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
7
+ // TODO: introduce base class for all menu structure workspaces to handle ancestors and parent
6
8
  export class UmbMenuVariantTreeStructureWorkspaceContextBase extends UmbContextBase {
7
- // TODO: add correct interface
9
+ //
8
10
  #workspaceContext;
9
11
  #args;
10
12
  #structure;
11
13
  #parent;
14
+ #parentContext;
12
15
  #ancestorContext;
13
16
  constructor(host, args) {
14
- // TODO: set up context token
15
- super(host, 'UmbMenuStructureWorkspaceContext');
17
+ super(host, UMB_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT);
16
18
  this.#structure = new UmbArrayState([], (x) => x.unique);
17
19
  this.structure = this.#structure.asObservable();
18
20
  this.#parent = new UmbObjectState(undefined);
21
+ /**
22
+ * @deprecated Will be removed in v.18: Use UMB_PARENT_ENTITY_CONTEXT instead.
23
+ */
19
24
  this.parent = this.#parent.asObservable();
25
+ this.#parentContext = new UmbParentEntityContext(this);
20
26
  this.#ancestorContext = new UmbAncestorsEntityContext(this);
27
+ this.IS_MENU_VARIANT_STRUCTURE_WORKSPACE_CONTEXT = true;
28
+ // 'UmbMenuStructureWorkspaceContext' is Obsolete, will be removed in v.18
29
+ this.provideContext('UmbMenuStructureWorkspaceContext', this);
21
30
  this.#args = args;
22
- // TODO: Implement a Context Token that supports parentUnique, parentEntityType, entityType
23
- this.consumeContext(UMB_VARIANT_WORKSPACE_CONTEXT, (instance) => {
31
+ this.consumeContext(UMB_SUBMITTABLE_TREE_ENTITY_WORKSPACE_CONTEXT, (instance) => {
24
32
  this.#workspaceContext = instance;
25
33
  this.observe(this.#workspaceContext?.unique, (value) => {
26
34
  if (!value)
@@ -31,9 +39,11 @@ export class UmbMenuVariantTreeStructureWorkspaceContextBase extends UmbContextB
31
39
  }
32
40
  async #requestStructure() {
33
41
  const isNew = this.#workspaceContext?.getIsNew();
34
- const uniqueObservable = isNew ? this.#workspaceContext?.parentUnique : this.#workspaceContext?.unique;
42
+ const uniqueObservable = isNew
43
+ ? this.#workspaceContext?._internal_createUnderParentEntityType
44
+ : this.#workspaceContext?.unique;
35
45
  const entityTypeObservable = isNew
36
- ? this.#workspaceContext?.parentEntityType
46
+ ? this.#workspaceContext?._internal_createUnderParentEntityUnique
37
47
  : this.#workspaceContext?.entityType;
38
48
  let structureItems = [];
39
49
  const unique = (await this.observe(uniqueObservable, () => { })?.asPromise());
@@ -42,7 +52,7 @@ export class UmbMenuVariantTreeStructureWorkspaceContextBase extends UmbContextB
42
52
  const entityType = (await this.observe(entityTypeObservable, () => { })?.asPromise());
43
53
  if (!entityType)
44
54
  throw new Error('Entity type is not available');
45
- // TODO: add correct tree variant item model
55
+ // TODO: introduce variant tree item model
46
56
  const treeRepository = await createExtensionApiByAlias(this, this.#args.treeRepositoryAlias);
47
57
  const { data: root } = await treeRepository.requestTreeRoot();
48
58
  if (root) {
@@ -56,7 +66,7 @@ export class UmbMenuVariantTreeStructureWorkspaceContextBase extends UmbContextB
56
66
  }
57
67
  const { data } = await treeRepository.requestTreeItemAncestors({ treeItem: { unique, entityType } });
58
68
  if (data) {
59
- const ancestorItems = data.map((treeItem) => {
69
+ const treeItemAncestors = data.map((treeItem) => {
60
70
  return {
61
71
  unique: treeItem.unique,
62
72
  entityType: treeItem.entityType,
@@ -69,17 +79,41 @@ export class UmbMenuVariantTreeStructureWorkspaceContextBase extends UmbContextB
69
79
  }),
70
80
  };
71
81
  });
72
- const ancestorEntities = data.map((treeItem) => {
73
- return {
74
- unique: treeItem.unique,
75
- entityType: treeItem.entityType,
76
- };
77
- });
78
- this.#ancestorContext.setAncestors(ancestorEntities);
79
- structureItems.push(...ancestorItems);
80
- const parent = structureItems[structureItems.length - 2];
81
- this.#parent.setValue(parent);
82
+ structureItems.push(...treeItemAncestors);
82
83
  this.#structure.setValue(structureItems);
84
+ this.#setParentData(structureItems);
85
+ this.#setAncestorData(data);
83
86
  }
84
87
  }
88
+ #setParentData(structureItems) {
89
+ /* If the item is not new, the current item is the last item in the array.
90
+ We filter out the current item unique to handle any case where it could show up */
91
+ const parent = structureItems.filter((item) => item.unique !== this.#workspaceContext?.getUnique()).pop();
92
+ // TODO: remove this when the parent gets removed from the structure interface
93
+ this.#parent.setValue(parent);
94
+ const parentEntity = parent
95
+ ? {
96
+ unique: parent.unique,
97
+ entityType: parent.entityType,
98
+ }
99
+ : undefined;
100
+ this.#parentContext.setParent(parentEntity);
101
+ }
102
+ /* Notice: ancestors are based on the server "data" ancestors and are not based on the full Menu (UI) structure.
103
+ This will mean that any item placed in the data root will not have any ancestors. But will have a parent based on the UI structure.
104
+ */
105
+ #setAncestorData(ancestors) {
106
+ const ancestorEntities = ancestors
107
+ .map((treeItem) => {
108
+ const entity = {
109
+ unique: treeItem.unique,
110
+ entityType: treeItem.entityType,
111
+ };
112
+ return entity;
113
+ })
114
+ /* If the item is not new, the current item is the last item in the array.
115
+ We filter out the current item unique to handle any case where it could show up */
116
+ .filter((item) => item.unique !== this.#workspaceContext?.getUnique());
117
+ this.#ancestorContext.setAncestors(ancestorEntities);
118
+ }
85
119
  }
@@ -1,6 +1,11 @@
1
1
  import { UmbSectionSidebarMenuElement } from '../section-sidebar-menu/section-sidebar-menu.element.js';
2
2
  import type { ManifestSectionSidebarAppMenuWithEntityActionsKind } from '../section-sidebar-menu/types.js';
3
+ import { type PropertyValues } from '@umbraco-cms/backoffice/external/lit';
3
4
  export declare class UmbSectionSidebarMenuWithEntityActionsElement extends UmbSectionSidebarMenuElement<ManifestSectionSidebarAppMenuWithEntityActionsKind> {
5
+ #private;
6
+ _unique: null;
7
+ _entityType?: string | null;
8
+ protected updated(_changedProperties: PropertyValues<this>): void;
4
9
  renderHeader(): import("lit-html").TemplateResult<1>;
5
10
  static styles: import("lit").CSSResult[];
6
11
  }
@@ -5,8 +5,9 @@ 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 { UmbSectionSidebarMenuElement } from '../section-sidebar-menu/section-sidebar-menu.element.js';
8
- import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
8
+ import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
9
9
  import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
10
+ import { UmbParentEntityContext } from '@umbraco-cms/backoffice/entity';
10
11
  const manifestWithEntityActions = {
11
12
  type: 'kind',
12
13
  alias: 'Umb.Kind.SectionSidebarAppMenuWithEntityActions',
@@ -19,15 +20,27 @@ const manifestWithEntityActions = {
19
20
  };
20
21
  umbExtensionsRegistry.register(manifestWithEntityActions);
21
22
  let UmbSectionSidebarMenuWithEntityActionsElement = class UmbSectionSidebarMenuWithEntityActionsElement extends UmbSectionSidebarMenuElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ this._unique = null;
26
+ this.#parentContext = new UmbParentEntityContext(this);
27
+ }
28
+ #parentContext;
29
+ updated(_changedProperties) {
30
+ if (_changedProperties.has('manifest')) {
31
+ const entityType = this.manifest?.meta.entityType;
32
+ this.#parentContext.setParent(entityType ? { unique: this._unique, entityType } : undefined);
33
+ }
34
+ }
22
35
  renderHeader() {
23
36
  return html `
24
37
  <div id="header">
25
38
  <h3>${this.localize.string(this.manifest?.meta?.label ?? '')}</h3>
26
39
  <umb-entity-actions-bundle
27
40
  slot="actions"
28
- .unique=${null}
41
+ .unique=${this._unique}
29
42
  .entityType=${this.manifest?.meta.entityType}
30
- .label=${this.manifest?.meta.label}>
43
+ .label=${this.localize.term('actions_viewActionsFor', [this.manifest?.meta.label])}>
31
44
  </umb-entity-actions-bundle>
32
45
  </div>
33
46
  `;
@@ -46,6 +59,12 @@ let UmbSectionSidebarMenuWithEntityActionsElement = class UmbSectionSidebarMenuW
46
59
  `,
47
60
  ]; }
48
61
  };
62
+ __decorate([
63
+ state()
64
+ ], UmbSectionSidebarMenuWithEntityActionsElement.prototype, "_unique", void 0);
65
+ __decorate([
66
+ state()
67
+ ], UmbSectionSidebarMenuWithEntityActionsElement.prototype, "_entityType", void 0);
49
68
  UmbSectionSidebarMenuWithEntityActionsElement = __decorate([
50
69
  customElement('umb-section-sidebar-menu-with-entity-actions')
51
70
  ], UmbSectionSidebarMenuWithEntityActionsElement);
@@ -2,12 +2,14 @@ import { nothing } from '@umbraco-cms/backoffice/external/lit';
2
2
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
3
3
  import type { UmbSearchRequestArgs } from '@umbraco-cms/backoffice/search';
4
4
  import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity';
5
+ type PickableFilterMethodType<T extends UmbEntityModel = UmbEntityModel> = (item: T) => boolean;
5
6
  export declare class UmbPickerSearchResultElement extends UmbLitElement {
6
7
  #private;
7
8
  _query?: UmbSearchRequestArgs;
8
9
  _searching: boolean;
9
10
  _items: UmbEntityModel[];
10
11
  _isSearchable: boolean;
12
+ pickableFilter: PickableFilterMethodType;
11
13
  constructor();
12
14
  render(): typeof nothing | import("lit-html").TemplateResult<1>;
13
15
  }
@@ -16,3 +18,4 @@ declare global {
16
18
  'umb-picker-search-result': UmbPickerSearchResultElement;
17
19
  }
18
20
  }
21
+ export {};
@@ -5,7 +5,7 @@ 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 { UMB_PICKER_CONTEXT } from '../picker.context.token.js';
8
- import { customElement, html, nothing, repeat, state } from '@umbraco-cms/backoffice/external/lit';
8
+ import { customElement, html, nothing, property, repeat, state } from '@umbraco-cms/backoffice/external/lit';
9
9
  import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
10
10
  let UmbPickerSearchResultElement = class UmbPickerSearchResultElement extends UmbLitElement {
11
11
  #pickerContext;
@@ -14,12 +14,13 @@ let UmbPickerSearchResultElement = class UmbPickerSearchResultElement extends Um
14
14
  this._searching = false;
15
15
  this._items = [];
16
16
  this._isSearchable = false;
17
+ this.pickableFilter = () => true;
17
18
  this.consumeContext(UMB_PICKER_CONTEXT, (context) => {
18
19
  this.#pickerContext = context;
19
- this.observe(this.#pickerContext?.search.searchable, (isSearchable) => (this._isSearchable = isSearchable ?? false));
20
- this.observe(this.#pickerContext?.search.query, (query) => (this._query = query));
21
- this.observe(this.#pickerContext?.search.searching, (query) => (this._searching = query ?? false));
22
- this.observe(this.#pickerContext?.search.resultItems, (items) => (this._items = items ?? []));
20
+ this.observe(this.#pickerContext?.search.searchable, (isSearchable) => (this._isSearchable = isSearchable ?? false), 'obsSearchable');
21
+ this.observe(this.#pickerContext?.search.query, (query) => (this._query = query), 'obsQuery');
22
+ this.observe(this.#pickerContext?.search.searching, (query) => (this._searching = query ?? false), 'obsSearching');
23
+ this.observe(this.#pickerContext?.search.resultItems, (items) => (this._items = items ?? []), 'obsResultItems');
23
24
  });
24
25
  }
25
26
  render() {
@@ -36,11 +37,15 @@ let UmbPickerSearchResultElement = class UmbPickerSearchResultElement extends Um
36
37
  return html `<small>No result for <strong>"${this._query?.query}"</strong>.</small>`;
37
38
  }
38
39
  #renderResultItem(item) {
40
+ console.log('pickableFilter', this.pickableFilter(item));
39
41
  return html `
40
42
  <umb-extension-with-api-slot
41
43
  type="pickerSearchResultItem"
42
44
  .filter=${(manifest) => manifest.forEntityTypes.includes(item.entityType)}
43
- .elementProps=${{ item }}></umb-extension-with-api-slot>
45
+ .elementProps=${{
46
+ item,
47
+ disabled: !this.pickableFilter(item),
48
+ }}></umb-extension-with-api-slot>
44
49
  `;
45
50
  }
46
51
  };
@@ -56,6 +61,9 @@ __decorate([
56
61
  __decorate([
57
62
  state()
58
63
  ], UmbPickerSearchResultElement.prototype, "_isSearchable", void 0);
64
+ __decorate([
65
+ property({ attribute: false })
66
+ ], UmbPickerSearchResultElement.prototype, "pickableFilter", void 0);
59
67
  UmbPickerSearchResultElement = __decorate([
60
68
  customElement('umb-picker-search-result')
61
69
  ], UmbPickerSearchResultElement);
@@ -17,8 +17,9 @@ let UmbDefaultPickerSearchResultItemElement = class UmbDefaultPickerSearchResult
17
17
  id=${item.unique}
18
18
  icon=${item.icon ?? 'icon-document'}
19
19
  select-only
20
- selectable
20
+ ?selectable=${!this.disabled}
21
21
  ?selected=${this._isSelected}
22
+ ?disabled=${this.disabled}
22
23
  @deselected=${() => this.pickerContext?.selection.deselect(item.unique)}
23
24
  @selected=${() => this.pickerContext?.selection.select(item.unique)}>
24
25
  </umb-ref-item>
@@ -7,6 +7,7 @@ export declare abstract class UmbPickerSearchResultItemElementBase<ItemType exte
7
7
  protected pickerContext?: UmbPickerContext;
8
8
  set item(value: ItemType | undefined);
9
9
  get item(): ItemType | undefined;
10
+ disabled?: boolean;
10
11
  _isSelected: boolean;
11
12
  constructor();
12
13
  render(): typeof nothing | import("lit-html").TemplateResult<1>;
@@ -43,8 +43,9 @@ export class UmbPickerSearchResultItemElementBase extends UmbLitElement {
43
43
  <umb-ref-item
44
44
  name=${item.name}
45
45
  select-only
46
- selectable
46
+ ?selectable=${!this.disabled}
47
47
  ?selected=${this._isSelected}
48
+ ?disabled=${this.disabled}
48
49
  @deselected=${() => this.pickerContext?.selection.deselect(item.unique)}
49
50
  @selected=${() => this.pickerContext?.selection.select(item.unique)}>
50
51
  </umb-ref-item>
@@ -54,6 +55,9 @@ export class UmbPickerSearchResultItemElementBase extends UmbLitElement {
54
55
  __decorate([
55
56
  property({ type: Object })
56
57
  ], UmbPickerSearchResultItemElementBase.prototype, "item", null);
58
+ __decorate([
59
+ property({ type: Boolean })
60
+ ], UmbPickerSearchResultItemElementBase.prototype, "disabled", void 0);
57
61
  __decorate([
58
62
  state()
59
63
  ], UmbPickerSearchResultItemElementBase.prototype, "_isSelected", void 0);
@@ -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("./types.js").ManifestPropertyContext<import("./types.js").MetaPropertyContext> | import("./types.js").ManifestPropertyValueCloner | (import("../property-editor/types.js").ManifestPropertyEditorSchema | import("../property-editor/types.js").ManifestPropertyEditorUi) | import("./types.js").ManifestPropertyValuePreset | import("./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("@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("../entity-item/entity-item-ref/entity-item-ref.extension.js").ManifestEntityItemRef<import("../entity-item/entity-item-ref/entity-item-ref.extension.js").MetaEntityItemRef> | 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("./types.js").ManifestPropertyContext<import("./types.js").MetaPropertyContext> | import("./types.js").ManifestPropertyValueCloner | (import("../property-editor/types.js").ManifestPropertyEditorSchema | import("../property-editor/types.js").ManifestPropertyEditorUi) | import("./types.js").ManifestPropertyValuePreset | import("./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)[];
@@ -36,7 +36,12 @@ let UmbPropertyActionMenuElement = class UmbPropertyActionMenuElement extends Um
36
36
  if (!this._actions?.length)
37
37
  return nothing;
38
38
  return html `
39
- <uui-button id="popover-trigger" popovertarget="property-action-popover" label="Open actions menu" compact>
39
+ <uui-button
40
+ id="popover-trigger"
41
+ popovertarget="property-action-popover"
42
+ data-mark="open-property-actions"
43
+ label=${this.localize.term('actions_viewActionsFor')}
44
+ compact>
40
45
  <uui-symbol-more id="more-symbol"></uui-symbol-more>
41
46
  </uui-button>
42
47
  <uui-popover-container id="property-action-popover">
@@ -1,10 +1,11 @@
1
+ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
1
2
  import type { UmbDataSourceResponse } from '../data-source-response.interface.js';
2
3
  import type { UmbItemDataSource } from './item-data-source.interface.js';
3
4
  import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
4
5
  export interface UmbItemServerDataSourceBaseArgs<ServerItemType, ClientItemType extends {
5
6
  unique: string;
6
7
  }> {
7
- getItems: (uniques: Array<string>) => Promise<UmbDataSourceResponse<Array<ServerItemType>>>;
8
+ getItems?: (uniques: Array<string>) => Promise<UmbDataSourceResponse<Array<ServerItemType>>>;
8
9
  mapper: (item: ServerItemType) => ClientItemType;
9
10
  }
10
11
  /**
@@ -14,7 +15,7 @@ export interface UmbItemServerDataSourceBaseArgs<ServerItemType, ClientItemType
14
15
  */
15
16
  export declare abstract class UmbItemServerDataSourceBase<ServerItemType, ClientItemType extends {
16
17
  unique: string;
17
- }> implements UmbItemDataSource<ClientItemType> {
18
+ }> extends UmbControllerBase implements UmbItemDataSource<ClientItemType> {
18
19
  #private;
19
20
  /**
20
21
  * Creates an instance of UmbItemServerDataSourceBase.
@@ -30,10 +31,8 @@ export declare abstract class UmbItemServerDataSourceBase<ServerItemType, Client
30
31
  * @memberof UmbItemServerDataSourceBase
31
32
  */
32
33
  getItems(uniques: Array<string>): Promise<{
33
- data: ClientItemType[];
34
- error?: undefined;
35
- } | {
34
+ data: ClientItemType[] | undefined;
36
35
  error: Error | import("@umbraco-cms/backoffice/resources").UmbError | import("@umbraco-cms/backoffice/resources").UmbApiError | import("@umbraco-cms/backoffice/resources").UmbCancelError | undefined;
37
- data?: undefined;
38
36
  }>;
37
+ protected _getMappedItems(items: Array<ServerItemType> | undefined): Array<ClientItemType> | undefined;
39
38
  }
@@ -1,11 +1,11 @@
1
+ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
1
2
  import { tryExecute } from '@umbraco-cms/backoffice/resources';
2
3
  /**
3
4
  * A data source base for items that fetches items from the server
4
5
  * @class UmbItemServerDataSourceBase
5
6
  * @implements {DocumentTreeDataSource}
6
7
  */
7
- export class UmbItemServerDataSourceBase {
8
- #host;
8
+ export class UmbItemServerDataSourceBase extends UmbControllerBase {
9
9
  #getItems;
10
10
  #mapper;
11
11
  /**
@@ -15,7 +15,7 @@ export class UmbItemServerDataSourceBase {
15
15
  * @memberof UmbItemServerDataSourceBase
16
16
  */
17
17
  constructor(host, args) {
18
- this.#host = host;
18
+ super(host);
19
19
  this.#getItems = args.getItems;
20
20
  this.#mapper = args.mapper;
21
21
  }
@@ -26,13 +26,18 @@ export class UmbItemServerDataSourceBase {
26
26
  * @memberof UmbItemServerDataSourceBase
27
27
  */
28
28
  async getItems(uniques) {
29
+ if (!this.#getItems)
30
+ throw new Error('getItems is not implemented');
29
31
  if (!uniques)
30
32
  throw new Error('Uniques are missing');
31
- const { data, error } = await tryExecute(this.#host, this.#getItems(uniques));
32
- if (data) {
33
- const items = data.map((item) => this.#mapper(item));
34
- return { data: items };
35
- }
36
- return { error };
33
+ const { data, error } = await tryExecute(this, this.#getItems(uniques));
34
+ return { data: this._getMappedItems(data), error };
35
+ }
36
+ _getMappedItems(items) {
37
+ if (!items)
38
+ return undefined;
39
+ if (!this.#mapper)
40
+ throw new Error('Mapper is not implemented');
41
+ return items.map((item) => this.#mapper(item));
37
42
  }
38
43
  }
@@ -21,7 +21,7 @@ export declare class UmbRepositoryDetailsManager<DetailType extends {
21
21
  #private;
22
22
  repository?: UmbDetailRepository<DetailType>;
23
23
  get init(): Promise<unknown>;
24
- uniques: Observable<string[]>;
24
+ uniques: Observable<DetailType["unique"][]>;
25
25
  entries: Observable<DetailType[]>;
26
26
  statuses: Observable<UmbRepositoryRequestStatus[]>;
27
27
  /**