@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.
- package/dist-cms/apps/backoffice/backoffice.context.d.ts +2 -2
- package/dist-cms/custom-elements.json +2 -2
- package/dist-cms/libs/controller-api/{controller-host-initializer.element.d.ts → controller-host-provider.element.d.ts} +3 -3
- package/dist-cms/libs/controller-api/{controller-host-initializer.element.js → controller-host-provider.element.js} +2 -2
- package/dist-cms/libs/extension-api/controller/{base-extension-controller.d.ts → base-extension-initializer.controller.d.ts} +3 -3
- package/dist-cms/libs/extension-api/controller/{base-extension-controller.js → base-extension-initializer.controller.js} +5 -5
- package/dist-cms/libs/extension-api/controller/{base-extensions-controller.d.ts → base-extensions-initializer.controller.d.ts} +4 -4
- package/dist-cms/libs/extension-api/controller/{base-extensions-controller.js → base-extensions-initializer.controller.js} +3 -2
- package/dist-cms/libs/extension-api/controller/extension-api-initializer.controller.d.ts +41 -0
- package/dist-cms/libs/extension-api/controller/extension-api-initializer.controller.js +95 -0
- package/dist-cms/libs/extension-api/controller/{extension-element-controller.d.ts → extension-element-initializer.controller.d.ts} +13 -4
- package/dist-cms/libs/extension-api/controller/{extension-element-controller.js → extension-element-initializer.controller.js} +32 -19
- package/dist-cms/libs/extension-api/controller/extension-manifest-initializer.controller.d.ts +20 -0
- package/dist-cms/libs/extension-api/controller/extension-manifest-initializer.controller.js +24 -0
- package/dist-cms/libs/extension-api/controller/extensions-api-initializer.controller.d.ts +21 -0
- package/dist-cms/libs/extension-api/controller/extensions-api-initializer.controller.js +42 -0
- package/dist-cms/libs/extension-api/controller/{extensions-element-controller.d.ts → extensions-element-initializer.controller.d.ts} +4 -4
- package/dist-cms/libs/extension-api/controller/{extensions-element-controller.js → extensions-element-initializer.controller.js} +4 -4
- package/dist-cms/libs/extension-api/controller/{extensions-manifest-controller.d.ts → extensions-manifest-initializer.controller.d.ts} +4 -4
- package/dist-cms/libs/extension-api/controller/{extensions-manifest-controller.js → extensions-manifest-initializer.controller.js} +4 -4
- package/dist-cms/libs/extension-api/controller/index.d.ts +8 -6
- package/dist-cms/libs/extension-api/controller/index.js +8 -6
- package/dist-cms/libs/extension-api/functions/create-extension-api.function.d.ts +2 -2
- package/dist-cms/libs/extension-api/functions/create-extension-api.function.js +1 -1
- package/dist-cms/libs/extension-api/type-guards/is-manifest-api-instance-type.function.d.ts +3 -3
- package/dist-cms/libs/extension-api/types.d.ts +8 -5
- package/dist-cms/packages/core/action/action.interface.d.ts +2 -3
- package/dist-cms/packages/core/action/repository-action.d.ts +3 -3
- package/dist-cms/packages/core/action/repository-action.js +19 -15
- package/dist-cms/packages/core/collection/collection.context.d.ts +1 -1
- package/dist-cms/packages/core/collection/collection.context.js +1 -0
- package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +2 -2
- package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.d.ts +5 -4
- package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.js +3 -2
- package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
- package/dist-cms/packages/core/culture/repository/culture.repository.d.ts +5 -3
- package/dist-cms/packages/core/culture/repository/culture.repository.js +6 -13
- package/dist-cms/packages/core/culture/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/core/culture/repository/sources/culture.server.data.d.ts +3 -3
- package/dist-cms/packages/core/culture/repository/sources/culture.server.data.js +1 -1
- package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.js +1 -1
- package/dist-cms/packages/core/entity-action/common/delete/delete.action.js +1 -1
- package/dist-cms/packages/core/entity-action/common/delete-folder/delete-folder.action.js +1 -1
- package/dist-cms/packages/core/entity-action/common/folder-update/folder-update.action.js +1 -1
- package/dist-cms/packages/core/entity-action/common/trash/trash.action.js +1 -1
- package/dist-cms/packages/core/entity-bulk-action/entity-bulk-action.d.ts +2 -1
- package/dist-cms/packages/core/extension-registry/index.d.ts +0 -2
- package/dist-cms/packages/core/extension-registry/index.js +0 -2
- package/dist-cms/packages/core/extension-registry/models/entity-bulk-action.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/repository.model.d.ts +3 -2
- package/dist-cms/packages/core/index.d.ts +1 -1
- package/dist-cms/packages/core/index.js +5 -3
- package/dist-cms/packages/core/modal/common/folder/folder-modal.element.js +1 -0
- package/dist-cms/packages/core/picker-input/picker-input.context.d.ts +2 -3
- package/dist-cms/packages/core/picker-input/picker-input.context.js +6 -6
- package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-code-editor.plugin.js +1 -1
- package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.js +1 -1
- package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-linkpicker.plugin.js +1 -1
- package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-macropicker.plugin.js +1 -1
- package/dist-cms/packages/core/property-editor/uis/tiny-mce/plugins/tiny-mce-mediapicker.plugin.js +2 -2
- package/dist-cms/packages/core/repository/folder-repository.interface.d.ts +2 -1
- package/dist-cms/packages/core/repository/item-repository.interface.d.ts +2 -1
- package/dist-cms/packages/core/repository/repository-items.manager.js +4 -4
- package/dist-cms/packages/core/repository/tree-repository.interface.d.ts +2 -1
- package/dist-cms/packages/core/store/item-store.interface.d.ts +2 -1
- package/dist-cms/packages/core/store/store-base.d.ts +4 -1
- package/dist-cms/packages/core/store/store-base.js +5 -1
- package/dist-cms/packages/core/store/tree-store.interface.d.ts +2 -1
- package/dist-cms/packages/core/tree/tree.context.js +5 -13
- package/dist-cms/packages/core/workspace/workspace-action/workspace-action-base.d.ts +2 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/create/create.action.js +2 -3
- package/dist-cms/packages/dictionary/dictionary/entity-actions/export/export.action.js +1 -2
- package/dist-cms/packages/dictionary/dictionary/entity-actions/import/import.action.js +1 -2
- package/dist-cms/packages/dictionary/dictionary/manifests.d.ts +1 -1
- package/dist-cms/packages/dictionary/dictionary/repository/dictionary.repository.d.ts +3 -2
- package/dist-cms/packages/dictionary/dictionary/repository/dictionary.repository.js +8 -9
- package/dist-cms/packages/dictionary/dictionary/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/dictionary/dictionary/repository/sources/dictionary.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/dictionary/dictionary/repository/sources/dictionary.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/dictionary/dictionary/repository/sources/dictionary.tree.server.data.js +1 -1
- package/dist-cms/packages/dictionary/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/document-types/entity-actions/create/create.action.js +1 -2
- package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +3 -2
- package/dist-cms/packages/documents/document-types/repository/document-type.repository.js +10 -11
- package/dist-cms/packages/documents/document-types/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/document-types/repository/sources/document-type-item.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/document-types/repository/sources/document-type-item.server.data.js +1 -1
- package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.js +1 -1
- package/dist-cms/packages/documents/document-types/repository/sources/document-type.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/document-types/repository/sources/document-type.tree.server.data.js +1 -1
- package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +4 -2
- package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +1 -2
- package/dist-cms/packages/documents/documents/entity-actions/permissions/permissions.action.js +5 -6
- package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.d.ts +3 -3
- package/dist-cms/packages/documents/documents/recycle-bin/repository/document-recycle-bin.repository.js +5 -5
- package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/documents/recycle-bin/repository/sources/document-recycle-bin.tree.server.data.js +1 -1
- package/dist-cms/packages/documents/documents/repository/document.repository.d.ts +3 -2
- package/dist-cms/packages/documents/documents/repository/document.repository.js +10 -11
- package/dist-cms/packages/documents/documents/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/documents/repository/sources/document-item.server.data.js +1 -1
- package/dist-cms/packages/documents/documents/repository/sources/document.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/documents/repository/sources/document.server.data.js +1 -1
- package/dist-cms/packages/documents/documents/repository/sources/document.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/documents/repository/sources/document.tree.server.data.js +1 -1
- package/dist-cms/packages/documents/documents/user-permissions/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.repository.d.ts +2 -2
- package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.repository.js +4 -4
- package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.server.data.d.ts +3 -3
- package/dist-cms/packages/documents/documents/user-permissions/repository/document-permission.server.data.js +1 -1
- package/dist-cms/packages/documents/documents/user-permissions/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.d.ts +5 -5
- package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.js +2 -2
- package/dist-cms/packages/media/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/repository/media.repository.d.ts +3 -2
- package/dist-cms/packages/media/media/repository/media.repository.js +10 -11
- package/dist-cms/packages/media/media/repository/sources/media-item.server.data.d.ts +3 -3
- package/dist-cms/packages/media/media/repository/sources/media-item.server.data.js +1 -1
- package/dist-cms/packages/media/media/repository/sources/media.detail.server.data.d.ts +3 -3
- package/dist-cms/packages/media/media/repository/sources/media.detail.server.data.js +1 -1
- package/dist-cms/packages/media/media/repository/sources/media.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/media/media/repository/sources/media.tree.server.data.js +1 -1
- package/dist-cms/packages/media/media-types/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media-types/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media-types/repository/media-type.repository.d.ts +3 -2
- package/dist-cms/packages/media/media-types/repository/media-type.repository.js +10 -11
- package/dist-cms/packages/media/media-types/repository/sources/media-type-item.server.data.d.ts +3 -3
- package/dist-cms/packages/media/media-types/repository/sources/media-type-item.server.data.js +1 -1
- package/dist-cms/packages/media/media-types/repository/sources/media-type.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/media/media-types/repository/sources/media-type.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/media/media-types/repository/sources/media-type.tree.server.data.js +1 -1
- package/dist-cms/packages/members/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-groups/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-groups/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-groups/repository/member-group.repository.d.ts +4 -3
- package/dist-cms/packages/members/member-groups/repository/member-group.repository.js +8 -9
- package/dist-cms/packages/members/member-groups/repository/sources/member-group.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/members/member-groups/repository/sources/member-group.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/members/member-groups/repository/sources/member-group.tree.server.data.js +1 -1
- package/dist-cms/packages/members/member-types/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-types/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-types/repository/member-type.repository.d.ts +3 -3
- package/dist-cms/packages/members/member-types/repository/member-type.repository.js +8 -9
- package/dist-cms/packages/members/member-types/repository/sources/member-type.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/members/member-types/repository/sources/member-type.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/members/member-types/repository/sources/member-type.tree.server.data.js +1 -1
- package/dist-cms/packages/members/members/manifests.d.ts +1 -1
- package/dist-cms/packages/members/members/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/members/members/repository/member.repository.d.ts +3 -2
- package/dist-cms/packages/members/members/repository/member.repository.js +5 -6
- package/dist-cms/packages/members/members/repository/sources/member.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/members/members/repository/sources/member.tree.server.data.js +1 -1
- package/dist-cms/packages/packages/manifests.d.ts +1 -1
- package/dist-cms/packages/packages/package/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/packages/package/repository/package.repository.d.ts +4 -4
- package/dist-cms/packages/packages/package/repository/package.repository.js +5 -4
- package/dist-cms/packages/packages/package/repository/sources/package.server.data.d.ts +2 -2
- package/dist-cms/packages/settings/data-types/entity-actions/copy/copy.action.js +1 -2
- package/dist-cms/packages/settings/data-types/entity-actions/create/create.action.js +1 -2
- package/dist-cms/packages/settings/data-types/entity-actions/move/move.action.js +1 -2
- package/dist-cms/packages/settings/data-types/repository/data-type.repository.d.ts +4 -3
- package/dist-cms/packages/settings/data-types/repository/data-type.repository.js +13 -14
- package/dist-cms/packages/settings/data-types/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-copy.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-copy.server.data.js +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.js +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-item.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-item.server.data.js +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-move.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-move.server.data.js +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/repository/sources/data-type.server.data.js +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/repository/sources/data-type.tree.server.data.js +1 -1
- package/dist-cms/packages/settings/languages/app-language-select/app-language.context.d.ts +4 -3
- package/dist-cms/packages/settings/languages/app-language-select/app-language.context.js +9 -9
- package/dist-cms/packages/settings/languages/repository/language.repository.d.ts +3 -3
- package/dist-cms/packages/settings/languages/repository/language.repository.js +8 -9
- package/dist-cms/packages/settings/languages/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/languages/repository/sources/language-item.server.data.d.ts +2 -2
- package/dist-cms/packages/settings/languages/repository/sources/language.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/languages/repository/sources/language.server.data.js +1 -1
- package/dist-cms/packages/settings/relation-types/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/relation-types/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/relation-types/repository/relation-type.repository.d.ts +4 -3
- package/dist-cms/packages/settings/relation-types/repository/relation-type.repository.js +11 -12
- package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.server.data.js +1 -1
- package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.tree.server.data.js +1 -1
- package/dist-cms/packages/tags/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/tags/repository/sources/tag.server.data.d.ts +3 -3
- package/dist-cms/packages/tags/repository/sources/tag.server.data.js +1 -1
- package/dist-cms/packages/tags/repository/tag.repository.d.ts +4 -3
- package/dist-cms/packages/tags/repository/tag.repository.js +7 -10
- package/dist-cms/packages/templating/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.js +1 -2
- package/dist-cms/packages/templating/partial-views/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/partial-views/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +3 -2
- package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.js +9 -12
- package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/scripts/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/scripts/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/scripts/repository/scripts.repository.d.ts +4 -3
- package/dist-cms/packages/templating/scripts/repository/scripts.repository.js +9 -12
- package/dist-cms/packages/templating/scripts/repository/sources/scripts.detail.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/scripts/repository/sources/scripts.folder.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/scripts/repository/sources/scripts.tree.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/stylesheets/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.folder.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.server.data.d.ts +3 -3
- package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.server.data.js +1 -1
- package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.tree.server.data.js +1 -1
- package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.d.ts +3 -2
- package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.js +7 -8
- package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/templates/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.d.ts +3 -3
- package/dist-cms/packages/templating/templates/repository/sources/template.detail.server.data.js +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.item.server.data.d.ts +3 -3
- package/dist-cms/packages/templating/templates/repository/sources/template.item.server.data.js +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.query-builder.server.data.d.ts +3 -3
- package/dist-cms/packages/templating/templates/repository/sources/template.query-builder.server.data.js +1 -1
- package/dist-cms/packages/templating/templates/repository/sources/template.tree.server.data.d.ts +3 -3
- package/dist-cms/packages/templating/templates/repository/sources/template.tree.server.data.js +1 -1
- package/dist-cms/packages/templating/templates/repository/template.repository.d.ts +4 -3
- package/dist-cms/packages/templating/templates/repository/template.repository.js +11 -12
- package/dist-cms/packages/user/user/collection/manifests.d.ts +1 -1
- package/dist-cms/packages/user/user/collection/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/user/user/collection/repository/user-collection.server.data.d.ts +1 -1
- package/dist-cms/packages/user/user/entity-actions/change-password/change-user-password.action.js +1 -2
- package/dist-cms/packages/user/user/entity-actions/disable/disable-user.action.js +2 -3
- package/dist-cms/packages/user/user/entity-actions/enable/enable-user.action.js +2 -3
- package/dist-cms/packages/user/user/entity-actions/resend-invite/resend-invite-to-user.action.js +1 -2
- package/dist-cms/packages/user/user/entity-actions/unlock/unlock-user.action.js +2 -3
- package/dist-cms/packages/user/user/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/user/user/repository/sources/user.server.data.d.ts +1 -1
- package/dist-cms/packages/user/user-group/collection/manifests.d.ts +1 -1
- package/dist-cms/packages/user/user-group/collection/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.d.ts +3 -3
- package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.repository.js +7 -10
- package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.server.data.d.ts +3 -3
- package/dist-cms/packages/user/user-group/collection/repository/user-group-collection.server.data.js +1 -1
- package/dist-cms/packages/user/user-group/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/user/user-group/repository/sources/user-group-item.server.data.d.ts +3 -3
- package/dist-cms/packages/user/user-group/repository/sources/user-group-item.server.data.js +1 -1
- package/dist-cms/packages/user/user-group/repository/sources/user-group.server.data.d.ts +3 -3
- package/dist-cms/packages/user/user-group/repository/sources/user-group.server.data.js +1 -1
- package/dist-cms/packages/user/user-group/repository/user-group.repository.d.ts +4 -3
- package/dist-cms/packages/user/user-group/repository/user-group.repository.js +11 -14
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +34 -13
- package/dist-cms/vscode-html-custom-data.json +1 -1
- package/package.json +1 -1
- package/dist-cms/libs/extension-api/controller/extension-manifest-controller.d.ts +0 -9
- package/dist-cms/libs/extension-api/controller/extension-manifest-controller.js +0 -13
- package/dist-cms/packages/core/extension-registry/extension-api-initializer.d.ts +0 -19
- package/dist-cms/packages/core/extension-registry/extension-api-initializer.js +0 -53
- package/dist-cms/packages/core/extension-registry/multi-extensions-api-initializer.d.ts +0 -15
- 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 {
|
|
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<
|
|
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-
|
|
408
|
-
"path": "./../src/libs/controller-api/controller-host-
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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 {
|
|
3
|
+
import { UmbBaseExtensionInitializer } from './base-extension-initializer.controller.js';
|
|
4
4
|
import { UmbControllerHost } from '../../controller-api/index.js';
|
|
5
|
-
|
|
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 {
|
|
4
|
-
|
|
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
|
|
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
|
|
50
|
+
super(host, extensionRegistry, 'extElement_', alias, onPermissionChanged);
|
|
51
|
+
this.#defaultElement = defaultElement;
|
|
39
52
|
this._init();
|
|
40
53
|
}
|
|
41
54
|
#assignProperties = () => {
|
|
42
|
-
if (!this
|
|
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
|
|
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
|
|
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
|
|
70
|
+
this.#component = newComponent;
|
|
58
71
|
}
|
|
59
|
-
else if (this
|
|
60
|
-
this
|
|
72
|
+
else if (this.#defaultElement) {
|
|
73
|
+
this.#component = document.createElement(this.#defaultElement);
|
|
61
74
|
}
|
|
62
75
|
else {
|
|
63
|
-
this
|
|
64
|
-
|
|
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
|
|
79
|
+
if (this.#component) {
|
|
67
80
|
this.#assignProperties();
|
|
68
|
-
this.
|
|
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
|
|
76
|
-
if ('destroy' in this
|
|
77
|
-
this.
|
|
88
|
+
if (this.#component) {
|
|
89
|
+
if ('destroy' in this.#component) {
|
|
90
|
+
this.#component.destroy();
|
|
78
91
|
}
|
|
79
|
-
this
|
|
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,
|
|
2
|
-
import { type ManifestBase, type ManifestTypeMap, type SpecificManifestTypeOrManifestBase,
|
|
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
|
|
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
|
|
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 {
|
|
2
|
-
import {
|
|
1
|
+
import { UmbBaseExtensionsInitializer } from './base-extensions-initializer.controller.js';
|
|
2
|
+
import { UmbExtensionElementInitializer, } from '../index.js';
|
|
3
3
|
/**
|
|
4
4
|
*/
|
|
5
|
-
export class UmbExtensionsElementController extends
|
|
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
|
|
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 {
|
|
2
|
-
import { type PermittedControllerType,
|
|
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
|
|
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
|
|
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 {
|
|
2
|
-
import {
|
|
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
|
|
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
|
|
14
|
+
return new UmbExtensionManifestInitializer(this, this.#extensionRegistry, manifest.alias, this._extensionChanged);
|
|
15
15
|
}
|
|
16
16
|
}
|