update types
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import type { ManifestEntrypoint } from './types';
|
||||
import type { ManifestEntryPoint } from './types';
|
||||
import { hasInitExport } from './has-init-export.function';
|
||||
import { loadExtension } from './load-extension.function';
|
||||
import { UmbExtensionRegistry } from './registry/extension.registry';
|
||||
@@ -9,7 +9,7 @@ export class UmbEntryPointExtensionInitializer {
|
||||
#extensionRegistry;
|
||||
#entryPointMap = new Map();
|
||||
|
||||
constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry) {
|
||||
constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestEntryPoint>) {
|
||||
this.#host = host;
|
||||
this.#extensionRegistry = extensionRegistry;
|
||||
extensionRegistry.extensionsOfType('entryPoint').subscribe((entryPoints) => {
|
||||
@@ -21,7 +21,7 @@ export class UmbEntryPointExtensionInitializer {
|
||||
});
|
||||
}
|
||||
|
||||
async instantiateEntryPoint(manifest: ManifestEntrypoint) {
|
||||
async instantiateEntryPoint(manifest: ManifestEntryPoint) {
|
||||
const js = await loadExtension(manifest);
|
||||
// If the extension has an onInit export, be sure to run that or else let the module handle itself
|
||||
if (hasInitExport(js)) {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { expect } from '@open-wc/testing';
|
||||
import type { ManifestKind } from '../types';
|
||||
import type { ManifestElementWithElementName, ManifestKind, ManifestWithMeta } from '../types';
|
||||
import { UmbExtensionRegistry } from './extension.registry';
|
||||
import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry';
|
||||
|
||||
describe('UmbExtensionRegistry', () => {
|
||||
let extensionRegistry: UmbExtensionRegistry;
|
||||
let extensionRegistry: UmbExtensionRegistry<ManifestWithMeta>;
|
||||
let manifests: Array<ManifestTypes>;
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -153,11 +153,13 @@ describe('UmbExtensionRegistry', () => {
|
||||
});
|
||||
|
||||
describe('UmbExtensionRegistry with kinds', () => {
|
||||
let extensionRegistry: UmbExtensionRegistry;
|
||||
let manifests: Array<ManifestTypes | ManifestKind>;
|
||||
let extensionRegistry: UmbExtensionRegistry<any>;
|
||||
let manifests: Array<
|
||||
ManifestElementWithElementName | ManifestWithMeta | ManifestKind<ManifestElementWithElementName>
|
||||
>;
|
||||
|
||||
beforeEach(() => {
|
||||
extensionRegistry = new UmbExtensionRegistry();
|
||||
extensionRegistry = new UmbExtensionRegistry<any>();
|
||||
manifests = [
|
||||
{
|
||||
type: 'kind',
|
||||
|
||||
@@ -149,7 +149,7 @@ export interface ManifestWithMeta extends ManifestBase {
|
||||
* This type of extension gives full control and will simply load the specified JS file
|
||||
* You could have custom logic to decide which extensions to load/register by using extensionRegistry
|
||||
*/
|
||||
export interface ManifestEntrypoint extends ManifestBase {
|
||||
export interface ManifestEntryPoint extends ManifestBase {
|
||||
type: 'entryPoint';
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
import type { UmbExtensionRegistry } from './registry/extension.registry';
|
||||
import { ManifestBase } from './types';
|
||||
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
|
||||
|
||||
export type UmbEntryPointOnInit = (host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry) => void;
|
||||
export type UmbEntryPointOnInit = (
|
||||
host: UmbControllerHostElement,
|
||||
extensionRegistry: UmbExtensionRegistry<ManifestBase>
|
||||
) => void;
|
||||
|
||||
/**
|
||||
* Interface containing supported life-cycle functions for ESModule entry points
|
||||
|
||||
@@ -25,7 +25,7 @@ import type { ManifestWorkspace } from './workspace.model';
|
||||
import type { ManifestWorkspaceAction } from './workspace-action.model';
|
||||
import type { ManifestWorkspaceEditorView } from './workspace-editor-view.model';
|
||||
import type { ManifestWorkspaceViewCollection } from './workspace-view-collection.model';
|
||||
import type { ManifestBase, ManifestEntrypoint } from '@umbraco-cms/backoffice/extensions-api';
|
||||
import type { ManifestBase, ManifestEntryPoint } from '@umbraco-cms/backoffice/extensions-api';
|
||||
|
||||
export * from './collection-view.model';
|
||||
export * from './dashboard-collection.model';
|
||||
@@ -61,7 +61,7 @@ export type ManifestTypes =
|
||||
| ManifestDashboardCollection
|
||||
| ManifestEntityAction
|
||||
| ManifestEntityBulkAction
|
||||
| ManifestEntrypoint
|
||||
| ManifestEntryPoint
|
||||
| ManifestExternalLoginProvider
|
||||
| ManifestHeaderApp
|
||||
| ManifestHeaderAppButtonKind
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import { Subject, takeUntil } from 'rxjs';
|
||||
import { UmbPackageRepository } from './package.repository';
|
||||
import { UmbController, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
|
||||
import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api';
|
||||
import { UmbBackofficeExtensionRegistry } from '@umbraco-cms/backoffice/extensions-registry';
|
||||
|
||||
export class UmbExtensionInitializer extends UmbController {
|
||||
#host: UmbControllerHostElement;
|
||||
#extensionRegistry: UmbExtensionRegistry;
|
||||
#extensionRegistry: UmbBackofficeExtensionRegistry;
|
||||
#unobserve = new Subject<void>();
|
||||
#repository: UmbPackageRepository;
|
||||
#localPackages: Array<Promise<any>>;
|
||||
|
||||
constructor(
|
||||
host: UmbControllerHostElement,
|
||||
extensionRegistry: UmbExtensionRegistry,
|
||||
extensionRegistry: UmbBackofficeExtensionRegistry,
|
||||
localPackages: Array<Promise<any>>
|
||||
) {
|
||||
super(host, UmbExtensionInitializer.name);
|
||||
|
||||
Reference in New Issue
Block a user