@umbraco-cms/backoffice 14.0.0--preview004-cb305bc6 → 14.0.0--preview004-65c14774
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/components/backoffice-main.element.js +4 -5
- package/dist-cms/custom-elements.json +2 -4
- package/dist-cms/libs/extension-api/controller/base-extension-controller.js +2 -2
- package/dist-cms/libs/extension-api/controller/extension-element-controller.js +3 -2
- package/dist-cms/libs/extension-api/functions/create-extension-api.function.d.ts +2 -0
- package/dist-cms/libs/extension-api/functions/create-extension-api.function.js +21 -0
- package/dist-cms/libs/extension-api/functions/create-extension-element.function.d.ts +2 -0
- package/dist-cms/libs/extension-api/functions/create-extension-element.function.js +31 -0
- package/dist-cms/libs/extension-api/{has-init-export.function.d.ts → functions/has-init-export.function.d.ts} +1 -1
- package/dist-cms/libs/extension-api/functions/index.d.ts +6 -0
- package/dist-cms/libs/extension-api/functions/index.js +6 -0
- package/dist-cms/libs/extension-api/functions/load-extension-api.function.d.ts +2 -0
- package/dist-cms/libs/extension-api/functions/load-extension-api.function.js +19 -0
- package/dist-cms/libs/extension-api/functions/load-extension-element.function.d.ts +2 -0
- package/dist-cms/libs/extension-api/functions/load-extension-element.function.js +19 -0
- package/dist-cms/libs/extension-api/{load-extension.function.d.ts → functions/load-extension.function.d.ts} +1 -1
- package/dist-cms/libs/extension-api/{load-extension.function.js → functions/load-extension.function.js} +1 -1
- package/dist-cms/libs/extension-api/index.d.ts +3 -9
- package/dist-cms/libs/extension-api/index.js +3 -9
- package/dist-cms/libs/extension-api/{bundle-extension-initializer.d.ts → initializers/bundle-extension-initializer.d.ts} +3 -3
- package/dist-cms/libs/extension-api/{bundle-extension-initializer.js → initializers/bundle-extension-initializer.js} +2 -2
- package/dist-cms/libs/extension-api/{entry-point-extension-initializer.d.ts → initializers/entry-point-extension-initializer.d.ts} +4 -4
- package/dist-cms/libs/extension-api/{entry-point-extension-initializer.js → initializers/entry-point-extension-initializer.js} +2 -3
- package/dist-cms/libs/extension-api/initializers/index.d.ts +2 -0
- package/dist-cms/libs/extension-api/initializers/index.js +2 -0
- package/dist-cms/libs/extension-api/{entry-point.interface.d.ts → models/entry-point.interface.d.ts} +3 -3
- package/dist-cms/libs/extension-api/models/index.d.ts +1 -0
- package/dist-cms/libs/extension-api/models/index.js +1 -0
- package/dist-cms/libs/extension-api/type-guards/has-api-export.function.d.ts +3 -0
- package/dist-cms/libs/extension-api/type-guards/has-api-export.function.js +3 -0
- package/dist-cms/libs/extension-api/type-guards/has-element-export.function.d.ts +3 -0
- package/dist-cms/libs/extension-api/type-guards/has-element-export.function.js +3 -0
- package/dist-cms/libs/extension-api/type-guards/index.d.ts +7 -2
- package/dist-cms/libs/extension-api/type-guards/index.js +7 -2
- package/dist-cms/libs/extension-api/type-guards/is-manifest-api-instance-type.function.d.ts +5 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-api-instance-type.function.js +3 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-api-js-type.function.d.ts +5 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-api-js-type.function.js +3 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-apiable-type.function.d.ts +2 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-apiable-type.function.js +10 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-element-js-type.function.d.ts +5 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-element-js-type.function.js +3 -0
- package/dist-cms/libs/extension-api/type-guards/is-manifest-elementable-type.function.js +2 -0
- package/dist-cms/libs/extension-api/types.d.ts +80 -11
- package/dist-cms/packages/core/action/action.interface.d.ts +1 -1
- package/dist-cms/packages/core/action/repository-action.js +2 -2
- package/dist-cms/packages/core/collection/collection-entity-type.condition.d.ts +18 -0
- package/dist-cms/packages/core/collection/collection-entity-type.condition.js +21 -0
- package/dist-cms/packages/core/collection/collection-selection-actions.element.d.ts +2 -2
- package/dist-cms/packages/core/collection/collection-selection-actions.element.js +12 -25
- package/dist-cms/packages/core/collection/collection.context.d.ts +5 -4
- package/dist-cms/packages/core/collection/collection.context.js +6 -3
- package/dist-cms/packages/core/collection/collection.element.js +2 -2
- package/dist-cms/packages/core/collection/dashboards/dashboard-collection.element.js +2 -2
- package/dist-cms/packages/core/collection/index.d.ts +1 -0
- package/dist-cms/packages/core/collection/manifests.d.ts +1 -0
- package/dist-cms/packages/core/collection/manifests.js +2 -0
- package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +1 -1
- package/dist-cms/packages/core/components/extension-slot/extension-slot.element.js +0 -1
- package/dist-cms/packages/core/culture/repository/manifests.js +1 -1
- package/dist-cms/packages/core/entity-action/entity-action.element.js +6 -6
- package/dist-cms/packages/core/entity-bulk-action/entity-bulk-action.element.js +6 -5
- package/dist-cms/packages/core/event/action-executed.event.d.ts +3 -0
- package/dist-cms/packages/core/event/action-executed.event.js +5 -0
- package/dist-cms/packages/core/event/index.d.ts +1 -1
- package/dist-cms/packages/core/event/index.js +1 -1
- package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.js +1 -1
- package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.js +1 -1
- package/dist-cms/packages/core/extension-registry/conditions/switch.condition.js +1 -1
- package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +3 -2
- package/dist-cms/packages/core/extension-registry/extension-api-initializer.d.ts +19 -0
- package/dist-cms/packages/core/extension-registry/{extension-class-initializer.js → extension-api-initializer.js} +19 -8
- package/dist-cms/packages/core/extension-registry/index.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/index.js +2 -2
- package/dist-cms/packages/core/extension-registry/interfaces/index.d.ts +1 -1
- package/dist-cms/packages/core/extension-registry/interfaces/index.js +1 -1
- package/dist-cms/packages/core/extension-registry/interfaces/{section-extension-element.interface.d.ts → section-element.interface.d.ts} +1 -1
- package/dist-cms/packages/core/extension-registry/models/entity-action.model.d.ts +3 -7
- package/dist-cms/packages/core/extension-registry/models/entity-bulk-action.model.d.ts +4 -19
- package/dist-cms/packages/core/extension-registry/models/global-context.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/repository.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/section.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/store.model.d.ts +4 -4
- package/dist-cms/packages/core/extension-registry/models/tinymce-plugin.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/workspace-action.model.d.ts +2 -3
- package/dist-cms/packages/core/extension-registry/{multi-extensions-class-initializer.d.ts → multi-extensions-api-initializer.d.ts} +4 -3
- package/dist-cms/packages/core/extension-registry/{multi-extensions-class-initializer.js → multi-extensions-api-initializer.js} +7 -5
- package/dist-cms/packages/core/index.d.ts +0 -1
- package/dist-cms/packages/core/index.js +5 -3
- package/dist-cms/packages/core/modal/common/folder/folder-modal.element.js +2 -2
- package/dist-cms/packages/core/repository/repository-items.manager.js +2 -2
- package/dist-cms/packages/core/section/section-default.element.d.ts +2 -2
- package/dist-cms/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.js +1 -1
- package/dist-cms/packages/core/tree/tree.context.js +2 -2
- package/dist-cms/packages/core/workspace/index.d.ts +2 -1
- package/dist-cms/packages/core/workspace/index.js +0 -1
- package/dist-cms/packages/core/workspace/manifests.js +3 -2
- package/dist-cms/packages/core/workspace/workspace-action/workspace-action.element.js +6 -5
- package/dist-cms/packages/core/workspace/workspace-action-menu/workspace-action-menu.element.js +1 -1
- package/dist-cms/packages/core/workspace/workspace-alias.condition.js +1 -1
- package/dist-cms/packages/core/workspace/workspace-content/views/collection/workspace-view-collection.element.js +2 -2
- package/dist-cms/packages/core/workspace/workspace-entity-type.condition.d.ts +18 -0
- package/dist-cms/packages/core/workspace/workspace-entity-type.condition.js +21 -0
- package/dist-cms/packages/dictionary/dictionary/entity-actions/manifests.js +6 -6
- package/dist-cms/packages/dictionary/dictionary/repository/manifests.js +3 -3
- package/dist-cms/packages/dictionary/dictionary/workspace/manifests.js +1 -1
- package/dist-cms/packages/documents/document-blueprints/manifests.js +2 -2
- package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/documents/document-types/entity-actions/manifests.js +4 -4
- package/dist-cms/packages/documents/document-types/repository/manifests.js +4 -4
- package/dist-cms/packages/documents/document-types/workspace/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.js +1 -1
- package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.js +2 -2
- package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/entity-actions/manifests.js +10 -10
- package/dist-cms/packages/documents/documents/entity-bulk-actions/manifests.js +10 -8
- package/dist-cms/packages/documents/documents/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/recycle-bin/repository/manifests.js +2 -2
- package/dist-cms/packages/documents/documents/repository/manifests.js +4 -4
- package/dist-cms/packages/documents/documents/workspace/manifests.js +4 -4
- package/dist-cms/packages/documents/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/collection-view/media-grid-collection-view.element.js +2 -2
- package/dist-cms/packages/media/media/collection-view/media-table-collection-view.element.js +2 -2
- package/dist-cms/packages/media/media/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/media/media/entity-bulk-actions/manifests.js +15 -12
- package/dist-cms/packages/media/media/repository/manifests.js +4 -4
- package/dist-cms/packages/media/media/workspace/manifests.js +1 -1
- package/dist-cms/packages/media/media-types/entity-actions/manifests.js +5 -5
- package/dist-cms/packages/media/media-types/repository/manifests.js +3 -3
- package/dist-cms/packages/members/member-groups/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/members/member-groups/repository/manifests.js +3 -3
- package/dist-cms/packages/members/member-groups/workspace/manifests.js +1 -1
- package/dist-cms/packages/members/member-types/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/members/member-types/repository/manifests.js +3 -3
- package/dist-cms/packages/members/members/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/members/members/repository/manifests.js +3 -3
- package/dist-cms/packages/packages/package/repository/manifests.js +2 -2
- package/dist-cms/packages/settings/data-types/entity-actions/copy/manifests.js +1 -1
- package/dist-cms/packages/settings/data-types/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/settings/data-types/entity-actions/manifests.js +3 -3
- package/dist-cms/packages/settings/data-types/entity-actions/move/manifests.js +1 -1
- package/dist-cms/packages/settings/data-types/repository/manifests.js +4 -4
- package/dist-cms/packages/settings/data-types/workspace/manifests.js +1 -1
- package/dist-cms/packages/settings/languages/entity-actions/manifests.js +2 -2
- package/dist-cms/packages/settings/languages/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/languages/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/languages/repository/manifests.js +3 -3
- package/dist-cms/packages/settings/languages/workspace/language/manifests.js +1 -1
- package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.js +1 -1
- package/dist-cms/packages/settings/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/relation-types/repository/manifests.js +3 -3
- package/dist-cms/packages/settings/relation-types/workspace/manifests.js +1 -1
- package/dist-cms/packages/tags/repository/manifests.js +2 -2
- package/dist-cms/packages/templating/partial-views/entity-actions/manifests.js +5 -5
- package/dist-cms/packages/templating/partial-views/repository/manifests.js +3 -3
- package/dist-cms/packages/templating/partial-views/workspace/manifests.js +1 -1
- package/dist-cms/packages/templating/scripts/entity-actions/manifests.js +4 -4
- package/dist-cms/packages/templating/scripts/repository/manifests.js +3 -3
- package/dist-cms/packages/templating/scripts/workspace/manifests.js +1 -1
- package/dist-cms/packages/templating/stylesheets/entity-actions/manifests.js +5 -5
- package/dist-cms/packages/templating/stylesheets/repository/manifests.js +2 -2
- package/dist-cms/packages/templating/stylesheets/workspace/manifests.js +1 -1
- package/dist-cms/packages/templating/templates/entity-actions/manifests.js +2 -2
- package/dist-cms/packages/templating/templates/repository/manifests.js +4 -4
- package/dist-cms/packages/templating/templates/workspace/manifests.js +1 -1
- package/dist-cms/packages/user/current-user/conditions/user-permission.condition.js +1 -1
- package/dist-cms/packages/user/user/collection/user-collection-header.element.js +3 -3
- package/dist-cms/packages/user/user/collection/user-collection.element.js +2 -2
- package/dist-cms/packages/user/user/collection/views/grid/user-collection-grid-view.element.js +2 -2
- package/dist-cms/packages/user/user/collection/views/table/user-collection-table-view.element.js +2 -2
- package/dist-cms/packages/user/user/entity-bulk-actions/manifests.js +20 -16
- package/dist-cms/packages/user/user/repository/manifests.js +3 -3
- package/dist-cms/packages/user/user/workspace/manifests.js +1 -1
- package/dist-cms/packages/user/user-group/collection/user-group-collection-header.element.js +2 -2
- package/dist-cms/packages/user/user-group/collection/user-group-collection-view.element.js +2 -2
- package/dist-cms/packages/user/user-group/collection/user-group-collection.element.js +2 -2
- package/dist-cms/packages/user/user-group/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/user/user-group/entity-bulk-actions/manifests.js +5 -4
- package/dist-cms/packages/user/user-group/modals/user-group-picker/user-group-picker-modal.element.js +2 -2
- package/dist-cms/packages/user/user-group/repository/manifests.js +3 -3
- package/dist-cms/packages/user/user-group/workspace/manifests.js +1 -1
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +141 -60
- package/dist-cms/vscode-html-custom-data.json +4 -3
- package/package.json +1 -1
- package/dist-cms/libs/extension-api/create-extension-class.function.d.ts +0 -2
- package/dist-cms/libs/extension-api/create-extension-class.function.js +0 -19
- package/dist-cms/libs/extension-api/create-extension-element-or-fallback.function.d.ts +0 -1
- package/dist-cms/libs/extension-api/create-extension-element-or-fallback.function.js +0 -8
- package/dist-cms/libs/extension-api/create-extension-element.function.d.ts +0 -2
- package/dist-cms/libs/extension-api/create-extension-element.function.js +0 -24
- package/dist-cms/libs/extension-api/type-guards/is-manifest-class-instance-type.function.d.ts +0 -2
- package/dist-cms/libs/extension-api/type-guards/is-manifest-class-instance-type.function.js +0 -3
- package/dist-cms/libs/extension-api/type-guards/is-manifest-classable-type.function.d.ts +0 -2
- package/dist-cms/libs/extension-api/type-guards/is-manifest-classable-type.function.js +0 -8
- package/dist-cms/packages/core/event/executed.event.d.ts +0 -3
- package/dist-cms/packages/core/event/executed.event.js +0 -5
- package/dist-cms/packages/core/extension-registry/extension-class-initializer.d.ts +0 -9
- /package/dist-cms/libs/extension-api/{has-init-export.function.js → functions/has-init-export.function.js} +0 -0
- /package/dist-cms/libs/extension-api/{entry-point.interface.js → models/entry-point.interface.js} +0 -0
- /package/dist-cms/libs/extension-api/{has-default-export.function.d.ts → type-guards/has-default-export.function.d.ts} +0 -0
- /package/dist-cms/libs/extension-api/{has-default-export.function.js → type-guards/has-default-export.function.js} +0 -0
- /package/dist-cms/packages/core/extension-registry/interfaces/{section-extension-element.interface.js → section-element.interface.js} +0 -0
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { UMB_BACKOFFICE_CONTEXT_TOKEN } from '../backoffice.context.js';
|
|
8
8
|
import { css, html, customElement, state } from '../../../external/lit/index.js';
|
|
9
9
|
import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from '../../../packages/core/section/index.js';
|
|
10
|
-
import {
|
|
10
|
+
import { createExtensionElement, } from '../../../libs/extension-api/index.js';
|
|
11
11
|
import { UmbLitElement } from '../../../shared/lit-element/index.js';
|
|
12
12
|
export let UmbBackofficeMainElement = class UmbBackofficeMainElement extends UmbLitElement {
|
|
13
13
|
constructor() {
|
|
@@ -41,8 +41,7 @@ export let UmbBackofficeMainElement = class UmbBackofficeMainElement extends Umb
|
|
|
41
41
|
return;
|
|
42
42
|
const oldValue = this._routes;
|
|
43
43
|
// TODO: Refactor this for re-use across the app where the routes are re-generated at any time.
|
|
44
|
-
|
|
45
|
-
this._routes = this._sections.map((section) => {
|
|
44
|
+
this._routes = this._sections.filter(x => x.manifest).map((section) => {
|
|
46
45
|
const existingRoute = this._routes.find((r) => r.alias === section.alias);
|
|
47
46
|
if (existingRoute) {
|
|
48
47
|
return existingRoute;
|
|
@@ -51,7 +50,7 @@ export let UmbBackofficeMainElement = class UmbBackofficeMainElement extends Umb
|
|
|
51
50
|
return {
|
|
52
51
|
alias: section.alias,
|
|
53
52
|
path: this._routePrefix + section.manifest.meta.pathname,
|
|
54
|
-
component: () =>
|
|
53
|
+
component: () => createExtensionElement(section.manifest, 'umb-section-default'),
|
|
55
54
|
setup: (component) => {
|
|
56
55
|
component.manifest = section.manifest;
|
|
57
56
|
},
|
|
@@ -86,7 +85,7 @@ export let UmbBackofficeMainElement = class UmbBackofficeMainElement extends Umb
|
|
|
86
85
|
:host {
|
|
87
86
|
background-color: var(--uui-color-background);
|
|
88
87
|
display: block;
|
|
89
|
-
height: calc(100% - 60px); // 60 => top header height
|
|
88
|
+
height: calc(100% - 60px); // 60 => top header height, TODO: Make sure this comes from somewhere so it is maintainable and eventually responsive.
|
|
90
89
|
}
|
|
91
90
|
`,
|
|
92
91
|
]; }
|
|
@@ -828,8 +828,7 @@
|
|
|
828
828
|
},
|
|
829
829
|
{
|
|
830
830
|
"name": "default-element",
|
|
831
|
-
"type": "string"
|
|
832
|
-
"default": "\"\""
|
|
831
|
+
"type": "string | undefined"
|
|
833
832
|
},
|
|
834
833
|
{
|
|
835
834
|
"name": "renderMethod",
|
|
@@ -856,8 +855,7 @@
|
|
|
856
855
|
{
|
|
857
856
|
"name": "defaultElement",
|
|
858
857
|
"attribute": "default-element",
|
|
859
|
-
"type": "string"
|
|
860
|
-
"default": "\"\""
|
|
858
|
+
"type": "string | undefined"
|
|
861
859
|
},
|
|
862
860
|
{
|
|
863
861
|
"name": "renderMethod",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UmbBaseController } from '../../controller-api/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { createExtensionApi, } from '../index.js';
|
|
3
3
|
export class UmbBaseExtensionController extends UmbBaseController {
|
|
4
4
|
#promiseResolvers;
|
|
5
5
|
#manifestObserver;
|
|
@@ -129,7 +129,7 @@ export class UmbBaseExtensionController extends UmbBaseController {
|
|
|
129
129
|
// Check if we already have a controller for this config:
|
|
130
130
|
const existing = this.#conditionControllers.find((controller) => controller.config === conditionConfig);
|
|
131
131
|
if (!existing) {
|
|
132
|
-
const conditionController = await
|
|
132
|
+
const conditionController = await createExtensionApi(conditionManifest, [
|
|
133
133
|
{
|
|
134
134
|
host: this,
|
|
135
135
|
manifest: conditionManifest,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createExtensionElement } from '../create-extension-element.function.js';
|
|
1
|
+
import { createExtensionElement } from '../functions/create-extension-element.function.js';
|
|
2
2
|
import { isManifestElementableType } from '../type-guards/is-manifest-elementable-type.function.js';
|
|
3
3
|
import { UmbBaseExtensionController } from './base-extension-controller.js';
|
|
4
4
|
export class UmbExtensionElementController extends UmbBaseExtensionController {
|
|
@@ -48,8 +48,9 @@ export class UmbExtensionElementController extends UmbBaseExtensionController {
|
|
|
48
48
|
};
|
|
49
49
|
async _conditionsAreGood() {
|
|
50
50
|
const manifest = this.manifest; // In this case we are sure its not undefined.
|
|
51
|
+
console.log("---defaultElement", this._defaultElement);
|
|
51
52
|
if (isManifestElementableType(manifest)) {
|
|
52
|
-
const newComponent = await createExtensionElement(manifest);
|
|
53
|
+
const newComponent = await createExtensionElement(manifest, this._defaultElement);
|
|
53
54
|
if (!this._positive) {
|
|
54
55
|
// We are not positive anymore, so we will back out of this creation.
|
|
55
56
|
return false;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { hasApiExport, hasDefaultExport, isManifestApiConstructorType } from '../type-guards/index.js';
|
|
2
|
+
import { loadExtensionApi } from '../functions/load-extension-api.function.js';
|
|
3
|
+
//TODO: Write tests for this method:
|
|
4
|
+
export async function createExtensionApi(manifest, constructorArguments) {
|
|
5
|
+
const js = await loadExtensionApi(manifest);
|
|
6
|
+
if (isManifestApiConstructorType(manifest)) {
|
|
7
|
+
return new manifest.api(...constructorArguments);
|
|
8
|
+
}
|
|
9
|
+
if (js) {
|
|
10
|
+
if (hasApiExport(js)) {
|
|
11
|
+
return new js.api(...constructorArguments);
|
|
12
|
+
}
|
|
13
|
+
if (hasDefaultExport(js)) {
|
|
14
|
+
return new js.default(...constructorArguments);
|
|
15
|
+
}
|
|
16
|
+
console.error(`-- Extension of alias "${manifest.alias}" did not succeed creating an api class instance, missing a 'api' or 'default' export of the served JavaScript file`, manifest);
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
console.error(`-- Extension of alias "${manifest.alias}" did not succeed creating an api class instance, missing a JavaScript file via the 'apiJs' or 'js' property or a ClassConstructor in 'api' in the manifest.`, manifest);
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { hasDefaultExport, hasElementExport, isManifestElementNameType } from '../type-guards/index.js';
|
|
2
|
+
import { loadExtensionElement } from '../functions/load-extension-element.function.js';
|
|
3
|
+
export async function createExtensionElement(manifest, fallbackElementName) {
|
|
4
|
+
//TODO: Write tests for these extension options:
|
|
5
|
+
const js = await loadExtensionElement(manifest);
|
|
6
|
+
if (isManifestElementNameType(manifest)) {
|
|
7
|
+
// created by manifest method providing HTMLElement
|
|
8
|
+
return document.createElement(manifest.elementName);
|
|
9
|
+
}
|
|
10
|
+
// TODO: Do we need this except for the default() loader?
|
|
11
|
+
if (js) {
|
|
12
|
+
if (hasElementExport(js)) {
|
|
13
|
+
// Element will be created by default class
|
|
14
|
+
return new js.element();
|
|
15
|
+
}
|
|
16
|
+
if (hasDefaultExport(js)) {
|
|
17
|
+
// Element will be created by default class
|
|
18
|
+
return new js.default();
|
|
19
|
+
}
|
|
20
|
+
if (!fallbackElementName) {
|
|
21
|
+
console.error(`-- Extension of alias "${manifest.alias}" did not succeed creating an api class instance, missing a 'element' or 'default' export of the served JavaScript file`, manifest);
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (fallbackElementName) {
|
|
26
|
+
return document.createElement(fallbackElementName);
|
|
27
|
+
}
|
|
28
|
+
// If some JS was loaded and manifest did not have a elementName neither it the JS file contain a default export, so we will fail:
|
|
29
|
+
console.error(`-- Extension of alias "${manifest.alias}" did not succeed creating an element, missing a JavaScript file via the 'elementJs' or 'js' property or a Element Name in 'elementName' in the manifest.`, manifest);
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './create-extension-api.function.js';
|
|
2
|
+
export * from './create-extension-element.function.js';
|
|
3
|
+
export * from './has-init-export.function.js';
|
|
4
|
+
export * from './load-extension-api.function.js';
|
|
5
|
+
export * from './load-extension-element.function.js';
|
|
6
|
+
export * from './load-extension.function.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './create-extension-api.function.js';
|
|
2
|
+
export * from './create-extension-element.function.js';
|
|
3
|
+
export * from './has-init-export.function.js';
|
|
4
|
+
export * from './load-extension-api.function.js';
|
|
5
|
+
export * from './load-extension-element.function.js';
|
|
6
|
+
export * from './load-extension.function.js';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { isManifestApiJSType, isManifestJSType, isManifestLoaderType } from '../type-guards/index.js';
|
|
2
|
+
export async function loadExtensionApi(manifest) {
|
|
3
|
+
try {
|
|
4
|
+
if (isManifestLoaderType(manifest)) {
|
|
5
|
+
return manifest.loader();
|
|
6
|
+
}
|
|
7
|
+
if (isManifestApiJSType(manifest) && manifest.apiJs) {
|
|
8
|
+
return await import(/* @vite-ignore */ manifest.apiJs);
|
|
9
|
+
}
|
|
10
|
+
if (isManifestJSType(manifest) && manifest.js) {
|
|
11
|
+
return await import(/* @vite-ignore */ manifest.js);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
console.warn('-- Extension failed to load script', manifest, err);
|
|
16
|
+
return Promise.resolve(null);
|
|
17
|
+
}
|
|
18
|
+
return Promise.resolve(null);
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { isManifestElementJSType, isManifestJSType, isManifestLoaderType } from '../type-guards/index.js';
|
|
2
|
+
export async function loadExtensionElement(manifest) {
|
|
3
|
+
try {
|
|
4
|
+
if (isManifestLoaderType(manifest)) {
|
|
5
|
+
return manifest.loader();
|
|
6
|
+
}
|
|
7
|
+
if (isManifestElementJSType(manifest) && manifest.elementJs) {
|
|
8
|
+
return await import(/* @vite-ignore */ manifest.elementJs);
|
|
9
|
+
}
|
|
10
|
+
if (isManifestJSType(manifest) && manifest.js) {
|
|
11
|
+
return await import(/* @vite-ignore */ manifest.js);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
console.warn('-- Extension failed to load script', manifest, err);
|
|
16
|
+
return Promise.resolve(null);
|
|
17
|
+
}
|
|
18
|
+
return Promise.resolve(null);
|
|
19
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ManifestWithLoader } from '
|
|
1
|
+
import type { ManifestWithLoader } from '../types.js';
|
|
2
2
|
export declare function loadExtension<T = unknown>(manifest: ManifestWithLoader<T>): Promise<T | null>;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './initializers/index.js';
|
|
2
2
|
export * from './condition/index.js';
|
|
3
3
|
export * from './controller/index.js';
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './create-extension-element.function.js';
|
|
7
|
-
export * from './entry-point-extension-initializer.js';
|
|
8
|
-
export * from './entry-point.interface.js';
|
|
9
|
-
export * from './has-default-export.function.js';
|
|
10
|
-
export * from './has-init-export.function.js';
|
|
11
|
-
export * from './load-extension.function.js';
|
|
4
|
+
export * from './functions/index.js';
|
|
5
|
+
export * from './models/index.js';
|
|
12
6
|
export * from './registry/extension.registry.js';
|
|
13
7
|
export * from './type-guards/index.js';
|
|
14
8
|
export * from './types.js';
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './initializers/index.js';
|
|
2
2
|
export * from './condition/index.js';
|
|
3
3
|
export * from './controller/index.js';
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './create-extension-element.function.js';
|
|
7
|
-
export * from './entry-point-extension-initializer.js';
|
|
8
|
-
export * from './entry-point.interface.js';
|
|
9
|
-
export * from './has-default-export.function.js';
|
|
10
|
-
export * from './has-init-export.function.js';
|
|
11
|
-
export * from './load-extension.function.js';
|
|
4
|
+
export * from './functions/index.js';
|
|
5
|
+
export * from './models/index.js';
|
|
12
6
|
export * from './registry/extension.registry.js';
|
|
13
7
|
export * from './type-guards/index.js';
|
|
14
8
|
export * from './types.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ManifestBundle } from '
|
|
2
|
-
import { UmbExtensionRegistry } from '
|
|
3
|
-
import { UmbBaseController, UmbControllerHostElement } from '
|
|
1
|
+
import type { ManifestBundle } from '../types.js';
|
|
2
|
+
import { UmbExtensionRegistry } from '../registry/extension.registry.js';
|
|
3
|
+
import { UmbBaseController, UmbControllerHostElement } from '../../controller-api/index.js';
|
|
4
4
|
export declare class UmbBundleExtensionInitializer extends UmbBaseController {
|
|
5
5
|
#private;
|
|
6
6
|
constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestBundle>);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { loadExtension } from '
|
|
2
|
-
import { UmbBaseController } from '
|
|
1
|
+
import { loadExtension } from '../functions/load-extension.function.js';
|
|
2
|
+
import { UmbBaseController } from '../../controller-api/index.js';
|
|
3
3
|
export class UmbBundleExtensionInitializer extends UmbBaseController {
|
|
4
4
|
#extensionRegistry;
|
|
5
5
|
#bundleMap = new Map();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { UmbBaseController } from '
|
|
2
|
-
import type { ManifestEntryPoint } from '
|
|
3
|
-
import { UmbExtensionRegistry } from '
|
|
4
|
-
import { UmbElement } from '
|
|
1
|
+
import { UmbBaseController } from '../../controller-api/controller.class.js';
|
|
2
|
+
import type { ManifestEntryPoint } from '../types.js';
|
|
3
|
+
import { UmbExtensionRegistry } from '../registry/extension.registry.js';
|
|
4
|
+
import { UmbElement } from '../../element-api/index.js';
|
|
5
5
|
export declare class UmbEntryPointExtensionInitializer extends UmbBaseController {
|
|
6
6
|
#private;
|
|
7
7
|
constructor(host: UmbElement, extensionRegistry: UmbExtensionRegistry<ManifestEntryPoint>);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { UmbBaseController } from '
|
|
2
|
-
import { hasInitExport } from '
|
|
3
|
-
import { loadExtension } from './load-extension.function.js';
|
|
1
|
+
import { UmbBaseController } from '../../controller-api/controller.class.js';
|
|
2
|
+
import { hasInitExport, loadExtension } from '../functions/index.js';
|
|
4
3
|
export class UmbEntryPointExtensionInitializer extends UmbBaseController {
|
|
5
4
|
#host;
|
|
6
5
|
#extensionRegistry;
|
package/dist-cms/libs/extension-api/{entry-point.interface.d.ts → models/entry-point.interface.d.ts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { UmbExtensionRegistry } from '
|
|
2
|
-
import { ManifestBase } from '
|
|
3
|
-
import type { UmbElement } from '
|
|
1
|
+
import type { UmbExtensionRegistry } from '../registry/extension.registry.js';
|
|
2
|
+
import { ManifestBase } from '../types.js';
|
|
3
|
+
import type { UmbElement } from '../../element-api/index.js';
|
|
4
4
|
export type UmbEntryPointOnInit = (host: UmbElement, extensionRegistry: UmbExtensionRegistry<ManifestBase>) => void;
|
|
5
5
|
/**
|
|
6
6
|
* Interface containing supported life-cycle functions for ESModule entry points
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './entry-point.interface.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './entry-point.interface.js';
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
export * from './is-manifest-
|
|
2
|
-
export * from './is-manifest-
|
|
1
|
+
export * from './is-manifest-api-instance-type.function.js';
|
|
2
|
+
export * from './is-manifest-apiable-type.function.js';
|
|
3
3
|
export * from './is-manifest-element-name-type.function.js';
|
|
4
4
|
export * from './is-manifest-elementable-type.function.js';
|
|
5
5
|
export * from './is-manifest-js-type.function.js';
|
|
6
|
+
export * from './is-manifest-element-js-type.function.js';
|
|
7
|
+
export * from './is-manifest-api-js-type.function.js';
|
|
6
8
|
export * from './is-manifest-loader-type.function.js';
|
|
9
|
+
export * from './has-default-export.function.js';
|
|
10
|
+
export * from './has-element-export.function.js';
|
|
11
|
+
export * from './has-api-export.function.js';
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
export * from './is-manifest-
|
|
2
|
-
export * from './is-manifest-
|
|
1
|
+
export * from './is-manifest-api-instance-type.function.js';
|
|
2
|
+
export * from './is-manifest-apiable-type.function.js';
|
|
3
3
|
export * from './is-manifest-element-name-type.function.js';
|
|
4
4
|
export * from './is-manifest-elementable-type.function.js';
|
|
5
5
|
export * from './is-manifest-js-type.function.js';
|
|
6
|
+
export * from './is-manifest-element-js-type.function.js';
|
|
7
|
+
export * from './is-manifest-api-js-type.function.js';
|
|
6
8
|
export * from './is-manifest-loader-type.function.js';
|
|
9
|
+
export * from './has-default-export.function.js';
|
|
10
|
+
export * from './has-element-export.function.js';
|
|
11
|
+
export * from './has-api-export.function.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ClassConstructor, ManifestApi } from '../types.js';
|
|
2
|
+
export declare function isManifestApiConstructorType<ApiType>(manifest: unknown): manifest is ManifestApiWithClassConstructor<ApiType>;
|
|
3
|
+
export interface ManifestApiWithClassConstructor<T = unknown> extends ManifestApi<T> {
|
|
4
|
+
api: ClassConstructor<T>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isManifestJSType } from './is-manifest-js-type.function.js';
|
|
2
|
+
import { isManifestLoaderType } from './is-manifest-loader-type.function.js';
|
|
3
|
+
import { isManifestApiConstructorType } from './is-manifest-api-instance-type.function.js';
|
|
4
|
+
import { isManifestApiJSType } from './is-manifest-api-js-type.function.js';
|
|
5
|
+
export function isManifestApiType(manifest) {
|
|
6
|
+
return (isManifestApiConstructorType(manifest) ||
|
|
7
|
+
isManifestLoaderType(manifest) ||
|
|
8
|
+
isManifestApiJSType(manifest) ||
|
|
9
|
+
isManifestJSType(manifest));
|
|
10
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ManifestBase, ManifestWithLoader } from '../types.js';
|
|
2
|
+
export type ManifestElementJSType<T> = ManifestWithLoader<T> & {
|
|
3
|
+
elementJs: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function isManifestElementJSType<T>(manifest: ManifestBase | unknown): manifest is ManifestElementJSType<T>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { isManifestElementJSType } from './is-manifest-element-js-type.function.js';
|
|
1
2
|
import { isManifestElementNameType } from './is-manifest-element-name-type.function.js';
|
|
2
3
|
import { isManifestJSType } from './is-manifest-js-type.function.js';
|
|
3
4
|
import { isManifestLoaderType } from './is-manifest-loader-type.function.js';
|
|
4
5
|
export function isManifestElementableType(manifest) {
|
|
5
6
|
return (isManifestElementNameType(manifest) ||
|
|
6
7
|
isManifestLoaderType(manifest) ||
|
|
8
|
+
isManifestElementJSType(manifest) ||
|
|
7
9
|
isManifestJSType(manifest));
|
|
8
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UmbExtensionCondition } from './condition/index.js';
|
|
2
|
-
import type { UmbEntryPointModule } from './
|
|
2
|
+
import type { UmbEntryPointModule } from './models/index.js';
|
|
3
3
|
export type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
|
|
4
4
|
export type ClassConstructor<T = object> = new (...args: any[]) => T;
|
|
5
5
|
export type ManifestTypeMap<ManifestTypes extends ManifestBase> = {
|
|
@@ -73,13 +73,15 @@ export interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
|
|
|
73
73
|
/**
|
|
74
74
|
* The type of extension such as dashboard etc...
|
|
75
75
|
*/
|
|
76
|
-
export interface
|
|
77
|
-
default: ClassConstructor<
|
|
76
|
+
export interface ManifestApi<ApiType = unknown> extends ManifestWithLoader<{
|
|
77
|
+
default: ClassConstructor<ApiType>;
|
|
78
|
+
} | {
|
|
79
|
+
api: ClassConstructor<ApiType>;
|
|
78
80
|
}> {
|
|
79
81
|
/**
|
|
80
82
|
* @TJS-ignore
|
|
81
83
|
*/
|
|
82
|
-
readonly
|
|
84
|
+
readonly API_TYPE?: ApiType;
|
|
83
85
|
/**
|
|
84
86
|
* The file location of the javascript file to load
|
|
85
87
|
* @TJS-required
|
|
@@ -88,23 +90,67 @@ export interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
|
|
|
88
90
|
/**
|
|
89
91
|
* @TJS-ignore
|
|
90
92
|
*/
|
|
91
|
-
|
|
93
|
+
apiName?: string;
|
|
92
94
|
/**
|
|
93
95
|
* @TJS-ignore
|
|
94
96
|
*/
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
export interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
|
|
98
|
-
class: ClassConstructor<T>;
|
|
97
|
+
api?: ClassConstructor<ApiType>;
|
|
99
98
|
}
|
|
100
99
|
export interface ManifestWithLoaderIncludingDefaultExport<T = unknown> extends ManifestWithLoader<{
|
|
101
100
|
default: T;
|
|
101
|
+
} | {
|
|
102
|
+
element: T;
|
|
102
103
|
} | Omit<object, 'default'>> {
|
|
103
104
|
/**
|
|
104
105
|
* The file location of the javascript file to load
|
|
105
106
|
*/
|
|
106
107
|
js?: string;
|
|
107
108
|
}
|
|
109
|
+
export interface ManifestWithLoaderIncludingApiExport<ApiType = unknown> extends ManifestWithLoader<{
|
|
110
|
+
api: ApiType;
|
|
111
|
+
} | Omit<object, 'api'>> {
|
|
112
|
+
/**
|
|
113
|
+
* The file location of the javascript file to load
|
|
114
|
+
*/
|
|
115
|
+
js?: string;
|
|
116
|
+
/**
|
|
117
|
+
* The file location of the API javascript file to load
|
|
118
|
+
*/
|
|
119
|
+
apiJs?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface ManifestWithLoaderIncludingElementExport<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
|
|
122
|
+
element: ElementType;
|
|
123
|
+
} | Omit<object, 'element'>> {
|
|
124
|
+
/**
|
|
125
|
+
* The file location of the javascript file to load
|
|
126
|
+
*/
|
|
127
|
+
js?: string;
|
|
128
|
+
/**
|
|
129
|
+
* The file location of the element javascript file to load
|
|
130
|
+
*/
|
|
131
|
+
elementJs?: string;
|
|
132
|
+
}
|
|
133
|
+
export interface ManifestWithLoaderOptionalApiOrElementExport<ElementType extends HTMLElement = HTMLElement, ApiType = unknown, ClassType = {
|
|
134
|
+
element: ElementType;
|
|
135
|
+
} | {
|
|
136
|
+
api: ApiType;
|
|
137
|
+
} | {
|
|
138
|
+
element: ElementType;
|
|
139
|
+
api: ApiType;
|
|
140
|
+
} | Omit<Omit<object, 'element'>, 'api'>> extends ManifestWithLoader<ClassType> {
|
|
141
|
+
/**
|
|
142
|
+
* The file location of the javascript file to load
|
|
143
|
+
*/
|
|
144
|
+
js?: string;
|
|
145
|
+
/**
|
|
146
|
+
* The file location of the element javascript file to load
|
|
147
|
+
*/
|
|
148
|
+
elementJs?: string;
|
|
149
|
+
/**
|
|
150
|
+
* The file location of the API javascript file to load
|
|
151
|
+
*/
|
|
152
|
+
apiJs?: string;
|
|
153
|
+
}
|
|
108
154
|
export interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
|
|
109
155
|
default: ClassConstructor<ElementType>;
|
|
110
156
|
} | Omit<object, 'default'>> {
|
|
@@ -120,7 +166,7 @@ export interface ManifestElement<ElementType extends HTMLElement = HTMLElement>
|
|
|
120
166
|
js?: string;
|
|
121
167
|
/**
|
|
122
168
|
* The HTML web component name to use such as 'my-dashboard'
|
|
123
|
-
* Note it is NOT <my-dashboard></my-dashboard
|
|
169
|
+
* Note it is NOT <my-dashboard></my-dashboard>, just the element name.
|
|
124
170
|
*/
|
|
125
171
|
elementName?: string;
|
|
126
172
|
/**
|
|
@@ -128,6 +174,29 @@ export interface ManifestElement<ElementType extends HTMLElement = HTMLElement>
|
|
|
128
174
|
*/
|
|
129
175
|
meta?: unknown;
|
|
130
176
|
}
|
|
177
|
+
export interface ManifestElementAndApi<ElementType extends HTMLElement = HTMLElement, ApiType = unknown> extends ManifestWithLoaderOptionalApiOrElementExport<ElementType, ApiType> {
|
|
178
|
+
/**
|
|
179
|
+
* @TJS-ignore
|
|
180
|
+
*/
|
|
181
|
+
readonly API_TYPE?: ApiType;
|
|
182
|
+
/**
|
|
183
|
+
* @TJS-ignore
|
|
184
|
+
*/
|
|
185
|
+
readonly ELEMENT_TYPE?: ElementType;
|
|
186
|
+
/**
|
|
187
|
+
* @TJS-ignore
|
|
188
|
+
*/
|
|
189
|
+
apiName?: string;
|
|
190
|
+
/**
|
|
191
|
+
* @TJS-ignore
|
|
192
|
+
*/
|
|
193
|
+
api?: ClassConstructor<ApiType>;
|
|
194
|
+
/**
|
|
195
|
+
* The HTML web component name to use such as 'my-dashboard'
|
|
196
|
+
* Note it is NOT <my-dashboard></my-dashboard>, just the element name.
|
|
197
|
+
*/
|
|
198
|
+
elementName?: string;
|
|
199
|
+
}
|
|
131
200
|
export interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
|
|
132
201
|
meta: MetaManifestWithView;
|
|
133
202
|
}
|
|
@@ -175,7 +244,7 @@ export interface ManifestBundle<UmbManifestTypes extends ManifestBase = Manifest
|
|
|
175
244
|
/**
|
|
176
245
|
* This type of extension takes a JS module and registers all exported manifests from the pointed JS file.
|
|
177
246
|
*/
|
|
178
|
-
export interface ManifestCondition extends
|
|
247
|
+
export interface ManifestCondition extends ManifestApi<UmbExtensionCondition> {
|
|
179
248
|
type: 'condition';
|
|
180
249
|
/**
|
|
181
250
|
* The file location of the javascript file to load in the backoffice
|