@next-core/runtime 1.6.2 → 1.7.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/internal/bindListeners.js +10 -1
- package/dist/cjs/internal/bindListeners.js.map +1 -1
- package/dist/cjs/internal/compute/getGeneralGlobals.js +1 -1
- package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/cjs/internal/compute/images.js +18 -2
- package/dist/cjs/internal/compute/images.js.map +1 -1
- package/dist/cjs/internal/mount.js +4 -4
- package/dist/cjs/internal/mount.js.map +1 -1
- package/dist/esm/internal/bindListeners.js +9 -1
- package/dist/esm/internal/bindListeners.js.map +1 -1
- package/dist/esm/internal/compute/getGeneralGlobals.js +1 -1
- package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/esm/internal/compute/images.js +18 -2
- package/dist/esm/internal/compute/images.js.map +1 -1
- package/dist/esm/internal/mount.js +4 -4
- package/dist/esm/internal/mount.js.map +1 -1
- package/dist/types/internal/bindListeners.d.ts +2 -1
- package/dist/types/internal/compute/images.d.ts +1 -1
- package/package.json +6 -6
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.bindListeners = bindListeners;
|
|
7
7
|
exports.eventCallbackFactory = eventCallbackFactory;
|
|
8
8
|
exports.isBuiltinHandler = isBuiltinHandler;
|
|
9
|
+
exports.isConditionalEventHandler = isConditionalEventHandler;
|
|
9
10
|
exports.isCustomHandler = isCustomHandler;
|
|
10
11
|
exports.isExecuteCustomHandler = isExecuteCustomHandler;
|
|
11
12
|
exports.isSetPropsCustomHandler = isSetPropsCustomHandler;
|
|
@@ -74,6 +75,9 @@ function isExecuteCustomHandler(handler) {
|
|
|
74
75
|
function isSetPropsCustomHandler(handler) {
|
|
75
76
|
return !!handler.properties;
|
|
76
77
|
}
|
|
78
|
+
function isConditionalEventHandler(handler) {
|
|
79
|
+
return !!handler.then;
|
|
80
|
+
}
|
|
77
81
|
function listenerFactory(handlers, runtimeContext, runtimeBrick) {
|
|
78
82
|
return function (event) {
|
|
79
83
|
for (const handler of [].concat(handlers)) {
|
|
@@ -81,9 +85,14 @@ function listenerFactory(handlers, runtimeContext, runtimeBrick) {
|
|
|
81
85
|
...runtimeContext,
|
|
82
86
|
event
|
|
83
87
|
})) {
|
|
88
|
+
if (handler.else) {
|
|
89
|
+
listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);
|
|
90
|
+
}
|
|
84
91
|
continue;
|
|
85
92
|
}
|
|
86
|
-
if (
|
|
93
|
+
if (isConditionalEventHandler(handler)) {
|
|
94
|
+
listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);
|
|
95
|
+
} else if (isBuiltinHandler(handler)) {
|
|
87
96
|
const [object, method] = handler.action.split(".");
|
|
88
97
|
switch (handler.action) {
|
|
89
98
|
case "history.push":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindListeners.js","names":["_cook","require","_checkIf","_computeRealValue","_history","_getProviderBrick","_poll2","_evaluate","_setProperties","_themeAndMode","_utils","_handleHttpError","_FlowApi","_Notification","_utils2","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","runtimeBrick","event","checkIf","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","handleHttpError","detail","handleContextAction","handleTplStateAction","type","init","argsFactory","tplHostElement","getTplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","applyTheme","theme","applyMode","console","error","handleUseProviderAction","handleCustomAction","providerBrick","getProviderBrick","brickCallback","httpErrorToString","targets","rawTarget","rawTargetRef","computedTarget","isEvaluable","isPreEvaluated","computeRealValue","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","setProperties","options","_poll","task","computedArgs","getArgsOfFlowApi","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","startPoll","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","getHistory","url","features","window","open","name","value","ctxStore","updateValue","tplStateStore","getTplStateStore","formStateStore","getFormStateStore","location","assign","storage","localStorage","sessionStorage","setItem","JSON","stringify","removeItem","Notification","show","message","isArray"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { getArgsOfFlowApi } from \"./data/FlowApi.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n continue;\n }\n if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"message.subscribe\":\n // case \"message.unsubscribe\":\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (isUseProviderHandler(handler)) {\n computedArgs = await getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bindListeners.js","names":["_cook","require","_checkIf","_computeRealValue","_history","_getProviderBrick","_poll2","_evaluate","_setProperties","_themeAndMode","_utils","_handleHttpError","_FlowApi","_Notification","_utils2","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","isConditionalEventHandler","then","runtimeBrick","event","checkIf","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","handleHttpError","detail","handleContextAction","handleTplStateAction","type","init","argsFactory","tplHostElement","getTplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","applyTheme","theme","applyMode","console","error","handleUseProviderAction","handleCustomAction","providerBrick","getProviderBrick","brickCallback","httpErrorToString","targets","rawTarget","rawTargetRef","computedTarget","isEvaluable","isPreEvaluated","computeRealValue","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","setProperties","options","_poll","task","computedArgs","getArgsOfFlowApi","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","startPoll","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","getHistory","url","features","window","open","name","value","ctxStore","updateValue","tplStateStore","getTplStateStore","formStateStore","getFormStateStore","location","assign","storage","localStorage","sessionStorage","setItem","JSON","stringify","removeItem","Notification","show","message","isArray"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n ConditionalEventHandler,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { getArgsOfFlowApi } from \"./data/FlowApi.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function isConditionalEventHandler(\n handler: BrickEventHandler\n): handler is ConditionalEventHandler {\n return !!(handler as ConditionalEventHandler).then;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"message.subscribe\":\n // case \"message.unsubscribe\":\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (isUseProviderHandler(handler)) {\n computedArgs = await getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ function getIndividualGlobal(variableName, {
|
|
|
40
40
|
case "FN":
|
|
41
41
|
return storyboardFunctions;
|
|
42
42
|
case "IMG":
|
|
43
|
-
return collectCoverage ? fakeImageFactory() : widgetId ? (0, _images.widgetImagesFactory)(widgetId, widgetVersion) : (0, _images.imagesFactory)(app.id, app.isBuildPush);
|
|
43
|
+
return collectCoverage ? fakeImageFactory() : widgetId ? (0, _images.widgetImagesFactory)(widgetId, widgetVersion) : (0, _images.imagesFactory)(app.id, app.isBuildPush, app.currentVersion);
|
|
44
44
|
case "I18N":
|
|
45
45
|
return collectCoverage ? _lodash.identity : widgetId ? (0, _WidgetI18n.widgetI18nFactory)(widgetId) : _i18n.i18n.getFixedT(null, [appendI18nNamespace, (0, _registerAppI18n.getI18nNamespace)("app", app.id)].filter(Boolean));
|
|
46
46
|
case "I18N_TEXT":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGeneralGlobals.js","names":["_lodash","require","_i18n","_WidgetI18n","_images","_checkPermissions","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","getBasePath","replace","fakeImageFactory","widgetImagesFactory","imagesFactory","id","isBuildPush","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","checkPermissions","getTheme","console","href","origin","host","hostname","location","data","en","get","name"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { checkPermissions } from \"../checkPermissions.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? widgetImagesFactory(widgetId, widgetVersion)\n : imagesFactory(app!.id
|
|
1
|
+
{"version":3,"file":"getGeneralGlobals.js","names":["_lodash","require","_i18n","_WidgetI18n","_images","_checkPermissions","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","getBasePath","replace","fakeImageFactory","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","checkPermissions","getTheme","console","href","origin","host","hostname","location","data","en","get","name"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { checkPermissions } from \"../checkPermissions.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? widgetImagesFactory(widgetId, widgetVersion)\n : imagesFactory(\n app!.id,\n app!.isBuildPush,\n (app as { currentVersion?: string }).currentVersion\n );\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage ? fakeCheckPermissions : checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":"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"}
|
|
@@ -5,10 +5,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.imagesFactory = imagesFactory;
|
|
7
7
|
exports.widgetImagesFactory = widgetImagesFactory;
|
|
8
|
-
|
|
8
|
+
var _lodash = require("lodash");
|
|
9
|
+
var _getBasePath = require("../../getBasePath.js");
|
|
10
|
+
function imagesFactory(appId, isBuildPush, version) {
|
|
9
11
|
return {
|
|
10
12
|
get(name) {
|
|
11
|
-
|
|
13
|
+
if (isBuildPush) {
|
|
14
|
+
return `${(0, _getBasePath.getBasePath)()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/next-builder/object/${name}`;
|
|
15
|
+
}
|
|
16
|
+
let suffix = window.APP_ROOT ? `${window.APP_ROOT}-/` : "";
|
|
17
|
+
|
|
18
|
+
// In injecting menus, the current app ID maybe not the same as the
|
|
19
|
+
// target app of the icon, try to replace the app ID as well as its
|
|
20
|
+
// version in the suffix.
|
|
21
|
+
if (window.APP_ID && window.APP_ID !== appId) {
|
|
22
|
+
suffix = suffix.replace(new RegExp(`(^|/)${(0, _lodash.escapeRegExp)(window.APP_ID)}/`), `$1${appId}/`).replace(/\/\d+\.\d+\.\d+\//, `/${version}/`);
|
|
23
|
+
}
|
|
24
|
+
if (!suffix.startsWith("/")) {
|
|
25
|
+
suffix = (0, _getBasePath.getBasePath)() + suffix;
|
|
26
|
+
}
|
|
27
|
+
return `${suffix}micro-apps/${appId}/images/${name}`;
|
|
12
28
|
}
|
|
13
29
|
};
|
|
14
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","names":["imagesFactory","appId","isBuildPush","get","name","window","APP_ROOT","widgetImagesFactory","widgetId","widgetVersion","_window$PUBLIC_ROOT","PUBLIC_ROOT","PUBLIC_ROOT_WITH_VERSION"],"sources":["../../../../src/internal/compute/images.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"images.js","names":["_lodash","require","_getBasePath","imagesFactory","appId","isBuildPush","version","get","name","getBasePath","suffix","window","APP_ROOT","APP_ID","replace","RegExp","escapeRegExp","startsWith","widgetImagesFactory","widgetId","widgetVersion","_window$PUBLIC_ROOT","PUBLIC_ROOT","PUBLIC_ROOT_WITH_VERSION"],"sources":["../../../../src/internal/compute/images.ts"],"sourcesContent":["import { escapeRegExp } from \"lodash\";\nimport { getBasePath } from \"../../getBasePath.js\";\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport function imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n): ImagesFactory {\n return {\n get(name) {\n if (isBuildPush) {\n return `${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/next-builder/object/${name}`;\n }\n\n let suffix = window.APP_ROOT ? `${window.APP_ROOT}-/` : \"\";\n\n // In injecting menus, the current app ID maybe not the same as the\n // target app of the icon, try to replace the app ID as well as its\n // version in the suffix.\n if (window.APP_ID && window.APP_ID !== appId) {\n suffix = suffix\n .replace(\n new RegExp(`(^|/)${escapeRegExp(window.APP_ID)}/`),\n `$1${appId}/`\n )\n .replace(/\\/\\d+\\.\\d+\\.\\d+\\//, `/${version}/`);\n }\n if (!suffix.startsWith(\"/\")) {\n suffix = getBasePath() + suffix;\n }\n return `${suffix}micro-apps/${appId}/images/${name}`;\n },\n };\n}\n\nexport function widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n): ImagesFactory {\n return {\n get(name) {\n return `${window.PUBLIC_ROOT ?? \"\"}bricks/${widgetId}/${\n window.PUBLIC_ROOT_WITH_VERSION && widgetVersion\n ? `${widgetVersion}/`\n : \"\"\n }dist/assets/${name}`;\n },\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMO,SAASE,aAAaA,CAC3BC,KAAa,EACbC,WAAqB,EACrBC,OAAgB,EACD;EACf,OAAO;IACLC,GAAGA,CAACC,IAAI,EAAE;MACR,IAAIH,WAAW,EAAE;QACf,OAAQ,GAAE,IAAAI,wBAAW,GAAG,iGAAgGD,IAAK,EAAC;MAChI;MAEA,IAAIE,MAAM,GAAGC,MAAM,CAACC,QAAQ,GAAI,GAAED,MAAM,CAACC,QAAS,IAAG,GAAG,EAAE;;MAE1D;MACA;MACA;MACA,IAAID,MAAM,CAACE,MAAM,IAAIF,MAAM,CAACE,MAAM,KAAKT,KAAK,EAAE;QAC5CM,MAAM,GAAGA,MAAM,CACZI,OAAO,CACN,IAAIC,MAAM,CAAE,QAAO,IAAAC,oBAAY,EAACL,MAAM,CAACE,MAAM,CAAE,GAAE,CAAC,EACjD,KAAIT,KAAM,GAAE,CACd,CACAU,OAAO,CAAC,mBAAmB,EAAG,IAAGR,OAAQ,GAAE,CAAC;MACjD;MACA,IAAI,CAACI,MAAM,CAACO,UAAU,CAAC,GAAG,CAAC,EAAE;QAC3BP,MAAM,GAAG,IAAAD,wBAAW,GAAE,GAAGC,MAAM;MACjC;MACA,OAAQ,GAAEA,MAAO,cAAaN,KAAM,WAAUI,IAAK,EAAC;IACtD;EACF,CAAC;AACH;AAEO,SAASU,mBAAmBA,CACjCC,QAAgB,EAChBC,aAAsB,EACP;EACf,OAAO;IACLb,GAAGA,CAACC,IAAI,EAAE;MAAA,IAAAa,mBAAA;MACR,OAAQ,IAAAA,mBAAA,GAAEV,MAAM,CAACW,WAAW,cAAAD,mBAAA,cAAAA,mBAAA,GAAI,EAAG,UAASF,QAAS,IACnDR,MAAM,CAACY,wBAAwB,IAAIH,aAAa,GAC3C,GAAEA,aAAc,GAAE,GACnB,EACL,eAAcZ,IAAK,EAAC;IACvB;EACF,CAAC;AACH"}
|
|
@@ -68,16 +68,16 @@ function mountTree(root, initializedElement) {
|
|
|
68
68
|
if (currentReturn.tag === _enums.RenderTag.ROOT) {
|
|
69
69
|
var _currentReturn$contai;
|
|
70
70
|
(_currentReturn$contai = currentReturn.container) === null || _currentReturn$contai === void 0 ? void 0 : _currentReturn$contai.append(...currentReturn.childElements);
|
|
71
|
-
if (portalElements.length > 0) {
|
|
72
|
-
const portal = typeof currentReturn.createPortal === "function" ? currentReturn.createPortal() : currentReturn.createPortal;
|
|
73
|
-
portal.append(...portalElements);
|
|
74
|
-
}
|
|
75
71
|
} else {
|
|
76
72
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
77
73
|
currentReturn.element.append(...currentReturn.childElements);
|
|
78
74
|
}
|
|
79
75
|
currentReturn.childElements = undefined;
|
|
80
76
|
}
|
|
77
|
+
if (currentReturn.tag === _enums.RenderTag.ROOT && portalElements.length > 0) {
|
|
78
|
+
const portal = typeof currentReturn.createPortal === "function" ? currentReturn.createPortal() : currentReturn.createPortal;
|
|
79
|
+
portal.append(...portalElements);
|
|
80
|
+
}
|
|
81
81
|
if (currentReturn.sibling) {
|
|
82
82
|
break;
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","names":["_bindTemplateProxy","require","_utils","_bindListeners","_setRealProperties","_enums","unmountTree","mountPoint","innerHTML","mountTree","root","initializedElement","current","child","portalElements","tagName","type","includes","customElements","get","console","error","warn","element","document","createElement","slotId","setAttribute","iid","dataset","setRealProperties","properties","bindListeners","events","runtimeContext","tplHostMetadata","$$tplStateStore","getTplStateStore","tplStateStoreId","tplStateStoreMap","bindTemplateProxy","portal","push","return","childElements","sibling","_currentReturn","currentReturn","tag","RenderTag","ROOT","_currentReturn$contai","container","append","
|
|
1
|
+
{"version":3,"file":"mount.js","names":["_bindTemplateProxy","require","_utils","_bindListeners","_setRealProperties","_enums","unmountTree","mountPoint","innerHTML","mountTree","root","initializedElement","current","child","portalElements","tagName","type","includes","customElements","get","console","error","warn","element","document","createElement","slotId","setAttribute","iid","dataset","setRealProperties","properties","bindListeners","events","runtimeContext","tplHostMetadata","$$tplStateStore","getTplStateStore","tplStateStoreId","tplStateStoreMap","bindTemplateProxy","portal","push","return","childElements","sibling","_currentReturn","currentReturn","tag","RenderTag","ROOT","_currentReturn$contai","container","append","undefined","length","createPortal"],"sources":["../../../src/internal/mount.ts"],"sourcesContent":["import { bindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { bindListeners } from \"./bindListeners.js\";\nimport { setRealProperties } from \"./compute/setRealProperties.js\";\nimport { RenderTag } from \"./enums.js\";\nimport type {\n RenderNode,\n RenderRoot,\n RuntimeBrickElement,\n} from \"./interfaces.js\";\n\nexport function unmountTree(mountPoint: HTMLElement) {\n mountPoint.innerHTML = \"\";\n}\n\nexport function mountTree(\n root: RenderRoot,\n initializedElement?: RuntimeBrickElement\n): void {\n let current = root.child;\n const portalElements: RuntimeBrickElement[] = [];\n while (current) {\n const tagName = current.type;\n\n if (tagName.includes(\"-\") && !customElements.get(tagName)) {\n // eslint-disable-next-line no-console\n console.error(`Undefined custom element: ${tagName}`);\n }\n\n // istanbul ignore if\n if (tagName === \"basic-bricks.script-brick\") {\n // eslint-disable-next-line no-console\n console.warn(\n \"`basic-bricks.script-brick` is deprecated, please take caution when using it\"\n );\n }\n\n const element: RuntimeBrickElement =\n initializedElement && current === root.child\n ? initializedElement\n : document.createElement(tagName);\n current.element = element;\n\n if (current.slotId) {\n element.setAttribute(\"slot\", current.slotId);\n }\n if (current.iid) {\n element.dataset.iid = current.iid;\n }\n setRealProperties(element, current.properties);\n bindListeners(element, current.events, current.runtimeContext);\n if (current.tplHostMetadata) {\n // 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n element.$$tplStateStore = getTplStateStore(\n {\n tplStateStoreId: current.tplHostMetadata.tplStateStoreId,\n tplStateStoreMap: current.runtimeContext.tplStateStoreMap,\n },\n \"mount\"\n );\n }\n bindTemplateProxy(current);\n\n if (current.portal) {\n portalElements.push(element);\n } else if (current.return) {\n if (!current.return.childElements) {\n current.return.childElements = [];\n }\n current.return.childElements.push(element);\n }\n\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderNode | null | undefined = current.return;\n while (currentReturn) {\n // Append elements inside out\n if (currentReturn.childElements) {\n if (currentReturn.tag === RenderTag.ROOT) {\n currentReturn.container?.append(...currentReturn.childElements);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n currentReturn.element!.append(...currentReturn.childElements);\n }\n currentReturn.childElements = undefined;\n }\n\n if (currentReturn.tag === RenderTag.ROOT && portalElements.length > 0) {\n const portal =\n typeof currentReturn.createPortal === \"function\"\n ? currentReturn.createPortal()\n : currentReturn.createPortal;\n portal.append(...portalElements);\n }\n\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = currentReturn?.sibling;\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -63,15 +63,23 @@ export function isExecuteCustomHandler(handler) {
|
|
|
63
63
|
export function isSetPropsCustomHandler(handler) {
|
|
64
64
|
return !!handler.properties;
|
|
65
65
|
}
|
|
66
|
+
export function isConditionalEventHandler(handler) {
|
|
67
|
+
return !!handler.then;
|
|
68
|
+
}
|
|
66
69
|
export function listenerFactory(handlers, runtimeContext, runtimeBrick) {
|
|
67
70
|
return function (event) {
|
|
68
71
|
for (var handler of [].concat(handlers)) {
|
|
69
72
|
if (!checkIf(handler, _objectSpread(_objectSpread({}, runtimeContext), {}, {
|
|
70
73
|
event
|
|
71
74
|
}))) {
|
|
75
|
+
if (handler.else) {
|
|
76
|
+
listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);
|
|
77
|
+
}
|
|
72
78
|
continue;
|
|
73
79
|
}
|
|
74
|
-
if (
|
|
80
|
+
if (isConditionalEventHandler(handler)) {
|
|
81
|
+
listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);
|
|
82
|
+
} else if (isBuiltinHandler(handler)) {
|
|
75
83
|
var [object, method] = handler.action.split(".");
|
|
76
84
|
switch (handler.action) {
|
|
77
85
|
case "history.push":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindListeners.js","names":["isEvaluable","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","httpErrorToString","getArgsOfFlowApi","Notification","getFormStateStore","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","runtimeBrick","event","_objectSpread","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","detail","handleContextAction","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","theme","console","error","handleUseProviderAction","handleCustomAction","_x","_x2","_x3","_x4","_handleUseProviderAction","apply","arguments","_asyncToGenerator","providerBrick","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","_x5","_x6","_x7","_x8","_x9","_x10","_x11","_brickCallback","options","_poll","task","_ref2","computedArgs","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","name","value","ctxStore","updateValue","tplStateStore","formStateStore","location","assign","storage","localStorage","sessionStorage","setItem","JSON","stringify","removeItem","show","message","isArray"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { getArgsOfFlowApi } from \"./data/FlowApi.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n continue;\n }\n if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"message.subscribe\":\n // case \"message.unsubscribe\":\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (isUseProviderHandler(handler)) {\n computedArgs = await getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bindListeners.js","names":["isEvaluable","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","httpErrorToString","getArgsOfFlowApi","Notification","getFormStateStore","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","isConditionalEventHandler","then","runtimeBrick","event","_objectSpread","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","detail","handleContextAction","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","theme","console","error","handleUseProviderAction","handleCustomAction","_x","_x2","_x3","_x4","_handleUseProviderAction","apply","arguments","_asyncToGenerator","providerBrick","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","_x5","_x6","_x7","_x8","_x9","_x10","_x11","_brickCallback","options","_poll","task","_ref2","computedArgs","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","name","value","ctxStore","updateValue","tplStateStore","formStateStore","location","assign","storage","localStorage","sessionStorage","setItem","JSON","stringify","removeItem","show","message","isArray"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n ConditionalEventHandler,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { getArgsOfFlowApi } from \"./data/FlowApi.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function isConditionalEventHandler(\n handler: BrickEventHandler\n): handler is ConditionalEventHandler {\n return !!(handler as ConditionalEventHandler).then;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"message.subscribe\":\n // case \"message.unsubscribe\":\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (isUseProviderHandler(handler)) {\n computedArgs = await getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ function getIndividualGlobal(variableName, _ref) {
|
|
|
35
35
|
case "FN":
|
|
36
36
|
return storyboardFunctions;
|
|
37
37
|
case "IMG":
|
|
38
|
-
return collectCoverage ? fakeImageFactory() : widgetId ? widgetImagesFactory(widgetId, widgetVersion) : imagesFactory(app.id, app.isBuildPush);
|
|
38
|
+
return collectCoverage ? fakeImageFactory() : widgetId ? widgetImagesFactory(widgetId, widgetVersion) : imagesFactory(app.id, app.isBuildPush, app.currentVersion);
|
|
39
39
|
case "I18N":
|
|
40
40
|
return collectCoverage ? identity : widgetId ? widgetI18nFactory(widgetId) : i18n.getFixedT(null, [appendI18nNamespace, getI18nNamespace("app", app.id)].filter(Boolean));
|
|
41
41
|
case "I18N_TEXT":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGeneralGlobals.js","names":["identity","i18n","i18nText","widgetI18nFactory","imagesFactory","widgetImagesFactory","checkPermissions","getReadOnlyProxy","getTheme","getBasePath","getI18nNamespace","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","_ref","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","replace","fakeImageFactory","id","isBuildPush","getFixedT","filter","Boolean","fakeI18nText","check","fakeCheckPermissions","console","href","origin","host","hostname","location","data","en","get","name","concat"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { checkPermissions } from \"../checkPermissions.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? widgetImagesFactory(widgetId, widgetVersion)\n : imagesFactory(app!.id
|
|
1
|
+
{"version":3,"file":"getGeneralGlobals.js","names":["identity","i18n","i18nText","widgetI18nFactory","imagesFactory","widgetImagesFactory","checkPermissions","getReadOnlyProxy","getTheme","getBasePath","getI18nNamespace","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","_ref","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","replace","fakeImageFactory","id","isBuildPush","currentVersion","getFixedT","filter","Boolean","fakeI18nText","check","fakeCheckPermissions","console","href","origin","host","hostname","location","data","en","get","name","concat"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { checkPermissions } from \"../checkPermissions.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? widgetImagesFactory(widgetId, widgetVersion)\n : imagesFactory(\n app!.id,\n app!.isBuildPush,\n (app as { currentVersion?: string }).currentVersion\n );\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage ? fakeCheckPermissions : checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
import { escapeRegExp } from "lodash";
|
|
2
|
+
import { getBasePath } from "../../getBasePath.js";
|
|
3
|
+
export function imagesFactory(appId, isBuildPush, version) {
|
|
2
4
|
return {
|
|
3
5
|
get(name) {
|
|
4
|
-
|
|
6
|
+
if (isBuildPush) {
|
|
7
|
+
return "".concat(getBasePath(), "api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/next-builder/object/").concat(name);
|
|
8
|
+
}
|
|
9
|
+
var suffix = window.APP_ROOT ? "".concat(window.APP_ROOT, "-/") : "";
|
|
10
|
+
|
|
11
|
+
// In injecting menus, the current app ID maybe not the same as the
|
|
12
|
+
// target app of the icon, try to replace the app ID as well as its
|
|
13
|
+
// version in the suffix.
|
|
14
|
+
if (window.APP_ID && window.APP_ID !== appId) {
|
|
15
|
+
suffix = suffix.replace(new RegExp("(^|/)".concat(escapeRegExp(window.APP_ID), "/")), "$1".concat(appId, "/")).replace(/\/\d+\.\d+\.\d+\//, "/".concat(version, "/"));
|
|
16
|
+
}
|
|
17
|
+
if (!suffix.startsWith("/")) {
|
|
18
|
+
suffix = getBasePath() + suffix;
|
|
19
|
+
}
|
|
20
|
+
return "".concat(suffix, "micro-apps/").concat(appId, "/images/").concat(name);
|
|
5
21
|
}
|
|
6
22
|
};
|
|
7
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","names":["imagesFactory","appId","isBuildPush","get","name","concat","window","APP_ROOT","widgetImagesFactory","widgetId","widgetVersion","_window$PUBLIC_ROOT","PUBLIC_ROOT","PUBLIC_ROOT_WITH_VERSION"],"sources":["../../../../src/internal/compute/images.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"images.js","names":["escapeRegExp","getBasePath","imagesFactory","appId","isBuildPush","version","get","name","concat","suffix","window","APP_ROOT","APP_ID","replace","RegExp","startsWith","widgetImagesFactory","widgetId","widgetVersion","_window$PUBLIC_ROOT","PUBLIC_ROOT","PUBLIC_ROOT_WITH_VERSION"],"sources":["../../../../src/internal/compute/images.ts"],"sourcesContent":["import { escapeRegExp } from \"lodash\";\nimport { getBasePath } from \"../../getBasePath.js\";\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport function imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n): ImagesFactory {\n return {\n get(name) {\n if (isBuildPush) {\n return `${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/next-builder/object/${name}`;\n }\n\n let suffix = window.APP_ROOT ? `${window.APP_ROOT}-/` : \"\";\n\n // In injecting menus, the current app ID maybe not the same as the\n // target app of the icon, try to replace the app ID as well as its\n // version in the suffix.\n if (window.APP_ID && window.APP_ID !== appId) {\n suffix = suffix\n .replace(\n new RegExp(`(^|/)${escapeRegExp(window.APP_ID)}/`),\n `$1${appId}/`\n )\n .replace(/\\/\\d+\\.\\d+\\.\\d+\\//, `/${version}/`);\n }\n if (!suffix.startsWith(\"/\")) {\n suffix = getBasePath() + suffix;\n }\n return `${suffix}micro-apps/${appId}/images/${name}`;\n },\n };\n}\n\nexport function widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n): ImagesFactory {\n return {\n get(name) {\n return `${window.PUBLIC_ROOT ?? \"\"}bricks/${widgetId}/${\n window.PUBLIC_ROOT_WITH_VERSION && widgetVersion\n ? `${widgetVersion}/`\n : \"\"\n }dist/assets/${name}`;\n },\n };\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,QAAQ;AACrC,SAASC,WAAW,QAAQ,sBAAsB;AAMlD,OAAO,SAASC,aAAaA,CAC3BC,KAAa,EACbC,WAAqB,EACrBC,OAAgB,EACD;EACf,OAAO;IACLC,GAAGA,CAACC,IAAI,EAAE;MACR,IAAIH,WAAW,EAAE;QACf,UAAAI,MAAA,CAAUP,WAAW,EAAE,oGAAAO,MAAA,CAAiGD,IAAI;MAC9H;MAEA,IAAIE,MAAM,GAAGC,MAAM,CAACC,QAAQ,MAAAH,MAAA,CAAME,MAAM,CAACC,QAAQ,UAAO,EAAE;;MAE1D;MACA;MACA;MACA,IAAID,MAAM,CAACE,MAAM,IAAIF,MAAM,CAACE,MAAM,KAAKT,KAAK,EAAE;QAC5CM,MAAM,GAAGA,MAAM,CACZI,OAAO,CACN,IAAIC,MAAM,SAAAN,MAAA,CAASR,YAAY,CAACU,MAAM,CAACE,MAAM,CAAC,OAAI,OAAAJ,MAAA,CAC7CL,KAAK,OACX,CACAU,OAAO,CAAC,mBAAmB,MAAAL,MAAA,CAAMH,OAAO,OAAI;MACjD;MACA,IAAI,CAACI,MAAM,CAACM,UAAU,CAAC,GAAG,CAAC,EAAE;QAC3BN,MAAM,GAAGR,WAAW,EAAE,GAAGQ,MAAM;MACjC;MACA,UAAAD,MAAA,CAAUC,MAAM,iBAAAD,MAAA,CAAcL,KAAK,cAAAK,MAAA,CAAWD,IAAI;IACpD;EACF,CAAC;AACH;AAEA,OAAO,SAASS,mBAAmBA,CACjCC,QAAgB,EAChBC,aAAsB,EACP;EACf,OAAO;IACLZ,GAAGA,CAACC,IAAI,EAAE;MAAA,IAAAY,mBAAA;MACR,UAAAX,MAAA,EAAAW,mBAAA,GAAUT,MAAM,CAACU,WAAW,cAAAD,mBAAA,cAAAA,mBAAA,GAAI,EAAE,aAAAX,MAAA,CAAUS,QAAQ,OAAAT,MAAA,CAClDE,MAAM,CAACW,wBAAwB,IAAIH,aAAa,MAAAV,MAAA,CACzCU,aAAa,SAChB,EAAE,kBAAAV,MAAA,CACOD,IAAI;IACrB;EACF,CAAC;AACH"}
|
|
@@ -61,16 +61,16 @@ export function mountTree(root, initializedElement) {
|
|
|
61
61
|
if (currentReturn.tag === RenderTag.ROOT) {
|
|
62
62
|
var _currentReturn$contai;
|
|
63
63
|
(_currentReturn$contai = currentReturn.container) === null || _currentReturn$contai === void 0 ? void 0 : _currentReturn$contai.append(...currentReturn.childElements);
|
|
64
|
-
if (portalElements.length > 0) {
|
|
65
|
-
var portal = typeof currentReturn.createPortal === "function" ? currentReturn.createPortal() : currentReturn.createPortal;
|
|
66
|
-
portal.append(...portalElements);
|
|
67
|
-
}
|
|
68
64
|
} else {
|
|
69
65
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
70
66
|
currentReturn.element.append(...currentReturn.childElements);
|
|
71
67
|
}
|
|
72
68
|
currentReturn.childElements = undefined;
|
|
73
69
|
}
|
|
70
|
+
if (currentReturn.tag === RenderTag.ROOT && portalElements.length > 0) {
|
|
71
|
+
var portal = typeof currentReturn.createPortal === "function" ? currentReturn.createPortal() : currentReturn.createPortal;
|
|
72
|
+
portal.append(...portalElements);
|
|
73
|
+
}
|
|
74
74
|
if (currentReturn.sibling) {
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","names":["bindTemplateProxy","getTplStateStore","bindListeners","setRealProperties","RenderTag","unmountTree","mountPoint","innerHTML","mountTree","root","initializedElement","current","child","portalElements","tagName","type","includes","customElements","get","console","error","concat","warn","element","document","createElement","slotId","setAttribute","iid","dataset","properties","events","runtimeContext","tplHostMetadata","$$tplStateStore","tplStateStoreId","tplStateStoreMap","portal","push","return","childElements","sibling","_currentReturn","currentReturn","tag","ROOT","_currentReturn$contai","container","append","
|
|
1
|
+
{"version":3,"file":"mount.js","names":["bindTemplateProxy","getTplStateStore","bindListeners","setRealProperties","RenderTag","unmountTree","mountPoint","innerHTML","mountTree","root","initializedElement","current","child","portalElements","tagName","type","includes","customElements","get","console","error","concat","warn","element","document","createElement","slotId","setAttribute","iid","dataset","properties","events","runtimeContext","tplHostMetadata","$$tplStateStore","tplStateStoreId","tplStateStoreMap","portal","push","return","childElements","sibling","_currentReturn","currentReturn","tag","ROOT","_currentReturn$contai","container","append","undefined","length","createPortal"],"sources":["../../../src/internal/mount.ts"],"sourcesContent":["import { bindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { bindListeners } from \"./bindListeners.js\";\nimport { setRealProperties } from \"./compute/setRealProperties.js\";\nimport { RenderTag } from \"./enums.js\";\nimport type {\n RenderNode,\n RenderRoot,\n RuntimeBrickElement,\n} from \"./interfaces.js\";\n\nexport function unmountTree(mountPoint: HTMLElement) {\n mountPoint.innerHTML = \"\";\n}\n\nexport function mountTree(\n root: RenderRoot,\n initializedElement?: RuntimeBrickElement\n): void {\n let current = root.child;\n const portalElements: RuntimeBrickElement[] = [];\n while (current) {\n const tagName = current.type;\n\n if (tagName.includes(\"-\") && !customElements.get(tagName)) {\n // eslint-disable-next-line no-console\n console.error(`Undefined custom element: ${tagName}`);\n }\n\n // istanbul ignore if\n if (tagName === \"basic-bricks.script-brick\") {\n // eslint-disable-next-line no-console\n console.warn(\n \"`basic-bricks.script-brick` is deprecated, please take caution when using it\"\n );\n }\n\n const element: RuntimeBrickElement =\n initializedElement && current === root.child\n ? initializedElement\n : document.createElement(tagName);\n current.element = element;\n\n if (current.slotId) {\n element.setAttribute(\"slot\", current.slotId);\n }\n if (current.iid) {\n element.dataset.iid = current.iid;\n }\n setRealProperties(element, current.properties);\n bindListeners(element, current.events, current.runtimeContext);\n if (current.tplHostMetadata) {\n // 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n element.$$tplStateStore = getTplStateStore(\n {\n tplStateStoreId: current.tplHostMetadata.tplStateStoreId,\n tplStateStoreMap: current.runtimeContext.tplStateStoreMap,\n },\n \"mount\"\n );\n }\n bindTemplateProxy(current);\n\n if (current.portal) {\n portalElements.push(element);\n } else if (current.return) {\n if (!current.return.childElements) {\n current.return.childElements = [];\n }\n current.return.childElements.push(element);\n }\n\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderNode | null | undefined = current.return;\n while (currentReturn) {\n // Append elements inside out\n if (currentReturn.childElements) {\n if (currentReturn.tag === RenderTag.ROOT) {\n currentReturn.container?.append(...currentReturn.childElements);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n currentReturn.element!.append(...currentReturn.childElements);\n }\n currentReturn.childElements = undefined;\n }\n\n if (currentReturn.tag === RenderTag.ROOT && portalElements.length > 0) {\n const portal =\n typeof currentReturn.createPortal === \"function\"\n ? currentReturn.createPortal()\n : currentReturn.createPortal;\n portal.append(...portalElements);\n }\n\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = currentReturn?.sibling;\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BrickEventHandler, BrickEventHandlerCallback, BrickEventsMap, BuiltinBrickEventHandler, CustomBrickEventHandler, ExecuteCustomBrickEventHandler, SetPropsCustomBrickEventHandler, UseProviderEventHandler } from "@next-core/types";
|
|
1
|
+
import type { BrickEventHandler, BrickEventHandlerCallback, BrickEventsMap, BuiltinBrickEventHandler, CustomBrickEventHandler, ExecuteCustomBrickEventHandler, SetPropsCustomBrickEventHandler, UseProviderEventHandler, ConditionalEventHandler } from "@next-core/types";
|
|
2
2
|
import type { ElementHolder, RuntimeBrickElement, RuntimeContext } from "./interfaces.js";
|
|
3
3
|
export declare function bindListeners(brick: RuntimeBrickElement, eventsMap: BrickEventsMap | undefined, runtimeContext: RuntimeContext): void;
|
|
4
4
|
export declare function unbindListeners(brick: RuntimeBrickElement): void;
|
|
@@ -7,5 +7,6 @@ export declare function isUseProviderHandler(handler: BrickEventHandler): handle
|
|
|
7
7
|
export declare function isCustomHandler(handler: BrickEventHandler): handler is CustomBrickEventHandler;
|
|
8
8
|
export declare function isExecuteCustomHandler(handler: CustomBrickEventHandler): handler is ExecuteCustomBrickEventHandler;
|
|
9
9
|
export declare function isSetPropsCustomHandler(handler: CustomBrickEventHandler): handler is SetPropsCustomBrickEventHandler;
|
|
10
|
+
export declare function isConditionalEventHandler(handler: BrickEventHandler): handler is ConditionalEventHandler;
|
|
10
11
|
export declare function listenerFactory(handlers: BrickEventHandler | BrickEventHandler[], runtimeContext: RuntimeContext, runtimeBrick?: ElementHolder): (event: Event) => void;
|
|
11
12
|
export declare function eventCallbackFactory(callback: BrickEventHandlerCallback, runtimeContext: RuntimeContext, runtimeBrick?: ElementHolder): (type: "success" | "error" | "finally" | "progress") => (result?: unknown) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export interface ImagesFactory {
|
|
2
2
|
get(name: string): string;
|
|
3
3
|
}
|
|
4
|
-
export declare function imagesFactory(appId: string, isBuildPush?: boolean): ImagesFactory;
|
|
4
|
+
export declare function imagesFactory(appId: string, isBuildPush?: boolean, version?: string): ImagesFactory;
|
|
5
5
|
export declare function widgetImagesFactory(widgetId: string, widgetVersion?: string): ImagesFactory;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"@next-api-sdk/micro-app-standalone-sdk": "^1.1.0",
|
|
50
50
|
"@next-core/cook": "^2.1.1",
|
|
51
51
|
"@next-core/http": "^1.0.5",
|
|
52
|
-
"@next-core/i18n": "^1.0.
|
|
53
|
-
"@next-core/inject": "^1.0.
|
|
52
|
+
"@next-core/i18n": "^1.0.14",
|
|
53
|
+
"@next-core/inject": "^1.0.10",
|
|
54
54
|
"@next-core/loader": "^1.3.1",
|
|
55
55
|
"@next-core/supply": "^2.0.5",
|
|
56
|
-
"@next-core/types": "^1.
|
|
57
|
-
"@next-core/utils": "^1.4.
|
|
56
|
+
"@next-core/types": "^1.2.0",
|
|
57
|
+
"@next-core/utils": "^1.4.2",
|
|
58
58
|
"@ungap/event-target": "^0.2.3",
|
|
59
59
|
"compare-versions": "^5.0.3",
|
|
60
60
|
"history": "^4.10.1",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"@next-core/build-next-libs": "^1.0.4",
|
|
68
68
|
"@next-core/test-next": "^1.0.5"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "f151622a3ca86547040b81faca053c74a82f598f"
|
|
71
71
|
}
|