@wix/editor-application 1.338.0 → 1.340.0
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/cjs/environment-api/index.js +154 -65
- package/dist/cjs/environment-api/index.js.map +1 -1
- package/dist/cjs/index.js +109 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/platform-frame/index.js +112 -45
- package/dist/cjs/platform-frame/index.js.map +1 -1
- package/dist/cjs/platform-frame-api/index.js +112 -45
- package/dist/cjs/platform-frame-api/index.js.map +1 -1
- package/dist/cjs/platform-worker/index.js +143 -65
- package/dist/cjs/platform-worker/index.js.map +1 -1
- package/dist/cjs/platform-worker-api/index.js +132 -54
- package/dist/cjs/platform-worker-api/index.js.map +1 -1
- package/dist/esm/environment-api/index.js +155 -66
- package/dist/esm/environment-api/index.js.map +1 -1
- package/dist/esm/index.js +110 -21
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/platform-frame/index.js +113 -46
- package/dist/esm/platform-frame/index.js.map +1 -1
- package/dist/esm/platform-frame-api/index.js +113 -46
- package/dist/esm/platform-frame-api/index.js.map +1 -1
- package/dist/esm/platform-worker/index.js +144 -66
- package/dist/esm/platform-worker/index.js.map +1 -1
- package/dist/esm/platform-worker-api/index.js +132 -54
- package/dist/esm/platform-worker-api/index.js.map +1 -1
- package/dist/statics/environment-api/index.js +157 -69
- package/dist/statics/environment-api/index.js.map +1 -1
- package/dist/statics/index.js +112 -24
- package/dist/statics/index.js.map +1 -1
- package/dist/statics/platform-frame/index.js +115 -49
- package/dist/statics/platform-frame/index.js.map +1 -1
- package/dist/statics/platform-frame-api/index.js +115 -49
- package/dist/statics/platform-frame-api/index.js.map +1 -1
- package/dist/statics/platform-worker/index.js +146 -69
- package/dist/statics/platform-worker/index.js.map +1 -1
- package/dist/statics/platform-worker-api/index.js +134 -57
- package/dist/statics/platform-worker-api/index.js.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../editor-platform-application-context/dist/esm/index.js","../../../src/Events/WorkerEventsBridge.ts","../../../src/PlatformEnvironmentAPI/AbstractEnvironmentAPI.ts","../../../src/PlatformEnvironmentAPI/PlatformFrameAPI/PlatformFrameAPI.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment };\n//# sourceMappingURL=index.js.map\n","import {\n IPlatformPrivateEvent,\n PlatformLifecycleEvent,\n PlatformPrivateEvent,\n // --\n IPlatformAppEvent,\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\n/**\n * The events bridge between platform events (private) and app events\n */\nexport class WorkerEventsBridge {\n constructor(private platformAppEvents: PlatformAppEventEmitter) {}\n\n /**\n * Notify by event from Worker Manager (platform infrastructure)\n */\n public notify(event: IPlatformPrivateEvent) {\n switch (event.type) {\n case PlatformLifecycleEvent.EditorReady:\n this.platformAppEvents.notify({\n ...event,\n // @ts-expect-error TODO: fix me\n type: PlatformAppEvent.EditorReady,\n });\n break;\n case PlatformPrivateEvent.HostEvent:\n this.platformAppEvents.notify({\n ...event,\n type: PlatformAppEvent.HostEvent,\n });\n break;\n }\n }\n\n /**\n * Subscribe to Worker (Application) event\n */\n public subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.platformAppEvents.subscribe((event) => {\n cb(event);\n });\n }\n}\n","export enum PlatformConsumerEnvironmentAPIType {\n Frame = 'PLATFORM_FRAME_API',\n Worker = 'PLATFORM_WORKER_API',\n}\n\n/**\n * rename these entities -> API to Env\n */\nexport abstract class AbstractEnvironmentAPI<\n TEnv extends PlatformConsumerEnvironmentAPIType,\n> {\n /**\n * NOTE: we can't `type` declare getter within current abstract class\n * because then after transferring API between threads this getter becomes promise,\n * which is not expected\n *\n * get type() {\n * return this.env;\n * }\n */\n public abstract type: TEnv;\n\n protected constructor(protected env: TEnv) {\n this.create();\n }\n\n abstract create(): void;\n abstract initEnvironment(props: unknown): void;\n}\n","import { IPrivateAPIFixMe } from '../../types';\n\nimport {\n IPlatformPrivateEvent,\n PlatformAppEventEmitter,\n IPlatformAppEvent,\n} from '@wix/public-editor-platform-events';\nimport {\n EnvironmentContext,\n ApplicationContext,\n PlatformEnvironment,\n} from '@wix/editor-application-context';\n\nimport { WorkerEventsBridge } from '../../Events';\nimport {\n AbstractEnvironmentAPI,\n PlatformConsumerEnvironmentAPIType,\n} from '../AbstractEnvironmentAPI';\n\nconst DESIGN_SYSTEM_STYLES_MAP = {\n classic:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-default.global.css',\n studio:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-studio.global.css',\n};\n\nexport class PlatformFrameAPI extends AbstractEnvironmentAPI<PlatformConsumerEnvironmentAPIType.Frame> {\n public type: PlatformConsumerEnvironmentAPIType.Frame =\n PlatformConsumerEnvironmentAPIType.Frame;\n\n #events = new PlatformAppEventEmitter();\n #eventsBridge = new WorkerEventsBridge(this.#events);\n #privateAPI: IPrivateAPIFixMe;\n #applicationPrivateAPI: any;\n\n constructor() {\n super(PlatformConsumerEnvironmentAPIType.Frame);\n }\n\n create() {\n if (typeof globalThis?.document?.head?.prepend === 'function') {\n const params = new URL(globalThis.location.href).searchParams;\n\n // TODO: check all possible editorType values\n const host =\n params.get('editorType') === 'CLASSIC' ? 'classic' : 'studio';\n\n const url = DESIGN_SYSTEM_STYLES_MAP[host];\n\n const isAlreadyLoaded =\n url &&\n !!document.querySelectorAll(`link[type=\"text/css\"][href=\"${url}\"]`)\n ?.length;\n\n if (url && !isAlreadyLoaded) {\n const link: HTMLLinkElement = document.createElement('link');\n\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.setAttribute('href', url);\n\n globalThis.document.head.prepend(link);\n }\n }\n }\n\n async initEnvironment(props: {\n appDefinitionId: string;\n privateAPI: IPrivateAPIFixMe;\n applicationPrivateAPI: any;\n }) {\n const { applicationPrivateAPI, privateAPI, appDefinitionId } = props;\n\n this.#applicationPrivateAPI = applicationPrivateAPI;\n this.#privateAPI = privateAPI;\n\n await EnvironmentContext.inject({\n environment: PlatformEnvironment.Frame,\n privateApi: privateAPI,\n events: this.#events,\n applicationAPIs: {\n [appDefinitionId]: this.#applicationPrivateAPI,\n },\n });\n\n await ApplicationContext.inject({\n appDefinitionId,\n appDefinitionName: '',\n });\n }\n\n notify(event: IPlatformPrivateEvent) {\n this.#eventsBridge.notify(event);\n }\n\n subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.#eventsBridge.subscribe(cb);\n }\n}\n"],"names":["BaseError","createErrorBuilder","PlatformAppEvent","PlatformLifecycleEvent","PlatformPrivateEvent","PlatformConsumerEnvironmentAPIType","PlatformAppEventEmitter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/Events/WorkerEventsBridge.ts","../../../src/PlatformEnvironmentAPI/AbstractEnvironmentAPI.ts","../../../../editor-platform-application-context/dist/esm/index.js","../../../src/PlatformEnvironmentAPI/PlatformFrameAPI/PlatformFrameAPI.ts"],"sourcesContent":["import {\n IPlatformPrivateEvent,\n PlatformLifecycleEvent,\n PlatformPrivateEvent,\n // --\n IPlatformAppEvent,\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\n/**\n * The events bridge between platform events (private) and app events\n */\nexport class WorkerEventsBridge {\n constructor(private platformAppEvents: PlatformAppEventEmitter) {}\n\n /**\n * Notify by event from Worker Manager (platform infrastructure)\n */\n public notify(event: IPlatformPrivateEvent) {\n switch (event.type) {\n case PlatformLifecycleEvent.EditorReady:\n this.platformAppEvents.notify({\n ...event,\n // @ts-expect-error TODO: fix me\n type: PlatformAppEvent.EditorReady,\n });\n break;\n case PlatformPrivateEvent.HostEvent:\n this.platformAppEvents.notify({\n ...event,\n type: PlatformAppEvent.HostEvent,\n });\n break;\n }\n }\n\n /**\n * Subscribe to Worker (Application) event\n */\n public subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.platformAppEvents.subscribe((event) => {\n cb(event);\n });\n }\n}\n","export enum PlatformConsumerEnvironmentAPIType {\n Frame = 'PLATFORM_FRAME_API',\n Worker = 'PLATFORM_WORKER_API',\n}\n\n/**\n * rename these entities -> API to Env\n */\nexport abstract class AbstractEnvironmentAPI<\n TEnv extends PlatformConsumerEnvironmentAPIType,\n> {\n /**\n * NOTE: we can't `type` declare getter within current abstract class\n * because then after transferring API between threads this getter becomes promise,\n * which is not expected\n *\n * get type() {\n * return this.env;\n * }\n */\n public abstract type: TEnv;\n\n protected constructor(protected env: TEnv) {\n this.create();\n }\n\n abstract create(): void;\n abstract initEnvironment(props: unknown): void;\n}\n","import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent, PlatformAppEventEmitter } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst createSDKHost = (props) => {\n const environmentContext = new EnvironmentContext({\n environment: props.environment,\n privateApi: props.privateAPI,\n events: props.events ?? new PlatformAppEventEmitter(),\n applicationAPIs: props.applicationPrivateAPI ? {\n [props.appDefinitionId]: props.applicationPrivateAPI\n } : {}\n });\n const applicationContext = new ApplicationContext(\n {\n appDefinitionId: props.appDefinitionId,\n appDefinitionName: \"\"\n },\n environmentContext\n );\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return {\n disconnect() {\n }\n };\n }\n },\n environmentContext,\n applicationContext\n };\n};\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth, createSDKHost };\n//# sourceMappingURL=index.js.map\n","import { IPrivateAPIFixMe } from '../../types';\n\nimport {\n IPlatformAppEvent,\n IPlatformPrivateEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\nimport { createClient } from '@wix/sdk';\n\nimport { WorkerEventsBridge } from '../../Events';\nimport {\n AbstractEnvironmentAPI,\n PlatformConsumerEnvironmentAPIType,\n} from '../AbstractEnvironmentAPI';\nimport {\n ApplicationContext,\n createSDKHost,\n auth,\n EnvironmentContext,\n PlatformEnvironment,\n} from '@wix/editor-application-context';\n\nconst DESIGN_SYSTEM_STYLES_MAP = {\n classic:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-default.global.css',\n studio:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-studio.global.css',\n};\n\nexport class PlatformFrameAPI extends AbstractEnvironmentAPI<PlatformConsumerEnvironmentAPIType.Frame> {\n public type: PlatformConsumerEnvironmentAPIType.Frame =\n PlatformConsumerEnvironmentAPIType.Frame;\n\n #events = new PlatformAppEventEmitter();\n #eventsBridge = new WorkerEventsBridge(this.#events);\n #privateAPI: IPrivateAPIFixMe;\n #applicationPrivateAPI: any;\n\n constructor() {\n super(PlatformConsumerEnvironmentAPIType.Frame);\n }\n\n create() {\n if (typeof globalThis?.document?.head?.prepend === 'function') {\n const params = new URL(globalThis.location.href).searchParams;\n\n // TODO: check all possible editorType values\n const host =\n params.get('editorType') === 'CLASSIC' ? 'classic' : 'studio';\n\n const url = DESIGN_SYSTEM_STYLES_MAP[host];\n\n const isAlreadyLoaded =\n url &&\n !!document.querySelectorAll(`link[type=\"text/css\"][href=\"${url}\"]`)\n ?.length;\n\n if (url && !isAlreadyLoaded) {\n const link: HTMLLinkElement = document.createElement('link');\n\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.setAttribute('href', url);\n\n globalThis.document.head.prepend(link);\n }\n }\n }\n\n async initEnvironment(props: {\n appDefinitionId: string;\n privateAPI: IPrivateAPIFixMe;\n applicationPrivateAPI: any;\n }) {\n const { applicationPrivateAPI, privateAPI, appDefinitionId } = props;\n\n this.#applicationPrivateAPI = applicationPrivateAPI;\n this.#privateAPI = privateAPI;\n\n await EnvironmentContext.inject({\n environment: PlatformEnvironment.Frame,\n privateApi: privateAPI,\n events: this.#events,\n applicationAPIs: {\n [appDefinitionId]: this.#applicationPrivateAPI,\n },\n });\n\n await ApplicationContext.inject({\n appDefinitionId,\n appDefinitionName: '',\n });\n\n /**\n * https://github.com/wix-private/public-sdk?tab=readme-ov-file#providing-a-contextual-wixclient\n * init wix client and its contexts,\n * so sdk shapes will be able to use these client instance our of the box\n */\n const client = createClient({\n auth: auth(appDefinitionId, privateAPI),\n host: createSDKHost({\n appDefinitionId,\n privateAPI: this.#privateAPI,\n environment: PlatformEnvironment.Frame,\n events: this.#events,\n applicationPrivateAPI: this.#applicationPrivateAPI,\n }),\n });\n\n client.enableContext('global');\n }\n\n notify(event: IPlatformPrivateEvent) {\n this.#eventsBridge.notify(event);\n }\n\n subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.#eventsBridge.subscribe(cb);\n }\n}\n"],"names":["PlatformLifecycleEvent","PlatformAppEvent","PlatformPrivateEvent","PlatformConsumerEnvironmentAPIType","BaseError","createErrorBuilder","PlatformAppEventEmitter","createClient"],"mappings":"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"}
|
|
@@ -1,11 +1,58 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('@wix/editor-platform-transport'), require('@wix/public-editor-platform-events'), require('@wix/public-editor-platform-errors'), require('@wix/public-editor-platform-interfaces')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['@wix/editor-platform-transport', '@wix/public-editor-platform-events', '@wix/public-editor-platform-errors', '@wix/public-editor-platform-interfaces'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.editorPlatformTransport, global.publicEditorPlatformEvents, global.publicEditorPlatformErrors, global.publicEditorPlatformInterfaces));
|
|
5
|
-
})(this, (function (editorPlatformTransport, publicEditorPlatformEvents, publicEditorPlatformErrors, publicEditorPlatformInterfaces) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('@wix/editor-platform-transport'), require('@wix/public-editor-platform-events'), require('@wix/sdk'), require('@wix/public-editor-platform-errors'), require('@wix/public-editor-platform-interfaces')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['@wix/editor-platform-transport', '@wix/public-editor-platform-events', '@wix/sdk', '@wix/public-editor-platform-errors', '@wix/public-editor-platform-interfaces'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.editorPlatformTransport, global.publicEditorPlatformEvents, global.sdk, global.publicEditorPlatformErrors, global.publicEditorPlatformInterfaces));
|
|
5
|
+
})(this, (function (editorPlatformTransport, publicEditorPlatformEvents, sdk, publicEditorPlatformErrors, publicEditorPlatformInterfaces) { 'use strict';
|
|
6
|
+
|
|
7
|
+
class WorkerEventsBridge {
|
|
8
|
+
constructor(platformAppEvents) {
|
|
9
|
+
this.platformAppEvents = platformAppEvents;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Notify by event from Worker Manager (platform infrastructure)
|
|
13
|
+
*/
|
|
14
|
+
notify(event) {
|
|
15
|
+
switch (event.type) {
|
|
16
|
+
case publicEditorPlatformEvents.PlatformLifecycleEvent.EditorReady:
|
|
17
|
+
this.platformAppEvents.notify({
|
|
18
|
+
...event,
|
|
19
|
+
// @ts-expect-error TODO: fix me
|
|
20
|
+
type: publicEditorPlatformEvents.PlatformAppEvent.EditorReady
|
|
21
|
+
});
|
|
22
|
+
break;
|
|
23
|
+
case publicEditorPlatformEvents.PlatformPrivateEvent.HostEvent:
|
|
24
|
+
this.platformAppEvents.notify({
|
|
25
|
+
...event,
|
|
26
|
+
type: publicEditorPlatformEvents.PlatformAppEvent.HostEvent
|
|
27
|
+
});
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Subscribe to Worker (Application) event
|
|
33
|
+
*/
|
|
34
|
+
subscribe(cb) {
|
|
35
|
+
this.platformAppEvents.subscribe((event) => {
|
|
36
|
+
cb(event);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var PlatformConsumerEnvironmentAPIType = /* @__PURE__ */ ((PlatformConsumerEnvironmentAPIType2) => {
|
|
42
|
+
PlatformConsumerEnvironmentAPIType2["Frame"] = "PLATFORM_FRAME_API";
|
|
43
|
+
PlatformConsumerEnvironmentAPIType2["Worker"] = "PLATFORM_WORKER_API";
|
|
44
|
+
return PlatformConsumerEnvironmentAPIType2;
|
|
45
|
+
})(PlatformConsumerEnvironmentAPIType || {});
|
|
46
|
+
class AbstractEnvironmentAPI {
|
|
47
|
+
constructor(env) {
|
|
48
|
+
this.env = env;
|
|
49
|
+
this.create();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
6
52
|
|
|
7
53
|
var EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {
|
|
8
54
|
EditorPlatformApplicationContextErrorCode2["IncorrectEnvironment"] = "IncorrectEnvironment";
|
|
55
|
+
EditorPlatformApplicationContextErrorCode2["ClientAuthError"] = "ClientAuthError";
|
|
9
56
|
return EditorPlatformApplicationContextErrorCode2;
|
|
10
57
|
})(EditorPlatformApplicationContextErrorCode || {});
|
|
11
58
|
class EditorPlatformApplicationContextError extends publicEditorPlatformErrors.BaseError {
|
|
@@ -168,6 +215,7 @@
|
|
|
168
215
|
var PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {
|
|
169
216
|
PlatformEnvironment2["Worker"] = "Worker";
|
|
170
217
|
PlatformEnvironment2["Frame"] = "Frame";
|
|
218
|
+
PlatformEnvironment2["ComponentPanel"] = "ComponentPanel";
|
|
171
219
|
return PlatformEnvironment2;
|
|
172
220
|
})(PlatformEnvironment || {});
|
|
173
221
|
class EnvironmentContext {
|
|
@@ -272,52 +320,59 @@
|
|
|
272
320
|
return this.environment.getApplicationAPIs()[appDefinitionId];
|
|
273
321
|
}
|
|
274
322
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
323
|
+
const createSDKHost = (props) => {
|
|
324
|
+
const environmentContext = new EnvironmentContext({
|
|
325
|
+
environment: props.environment,
|
|
326
|
+
privateApi: props.privateAPI,
|
|
327
|
+
events: props.events ?? new publicEditorPlatformEvents.PlatformAppEventEmitter(),
|
|
328
|
+
applicationAPIs: props.applicationPrivateAPI ? {
|
|
329
|
+
[props.appDefinitionId]: props.applicationPrivateAPI
|
|
330
|
+
} : {}
|
|
331
|
+
});
|
|
332
|
+
const applicationContext = new ApplicationContext(
|
|
333
|
+
{
|
|
334
|
+
appDefinitionId: props.appDefinitionId,
|
|
335
|
+
appDefinitionName: ""
|
|
336
|
+
},
|
|
337
|
+
environmentContext
|
|
338
|
+
);
|
|
339
|
+
return {
|
|
340
|
+
environment: {},
|
|
341
|
+
channel: {
|
|
342
|
+
observeState: async () => {
|
|
343
|
+
return {
|
|
344
|
+
disconnect() {
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
environmentContext,
|
|
350
|
+
applicationContext
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
const auth = (appDefinitionId, privateAPI) => {
|
|
354
|
+
return {
|
|
355
|
+
getAuthHeaders: async () => {
|
|
356
|
+
if (!appDefinitionId) {
|
|
357
|
+
throw createEditorPlatformApplicationContextError(
|
|
358
|
+
EditorPlatformApplicationContextErrorCode.ClientAuthError
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);
|
|
362
|
+
if (authInstance === void 0) {
|
|
363
|
+
throw createEditorPlatformApplicationContextError(
|
|
364
|
+
EditorPlatformApplicationContextErrorCode.ClientAuthError,
|
|
365
|
+
"empty auth instance"
|
|
366
|
+
).withAppDefinitionId(appDefinitionId);
|
|
367
|
+
}
|
|
368
|
+
return {
|
|
369
|
+
headers: {
|
|
370
|
+
Authorization: authInstance
|
|
371
|
+
}
|
|
372
|
+
};
|
|
298
373
|
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
* Subscribe to Worker (Application) event
|
|
302
|
-
*/
|
|
303
|
-
subscribe(cb) {
|
|
304
|
-
this.platformAppEvents.subscribe((event) => {
|
|
305
|
-
cb(event);
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
var PlatformConsumerEnvironmentAPIType = /* @__PURE__ */ ((PlatformConsumerEnvironmentAPIType2) => {
|
|
311
|
-
PlatformConsumerEnvironmentAPIType2["Frame"] = "PLATFORM_FRAME_API";
|
|
312
|
-
PlatformConsumerEnvironmentAPIType2["Worker"] = "PLATFORM_WORKER_API";
|
|
313
|
-
return PlatformConsumerEnvironmentAPIType2;
|
|
314
|
-
})(PlatformConsumerEnvironmentAPIType || {});
|
|
315
|
-
class AbstractEnvironmentAPI {
|
|
316
|
-
constructor(env) {
|
|
317
|
-
this.env = env;
|
|
318
|
-
this.create();
|
|
319
|
-
}
|
|
320
|
-
}
|
|
374
|
+
};
|
|
375
|
+
};
|
|
321
376
|
|
|
322
377
|
var EditorPlatformApplicationErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationErrorCode2) => {
|
|
323
378
|
EditorPlatformApplicationErrorCode2["ApplicationRuntimeError"] = "ApplicationRuntimeError";
|
|
@@ -329,6 +384,7 @@
|
|
|
329
384
|
EditorPlatformApplicationErrorCode2["UndefinedApiMethod"] = "UndefinedApiMethod";
|
|
330
385
|
EditorPlatformApplicationErrorCode2["ApplicationIsNotMutable"] = "ApplicationIsNotMutable";
|
|
331
386
|
EditorPlatformApplicationErrorCode2["FailedToGetPrivateAPI"] = "FailedToGetPrivateAPI";
|
|
387
|
+
EditorPlatformApplicationErrorCode2["ClientAuthError"] = "ClientAuthError";
|
|
332
388
|
return EditorPlatformApplicationErrorCode2;
|
|
333
389
|
})(EditorPlatformApplicationErrorCode || {});
|
|
334
390
|
class EditorPlatformApplicationError extends publicEditorPlatformErrors.BaseError {
|
|
@@ -356,8 +412,9 @@
|
|
|
356
412
|
const createEditorPlatformApplicationError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformApplicationError);
|
|
357
413
|
|
|
358
414
|
const APPLICATION_REGISTRY_KEY = "__APPLICATION_REGISTRY_KEY";
|
|
359
|
-
async function executeApplication(events, spec, bundle) {
|
|
415
|
+
async function executeApplication(events, client, spec, bundle) {
|
|
360
416
|
const executable = new Function(
|
|
417
|
+
"$wixContext",
|
|
361
418
|
APPLICATION_CONTEXT_KEY,
|
|
362
419
|
APPLICATION_REGISTRY_KEY,
|
|
363
420
|
bundle
|
|
@@ -381,7 +438,7 @@
|
|
|
381
438
|
try {
|
|
382
439
|
const context = { ...spec };
|
|
383
440
|
executable.call(
|
|
384
|
-
|
|
441
|
+
{ client },
|
|
385
442
|
new ApplicationContext(context, await EnvironmentContext.getInstance()),
|
|
386
443
|
applicationRegistryCallback
|
|
387
444
|
);
|
|
@@ -423,15 +480,18 @@
|
|
|
423
480
|
}
|
|
424
481
|
|
|
425
482
|
class PlatformApplicationContainer {
|
|
483
|
+
#apps = {};
|
|
484
|
+
#privateAPI;
|
|
485
|
+
#events;
|
|
426
486
|
constructor(privateApi, events) {
|
|
427
|
-
this
|
|
428
|
-
this
|
|
429
|
-
this
|
|
487
|
+
this.#privateAPI = privateApi;
|
|
488
|
+
this.#events = events;
|
|
489
|
+
this.#events.subscribe((event) => {
|
|
430
490
|
switch (event.type) {
|
|
431
491
|
case publicEditorPlatformEvents.PlatformAppEvent.HostEvent: {
|
|
432
492
|
if (event.payload.type === publicEditorPlatformInterfaces.EventType.removeAppCompleted) {
|
|
433
|
-
this
|
|
434
|
-
this
|
|
493
|
+
void this.#events.withEvent(
|
|
494
|
+
this.#events.factories.createApplicationRemovedEvent(
|
|
435
495
|
event.payload.appDefinitionId
|
|
436
496
|
),
|
|
437
497
|
() => {
|
|
@@ -444,7 +504,6 @@
|
|
|
444
504
|
}
|
|
445
505
|
});
|
|
446
506
|
}
|
|
447
|
-
apps = {};
|
|
448
507
|
async runApplication(app) {
|
|
449
508
|
const bundle = await this.loadApplication(app);
|
|
450
509
|
const instance = await this.executeApplication(app, bundle);
|
|
@@ -452,32 +511,32 @@
|
|
|
452
511
|
return instance;
|
|
453
512
|
}
|
|
454
513
|
setApplication(appDefId, instance) {
|
|
455
|
-
this
|
|
456
|
-
this
|
|
457
|
-
this
|
|
514
|
+
this.#apps[appDefId] = instance;
|
|
515
|
+
void this.#events.withEvent(
|
|
516
|
+
this.#events.factories.createApplicationApiInitEvent(
|
|
458
517
|
appDefId,
|
|
459
518
|
// TODO: both types are set here...
|
|
460
519
|
// @ts-expect-error TODO: fix me
|
|
461
520
|
instance?.api?.private ? "private" : "public"
|
|
462
521
|
),
|
|
463
522
|
() => {
|
|
464
|
-
this.
|
|
523
|
+
this.#privateAPI.applicationManager.setApplication(instance);
|
|
465
524
|
}
|
|
466
525
|
);
|
|
467
526
|
}
|
|
468
527
|
getApplication(appDefId) {
|
|
469
|
-
return this
|
|
528
|
+
return this.#apps[appDefId];
|
|
470
529
|
}
|
|
471
530
|
getAppDefinitionIds() {
|
|
472
|
-
return Object.keys(this
|
|
531
|
+
return Object.keys(this.#apps);
|
|
473
532
|
}
|
|
474
533
|
removeApplication(appDefinitionId) {
|
|
475
|
-
delete this
|
|
534
|
+
delete this.#apps[appDefinitionId];
|
|
476
535
|
}
|
|
477
536
|
async loadApplication(app) {
|
|
478
537
|
const url = app.url;
|
|
479
|
-
return this
|
|
480
|
-
this
|
|
538
|
+
return this.#events.withEvent(
|
|
539
|
+
this.#events.factories.createApplicationLoadEvent(app, url),
|
|
481
540
|
async () => {
|
|
482
541
|
try {
|
|
483
542
|
return await this.loadApplicationBundle(url);
|
|
@@ -502,14 +561,32 @@
|
|
|
502
561
|
return res.text();
|
|
503
562
|
}
|
|
504
563
|
async executeApplication(app, bundle) {
|
|
505
|
-
return this
|
|
506
|
-
this
|
|
564
|
+
return this.#events.withEvent(
|
|
565
|
+
this.#events.factories.createApplicationExecuteEvent(app, app.url),
|
|
507
566
|
async () => {
|
|
508
|
-
const
|
|
567
|
+
const client = this.#createWixClient(app.appDefinitionId);
|
|
568
|
+
const { instance } = await executeApplication(
|
|
569
|
+
this.#events,
|
|
570
|
+
client,
|
|
571
|
+
app,
|
|
572
|
+
bundle
|
|
573
|
+
);
|
|
509
574
|
return instance;
|
|
510
575
|
}
|
|
511
576
|
);
|
|
512
577
|
}
|
|
578
|
+
#createWixClient(appDefinitionId) {
|
|
579
|
+
return sdk.createClient({
|
|
580
|
+
auth: auth(appDefinitionId, this.#privateAPI),
|
|
581
|
+
host: createSDKHost({
|
|
582
|
+
appDefinitionId,
|
|
583
|
+
privateAPI: this.#privateAPI,
|
|
584
|
+
environment: PlatformEnvironment.Worker,
|
|
585
|
+
events: this.#events,
|
|
586
|
+
applicationPrivateAPI: {}
|
|
587
|
+
})
|
|
588
|
+
});
|
|
589
|
+
}
|
|
513
590
|
}
|
|
514
591
|
|
|
515
592
|
class PlatformWorkerAPI extends AbstractEnvironmentAPI {
|