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