@umbraco-cms/backoffice 14.0.0--preview005-7ef2bd26 → 14.0.0--preview005-0aa73f4a

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 (211) hide show
  1. package/dist-cms/custom-elements.json +9 -0
  2. package/dist-cms/libs/extension-api/controller/base-extension-initializer.controller.js +2 -2
  3. package/dist-cms/libs/extension-api/controller/base-extensions-initializer.controller.js +2 -2
  4. package/dist-cms/libs/extension-api/initializers/bundle-extension-initializer.js +1 -1
  5. package/dist-cms/libs/extension-api/initializers/entry-point-extension-initializer.js +1 -1
  6. package/dist-cms/libs/extension-api/registry/extension.registry.d.ts +41 -14
  7. package/dist-cms/libs/extension-api/registry/extension.registry.js +115 -145
  8. package/dist-cms/mocks/handlers/document-type/folder.handlers.d.ts +1 -0
  9. package/dist-cms/mocks/handlers/document-type/folder.handlers.js +40 -0
  10. package/dist-cms/mocks/handlers/document-type/index.js +2 -1
  11. package/dist-cms/packages/core/action/index.d.ts +0 -1
  12. package/dist-cms/packages/core/action/index.js +0 -1
  13. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +1 -1
  14. package/dist-cms/packages/core/components/input-section/input-section.element.js +1 -1
  15. package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.element.js +1 -1
  16. package/dist-cms/packages/core/data-type/entity-actions/copy/copy.action.d.ts +1 -1
  17. package/dist-cms/packages/core/data-type/entity-actions/copy/copy.action.js +2 -2
  18. package/dist-cms/packages/core/data-type/entity-actions/create/create.action.d.ts +1 -1
  19. package/dist-cms/packages/core/data-type/entity-actions/create/create.action.js +2 -2
  20. package/dist-cms/packages/core/data-type/entity-actions/move/move.action.d.ts +1 -1
  21. package/dist-cms/packages/core/data-type/entity-actions/move/move.action.js +2 -2
  22. package/dist-cms/packages/core/data-type/modals/data-type-picker-flow/data-type-picker-flow-modal.element.js +1 -1
  23. package/dist-cms/packages/core/data-type/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.js +2 -2
  24. package/dist-cms/packages/core/data-type/tree/manifests.js +2 -1
  25. package/dist-cms/packages/core/data-type/tree/reload-tree-item-children/manifests.d.ts +2 -0
  26. package/dist-cms/packages/core/data-type/tree/reload-tree-item-children/manifests.js +18 -0
  27. package/dist-cms/packages/core/entity-action/common/copy/copy.action.d.ts +1 -1
  28. package/dist-cms/packages/core/entity-action/common/copy/copy.action.js +2 -2
  29. package/dist-cms/packages/core/entity-action/common/delete/delete.action.d.ts +1 -1
  30. package/dist-cms/packages/core/entity-action/common/delete/delete.action.js +2 -2
  31. package/dist-cms/packages/core/entity-action/common/move/move.action.d.ts +1 -1
  32. package/dist-cms/packages/core/entity-action/common/move/move.action.js +2 -2
  33. package/dist-cms/packages/core/entity-action/common/rename/rename.action.d.ts +1 -1
  34. package/dist-cms/packages/core/entity-action/common/rename/rename.action.js +2 -2
  35. package/dist-cms/packages/core/entity-action/common/sort-children-of/sort-children-of.action.d.ts +1 -1
  36. package/dist-cms/packages/core/entity-action/common/sort-children-of/sort-children-of.action.js +2 -2
  37. package/dist-cms/packages/core/entity-action/common/trash/trash.action.d.ts +1 -1
  38. package/dist-cms/packages/core/entity-action/common/trash/trash.action.js +2 -2
  39. package/dist-cms/packages/core/entity-action/entity-action-list.element.js +1 -1
  40. package/dist-cms/packages/core/entity-action/entity-action.d.ts +2 -1
  41. package/dist-cms/packages/core/entity-action/entity-action.element.d.ts +3 -0
  42. package/dist-cms/packages/core/entity-action/entity-action.element.js +23 -1
  43. package/dist-cms/packages/core/entity-action/entity-action.event.d.ts +11 -0
  44. package/dist-cms/packages/core/{action/action.event.js → entity-action/entity-action.event.js} +9 -10
  45. package/dist-cms/packages/core/entity-action/entity-action.js +2 -1
  46. package/dist-cms/packages/core/entity-action/index.d.ts +1 -0
  47. package/dist-cms/packages/core/entity-action/index.js +1 -0
  48. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.js +1 -1
  49. package/dist-cms/packages/core/localization/registry/localization.registry.js +1 -1
  50. package/dist-cms/packages/core/modal/common/section-picker/section-picker-modal.element.js +2 -2
  51. package/dist-cms/packages/core/property-editor/uis/tiny-mce/config/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.js +1 -1
  52. package/dist-cms/packages/core/themes/theme.context.js +1 -1
  53. package/dist-cms/packages/core/tree/folder/entity-action/create-folder/create-folder.action.d.ts +1 -1
  54. package/dist-cms/packages/core/tree/folder/entity-action/create-folder/create-folder.action.js +2 -2
  55. package/dist-cms/packages/core/tree/folder/entity-action/delete-folder/delete-folder.action.d.ts +1 -1
  56. package/dist-cms/packages/core/tree/folder/entity-action/delete-folder/delete-folder.action.js +2 -2
  57. package/dist-cms/packages/core/tree/folder/entity-action/folder-update/folder-update.action.d.ts +1 -1
  58. package/dist-cms/packages/core/tree/folder/entity-action/folder-update/folder-update.action.js +2 -2
  59. package/dist-cms/packages/core/tree/index.d.ts +1 -0
  60. package/dist-cms/packages/core/tree/index.js +2 -0
  61. package/dist-cms/packages/core/tree/reload-tree-item-children/index.d.ts +2 -0
  62. package/dist-cms/packages/core/tree/reload-tree-item-children/index.js +2 -0
  63. package/dist-cms/packages/core/tree/reload-tree-item-children/reload-tree-item-children-request.event.d.ts +5 -0
  64. package/dist-cms/packages/core/tree/reload-tree-item-children/reload-tree-item-children-request.event.js +7 -0
  65. package/dist-cms/packages/core/tree/reload-tree-item-children/reload-tree-item-children.action.d.ts +8 -0
  66. package/dist-cms/packages/core/tree/reload-tree-item-children/reload-tree-item-children.action.js +33 -0
  67. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.d.ts +1 -0
  68. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.js +25 -3
  69. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.element.d.ts +0 -1
  70. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.element.js +0 -3
  71. package/dist-cms/packages/core/tree/tree.context.d.ts +3 -4
  72. package/dist-cms/packages/core/tree/tree.context.js +42 -8
  73. package/dist-cms/packages/core/tree/tree.element.js +6 -7
  74. package/dist-cms/packages/dictionary/dictionary/entity-actions/create/create.action.d.ts +1 -1
  75. package/dist-cms/packages/dictionary/dictionary/entity-actions/create/create.action.js +2 -2
  76. package/dist-cms/packages/dictionary/dictionary/entity-actions/export/export.action.d.ts +1 -1
  77. package/dist-cms/packages/dictionary/dictionary/entity-actions/export/export.action.js +2 -2
  78. package/dist-cms/packages/dictionary/dictionary/entity-actions/import/import.action.d.ts +1 -1
  79. package/dist-cms/packages/dictionary/dictionary/entity-actions/import/import.action.js +2 -2
  80. package/dist-cms/packages/dictionary/dictionary/entity-actions/manifests.js +1 -15
  81. package/dist-cms/packages/dictionary/dictionary/entity.d.ts +4 -0
  82. package/dist-cms/packages/dictionary/dictionary/menu-item/manifests.js +1 -1
  83. package/dist-cms/packages/dictionary/dictionary/tree/dictionary-tree.repository.js +1 -1
  84. package/dist-cms/packages/dictionary/dictionary/tree/manifests.d.ts +1 -1
  85. package/dist-cms/packages/dictionary/dictionary/tree/manifests.js +3 -2
  86. package/dist-cms/packages/dictionary/dictionary/tree/reload-tree-item-children/manifests.d.ts +2 -0
  87. package/dist-cms/packages/dictionary/dictionary/tree/reload-tree-item-children/manifests.js +18 -0
  88. package/dist-cms/packages/dictionary/section.manifest.js +1 -1
  89. package/dist-cms/packages/documents/document-types/entity-actions/create/create.action.d.ts +1 -1
  90. package/dist-cms/packages/documents/document-types/entity-actions/create/create.action.js +3 -2
  91. package/dist-cms/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.js +1 -1
  92. package/dist-cms/packages/documents/document-types/entity-actions/create/modal/index.d.ts +1 -0
  93. package/dist-cms/packages/documents/document-types/tree/manifests.js +2 -1
  94. package/dist-cms/packages/documents/document-types/tree/reload-tree-item-children/manifests.d.ts +2 -0
  95. package/dist-cms/packages/documents/document-types/tree/reload-tree-item-children/manifests.js +22 -0
  96. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.d.ts +1 -1
  97. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +2 -2
  98. package/dist-cms/packages/documents/documents/entity-actions/create-blueprint.action.d.ts +1 -1
  99. package/dist-cms/packages/documents/documents/entity-actions/create-blueprint.action.js +2 -2
  100. package/dist-cms/packages/documents/documents/entity-actions/culture-and-hostnames.action.d.ts +1 -1
  101. package/dist-cms/packages/documents/documents/entity-actions/culture-and-hostnames.action.js +2 -2
  102. package/dist-cms/packages/documents/documents/entity-actions/permissions/permissions.action.d.ts +1 -1
  103. package/dist-cms/packages/documents/documents/entity-actions/permissions/permissions.action.js +2 -2
  104. package/dist-cms/packages/documents/documents/entity-actions/public-access.action.d.ts +1 -1
  105. package/dist-cms/packages/documents/documents/entity-actions/public-access.action.js +2 -2
  106. package/dist-cms/packages/documents/documents/entity-actions/publish.action.d.ts +1 -1
  107. package/dist-cms/packages/documents/documents/entity-actions/publish.action.js +2 -2
  108. package/dist-cms/packages/documents/documents/entity-actions/rollback.action.d.ts +1 -1
  109. package/dist-cms/packages/documents/documents/entity-actions/rollback.action.js +2 -2
  110. package/dist-cms/packages/documents/documents/entity-actions/unpublish.action.d.ts +1 -1
  111. package/dist-cms/packages/documents/documents/entity-actions/unpublish.action.js +2 -2
  112. package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +1 -1
  113. package/dist-cms/packages/documents/documents/recycle-bin/tree/manifests.d.ts +1 -1
  114. package/dist-cms/packages/documents/documents/recycle-bin/tree/manifests.js +2 -1
  115. package/dist-cms/packages/documents/documents/recycle-bin/tree/reload-tree-item-children/manifests.d.ts +2 -0
  116. package/dist-cms/packages/documents/documents/recycle-bin/tree/reload-tree-item-children/manifests.js +17 -0
  117. package/dist-cms/packages/documents/documents/tree/manifests.d.ts +1 -1
  118. package/dist-cms/packages/documents/documents/tree/manifests.js +2 -1
  119. package/dist-cms/packages/documents/documents/tree/reload-tree-item-children/manifests.d.ts +2 -0
  120. package/dist-cms/packages/documents/documents/tree/reload-tree-item-children/manifests.js +18 -0
  121. package/dist-cms/packages/health-check/dashboard-health-check.element.js +1 -1
  122. package/dist-cms/packages/media/media/tree/manifests.d.ts +1 -1
  123. package/dist-cms/packages/media/media/tree/manifests.js +2 -1
  124. package/dist-cms/packages/media/media/tree/reload-tree-item-children/manifests.d.ts +2 -0
  125. package/dist-cms/packages/media/media/tree/reload-tree-item-children/manifests.js +17 -0
  126. package/dist-cms/packages/media/media-types/entity-actions/create/create.action.d.ts +1 -1
  127. package/dist-cms/packages/media/media-types/entity-actions/create/create.action.js +2 -2
  128. package/dist-cms/packages/media/media-types/tree/manifests.js +9 -1
  129. package/dist-cms/packages/media/media-types/tree/reload-tree-item-children/manifests.d.ts +2 -0
  130. package/dist-cms/packages/media/media-types/tree/reload-tree-item-children/manifests.js +17 -0
  131. package/dist-cms/packages/members/member-groups/tree/manifests.d.ts +1 -1
  132. package/dist-cms/packages/members/member-groups/tree/manifests.js +2 -1
  133. package/dist-cms/packages/members/member-groups/tree/reload-tree-item-children/manifests.d.ts +2 -0
  134. package/dist-cms/packages/members/member-groups/tree/reload-tree-item-children/manifests.js +17 -0
  135. package/dist-cms/packages/members/member-types/tree/manifests.d.ts +1 -1
  136. package/dist-cms/packages/members/member-types/tree/manifests.js +2 -1
  137. package/dist-cms/packages/members/member-types/tree/reload-tree-item-children/manifests.d.ts +2 -0
  138. package/dist-cms/packages/members/member-types/tree/reload-tree-item-children/manifests.js +17 -0
  139. package/dist-cms/packages/members/members/tree/manifests.d.ts +1 -1
  140. package/dist-cms/packages/members/members/tree/manifests.js +2 -1
  141. package/dist-cms/packages/members/members/tree/reload-tree-item-children/manifests.d.ts +2 -0
  142. package/dist-cms/packages/members/members/tree/reload-tree-item-children/manifests.js +17 -0
  143. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.js +2 -2
  144. package/dist-cms/packages/packages/package-section/views/installed/installed-packages-section-view-item.element.js +1 -1
  145. package/dist-cms/packages/relations/relation-types/entity-actions/create.action.d.ts +1 -1
  146. package/dist-cms/packages/relations/relation-types/entity-actions/create.action.js +2 -2
  147. package/dist-cms/packages/relations/relation-types/index.d.ts +1 -1
  148. package/dist-cms/packages/relations/relation-types/index.js +1 -1
  149. package/dist-cms/packages/relations/relation-types/tree/manifests.d.ts +1 -1
  150. package/dist-cms/packages/relations/relation-types/tree/manifests.js +3 -2
  151. package/dist-cms/packages/relations/relation-types/tree/relation-type-tree.repository.js +1 -1
  152. package/dist-cms/packages/relations/relation-types/tree/reload-tree-item-children/manifests.d.ts +2 -0
  153. package/dist-cms/packages/relations/relation-types/tree/reload-tree-item-children/manifests.js +17 -0
  154. package/dist-cms/packages/settings/languages/entity-actions/language-create-entity-action.d.ts +1 -1
  155. package/dist-cms/packages/settings/languages/entity-actions/language-create-entity-action.js +2 -2
  156. package/dist-cms/packages/templating/partial-views/entity-actions/create/create.action.d.ts +1 -1
  157. package/dist-cms/packages/templating/partial-views/entity-actions/create/create.action.js +3 -2
  158. package/dist-cms/packages/templating/partial-views/entity-actions/create/options-modal/index.d.ts +1 -0
  159. package/dist-cms/packages/templating/partial-views/entity-actions/create/options-modal/partial-view-create-options-modal.element.js +1 -1
  160. package/dist-cms/packages/templating/partial-views/tree/manifests.d.ts +1 -1
  161. package/dist-cms/packages/templating/partial-views/tree/manifests.js +9 -1
  162. package/dist-cms/packages/templating/partial-views/tree/reload-tree-item-children/manifests.d.ts +2 -0
  163. package/dist-cms/packages/templating/partial-views/tree/reload-tree-item-children/manifests.js +21 -0
  164. package/dist-cms/packages/templating/scripts/entity-actions/create/create.action.d.ts +1 -1
  165. package/dist-cms/packages/templating/scripts/entity-actions/create/create.action.js +3 -2
  166. package/dist-cms/packages/templating/scripts/entity-actions/create/options-modal/index.d.ts +1 -0
  167. package/dist-cms/packages/templating/scripts/entity-actions/create/options-modal/script-create-options-modal.element.js +1 -1
  168. package/dist-cms/packages/templating/scripts/tree/manifests.d.ts +1 -1
  169. package/dist-cms/packages/templating/scripts/tree/manifests.js +9 -1
  170. package/dist-cms/packages/templating/scripts/tree/reload-tree-item-children/manifests.d.ts +2 -0
  171. package/dist-cms/packages/templating/scripts/tree/reload-tree-item-children/manifests.js +17 -0
  172. package/dist-cms/packages/templating/stylesheets/entity-actions/create/create.action.d.ts +1 -1
  173. package/dist-cms/packages/templating/stylesheets/entity-actions/create/create.action.js +3 -2
  174. package/dist-cms/packages/templating/stylesheets/entity-actions/create/options-modal/index.d.ts +1 -0
  175. package/dist-cms/packages/templating/stylesheets/entity-actions/create/options-modal/stylesheet-create-options-modal.element.d.ts +0 -1
  176. package/dist-cms/packages/templating/stylesheets/entity-actions/create/options-modal/stylesheet-create-options-modal.element.js +4 -9
  177. package/dist-cms/packages/templating/stylesheets/tree/manifests.d.ts +1 -1
  178. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +9 -1
  179. package/dist-cms/packages/templating/stylesheets/tree/reload-tree-item-children/manifests.d.ts +2 -0
  180. package/dist-cms/packages/templating/stylesheets/tree/reload-tree-item-children/manifests.js +17 -0
  181. package/dist-cms/packages/templating/templates/entity-actions/create/create.action.d.ts +1 -1
  182. package/dist-cms/packages/templating/templates/entity-actions/create/create.action.js +2 -2
  183. package/dist-cms/packages/templating/templates/tree/manifests.d.ts +1 -1
  184. package/dist-cms/packages/templating/templates/tree/manifests.js +2 -1
  185. package/dist-cms/packages/templating/templates/tree/reload-tree-item-children/manifests.d.ts +2 -0
  186. package/dist-cms/packages/templating/templates/tree/reload-tree-item-children/manifests.js +17 -0
  187. package/dist-cms/packages/user/current-user/user-profile-apps/user-profile-app-themes.element.js +1 -1
  188. package/dist-cms/packages/user/user/entity-actions/change-password/change-user-password.action.d.ts +1 -1
  189. package/dist-cms/packages/user/user/entity-actions/change-password/change-user-password.action.js +2 -2
  190. package/dist-cms/packages/user/user/entity-actions/disable/disable-user.action.d.ts +1 -1
  191. package/dist-cms/packages/user/user/entity-actions/disable/disable-user.action.js +2 -2
  192. package/dist-cms/packages/user/user/entity-actions/enable/enable-user.action.d.ts +1 -1
  193. package/dist-cms/packages/user/user/entity-actions/enable/enable-user.action.js +2 -2
  194. package/dist-cms/packages/user/user/entity-actions/unlock/unlock-user.action.d.ts +1 -1
  195. package/dist-cms/packages/user/user/entity-actions/unlock/unlock-user.action.js +2 -2
  196. package/dist-cms/packages/user/user/invite/entity-action/resend-invite/resend-invite.action.d.ts +1 -1
  197. package/dist-cms/packages/user/user/invite/entity-action/resend-invite/resend-invite.action.js +2 -2
  198. package/dist-cms/packages/user/user-group/collection/components/user-group-table-sections-column-layout.element.js +1 -1
  199. package/dist-cms/packages/user/user-group/components/user-group-ref/user-group-ref.element.js +1 -1
  200. package/dist-cms/packages/user/user-group/workspace/components/user-group-default-permission-list.element.js +1 -1
  201. package/dist-cms/packages/user/user-permission/components/entity-user-permission-settings-list/entity-user-permission-settings-list.element.js +1 -1
  202. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  203. package/dist-cms/vscode-html-custom-data.json +7 -2
  204. package/package.json +1 -1
  205. package/dist-cms/packages/core/action/action.event.d.ts +0 -11
  206. package/dist-cms/packages/dictionary/dictionary/entities.d.ts +0 -2
  207. package/dist-cms/packages/dictionary/dictionary/entity-actions/reload.action.d.ts +0 -8
  208. package/dist-cms/packages/dictionary/dictionary/entity-actions/reload.action.js +0 -12
  209. /package/dist-cms/packages/dictionary/dictionary/{entities.js → entity.js} +0 -0
  210. /package/dist-cms/packages/relations/relation-types/{entities.d.ts → entity.d.ts} +0 -0
  211. /package/dist-cms/packages/relations/relation-types/{entities.js → entity.js} +0 -0
@@ -3154,12 +3154,21 @@
3154
3154
  "name": "umb-entity-action",
3155
3155
  "path": "./../src/packages/core/entity-action/entity-action.element.ts",
3156
3156
  "attributes": [
3157
+ {
3158
+ "name": "entityType",
3159
+ "type": "string | null | undefined"
3160
+ },
3157
3161
  {
3158
3162
  "name": "unique",
3159
3163
  "type": "string | null | undefined"
3160
3164
  }
3161
3165
  ],
3162
3166
  "properties": [
3167
+ {
3168
+ "name": "entityType",
3169
+ "attribute": "entityType",
3170
+ "type": "string | null | undefined"
3171
+ },
3163
3172
  {
3164
3173
  "name": "unique",
3165
3174
  "attribute": "unique",
@@ -120,7 +120,7 @@ export class UmbBaseExtensionInitializer extends UmbBaseController {
120
120
  __classPrivateFieldSet(this, _UmbBaseExtensionInitializer_onPermissionChanged, onPermissionChanged, "f");
121
121
  }
122
122
  _init() {
123
- __classPrivateFieldSet(this, _UmbBaseExtensionInitializer_manifestObserver, this.observe(__classPrivateFieldGet(this, _UmbBaseExtensionInitializer_extensionRegistry, "f").getByAlias(__classPrivateFieldGet(this, _UmbBaseExtensionInitializer_alias, "f")), async (extensionManifest) => {
123
+ __classPrivateFieldSet(this, _UmbBaseExtensionInitializer_manifestObserver, this.observe(__classPrivateFieldGet(this, _UmbBaseExtensionInitializer_extensionRegistry, "f").byAlias(__classPrivateFieldGet(this, _UmbBaseExtensionInitializer_alias, "f")), async (extensionManifest) => {
124
124
  __classPrivateFieldGet(this, _UmbBaseExtensionInitializer_instances, "m", _UmbBaseExtensionInitializer_clearPermittedState).call(this);
125
125
  __classPrivateFieldSet(this, _UmbBaseExtensionInitializer_manifest, extensionManifest, "f");
126
126
  if (extensionManifest) {
@@ -197,7 +197,7 @@ _UmbBaseExtensionInitializer_promiseResolvers = new WeakMap(), _UmbBaseExtension
197
197
  oldAmountOfControllers === conditionConfigs.length;
198
198
  if (conditionConfigs.length > 0) {
199
199
  // Observes the conditions and initialize as they come in.
200
- this.observe(__classPrivateFieldGet(this, _UmbBaseExtensionInitializer_extensionRegistry, "f").getByTypeAndAliases('condition', conditionAliases), __classPrivateFieldGet(this, _UmbBaseExtensionInitializer_gotConditions, "f"), '_observeConditions');
200
+ this.observe(__classPrivateFieldGet(this, _UmbBaseExtensionInitializer_extensionRegistry, "f").byTypeAndAliases('condition', conditionAliases), __classPrivateFieldGet(this, _UmbBaseExtensionInitializer_gotConditions, "f"), '_observeConditions');
201
201
  }
202
202
  else {
203
203
  this.removeControllerByAlias('_observeConditions');
@@ -111,8 +111,8 @@ export class UmbBaseExtensionsInitializer extends UmbBaseController {
111
111
  }
112
112
  _init() {
113
113
  let source = Array.isArray(__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_type, "f"))
114
- ? __classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_extensionRegistry, "f").extensionsOfTypes(__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_type, "f"))
115
- : __classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_extensionRegistry, "f").extensionsOfType(__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_type, "f"));
114
+ ? __classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_extensionRegistry, "f").byTypes(__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_type, "f"))
115
+ : __classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_extensionRegistry, "f").byType(__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_type, "f"));
116
116
  if (__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_filter, "f")) {
117
117
  source = source.pipe(map((extensions) => extensions.filter(__classPrivateFieldGet(this, _UmbBaseExtensionsInitializer_filter, "f"))));
118
118
  }
@@ -18,7 +18,7 @@ export class UmbBundleExtensionInitializer extends UmbBaseController {
18
18
  _UmbBundleExtensionInitializer_extensionRegistry.set(this, void 0);
19
19
  _UmbBundleExtensionInitializer_bundleMap.set(this, new Map());
20
20
  __classPrivateFieldSet(this, _UmbBundleExtensionInitializer_extensionRegistry, extensionRegistry, "f");
21
- this.observe(extensionRegistry.extensionsOfType('bundle'), (bundles) => {
21
+ this.observe(extensionRegistry.byType('bundle'), (bundles) => {
22
22
  // Unregister removed bundles:
23
23
  __classPrivateFieldGet(this, _UmbBundleExtensionInitializer_bundleMap, "f").forEach((existingBundle) => {
24
24
  if (!bundles.find((b) => b.alias === existingBundle.alias)) {
@@ -20,7 +20,7 @@ export class UmbEntryPointExtensionInitializer extends UmbBaseController {
20
20
  _UmbEntryPointExtensionInitializer_entryPointMap.set(this, new Map());
21
21
  __classPrivateFieldSet(this, _UmbEntryPointExtensionInitializer_host, host, "f");
22
22
  __classPrivateFieldSet(this, _UmbEntryPointExtensionInitializer_extensionRegistry, extensionRegistry, "f");
23
- this.observe(extensionRegistry.extensionsOfType('entryPoint'), (entryPoints) => {
23
+ this.observe(extensionRegistry.byType('entryPoint'), (entryPoints) => {
24
24
  entryPoints.forEach((entryPoint) => {
25
25
  if (__classPrivateFieldGet(this, _UmbEntryPointExtensionInitializer_entryPointMap, "f").has(entryPoint.alias))
26
26
  return;
@@ -2,6 +2,7 @@ import type { ManifestBase, ManifestKind } from '../types/index.js';
2
2
  import type { ManifestTypeMap, SpecificManifestTypeOrManifestBase } from '../types/map.types.js';
3
3
  import type { Observable } from '../../../external/rxjs/index.js';
4
4
  export declare class UmbExtensionRegistry<IncomingManifestTypes extends ManifestBase, ManifestTypes extends ManifestBase = IncomingManifestTypes | ManifestBase> {
5
+ #private;
5
6
  readonly MANIFEST_TYPES: ManifestTypes;
6
7
  private _extensions;
7
8
  readonly extensions: Observable<ManifestTypes[]>;
@@ -13,33 +14,59 @@ export declare class UmbExtensionRegistry<IncomingManifestTypes extends Manifest
13
14
  unregisterMany(aliases: Array<string>): void;
14
15
  unregister(alias: string): void;
15
16
  isRegistered(alias: string): boolean;
16
- private checkExtension;
17
- private _kindsOfType;
18
- private _extensionsOfType;
19
- private _kindsOfTypes;
20
- private _extensionsOfTypes;
21
- getByAlias<T extends ManifestBase = ManifestBase>(alias: string): Observable<T | undefined>;
22
- getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
23
- getByTypeAndAliases<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, aliases: Array<string>): Observable<T[]>;
24
- /**
25
- * Get an observable of an extension by type and a given filter method.
17
+ /**
18
+ * Get an observable that provides extensions matching the given alias.
19
+ * @param alias {string} - The alias of the extensions to get.
20
+ * @returns {Observable<T | undefined>} - An observable of the extension that matches the alias.
21
+ */
22
+ byAlias<T extends ManifestBase = ManifestBase>(alias: string): Observable<T | undefined>;
23
+ /**
24
+ * @deprecated Use `byAlias` instead.
25
+ */
26
+ getByAlias: <T extends ManifestBase = ManifestBase>(alias: string) => Observable<T | undefined>;
27
+ /**
28
+ * Get an observable that provides extensions matching the given type and alias.
29
+ * @param type {string} - The type of the extensions to get.
30
+ * @param alias {string} - The alias of the extensions to get.
31
+ * @returns {Observable<T | undefined>} - An observable of the extensions that matches the type and alias.
32
+ */
33
+ byTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
34
+ /**
35
+ * @deprecated Use `byTypeAndAlias` instead.
36
+ */
37
+ getByTypeAndAlias: <Key extends string | number | ManifestTypes["type"], T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string) => Observable<T | undefined>;
38
+ byTypeAndAliases<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, aliases: Array<string>): Observable<T[]>;
39
+ /**
40
+ * @deprecated Use `byTypeAndAliases` instead.
41
+ */
42
+ getByTypeAndAliases: <Key extends string | number | ManifestTypes["type"], T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, aliases: Array<string>) => Observable<T[]>;
43
+ /**
44
+ * Get an observable of extensions by type and a given filter method.
26
45
  * This will return the all extensions that matches the type and which filter method returns true.
27
46
  * The filter method will be called for each extension manifest of the given type, and the first argument to it is the extension manifest.
28
47
  * @param type {string} - The type of the extension to get
29
48
  * @param filter {(ext: T): void} - The filter method to use to filter the extensions
30
- * @returns {Observable<T | undefined>} - An observable of the extensions that matches the type and filter method
49
+ * @returns {Observable<Array<T>>} - An observable of the extensions that matches the type and filter method
31
50
  */
32
- byTypeAndFilter<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, filter: (ext: T) => boolean): Observable<T | undefined>;
51
+ byTypeAndFilter<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, filter: (ext: T) => boolean): Observable<T[]>;
33
52
  /**
34
53
  * Get an observable that provides extensions matching the given type.
35
54
  * @param type {string} - The type of the extensions to get.
36
55
  * @returns {Observable<T | undefined>} - An observable of the extensions that matches the type.
37
56
  */
38
- extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
57
+ byType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
58
+ /**
59
+ * @deprecated Use `byType` instead.
60
+ */
61
+ extensionsOfType: <Key extends string | number | ManifestTypes["type"], T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key) => Observable<T[]>;
39
62
  /**
40
63
  * Get an observable that provides extensions matching given types.
41
64
  * @param type {Array<string>} - The types of the extensions to get.
42
65
  * @returns {Observable<T | undefined>} - An observable of the extensions that matches the types.
43
66
  */
44
- extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
67
+ byTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
68
+ /**
69
+ * @deprecated Use `byTypes` instead.
70
+ */
71
+ extensionsOfTypes: <ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]) => Observable<ExtensionTypes[]>;
45
72
  }
@@ -1,3 +1,9 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _UmbExtensionRegistry_instances, _UmbExtensionRegistry_checkExtension, _UmbExtensionRegistry_kindsOfType, _UmbExtensionRegistry_extensionsOfType, _UmbExtensionRegistry_kindsOfTypes, _UmbExtensionRegistry_extensionsOfTypes, _UmbExtensionRegistry_mergeExtensionWithKinds, _UmbExtensionRegistry_mergeExtensionsWithKinds;
1
7
  import { UmbBasicState } from '../../observable-api/index.js';
2
8
  import { map, distinctUntilChanged, combineLatest, of, switchMap } from '../../../external/rxjs/index.js';
3
9
  function extensionArrayMemoization(previousValue, currentValue) {
@@ -48,11 +54,32 @@ function extensionAndKindMatchSingleMemoization(previousValue, currentValue) {
48
54
  const sortExtensions = (a, b) => (b.weight || 0) - (a.weight || 0);
49
55
  export class UmbExtensionRegistry {
50
56
  constructor() {
57
+ _UmbExtensionRegistry_instances.add(this);
51
58
  this.MANIFEST_TYPES = undefined;
52
59
  this._extensions = new UmbBasicState([]);
53
60
  this.extensions = this._extensions.asObservable();
54
61
  this._kinds = new UmbBasicState([]);
55
62
  this.kinds = this._kinds.asObservable();
63
+ /**
64
+ * @deprecated Use `byAlias` instead.
65
+ */
66
+ this.getByAlias = this.byAlias.bind(this);
67
+ /**
68
+ * @deprecated Use `byTypeAndAlias` instead.
69
+ */
70
+ this.getByTypeAndAlias = this.byTypeAndAlias.bind(this);
71
+ /**
72
+ * @deprecated Use `byTypeAndAliases` instead.
73
+ */
74
+ this.getByTypeAndAliases = this.byTypeAndAliases.bind(this);
75
+ /**
76
+ * @deprecated Use `byType` instead.
77
+ */
78
+ this.extensionsOfType = this.byType.bind(this);
79
+ /**
80
+ * @deprecated Use `byTypes` instead.
81
+ */
82
+ this.extensionsOfTypes = this.byTypes.bind(this);
56
83
  }
57
84
  defineKind(kind) {
58
85
  const extensionsValues = this._extensions.getValue();
@@ -69,7 +96,7 @@ export class UmbExtensionRegistry {
69
96
  this._kinds.setValue(nextData);
70
97
  }
71
98
  register(manifest) {
72
- const isValid = this.checkExtension(manifest);
99
+ const isValid = __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_checkExtension).call(this, manifest);
73
100
  if (!isValid) {
74
101
  return;
75
102
  }
@@ -97,181 +124,124 @@ export class UmbExtensionRegistry {
97
124
  }
98
125
  return false;
99
126
  }
100
- /*
101
- getByAlias(alias: string) {
102
- // TODO: make pipes prettier/simpler/reuseable
103
- return this.extensions.pipe(map((extensions) => extensions.find((extension) => extension.alias === alias) || null));
104
- }
105
- */
106
- checkExtension(manifest) {
107
- if (!manifest.type) {
108
- console.error(`Extension is missing type`, manifest);
109
- return false;
110
- }
111
- if (!manifest.alias) {
112
- console.error(`Extension is missing alias`, manifest);
113
- return false;
114
- }
115
- if (manifest.type === 'kind') {
116
- this.defineKind(manifest);
117
- return false;
118
- }
119
- const extensionsValues = this._extensions.getValue();
120
- const extension = extensionsValues.find((extension) => extension.alias === manifest.alias);
121
- if (extension) {
122
- console.error(`Extension with alias ${manifest.alias} is already registered`);
123
- return false;
124
- }
125
- return true;
126
- }
127
- _kindsOfType(type) {
128
- return this.kinds.pipe(map((kinds) => kinds.filter((kind) => kind.matchType === type)), distinctUntilChanged(extensionArrayMemoization));
129
- }
130
- _extensionsOfType(type) {
131
- return this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type)), distinctUntilChanged(extensionArrayMemoization));
132
- }
133
- _kindsOfTypes(types) {
134
- return this.kinds.pipe(map((kinds) => kinds.filter((kind) => types.indexOf(kind.matchType) !== -1)), distinctUntilChanged(extensionArrayMemoization));
135
- }
136
- // TODO: can we get rid of as unknown here
137
- _extensionsOfTypes(types) {
138
- return this.extensions.pipe(map((exts) => exts.filter((ext) => types.indexOf(ext.type) !== -1)), distinctUntilChanged(extensionArrayMemoization));
139
- }
140
- // TODO: get rid of the name get
141
- getByAlias(alias) {
127
+ /**
128
+ * Get an observable that provides extensions matching the given alias.
129
+ * @param alias {string} - The alias of the extensions to get.
130
+ * @returns {Observable<T | undefined>} - An observable of the extension that matches the alias.
131
+ */
132
+ byAlias(alias) {
142
133
  return this.extensions.pipe(map((exts) => exts.find((ext) => ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization), switchMap((ext) => {
143
134
  if (ext?.kind) {
144
- return this._kindsOfType(ext.type).pipe(map((kinds) => {
145
- // Specific Extension Meta merge (does not merge conditions)
146
- if (ext) {
147
- // Since we dont have the type up front in this request, we will just get all kinds here and find the matching one:
148
- const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
149
- // TODO: This check can go away when making a find kind based on type and kind.
150
- if (baseManifest) {
151
- const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
152
- if (baseManifest.meta) {
153
- merged.meta = { ...baseManifest.meta, ...ext.meta };
154
- }
155
- return merged;
156
- }
157
- }
158
- return ext;
159
- }));
135
+ return __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_kindsOfType).call(this, ext.type).pipe(map((kinds) => __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_mergeExtensionWithKinds).call(this, [ext, kinds])));
160
136
  }
161
137
  return of(ext);
162
138
  }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
163
139
  }
164
- // TODO: get rid of the name get
165
- getByTypeAndAlias(type, alias) {
140
+ /**
141
+ * Get an observable that provides extensions matching the given type and alias.
142
+ * @param type {string} - The type of the extensions to get.
143
+ * @param alias {string} - The alias of the extensions to get.
144
+ * @returns {Observable<T | undefined>} - An observable of the extensions that matches the type and alias.
145
+ */
146
+ byTypeAndAlias(type, alias) {
166
147
  return combineLatest([
167
148
  this.extensions.pipe(map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization)),
168
- this._kindsOfType(type),
169
- ]).pipe(map(([ext, kinds]) => {
170
- // TODO: share one merge function between the different methods of this class:
171
- // Specific Extension Meta merge (does not merge conditions)
172
- if (ext) {
173
- const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
174
- if (baseManifest) {
175
- const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
176
- if (baseManifest.meta) {
177
- merged.meta = { ...baseManifest.meta, ...ext.meta };
178
- }
179
- return merged;
180
- }
181
- }
182
- return ext;
183
- }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
149
+ __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_kindsOfType).call(this, type),
150
+ ]).pipe(map(__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_mergeExtensionWithKinds)), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
184
151
  }
185
- // TODO: get rid of the name get
186
- getByTypeAndAliases(type, aliases) {
152
+ byTypeAndAliases(type, aliases) {
187
153
  return combineLatest([
188
154
  this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type && aliases.indexOf(ext.alias) !== -1)), distinctUntilChanged(extensionArrayMemoization)),
189
- this._kindsOfType(type),
190
- ]).pipe(map(([exts, kinds]) => exts
191
- .map((ext) => {
192
- // Specific Extension Meta merge (does not merge conditions)
193
- const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
194
- if (baseManifest) {
195
- const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
196
- if (baseManifest.meta) {
197
- merged.meta = { ...baseManifest.meta, ...ext.meta };
198
- }
199
- return merged;
200
- }
201
- return ext;
202
- })
203
- .sort(sortExtensions)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
155
+ __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_kindsOfType).call(this, type),
156
+ ]).pipe(map(__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_mergeExtensionsWithKinds)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
204
157
  }
205
158
  /**
206
- * Get an observable of an extension by type and a given filter method.
159
+ * Get an observable of extensions by type and a given filter method.
207
160
  * This will return the all extensions that matches the type and which filter method returns true.
208
161
  * The filter method will be called for each extension manifest of the given type, and the first argument to it is the extension manifest.
209
162
  * @param type {string} - The type of the extension to get
210
163
  * @param filter {(ext: T): void} - The filter method to use to filter the extensions
211
- * @returns {Observable<T | undefined>} - An observable of the extensions that matches the type and filter method
164
+ * @returns {Observable<Array<T>>} - An observable of the extensions that matches the type and filter method
212
165
  */
213
166
  byTypeAndFilter(type, filter) {
214
167
  return combineLatest([
215
- this.extensions.pipe(map((exts) => exts.find((ext) => ext.type === type && filter(ext))), distinctUntilChanged(extensionSingleMemoization)),
216
- this._kindsOfType(type),
217
- ]).pipe(map(([ext, kinds]) => {
218
- // TODO: share one merge function between the different methods of this class:
219
- // Specific Extension Meta merge (does not merge conditions)
220
- if (ext) {
221
- const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
222
- if (baseManifest) {
223
- const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
224
- if (baseManifest.meta) {
225
- merged.meta = { ...baseManifest.meta, ...ext.meta };
226
- }
227
- return merged;
228
- }
229
- }
230
- return ext;
231
- }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
168
+ this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type && filter(ext))), distinctUntilChanged(extensionArrayMemoization)),
169
+ __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_kindsOfType).call(this, type),
170
+ ]).pipe(map(__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_mergeExtensionsWithKinds)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
232
171
  }
233
172
  /**
234
173
  * Get an observable that provides extensions matching the given type.
235
174
  * @param type {string} - The type of the extensions to get.
236
175
  * @returns {Observable<T | undefined>} - An observable of the extensions that matches the type.
237
176
  */
238
- extensionsOfType(type) {
239
- return combineLatest([this._extensionsOfType(type), this._kindsOfType(type)]).pipe(map(([exts, kinds]) => exts
240
- .map((ext) => {
241
- // Specific Extension Meta merge (does not merge conditions)
242
- const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
243
- if (baseManifest) {
244
- const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
245
- if (baseManifest.meta) {
246
- merged.meta = { ...baseManifest.meta, ...ext.meta };
247
- }
248
- return merged;
249
- }
250
- return ext;
251
- })
252
- .sort(sortExtensions)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
177
+ byType(type) {
178
+ return combineLatest([__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_extensionsOfType).call(this, type), __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_kindsOfType).call(this, type)]).pipe(map(__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_mergeExtensionsWithKinds)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
253
179
  }
254
180
  /**
255
181
  * Get an observable that provides extensions matching given types.
256
182
  * @param type {Array<string>} - The types of the extensions to get.
257
183
  * @returns {Observable<T | undefined>} - An observable of the extensions that matches the types.
258
184
  */
259
- extensionsOfTypes(types) {
260
- return combineLatest([this._extensionsOfTypes(types), this._kindsOfTypes(types)]).pipe(map(([exts, kinds]) => exts
261
- .map((ext) => {
262
- // Specific Extension Meta merge (does not merge conditions)
263
- if (ext) {
264
- const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
265
- if (baseManifest) {
266
- const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
267
- if (baseManifest.meta) {
268
- merged.meta = { ...baseManifest.meta, ...ext.meta };
269
- }
270
- return merged;
271
- }
272
- }
273
- return ext;
274
- })
275
- .sort(sortExtensions)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
185
+ byTypes(types) {
186
+ return combineLatest([__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_extensionsOfTypes).call(this, types), __classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_kindsOfTypes).call(this, types)]).pipe(map(__classPrivateFieldGet(this, _UmbExtensionRegistry_instances, "m", _UmbExtensionRegistry_mergeExtensionsWithKinds)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
276
187
  }
277
188
  }
189
+ _UmbExtensionRegistry_instances = new WeakSet(), _UmbExtensionRegistry_checkExtension = function _UmbExtensionRegistry_checkExtension(manifest) {
190
+ if (!manifest.type) {
191
+ console.error(`Extension is missing type`, manifest);
192
+ return false;
193
+ }
194
+ if (!manifest.alias) {
195
+ console.error(`Extension is missing alias`, manifest);
196
+ return false;
197
+ }
198
+ if (manifest.type === 'kind') {
199
+ this.defineKind(manifest);
200
+ return false;
201
+ }
202
+ const extensionsValues = this._extensions.getValue();
203
+ const extension = extensionsValues.find((extension) => extension.alias === manifest.alias);
204
+ if (extension) {
205
+ console.error(`Extension with alias ${manifest.alias} is already registered`);
206
+ return false;
207
+ }
208
+ return true;
209
+ }, _UmbExtensionRegistry_kindsOfType = function _UmbExtensionRegistry_kindsOfType(type) {
210
+ return this.kinds.pipe(map((kinds) => kinds.filter((kind) => kind.matchType === type)), distinctUntilChanged(extensionArrayMemoization));
211
+ }, _UmbExtensionRegistry_extensionsOfType = function _UmbExtensionRegistry_extensionsOfType(type) {
212
+ return this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type)), distinctUntilChanged(extensionArrayMemoization));
213
+ }, _UmbExtensionRegistry_kindsOfTypes = function _UmbExtensionRegistry_kindsOfTypes(types) {
214
+ return this.kinds.pipe(map((kinds) => kinds.filter((kind) => types.indexOf(kind.matchType) !== -1)), distinctUntilChanged(extensionArrayMemoization));
215
+ }, _UmbExtensionRegistry_extensionsOfTypes = function _UmbExtensionRegistry_extensionsOfTypes(types) {
216
+ return this.extensions.pipe(map((exts) => exts.filter((ext) => types.indexOf(ext.type) !== -1)), distinctUntilChanged(extensionArrayMemoization));
217
+ }, _UmbExtensionRegistry_mergeExtensionWithKinds = function _UmbExtensionRegistry_mergeExtensionWithKinds([ext, kinds,]) {
218
+ // Specific Extension Meta merge (does not merge conditions)
219
+ if (ext) {
220
+ // Since we don't have the type up front in this request, we will just get all kinds here and find the matching one:
221
+ const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
222
+ // TODO: This check can go away when making a find kind based on type and kind.
223
+ if (baseManifest) {
224
+ const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
225
+ if (baseManifest.meta) {
226
+ merged.meta = { ...baseManifest.meta, ...ext.meta };
227
+ }
228
+ return merged;
229
+ }
230
+ }
231
+ return ext;
232
+ }, _UmbExtensionRegistry_mergeExtensionsWithKinds = function _UmbExtensionRegistry_mergeExtensionsWithKinds([exts, kinds,]) {
233
+ return exts
234
+ .map((ext) => {
235
+ // Specific Extension Meta merge (does not merge conditions)
236
+ const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
237
+ if (baseManifest) {
238
+ const merged = { __isMatchedWithKind: true, ...baseManifest, ...ext };
239
+ if (baseManifest.meta) {
240
+ merged.meta = { ...baseManifest.meta, ...ext.meta };
241
+ }
242
+ return merged;
243
+ }
244
+ return ext;
245
+ })
246
+ .sort(sortExtensions);
247
+ };
@@ -0,0 +1 @@
1
+ export declare const folderHandlers: import("msw").RestHandler<import("node_modules/msw/lib/glossary-de6278a9.js").M<import("node_modules/msw/lib/glossary-de6278a9.js").h>>[];
@@ -0,0 +1,40 @@
1
+ const { rest } = window.MockServiceWorker;
2
+ import { umbDocumentTypeMockDb } from '../../data/document-type/document-type.db.js';
3
+ import { UMB_SLUG } from './slug.js';
4
+ import { umbracoPath } from '../../../shared/utils/index.js';
5
+ export const folderHandlers = [
6
+ rest.post(umbracoPath(`${UMB_SLUG}/folder`), async (req, res, ctx) => {
7
+ const requestBody = await req.json();
8
+ if (!requestBody)
9
+ return res(ctx.status(400, 'no body found'));
10
+ const id = umbDocumentTypeMockDb.folder.create(requestBody);
11
+ return res(ctx.status(201), ctx.set({
12
+ Location: req.url.href + '/' + id,
13
+ 'Umb-Generated-Resource': id,
14
+ }));
15
+ }),
16
+ rest.get(umbracoPath(`${UMB_SLUG}/folder/:id`), (req, res, ctx) => {
17
+ const id = req.params.id;
18
+ if (!id)
19
+ return res(ctx.status(400));
20
+ const response = umbDocumentTypeMockDb.folder.read(id);
21
+ return res(ctx.status(200), ctx.json(response));
22
+ }),
23
+ rest.put(umbracoPath(`${UMB_SLUG}/folder/:id`), async (req, res, ctx) => {
24
+ const id = req.params.id;
25
+ if (!id)
26
+ return res(ctx.status(400, 'no id found'));
27
+ const requestBody = await req.json();
28
+ if (!requestBody)
29
+ return res(ctx.status(400, 'no body found'));
30
+ umbDocumentTypeMockDb.folder.update(id, requestBody);
31
+ return res(ctx.status(200));
32
+ }),
33
+ rest.delete(umbracoPath(`${UMB_SLUG}/folder/:id`), (req, res, ctx) => {
34
+ const id = req.params.id;
35
+ if (!id)
36
+ return res(ctx.status(400));
37
+ umbDocumentTypeMockDb.folder.delete(id);
38
+ return res(ctx.status(200));
39
+ }),
40
+ ];
@@ -1,4 +1,5 @@
1
1
  import { treeHandlers } from './tree.handlers.js';
2
2
  import { detailHandlers } from './detail.handlers.js';
3
3
  import { itemHandlers } from './item.handlers.js';
4
- export const handlers = [...treeHandlers, ...itemHandlers, ...detailHandlers];
4
+ import { folderHandlers } from './folder.handlers.js';
5
+ export const handlers = [...treeHandlers, ...itemHandlers, ...folderHandlers, ...detailHandlers];
@@ -1,4 +1,3 @@
1
1
  export * from './repository-action.js';
2
2
  export * from './action.interface.js';
3
3
  export * from './action-event.context.js';
4
- export * from './action.event.js';
@@ -1,4 +1,3 @@
1
1
  export * from './repository-action.js';
2
2
  export * from './action.interface.js';
3
3
  export * from './action-event.context.js';
4
- export * from './action.event.js';
@@ -68,7 +68,7 @@ _UmbEntityActionsBundleElement_sectionSidebarContext = new WeakMap();
68
68
  _UmbEntityActionsBundleElement_instances = new WeakSet();
69
69
  _UmbEntityActionsBundleElement_observeEntityActions = function _UmbEntityActionsBundleElement_observeEntityActions() {
70
70
  this.observe(umbExtensionsRegistry
71
- .extensionsOfType('entityAction')
71
+ .byType('entityAction')
72
72
  .pipe(map((actions) => actions.filter((action) => action.meta.entityTypes.includes(this.entityType)))), (actions) => {
73
73
  this._hasActions = actions.length > 0;
74
74
  }, 'umbEntityActionsObserver');
@@ -21,7 +21,7 @@ let UmbInputSectionElement = class UmbInputSectionElement extends UmbInputListBa
21
21
  }
22
22
  _observeSections() {
23
23
  if (this.value.length > 0) {
24
- this.observe(umbExtensionsRegistry.extensionsOfType('section'), (sections) => {
24
+ this.observe(umbExtensionsRegistry.byType('section'), (sections) => {
25
25
  this._sections = sections.filter((section) => this.value.includes(section.alias));
26
26
  });
27
27
  }
@@ -133,7 +133,7 @@ _UmbInputTinyMceElement_loadPlugins =
133
133
  * the plugins are ready and so are not associated with the editor.
134
134
  */
135
135
  async function _UmbInputTinyMceElement_loadPlugins() {
136
- const observable = umbExtensionsRegistry?.extensionsOfType('tinyMcePlugin');
136
+ const observable = umbExtensionsRegistry?.byType('tinyMcePlugin');
137
137
  const manifests = (await firstValueFrom(observable));
138
138
  const promises = [];
139
139
  for (const manifest of manifests) {
@@ -3,6 +3,6 @@ import { UmbEntityActionBase } from '../../../entity-action/index.js';
3
3
  import type { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
4
  export declare class UmbCopyDataTypeEntityAction extends UmbEntityActionBase<UmbCopyDataTypeRepository> {
5
5
  #private;
6
- constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string);
6
+ constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string, entityType: string);
7
7
  execute(): Promise<void>;
8
8
  }
@@ -14,8 +14,8 @@ import { UmbEntityActionBase } from '../../../entity-action/index.js';
14
14
  import { UMB_MODAL_MANAGER_CONTEXT, UMB_DATA_TYPE_PICKER_MODAL, } from '../../../modal/index.js';
15
15
  // TODO: investigate what we need to make a generic copy action
16
16
  export class UmbCopyDataTypeEntityAction extends UmbEntityActionBase {
17
- constructor(host, repositoryAlias, unique) {
18
- super(host, repositoryAlias, unique);
17
+ constructor(host, repositoryAlias, unique, entityType) {
18
+ super(host, repositoryAlias, unique, entityType);
19
19
  _UmbCopyDataTypeEntityAction_modalManagerContext.set(this, void 0);
20
20
  this.consumeContext(UMB_MODAL_MANAGER_CONTEXT, (instance) => {
21
21
  __classPrivateFieldSet(this, _UmbCopyDataTypeEntityAction_modalManagerContext, instance, "f");
@@ -3,6 +3,6 @@ import { UmbEntityActionBase } from '../../../entity-action/index.js';
3
3
  import type { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
4
  export declare class UmbCreateDataTypeEntityAction extends UmbEntityActionBase<UmbDataTypeDetailRepository> {
5
5
  #private;
6
- constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string);
6
+ constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string, entityType: string);
7
7
  execute(): Promise<void>;
8
8
  }
@@ -14,8 +14,8 @@ import { UMB_DATA_TYPE_CREATE_OPTIONS_MODAL } from './modal/index.js';
14
14
  import { UmbEntityActionBase } from '../../../entity-action/index.js';
15
15
  import { UMB_MODAL_MANAGER_CONTEXT } from '../../../modal/index.js';
16
16
  export class UmbCreateDataTypeEntityAction extends UmbEntityActionBase {
17
- constructor(host, repositoryAlias, unique) {
18
- super(host, repositoryAlias, unique);
17
+ constructor(host, repositoryAlias, unique, entityType) {
18
+ super(host, repositoryAlias, unique, entityType);
19
19
  _UmbCreateDataTypeEntityAction_modalManagerContext.set(this, void 0);
20
20
  this.consumeContext(UMB_MODAL_MANAGER_CONTEXT, (instance) => {
21
21
  __classPrivateFieldSet(this, _UmbCreateDataTypeEntityAction_modalManagerContext, instance, "f");
@@ -3,6 +3,6 @@ import { UmbEntityActionBase } from '../../../entity-action/index.js';
3
3
  import type { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
4
  export declare class UmbMoveDataTypeEntityAction extends UmbEntityActionBase<UmbMoveDataTypeRepository> {
5
5
  #private;
6
- constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string);
6
+ constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string, entityType: string);
7
7
  execute(): Promise<void>;
8
8
  }