@umbraco-cms/backoffice 14.0.0--preview004-a8f35fb0 → 14.0.0--preview004-024f35fe

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 (272) hide show
  1. package/dist-cms/apps/backoffice/backoffice.context.d.ts +2 -2
  2. package/dist-cms/custom-elements.json +2 -2
  3. package/dist-cms/libs/controller-api/{controller-host-initializer.element.d.ts → controller-host-provider.element.d.ts} +3 -3
  4. package/dist-cms/libs/controller-api/{controller-host-initializer.element.js → controller-host-provider.element.js} +2 -2
  5. package/dist-cms/libs/extension-api/controller/{base-extension-controller.d.ts → base-extension-initializer.controller.d.ts} +3 -3
  6. package/dist-cms/libs/extension-api/controller/{base-extension-controller.js → base-extension-initializer.controller.js} +5 -5
  7. package/dist-cms/libs/extension-api/controller/{base-extensions-controller.d.ts → base-extensions-initializer.controller.d.ts} +4 -4
  8. package/dist-cms/libs/extension-api/controller/{base-extensions-controller.js → base-extensions-initializer.controller.js} +3 -2
  9. package/dist-cms/libs/extension-api/controller/extension-api-initializer.controller.d.ts +41 -0
  10. package/dist-cms/libs/extension-api/controller/extension-api-initializer.controller.js +95 -0
  11. package/dist-cms/libs/extension-api/controller/{extension-element-controller.d.ts → extension-element-initializer.controller.d.ts} +13 -4
  12. package/dist-cms/libs/extension-api/controller/{extension-element-controller.js → extension-element-initializer.controller.js} +32 -19
  13. package/dist-cms/libs/extension-api/controller/extension-manifest-initializer.controller.d.ts +20 -0
  14. package/dist-cms/libs/extension-api/controller/extension-manifest-initializer.controller.js +24 -0
  15. package/dist-cms/libs/extension-api/controller/extensions-api-initializer.controller.d.ts +21 -0
  16. package/dist-cms/libs/extension-api/controller/extensions-api-initializer.controller.js +42 -0
  17. package/dist-cms/libs/extension-api/controller/{extensions-element-controller.d.ts → extensions-element-initializer.controller.d.ts} +4 -4
  18. package/dist-cms/libs/extension-api/controller/{extensions-element-controller.js → extensions-element-initializer.controller.js} +4 -4
  19. package/dist-cms/libs/extension-api/controller/{extensions-manifest-controller.d.ts → extensions-manifest-initializer.controller.d.ts} +4 -4
  20. package/dist-cms/libs/extension-api/controller/{extensions-manifest-controller.js → extensions-manifest-initializer.controller.js} +4 -4
  21. package/dist-cms/libs/extension-api/controller/index.d.ts +8 -6
  22. package/dist-cms/libs/extension-api/controller/index.js +8 -6
  23. package/dist-cms/libs/extension-api/functions/create-extension-api.function.d.ts +2 -2
  24. package/dist-cms/libs/extension-api/functions/create-extension-api.function.js +1 -1
  25. package/dist-cms/libs/extension-api/type-guards/is-manifest-api-instance-type.function.d.ts +3 -3
  26. package/dist-cms/libs/extension-api/types.d.ts +8 -5
  27. package/dist-cms/packages/core/action/action.interface.d.ts +2 -3
  28. package/dist-cms/packages/core/action/repository-action.d.ts +3 -3
  29. package/dist-cms/packages/core/action/repository-action.js +19 -15
  30. package/dist-cms/packages/core/collection/collection.context.d.ts +1 -1
  31. package/dist-cms/packages/core/collection/collection.context.js +1 -0
  32. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +2 -2
  33. package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.d.ts +5 -4
  34. package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.js +3 -2
  35. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  36. package/dist-cms/packages/core/culture/repository/culture.repository.d.ts +5 -3
  37. package/dist-cms/packages/core/culture/repository/culture.repository.js +6 -13
  38. package/dist-cms/packages/core/culture/repository/manifests.d.ts +1 -1
  39. package/dist-cms/packages/core/culture/repository/sources/culture.server.data.d.ts +3 -3
  40. package/dist-cms/packages/core/culture/repository/sources/culture.server.data.js +1 -1
  41. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.js +1 -1
  42. package/dist-cms/packages/core/entity-action/common/delete/delete.action.js +1 -1
  43. package/dist-cms/packages/core/entity-action/common/delete-folder/delete-folder.action.js +1 -1
  44. package/dist-cms/packages/core/entity-action/common/folder-update/folder-update.action.js +1 -1
  45. package/dist-cms/packages/core/entity-action/common/trash/trash.action.js +1 -1
  46. package/dist-cms/packages/core/entity-bulk-action/entity-bulk-action.d.ts +2 -1
  47. package/dist-cms/packages/core/extension-registry/index.d.ts +0 -2
  48. package/dist-cms/packages/core/extension-registry/index.js +0 -2
  49. package/dist-cms/packages/core/extension-registry/models/entity-bulk-action.model.d.ts +2 -2
  50. package/dist-cms/packages/core/extension-registry/models/repository.model.d.ts +3 -2
  51. package/dist-cms/packages/core/index.d.ts +1 -1
  52. package/dist-cms/packages/core/index.js +5 -3
  53. package/dist-cms/packages/core/modal/common/folder/folder-modal.element.js +1 -0
  54. package/dist-cms/packages/core/picker-input/picker-input.context.d.ts +2 -3
  55. package/dist-cms/packages/core/picker-input/picker-input.context.js +6 -6
  56. package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-code-editor.plugin.js +1 -1
  57. package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.js +1 -1
  58. package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.js +1 -1
  59. package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.js +1 -1
  60. package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.js +2 -2
  61. package/dist-cms/packages/core/repository/folder-repository.interface.d.ts +2 -1
  62. package/dist-cms/packages/core/repository/item-repository.interface.d.ts +2 -1
  63. package/dist-cms/packages/core/repository/repository-items.manager.js +4 -4
  64. package/dist-cms/packages/core/repository/tree-repository.interface.d.ts +2 -1
  65. package/dist-cms/packages/core/store/item-store.interface.d.ts +2 -1
  66. package/dist-cms/packages/core/store/store-base.d.ts +4 -1
  67. package/dist-cms/packages/core/store/store-base.js +5 -1
  68. package/dist-cms/packages/core/store/tree-store.interface.d.ts +2 -1
  69. package/dist-cms/packages/core/tree/tree.context.js +5 -13
  70. package/dist-cms/packages/core/workspace/workspace-action/workspace-action-base.d.ts +2 -1
  71. package/dist-cms/packages/dictionary/dictionary/entity-actions/create/create.action.js +2 -3
  72. package/dist-cms/packages/dictionary/dictionary/entity-actions/export/export.action.js +1 -2
  73. package/dist-cms/packages/dictionary/dictionary/entity-actions/import/import.action.js +1 -2
  74. package/dist-cms/packages/dictionary/dictionary/manifests.d.ts +1 -1
  75. package/dist-cms/packages/dictionary/dictionary/repository/dictionary.repository.d.ts +3 -2
  76. package/dist-cms/packages/dictionary/dictionary/repository/dictionary.repository.js +8 -9
  77. package/dist-cms/packages/dictionary/dictionary/repository/manifests.d.ts +1 -1
  78. package/dist-cms/packages/dictionary/dictionary/repository/sources/dictionary.detail.server.data.d.ts +2 -2
  79. package/dist-cms/packages/dictionary/dictionary/repository/sources/dictionary.tree.server.data.d.ts +3 -3
  80. package/dist-cms/packages/dictionary/dictionary/repository/sources/dictionary.tree.server.data.js +1 -1
  81. package/dist-cms/packages/dictionary/manifests.d.ts +1 -1
  82. package/dist-cms/packages/documents/document-types/entity-actions/create/create.action.js +1 -2
  83. package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +3 -2
  84. package/dist-cms/packages/documents/document-types/repository/document-type.repository.js +10 -11
  85. package/dist-cms/packages/documents/document-types/repository/manifests.d.ts +1 -1
  86. package/dist-cms/packages/documents/document-types/repository/sources/document-type-item.server.data.d.ts +3 -3
  87. package/dist-cms/packages/documents/document-types/repository/sources/document-type-item.server.data.js +1 -1
  88. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.d.ts +3 -3
  89. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.js +1 -1
  90. package/dist-cms/packages/documents/document-types/repository/sources/document-type.tree.server.data.d.ts +3 -3
  91. package/dist-cms/packages/documents/document-types/repository/sources/document-type.tree.server.data.js +1 -1
  92. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +4 -2
  93. package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +1 -2
  94. package/dist-cms/packages/documents/documents/entity-actions/permissions/permissions.action.js +5 -6
  95. package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +1 -1
  96. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.d.ts +3 -3
  97. package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.js +5 -5
  98. package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.d.ts +1 -1
  99. package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.d.ts +3 -3
  100. package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.js +1 -1
  101. package/dist-cms/packages/documents/documents/repository/document.repository.d.ts +3 -2
  102. package/dist-cms/packages/documents/documents/repository/document.repository.js +10 -11
  103. package/dist-cms/packages/documents/documents/repository/manifests.d.ts +1 -1
  104. package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.d.ts +3 -3
  105. package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.js +1 -1
  106. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.d.ts +3 -3
  107. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.js +1 -1
  108. package/dist-cms/packages/documents/documents/repository/sources/document.tree.server.data.d.ts +3 -3
  109. package/dist-cms/packages/documents/documents/repository/sources/document.tree.server.data.js +1 -1
  110. package/dist-cms/packages/documents/documents/user-permissions/manifests.d.ts +1 -1
  111. package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.repository.d.ts +2 -2
  112. package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.repository.js +4 -4
  113. package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.server.data.d.ts +3 -3
  114. package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.server.data.js +1 -1
  115. package/dist-cms/packages/documents/documents/user-permissions/repository/manifests.d.ts +1 -1
  116. package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.d.ts +5 -5
  117. package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.js +2 -2
  118. package/dist-cms/packages/media/manifests.d.ts +1 -1
  119. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  120. package/dist-cms/packages/media/media/repository/manifests.d.ts +1 -1
  121. package/dist-cms/packages/media/media/repository/media.repository.d.ts +3 -2
  122. package/dist-cms/packages/media/media/repository/media.repository.js +10 -11
  123. package/dist-cms/packages/media/media/repository/sources/media-item.server.data.d.ts +3 -3
  124. package/dist-cms/packages/media/media/repository/sources/media-item.server.data.js +1 -1
  125. package/dist-cms/packages/media/media/repository/sources/media.detail.server.data.d.ts +3 -3
  126. package/dist-cms/packages/media/media/repository/sources/media.detail.server.data.js +1 -1
  127. package/dist-cms/packages/media/media/repository/sources/media.tree.server.data.d.ts +3 -3
  128. package/dist-cms/packages/media/media/repository/sources/media.tree.server.data.js +1 -1
  129. package/dist-cms/packages/media/media-types/manifests.d.ts +1 -1
  130. package/dist-cms/packages/media/media-types/repository/manifests.d.ts +1 -1
  131. package/dist-cms/packages/media/media-types/repository/media-type.repository.d.ts +3 -2
  132. package/dist-cms/packages/media/media-types/repository/media-type.repository.js +10 -11
  133. package/dist-cms/packages/media/media-types/repository/sources/media-type-item.server.data.d.ts +3 -3
  134. package/dist-cms/packages/media/media-types/repository/sources/media-type-item.server.data.js +1 -1
  135. package/dist-cms/packages/media/media-types/repository/sources/media-type.detail.server.data.d.ts +2 -2
  136. package/dist-cms/packages/media/media-types/repository/sources/media-type.tree.server.data.d.ts +3 -3
  137. package/dist-cms/packages/media/media-types/repository/sources/media-type.tree.server.data.js +1 -1
  138. package/dist-cms/packages/members/manifests.d.ts +1 -1
  139. package/dist-cms/packages/members/member-groups/manifests.d.ts +1 -1
  140. package/dist-cms/packages/members/member-groups/repository/manifests.d.ts +1 -1
  141. package/dist-cms/packages/members/member-groups/repository/member-group.repository.d.ts +4 -3
  142. package/dist-cms/packages/members/member-groups/repository/member-group.repository.js +8 -9
  143. package/dist-cms/packages/members/member-groups/repository/sources/member-group.detail.server.data.d.ts +2 -2
  144. package/dist-cms/packages/members/member-groups/repository/sources/member-group.tree.server.data.d.ts +3 -3
  145. package/dist-cms/packages/members/member-groups/repository/sources/member-group.tree.server.data.js +1 -1
  146. package/dist-cms/packages/members/member-types/manifests.d.ts +1 -1
  147. package/dist-cms/packages/members/member-types/repository/manifests.d.ts +1 -1
  148. package/dist-cms/packages/members/member-types/repository/member-type.repository.d.ts +3 -3
  149. package/dist-cms/packages/members/member-types/repository/member-type.repository.js +8 -9
  150. package/dist-cms/packages/members/member-types/repository/sources/member-type.detail.server.data.d.ts +2 -2
  151. package/dist-cms/packages/members/member-types/repository/sources/member-type.tree.server.data.d.ts +3 -3
  152. package/dist-cms/packages/members/member-types/repository/sources/member-type.tree.server.data.js +1 -1
  153. package/dist-cms/packages/members/members/manifests.d.ts +1 -1
  154. package/dist-cms/packages/members/members/repository/manifests.d.ts +1 -1
  155. package/dist-cms/packages/members/members/repository/member.repository.d.ts +3 -2
  156. package/dist-cms/packages/members/members/repository/member.repository.js +5 -6
  157. package/dist-cms/packages/members/members/repository/sources/member.tree.server.data.d.ts +3 -3
  158. package/dist-cms/packages/members/members/repository/sources/member.tree.server.data.js +1 -1
  159. package/dist-cms/packages/packages/manifests.d.ts +1 -1
  160. package/dist-cms/packages/packages/package/repository/manifests.d.ts +1 -1
  161. package/dist-cms/packages/packages/package/repository/package.repository.d.ts +4 -4
  162. package/dist-cms/packages/packages/package/repository/package.repository.js +5 -4
  163. package/dist-cms/packages/packages/package/repository/sources/package.server.data.d.ts +2 -2
  164. package/dist-cms/packages/settings/data-types/entity-actions/copy/copy.action.js +1 -2
  165. package/dist-cms/packages/settings/data-types/entity-actions/create/create.action.js +1 -2
  166. package/dist-cms/packages/settings/data-types/entity-actions/move/move.action.js +1 -2
  167. package/dist-cms/packages/settings/data-types/repository/data-type.repository.d.ts +4 -3
  168. package/dist-cms/packages/settings/data-types/repository/data-type.repository.js +13 -14
  169. package/dist-cms/packages/settings/data-types/repository/manifests.d.ts +1 -1
  170. package/dist-cms/packages/settings/data-types/repository/sources/data-type-copy.server.data.d.ts +3 -3
  171. package/dist-cms/packages/settings/data-types/repository/sources/data-type-copy.server.data.js +1 -1
  172. package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.d.ts +3 -3
  173. package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.js +1 -1
  174. package/dist-cms/packages/settings/data-types/repository/sources/data-type-item.server.data.d.ts +3 -3
  175. package/dist-cms/packages/settings/data-types/repository/sources/data-type-item.server.data.js +1 -1
  176. package/dist-cms/packages/settings/data-types/repository/sources/data-type-move.server.data.d.ts +3 -3
  177. package/dist-cms/packages/settings/data-types/repository/sources/data-type-move.server.data.js +1 -1
  178. package/dist-cms/packages/settings/data-types/repository/sources/data-type.server.data.d.ts +3 -3
  179. package/dist-cms/packages/settings/data-types/repository/sources/data-type.server.data.js +1 -1
  180. package/dist-cms/packages/settings/data-types/repository/sources/data-type.tree.server.data.d.ts +3 -3
  181. package/dist-cms/packages/settings/data-types/repository/sources/data-type.tree.server.data.js +1 -1
  182. package/dist-cms/packages/settings/languages/app-language-select/app-language.context.d.ts +4 -3
  183. package/dist-cms/packages/settings/languages/app-language-select/app-language.context.js +9 -9
  184. package/dist-cms/packages/settings/languages/repository/language.repository.d.ts +3 -3
  185. package/dist-cms/packages/settings/languages/repository/language.repository.js +8 -9
  186. package/dist-cms/packages/settings/languages/repository/manifests.d.ts +1 -1
  187. package/dist-cms/packages/settings/languages/repository/sources/language-item.server.data.d.ts +2 -2
  188. package/dist-cms/packages/settings/languages/repository/sources/language.server.data.d.ts +3 -3
  189. package/dist-cms/packages/settings/languages/repository/sources/language.server.data.js +1 -1
  190. package/dist-cms/packages/settings/relation-types/manifests.d.ts +1 -1
  191. package/dist-cms/packages/settings/relation-types/repository/manifests.d.ts +1 -1
  192. package/dist-cms/packages/settings/relation-types/repository/relation-type.repository.d.ts +4 -3
  193. package/dist-cms/packages/settings/relation-types/repository/relation-type.repository.js +11 -12
  194. package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.server.data.d.ts +3 -3
  195. package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.server.data.js +1 -1
  196. package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.tree.server.data.d.ts +3 -3
  197. package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.tree.server.data.js +1 -1
  198. package/dist-cms/packages/tags/repository/manifests.d.ts +1 -1
  199. package/dist-cms/packages/tags/repository/sources/tag.server.data.d.ts +3 -3
  200. package/dist-cms/packages/tags/repository/sources/tag.server.data.js +1 -1
  201. package/dist-cms/packages/tags/repository/tag.repository.d.ts +4 -3
  202. package/dist-cms/packages/tags/repository/tag.repository.js +7 -10
  203. package/dist-cms/packages/templating/manifests.d.ts +1 -1
  204. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.js +1 -2
  205. package/dist-cms/packages/templating/partial-views/manifests.d.ts +1 -1
  206. package/dist-cms/packages/templating/partial-views/repository/manifests.d.ts +1 -1
  207. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +3 -2
  208. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.js +9 -12
  209. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.d.ts +2 -2
  210. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +2 -2
  211. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.d.ts +2 -2
  212. package/dist-cms/packages/templating/scripts/manifests.d.ts +1 -1
  213. package/dist-cms/packages/templating/scripts/repository/manifests.d.ts +1 -1
  214. package/dist-cms/packages/templating/scripts/repository/scripts.repository.d.ts +4 -3
  215. package/dist-cms/packages/templating/scripts/repository/scripts.repository.js +9 -12
  216. package/dist-cms/packages/templating/scripts/repository/sources/scripts.detail.server.data.d.ts +2 -2
  217. package/dist-cms/packages/templating/scripts/repository/sources/scripts.folder.server.data.d.ts +2 -2
  218. package/dist-cms/packages/templating/scripts/repository/sources/scripts.tree.server.data.d.ts +2 -2
  219. package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
  220. package/dist-cms/packages/templating/stylesheets/repository/manifests.d.ts +1 -1
  221. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.folder.server.data.d.ts +2 -2
  222. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.server.data.d.ts +3 -3
  223. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.server.data.js +1 -1
  224. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.tree.server.data.d.ts +3 -3
  225. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.tree.server.data.js +1 -1
  226. package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.d.ts +3 -2
  227. package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.js +7 -8
  228. package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
  229. package/dist-cms/packages/templating/templates/repository/manifests.d.ts +1 -1
  230. package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.d.ts +3 -3
  231. package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.js +1 -1
  232. package/dist-cms/packages/templating/templates/repository/sources/template.item.server.data.d.ts +3 -3
  233. package/dist-cms/packages/templating/templates/repository/sources/template.item.server.data.js +1 -1
  234. package/dist-cms/packages/templating/templates/repository/sources/template.query-builder.server.data.d.ts +3 -3
  235. package/dist-cms/packages/templating/templates/repository/sources/template.query-builder.server.data.js +1 -1
  236. package/dist-cms/packages/templating/templates/repository/sources/template.tree.server.data.d.ts +3 -3
  237. package/dist-cms/packages/templating/templates/repository/sources/template.tree.server.data.js +1 -1
  238. package/dist-cms/packages/templating/templates/repository/template.repository.d.ts +4 -3
  239. package/dist-cms/packages/templating/templates/repository/template.repository.js +11 -12
  240. package/dist-cms/packages/user/user/collection/manifests.d.ts +1 -1
  241. package/dist-cms/packages/user/user/collection/repository/manifests.d.ts +1 -1
  242. package/dist-cms/packages/user/user/collection/repository/user-collection.server.data.d.ts +1 -1
  243. package/dist-cms/packages/user/user/entity-actions/change-password/change-user-password.action.js +1 -2
  244. package/dist-cms/packages/user/user/entity-actions/disable/disable-user.action.js +2 -3
  245. package/dist-cms/packages/user/user/entity-actions/enable/enable-user.action.js +2 -3
  246. package/dist-cms/packages/user/user/entity-actions/resend-invite/resend-invite-to-user.action.js +1 -2
  247. package/dist-cms/packages/user/user/entity-actions/unlock/unlock-user.action.js +2 -3
  248. package/dist-cms/packages/user/user/repository/manifests.d.ts +1 -1
  249. package/dist-cms/packages/user/user/repository/sources/user.server.data.d.ts +1 -1
  250. package/dist-cms/packages/user/user-group/collection/manifests.d.ts +1 -1
  251. package/dist-cms/packages/user/user-group/collection/repository/manifests.d.ts +1 -1
  252. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.d.ts +3 -3
  253. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.js +7 -10
  254. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.server.data.d.ts +3 -3
  255. package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.server.data.js +1 -1
  256. package/dist-cms/packages/user/user-group/repository/manifests.d.ts +1 -1
  257. package/dist-cms/packages/user/user-group/repository/sources/user-group-item.server.data.d.ts +3 -3
  258. package/dist-cms/packages/user/user-group/repository/sources/user-group-item.server.data.js +1 -1
  259. package/dist-cms/packages/user/user-group/repository/sources/user-group.server.data.d.ts +3 -3
  260. package/dist-cms/packages/user/user-group/repository/sources/user-group.server.data.js +1 -1
  261. package/dist-cms/packages/user/user-group/repository/user-group.repository.d.ts +4 -3
  262. package/dist-cms/packages/user/user-group/repository/user-group.repository.js +11 -14
  263. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  264. package/dist-cms/umbraco-package-schema.json +34 -13
  265. package/dist-cms/vscode-html-custom-data.json +1 -1
  266. package/package.json +1 -1
  267. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.d.ts +0 -9
  268. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.js +0 -13
  269. package/dist-cms/packages/core/extension-registry/extension-api-initializer.d.ts +0 -19
  270. package/dist-cms/packages/core/extension-registry/extension-api-initializer.js +0 -53
  271. package/dist-cms/packages/core/extension-registry/multi-extensions-api-initializer.d.ts +0 -15
  272. package/dist-cms/packages/core/extension-registry/multi-extensions-api-initializer.js +0 -43
@@ -1,11 +1,11 @@
1
1
  import { UmbContextToken } from '../../libs/context-api/index.js';
2
- import { UmbExtensionManifestController } from '../../libs/extension-api/index.js';
2
+ import { UmbExtensionManifestInitializer } from '../../libs/extension-api/index.js';
3
3
  import { UmbControllerHost } from '../../libs/controller-api/index.js';
4
4
  import { ManifestSection } from '../../packages/core/extension-registry/index.js';
5
5
  export declare class UmbBackofficeContext {
6
6
  #private;
7
7
  readonly activeSectionAlias: import("rxjs").Observable<string | undefined>;
8
- readonly allowedSections: import("rxjs").Observable<UmbExtensionManifestController<ManifestSection>[]>;
8
+ readonly allowedSections: import("rxjs").Observable<UmbExtensionManifestInitializer<ManifestSection, any>[]>;
9
9
  constructor(host: UmbControllerHost);
10
10
  setActiveSectionAlias(alias: string): void;
11
11
  }
@@ -404,8 +404,8 @@
404
404
  ]
405
405
  },
406
406
  {
407
- "name": "umb-controller-host-initializer",
408
- "path": "./../src/libs/controller-api/controller-host-initializer.element.ts",
407
+ "name": "umb-controller-host-provider",
408
+ "path": "./../src/libs/controller-api/controller-host-provider.element.ts",
409
409
  "properties": [
410
410
  {
411
411
  "name": "create",
@@ -1,9 +1,9 @@
1
1
  import { UmbControllerHostElement } from './controller-host-element.mixin.js';
2
- declare const UmbControllerHostInitializerElement_base: import("../extension-api/types.js").HTMLElementConstructor<UmbControllerHostElement> & {
2
+ declare const UmbControllerHostProviderElement_base: import("../extension-api/types.js").HTMLElementConstructor<UmbControllerHostElement> & {
3
3
  new (): HTMLElement;
4
4
  prototype: HTMLElement;
5
5
  };
6
- export declare class UmbControllerHostInitializerElement extends UmbControllerHostInitializerElement_base implements UmbControllerHostElement {
6
+ export declare class UmbControllerHostProviderElement extends UmbControllerHostProviderElement_base implements UmbControllerHostElement {
7
7
  /**
8
8
  * A way to initialize controllers.
9
9
  * @required
@@ -14,7 +14,7 @@ export declare class UmbControllerHostInitializerElement extends UmbControllerHo
14
14
  }
15
15
  declare global {
16
16
  interface HTMLElementTagNameMap {
17
- 'umb-controller-host-initializer': UmbControllerHostInitializerElement;
17
+ 'umb-controller-host-provider': UmbControllerHostProviderElement;
18
18
  }
19
19
  }
20
20
  export {};
@@ -1,5 +1,5 @@
1
1
  import { UmbControllerHostElementMixin } from './controller-host-element.mixin.js';
2
- export class UmbControllerHostInitializerElement extends UmbControllerHostElementMixin(HTMLElement) {
2
+ export class UmbControllerHostProviderElement extends UmbControllerHostElementMixin(HTMLElement) {
3
3
  constructor() {
4
4
  super();
5
5
  this.attachShadow({ mode: 'open' });
@@ -13,4 +13,4 @@ export class UmbControllerHostInitializerElement extends UmbControllerHostElemen
13
13
  }
14
14
  }
15
15
  }
16
- customElements.define('umb-controller-host-initializer', UmbControllerHostInitializerElement);
16
+ customElements.define('umb-controller-host-provider', UmbControllerHostProviderElement);
@@ -1,6 +1,6 @@
1
1
  import { UmbBaseController, type UmbControllerHost } from '../../controller-api/index.js';
2
2
  import { type ManifestCondition, type ManifestWithDynamicConditions, type UmbExtensionRegistry } from '../index.js';
3
- export declare abstract class UmbBaseExtensionController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, SubClassType = never> extends UmbBaseController {
3
+ export declare abstract class UmbBaseExtensionInitializer<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, SubClassType = never> extends UmbBaseController {
4
4
  #private;
5
5
  protected _positive?: boolean;
6
6
  get weight(): number;
@@ -9,11 +9,11 @@ export declare abstract class UmbBaseExtensionController<ManifestType extends Ma
9
9
  get alias(): string;
10
10
  get overwrites(): string[];
11
11
  hasConditions: () => Promise<boolean>;
12
- constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: SubClassType) => void);
12
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, extensionTypeName: string, alias: string, onPermissionChanged?: (isPermitted: boolean, controller: SubClassType) => void);
13
13
  protected _init(): void;
14
14
  asPromise(): Promise<void>;
15
15
  protected abstract _conditionsAreGood(): Promise<boolean>;
16
16
  protected abstract _conditionsAreBad(): Promise<void>;
17
- equal(otherClass: UmbBaseExtensionController | undefined): boolean;
17
+ equal(otherClass: UmbBaseExtensionInitializer | undefined): boolean;
18
18
  destroy(): void;
19
19
  }
@@ -1,6 +1,6 @@
1
1
  import { UmbBaseController } from '../../controller-api/index.js';
2
2
  import { createExtensionApi, } from '../index.js';
3
- export class UmbBaseExtensionController extends UmbBaseController {
3
+ export class UmbBaseExtensionInitializer extends UmbBaseController {
4
4
  #promiseResolvers;
5
5
  #manifestObserver;
6
6
  #extensionRegistry;
@@ -25,8 +25,8 @@ export class UmbBaseExtensionController extends UmbBaseController {
25
25
  get overwrites() {
26
26
  return this.#overwrites;
27
27
  }
28
- constructor(host, extensionRegistry, alias, onPermissionChanged) {
29
- super(host, alias);
28
+ constructor(host, extensionRegistry, extensionTypeName, alias, onPermissionChanged) {
29
+ super(host, extensionTypeName + alias);
30
30
  this.#promiseResolvers = [];
31
31
  this.#overwrites = [];
32
32
  this.#conditionControllers = [];
@@ -54,7 +54,7 @@ export class UmbBaseExtensionController extends UmbBaseController {
54
54
  this.#promiseResolvers.forEach((x) => x());
55
55
  this.#promiseResolvers = [];
56
56
  }
57
- this.#onPermissionChanged(this.#isPermitted, this);
57
+ this.#onPermissionChanged?.(this.#isPermitted, this);
58
58
  }
59
59
  };
60
60
  this.#extensionRegistry = extensionRegistry;
@@ -170,7 +170,7 @@ export class UmbBaseExtensionController extends UmbBaseController {
170
170
  if (this.#isPermitted === true) {
171
171
  this.#isPermitted = undefined;
172
172
  this._conditionsAreBad();
173
- this.#onPermissionChanged(false, this);
173
+ this.#onPermissionChanged?.(false, this);
174
174
  }
175
175
  super.destroy();
176
176
  // Destroy the conditions controllers, are begin destroyed cause they are controllers.
@@ -1,4 +1,4 @@
1
- import type { ManifestBase, ManifestTypeMap, SpecificManifestTypeOrManifestBase, UmbBaseExtensionController, UmbExtensionRegistry } from '../index.js';
1
+ import type { ManifestBase, ManifestTypeMap, SpecificManifestTypeOrManifestBase, UmbBaseExtensionInitializer, UmbExtensionRegistry } from '../index.js';
2
2
  import { UmbBaseController, UmbControllerHost } from '../../controller-api/index.js';
3
3
  export type PermittedControllerType<ControllerType extends {
4
4
  manifest: any;
@@ -7,13 +7,13 @@ export type PermittedControllerType<ControllerType extends {
7
7
  };
8
8
  /**
9
9
  */
10
- export declare abstract class UmbBaseExtensionsController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbBaseExtensionController<ManifestType> = UmbBaseExtensionController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseController {
10
+ export declare abstract class UmbBaseExtensionsInitializer<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbBaseExtensionInitializer<ManifestType> = UmbBaseExtensionInitializer<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseController {
11
11
  #private;
12
12
  protected _extensions: Array<ControllerType>;
13
13
  private _permittedExts;
14
- constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestType>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void);
14
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestType>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange?: (permittedManifests: Array<MyPermittedControllerType>) => void);
15
15
  protected _init(): void;
16
16
  protected abstract _createController(manifest: ManifestType): ControllerType;
17
- protected _extensionChanged: (isPermitted: boolean, controller: UmbBaseExtensionController<ManifestType>) => void;
17
+ protected _extensionChanged: (isPermitted: boolean, controller: ControllerType) => void;
18
18
  destroy(): void;
19
19
  }
@@ -2,7 +2,7 @@ import { map } from '../../../external/rxjs/index.js';
2
2
  import { UmbBaseController } from '../../controller-api/index.js';
3
3
  /**
4
4
  */
5
- export class UmbBaseExtensionsController extends UmbBaseController {
5
+ export class UmbBaseExtensionsInitializer extends UmbBaseController {
6
6
  #extensionRegistry;
7
7
  #type;
8
8
  #filter;
@@ -72,7 +72,7 @@ export class UmbBaseExtensionsController extends UmbBaseController {
72
72
  });
73
73
  // Sorting:
74
74
  exposedPermittedExts.sort((a, b) => b.weight - a.weight);
75
- this.#onChange(exposedPermittedExts, this);
75
+ this.#onChange?.(exposedPermittedExts);
76
76
  }
77
77
  };
78
78
  this.#extensionRegistry = extensionRegistry;
@@ -108,5 +108,6 @@ export class UmbBaseExtensionsController extends UmbBaseController {
108
108
  super.destroy();
109
109
  this._extensions.length = 0;
110
110
  this._permittedExts.length = 0;
111
+ this.#onChange?.(this._permittedExts);
111
112
  }
112
113
  }
@@ -0,0 +1,41 @@
1
+ import { UmbExtensionRegistry } from '../registry/extension.registry.js';
2
+ import { UmbApi, ManifestApi, ManifestCondition } from '../types.js';
3
+ import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
4
+ import { UmbControllerHost } from '../../controller-api/index.js';
5
+ /**
6
+ * This Controller manages a single Extension and its API instance.
7
+ * When the extension is permitted to be used, its API will be instantiated and available for the consumer.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const controller = new UmbExtensionApiController(host, extensionRegistry, alias, [], (permitted, ctrl) => { ctrl.api.helloWorld() }));
12
+ * ```
13
+ * @export
14
+ * @class UmbExtensionApiController
15
+ */
16
+ export declare class UmbExtensionApiInitializer<ManifestType extends ManifestApi = ManifestApi, ControllerType extends UmbExtensionApiInitializer<ManifestType, any> = any, ExtensionApiInterface extends UmbApi = ManifestType extends ManifestApi ? NonNullable<ManifestType['API_TYPE']> : UmbApi> extends UmbBaseExtensionInitializer<ManifestType, ControllerType> {
17
+ #private;
18
+ /**
19
+ * The api that is created for this extension.
20
+ * @readonly
21
+ * @type {(class | undefined)}
22
+ */
23
+ get api(): ExtensionApiInterface | undefined;
24
+ /**
25
+ * The props that are passed to the class.
26
+ * @type {Record<string, any>}
27
+ * @memberof UmbExtensionApiController
28
+ * @example
29
+ * ```ts
30
+ * const controller = new UmbExtensionApiController(host, extensionRegistry, alias, [], onPermissionChanged);
31
+ * controller.props = { foo: 'bar' };
32
+ * ```
33
+ * Is equivalent to:
34
+ * ```ts
35
+ * controller.component.foo = 'bar';
36
+ * ```
37
+ */
38
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, constructorArguments: Array<unknown> | undefined, onPermissionChanged?: (isPermitted: boolean, controller: ControllerType) => void);
39
+ protected _conditionsAreGood(): Promise<boolean>;
40
+ protected _conditionsAreBad(): Promise<void>;
41
+ }
@@ -0,0 +1,95 @@
1
+ import { createExtensionApi } from '../functions/create-extension-api.function.js';
2
+ import { isManifestApiType } from '../type-guards/is-manifest-apiable-type.function.js';
3
+ import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
4
+ /**
5
+ * This Controller manages a single Extension and its API instance.
6
+ * When the extension is permitted to be used, its API will be instantiated and available for the consumer.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const controller = new UmbExtensionApiController(host, extensionRegistry, alias, [], (permitted, ctrl) => { ctrl.api.helloWorld() }));
11
+ * ```
12
+ * @export
13
+ * @class UmbExtensionApiController
14
+ */
15
+ export class UmbExtensionApiInitializer extends UmbBaseExtensionInitializer {
16
+ #api;
17
+ #constructorArguments;
18
+ /**
19
+ * The api that is created for this extension.
20
+ * @readonly
21
+ * @type {(class | undefined)}
22
+ */
23
+ get api() {
24
+ return this.#api;
25
+ }
26
+ /**
27
+ * The props that are passed to the class.
28
+ * @type {Record<string, any>}
29
+ * @memberof UmbExtensionApiController
30
+ * @example
31
+ * ```ts
32
+ * const controller = new UmbExtensionApiController(host, extensionRegistry, alias, [], onPermissionChanged);
33
+ * controller.props = { foo: 'bar' };
34
+ * ```
35
+ * Is equivalent to:
36
+ * ```ts
37
+ * controller.component.foo = 'bar';
38
+ * ```
39
+ */
40
+ /*
41
+ #properties?: Record<string, unknown>;
42
+ get properties() {
43
+ return this.#properties;
44
+ }
45
+ set properties(newVal) {
46
+ this.#properties = newVal;
47
+ // TODO: we could optimize this so we only re-set the changed props.
48
+ this.#assignProperties();
49
+ }
50
+ */
51
+ constructor(host, extensionRegistry, alias, constructorArguments, onPermissionChanged) {
52
+ super(host, extensionRegistry, 'extApi_', alias, onPermissionChanged);
53
+ this.#constructorArguments = constructorArguments;
54
+ this._init();
55
+ }
56
+ /*
57
+ #assignProperties = () => {
58
+ if (!this._api || !this.#properties) return;
59
+
60
+ // TODO: we could optimize this so we only re-set the updated props.
61
+ Object.keys(this.#properties).forEach((key) => {
62
+ (this._api as any)[key] = this.#properties![key];
63
+ });
64
+ };
65
+ */
66
+ async _conditionsAreGood() {
67
+ const manifest = this.manifest; // In this case we are sure its not undefined.
68
+ if (isManifestApiType(manifest)) {
69
+ const newApi = await createExtensionApi(manifest, this.#constructorArguments);
70
+ if (!this._positive) {
71
+ // We are not positive anymore, so we will back out of this creation.
72
+ return false;
73
+ }
74
+ this.#api = newApi;
75
+ }
76
+ else {
77
+ this.#api = undefined;
78
+ console.warn('Manifest did not provide any useful data for a api class to construct.');
79
+ }
80
+ if (this.#api) {
81
+ //this.#assignProperties();
82
+ return true; // we will confirm we have a component and are still good to go.
83
+ }
84
+ return false; // we will reject the state, we have no component, we are not good to be shown.
85
+ }
86
+ async _conditionsAreBad() {
87
+ // Destroy the api:
88
+ if (this.#api) {
89
+ if ('destroy' in this.#api) {
90
+ this.#api.destroy();
91
+ }
92
+ this.#api = undefined;
93
+ }
94
+ }
95
+ }
@@ -1,11 +1,20 @@
1
1
  import { UmbExtensionRegistry } from '../registry/extension.registry.js';
2
2
  import { ManifestCondition, ManifestWithDynamicConditions } from '../types.js';
3
- import { UmbBaseExtensionController } from './base-extension-controller.js';
3
+ import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
4
4
  import { UmbControllerHost } from '../../controller-api/index.js';
5
- export declare class UmbExtensionElementController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, ControllerType extends UmbExtensionElementController<ManifestType> = any> extends UmbBaseExtensionController<ManifestType, ControllerType> {
5
+ /**
6
+ * This Controller manages a single Extension and its Element.
7
+ * When the extension is permitted to be used, its Element will be instantiated and available for the consumer.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const controller = new UmbExtensionElementController(host, extensionRegistry, alias, (permitted, ctrl) => { console.log("Extension is permitted and this is the element: ", ctrl.component) }));
12
+ * ```
13
+ * @export
14
+ * @class UmbExtensionElementController
15
+ */
16
+ export declare class UmbExtensionElementInitializer<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, ControllerType extends UmbExtensionElementInitializer<ManifestType, any> = any> extends UmbBaseExtensionInitializer<ManifestType, ControllerType> {
6
17
  #private;
7
- _defaultElement?: string;
8
- _component?: HTMLElement;
9
18
  /**
10
19
  * The component that is created for this extension.
11
20
  * @readonly
@@ -1,14 +1,27 @@
1
1
  import { createExtensionElement } from '../functions/create-extension-element.function.js';
2
2
  import { isManifestElementableType } from '../type-guards/is-manifest-elementable-type.function.js';
3
- import { UmbBaseExtensionController } from './base-extension-controller.js';
4
- export class UmbExtensionElementController extends UmbBaseExtensionController {
3
+ import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
4
+ /**
5
+ * This Controller manages a single Extension and its Element.
6
+ * When the extension is permitted to be used, its Element will be instantiated and available for the consumer.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const controller = new UmbExtensionElementController(host, extensionRegistry, alias, (permitted, ctrl) => { console.log("Extension is permitted and this is the element: ", ctrl.component) }));
11
+ * ```
12
+ * @export
13
+ * @class UmbExtensionElementController
14
+ */
15
+ export class UmbExtensionElementInitializer extends UmbBaseExtensionInitializer {
16
+ #defaultElement;
17
+ #component;
5
18
  /**
6
19
  * The component that is created for this extension.
7
20
  * @readonly
8
21
  * @type {(HTMLElement | undefined)}
9
22
  */
10
23
  get component() {
11
- return this._component;
24
+ return this.#component;
12
25
  }
13
26
  /**
14
27
  * The props that are passed to the component.
@@ -34,49 +47,49 @@ export class UmbExtensionElementController extends UmbBaseExtensionController {
34
47
  this.#assignProperties();
35
48
  }
36
49
  constructor(host, extensionRegistry, alias, onPermissionChanged, defaultElement) {
37
- super(host, extensionRegistry, alias, onPermissionChanged);
38
- this._defaultElement = defaultElement;
50
+ super(host, extensionRegistry, 'extElement_', alias, onPermissionChanged);
51
+ this.#defaultElement = defaultElement;
39
52
  this._init();
40
53
  }
41
54
  #assignProperties = () => {
42
- if (!this._component || !this.#properties)
55
+ if (!this.#component || !this.#properties)
43
56
  return;
44
57
  // TODO: we could optimize this so we only re-set the updated props.
45
58
  Object.keys(this.#properties).forEach((key) => {
46
- this._component[key] = this.#properties[key];
59
+ this.#component[key] = this.#properties[key];
47
60
  });
48
61
  };
49
62
  async _conditionsAreGood() {
50
63
  const manifest = this.manifest; // In this case we are sure its not undefined.
51
64
  if (isManifestElementableType(manifest)) {
52
- const newComponent = await createExtensionElement(manifest, this._defaultElement);
65
+ const newComponent = await createExtensionElement(manifest, this.#defaultElement);
53
66
  if (!this._positive) {
54
67
  // We are not positive anymore, so we will back out of this creation.
55
68
  return false;
56
69
  }
57
- this._component = newComponent;
70
+ this.#component = newComponent;
58
71
  }
59
- else if (this._defaultElement) {
60
- this._component = document.createElement(this._defaultElement);
72
+ else if (this.#defaultElement) {
73
+ this.#component = document.createElement(this.#defaultElement);
61
74
  }
62
75
  else {
63
- this._component = undefined;
64
- // TODO: Lets make an console.error in this case? we could not initialize any component based on this manifest.
76
+ this.#component = undefined;
77
+ console.warn('Manifest did not provide any useful data for a web component to be created.');
65
78
  }
66
- if (this._component) {
79
+ if (this.#component) {
67
80
  this.#assignProperties();
68
- this._component.manifest = manifest;
81
+ this.#component.manifest = manifest;
69
82
  return true; // we will confirm we have a component and are still good to go.
70
83
  }
71
84
  return false; // we will reject the state, we have no component, we are not good to be shown.
72
85
  }
73
86
  async _conditionsAreBad() {
74
87
  // Destroy the element:
75
- if (this._component) {
76
- if ('destroy' in this._component) {
77
- this._component.destroy();
88
+ if (this.#component) {
89
+ if ('destroy' in this.#component) {
90
+ this.#component.destroy();
78
91
  }
79
- this._component = undefined;
92
+ this.#component = undefined;
80
93
  }
81
94
  }
82
95
  }
@@ -0,0 +1,20 @@
1
+ import type { ManifestCondition, ManifestWithDynamicConditions } from '../types.js';
2
+ import type { UmbExtensionRegistry } from '../registry/extension.registry.js';
3
+ import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
4
+ import type { UmbControllerHost } from '../../controller-api/index.js';
5
+ /**
6
+ * This Controller manages a single Extension and its Manifest.
7
+ * When the extension is permitted to be used, the manifest is available for the consumer.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const controller = new UmbExtensionManifestController(host, extensionRegistry, alias, (permitted, ctrl) => { console.log("Extension is permitted and this is the manifest: ", ctrl.manifest) }));
12
+ * ```
13
+ * @export
14
+ * @class UmbExtensionManifestController
15
+ */
16
+ export declare class UmbExtensionManifestInitializer<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, ControllerType extends UmbBaseExtensionInitializer<ManifestType, any> = any> extends UmbBaseExtensionInitializer<ManifestType, ControllerType> {
17
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: ControllerType) => void);
18
+ protected _conditionsAreGood(): Promise<boolean>;
19
+ protected _conditionsAreBad(): Promise<void>;
20
+ }
@@ -0,0 +1,24 @@
1
+ import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
2
+ /**
3
+ * This Controller manages a single Extension and its Manifest.
4
+ * When the extension is permitted to be used, the manifest is available for the consumer.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const controller = new UmbExtensionManifestController(host, extensionRegistry, alias, (permitted, ctrl) => { console.log("Extension is permitted and this is the manifest: ", ctrl.manifest) }));
9
+ * ```
10
+ * @export
11
+ * @class UmbExtensionManifestController
12
+ */
13
+ export class UmbExtensionManifestInitializer extends UmbBaseExtensionInitializer {
14
+ constructor(host, extensionRegistry, alias, onPermissionChanged) {
15
+ super(host, extensionRegistry, 'extManifest_', alias, onPermissionChanged);
16
+ this._init();
17
+ }
18
+ async _conditionsAreGood() {
19
+ return true;
20
+ }
21
+ async _conditionsAreBad() {
22
+ // Destroy the element/class.
23
+ }
24
+ }
@@ -0,0 +1,21 @@
1
+ import { type PermittedControllerType, UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
2
+ import { UmbExtensionApiInitializer } from './extension-api-initializer.controller.js';
3
+ import { type ManifestTypeMap, type SpecificManifestTypeOrManifestBase, type UmbExtensionRegistry, ManifestApi, ManifestBase } from '../index.js';
4
+ import type { UmbControllerHost } from '../../controller-api/index.js';
5
+ /**
6
+ * This Controller manages a set of Extensions and their Manifest.
7
+ * When one or more extensions is permitted to be used, the callback gives all permitted extensions and their manifest.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ TODO: Correct this, start using builder pattern:
12
+ * const controller = new UmbExtensionsApiInitializer(host, extensionRegistry, type, ['constructor argument 1', 'constructor argument '], filter?, (permitted, ctrl) => { console.log("Extension is permitted and this is the manifest: ", ctrl.manifest) }));
13
+ * ```
14
+ * @export
15
+ * @class UmbExtensionsApiInitializer
16
+ */
17
+ export declare class UmbExtensionsApiInitializer<ManifestTypes extends ManifestApi, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string = string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ManifestTypeAsApi extends ManifestApi = ManifestType extends ManifestApi ? ManifestType : never, ControllerType extends UmbExtensionApiInitializer<ManifestTypeAsApi> = UmbExtensionApiInitializer<ManifestTypeAsApi>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsInitializer<ManifestTypes, ManifestTypeName, ManifestTypeAsApi, ControllerType, MyPermittedControllerType> {
18
+ #private;
19
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, constructorArguments: Array<unknown> | undefined, filter?: undefined | null | ((manifest: ManifestTypeAsApi) => boolean), onChange?: (permittedManifests: Array<MyPermittedControllerType>) => void);
20
+ protected _createController(manifest: ManifestTypeAsApi): ControllerType;
21
+ }
@@ -0,0 +1,42 @@
1
+ import { UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
2
+ import { UmbExtensionApiInitializer } from './extension-api-initializer.controller.js';
3
+ /**
4
+ * This Controller manages a set of Extensions and their Manifest.
5
+ * When one or more extensions is permitted to be used, the callback gives all permitted extensions and their manifest.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ TODO: Correct this, start using builder pattern:
10
+ * const controller = new UmbExtensionsApiInitializer(host, extensionRegistry, type, ['constructor argument 1', 'constructor argument '], filter?, (permitted, ctrl) => { console.log("Extension is permitted and this is the manifest: ", ctrl.manifest) }));
11
+ * ```
12
+ * @export
13
+ * @class UmbExtensionsApiInitializer
14
+ */
15
+ export class UmbExtensionsApiInitializer extends UmbBaseExtensionsInitializer {
16
+ //
17
+ #extensionRegistry;
18
+ /*
19
+ #props?: Record<string, unknown>;
20
+
21
+ public get properties() {
22
+ return this.#props;
23
+ }
24
+ public set properties(props: Record<string, unknown> | undefined) {
25
+ this.#props = props;
26
+ this._extensions.forEach((controller) => {
27
+ controller.properties = props;
28
+ });
29
+ }
30
+ */
31
+ #constructorArgs;
32
+ constructor(host, extensionRegistry, type, constructorArguments, filter, onChange) {
33
+ super(host, extensionRegistry, type, filter, onChange);
34
+ this.#extensionRegistry = extensionRegistry;
35
+ this.#constructorArgs = constructorArguments;
36
+ this._init();
37
+ }
38
+ _createController(manifest) {
39
+ const extController = new UmbExtensionApiInitializer(this, this.#extensionRegistry, manifest.alias, this.#constructorArgs, this._extensionChanged);
40
+ return extController;
41
+ }
42
+ }
@@ -1,13 +1,13 @@
1
- import { type PermittedControllerType, UmbBaseExtensionsController } from './base-extensions-controller.js';
2
- import { type ManifestBase, type ManifestTypeMap, type SpecificManifestTypeOrManifestBase, UmbExtensionElementController, type UmbExtensionRegistry } from '../index.js';
1
+ import { type PermittedControllerType, UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
2
+ import { type ManifestBase, type ManifestTypeMap, type SpecificManifestTypeOrManifestBase, UmbExtensionElementInitializer, type UmbExtensionRegistry } from '../index.js';
3
3
  import type { UmbControllerHost } from '../../controller-api/index.js';
4
4
  /**
5
5
  */
6
- export declare class UmbExtensionsElementController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string = string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionElementController<ManifestType> = UmbExtensionElementController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsController<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
6
+ export declare class UmbExtensionsElementController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string = string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionElementInitializer<ManifestType> = UmbExtensionElementInitializer<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsInitializer<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
7
7
  #private;
8
8
  private _defaultElement?;
9
9
  get properties(): Record<string, unknown> | undefined;
10
10
  set properties(props: Record<string, unknown> | undefined);
11
- constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void, defaultElement?: string);
11
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>) => void, defaultElement?: string);
12
12
  protected _createController(manifest: ManifestType): ControllerType;
13
13
  }
@@ -1,8 +1,8 @@
1
- import { UmbBaseExtensionsController } from './base-extensions-controller.js';
2
- import { UmbExtensionElementController, } from '../index.js';
1
+ import { UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
2
+ import { UmbExtensionElementInitializer, } from '../index.js';
3
3
  /**
4
4
  */
5
- export class UmbExtensionsElementController extends UmbBaseExtensionsController {
5
+ export class UmbExtensionsElementController extends UmbBaseExtensionsInitializer {
6
6
  //
7
7
  #extensionRegistry;
8
8
  #props;
@@ -22,7 +22,7 @@ export class UmbExtensionsElementController extends UmbBaseExtensionsController
22
22
  this._init();
23
23
  }
24
24
  _createController(manifest) {
25
- const extController = new UmbExtensionElementController(this, this.#extensionRegistry, manifest.alias, this._extensionChanged, this._defaultElement);
25
+ const extController = new UmbExtensionElementInitializer(this, this.#extensionRegistry, manifest.alias, this._extensionChanged, this._defaultElement);
26
26
  extController.properties = this.#props;
27
27
  return extController;
28
28
  }
@@ -1,11 +1,11 @@
1
- import { UmbExtensionManifestController } from './extension-manifest-controller.js';
2
- import { type PermittedControllerType, UmbBaseExtensionsController } from './base-extensions-controller.js';
1
+ import { UmbExtensionManifestInitializer } from './extension-manifest-initializer.controller.js';
2
+ import { type PermittedControllerType, UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
3
3
  import { ManifestBase, ManifestTypeMap, SpecificManifestTypeOrManifestBase, UmbExtensionRegistry } from '../index.js';
4
4
  import { UmbControllerHost } from '../../controller-api/index.js';
5
5
  /**
6
6
  */
7
- export declare class UmbExtensionsManifestController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionManifestController<ManifestType> = UmbExtensionManifestController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsController<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
7
+ export declare class UmbExtensionsManifestController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionManifestInitializer<ManifestType> = UmbExtensionManifestInitializer<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsInitializer<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
8
8
  #private;
9
- constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void);
9
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>) => void);
10
10
  protected _createController(manifest: ManifestType): ControllerType;
11
11
  }
@@ -1,8 +1,8 @@
1
- import { UmbExtensionManifestController } from './extension-manifest-controller.js';
2
- import { UmbBaseExtensionsController } from './base-extensions-controller.js';
1
+ import { UmbExtensionManifestInitializer } from './extension-manifest-initializer.controller.js';
2
+ import { UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
3
3
  /**
4
4
  */
5
- export class UmbExtensionsManifestController extends UmbBaseExtensionsController {
5
+ export class UmbExtensionsManifestController extends UmbBaseExtensionsInitializer {
6
6
  //
7
7
  #extensionRegistry;
8
8
  constructor(host, extensionRegistry, type, filter, onChange) {
@@ -11,6 +11,6 @@ export class UmbExtensionsManifestController extends UmbBaseExtensionsController
11
11
  this._init();
12
12
  }
13
13
  _createController(manifest) {
14
- return new UmbExtensionManifestController(this, this.#extensionRegistry, manifest.alias, this._extensionChanged);
14
+ return new UmbExtensionManifestInitializer(this, this.#extensionRegistry, manifest.alias, this._extensionChanged);
15
15
  }
16
16
  }