@next-core/runtime 1.55.5 → 1.56.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/ModalStack.js +33 -0
- package/dist/cjs/ModalStack.js.map +1 -0
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Renderer.js +58 -42
- package/dist/cjs/internal/Renderer.js.map +1 -1
- package/dist/cjs/internal/compute/listenOnTrackingContext.js +23 -0
- package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
- package/dist/esm/ModalStack.js +28 -0
- package/dist/esm/ModalStack.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Renderer.js +61 -44
- package/dist/esm/internal/Renderer.js.map +1 -1
- package/dist/esm/internal/compute/listenOnTrackingContext.js +22 -0
- package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
- package/dist/types/ModalStack.d.ts +5 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/internal/Renderer.d.ts +4 -3
- package/dist/types/internal/compute/listenOnTrackingContext.d.ts +6 -1
- package/package.json +2 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.instantiateModalStack = instantiateModalStack;
|
|
7
|
+
const stack = [];
|
|
8
|
+
function instantiateModalStack(initialIndex = 1000) {
|
|
9
|
+
let index = -1;
|
|
10
|
+
const pull = () => {
|
|
11
|
+
if (index > -1) {
|
|
12
|
+
const found = stack.indexOf(index);
|
|
13
|
+
// Assert: found should always be greater than -1
|
|
14
|
+
// istanbul ignore else
|
|
15
|
+
if (found > -1) {
|
|
16
|
+
stack.splice(found, 1);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const push = () => {
|
|
21
|
+
// Handle pushes without pull
|
|
22
|
+
pull();
|
|
23
|
+
// Find the next available index
|
|
24
|
+
index = (stack[stack.length - 1] ?? -1) + 1;
|
|
25
|
+
stack.push(index);
|
|
26
|
+
return index + initialIndex;
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
push,
|
|
30
|
+
pull
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ModalStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalStack.js","names":["stack","instantiateModalStack","initialIndex","index","pull","found","indexOf","splice","push","length"],"sources":["../../src/ModalStack.ts"],"sourcesContent":["const stack: number[] = [];\n\nexport interface ModalStack {\n push: () => number;\n pull: () => void;\n}\n\nexport function instantiateModalStack(initialIndex = 1000): ModalStack {\n let index = -1;\n const pull = (): void => {\n if (index > -1) {\n const found = stack.indexOf(index);\n // Assert: found should always be greater than -1\n // istanbul ignore else\n if (found > -1) {\n stack.splice(found, 1);\n }\n }\n };\n const push = (): number => {\n // Handle pushes without pull\n pull();\n // Find the next available index\n index = (stack[stack.length - 1] ?? -1) + 1;\n stack.push(index);\n return index + initialIndex;\n };\n return { push, pull };\n}\n"],"mappings":";;;;;;AAAA,MAAMA,KAAe,GAAG,EAAE;AAOnB,SAASC,qBAAqBA,CAACC,YAAY,GAAG,IAAI,EAAc;EACrE,IAAIC,KAAK,GAAG,CAAC,CAAC;EACd,MAAMC,IAAI,GAAGA,CAAA,KAAY;IACvB,IAAID,KAAK,GAAG,CAAC,CAAC,EAAE;MACd,MAAME,KAAK,GAAGL,KAAK,CAACM,OAAO,CAACH,KAAK,CAAC;MAClC;MACA;MACA,IAAIE,KAAK,GAAG,CAAC,CAAC,EAAE;QACdL,KAAK,CAACO,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MACxB;IACF;EACF,CAAC;EACD,MAAMG,IAAI,GAAGA,CAAA,KAAc;IACzB;IACAJ,IAAI,CAAC,CAAC;IACN;IACAD,KAAK,GAAG,CAACH,KAAK,CAACA,KAAK,CAACS,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAC3CT,KAAK,CAACQ,IAAI,CAACL,KAAK,CAAC;IACjB,OAAOA,KAAK,GAAGD,YAAY;EAC7B,CAAC;EACD,OAAO;IAAEM,IAAI;IAAEJ;EAAK,CAAC;AACvB","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -284,4 +284,16 @@ Object.keys(_getV2RuntimeFromDll).forEach(function (key) {
|
|
|
284
284
|
});
|
|
285
285
|
});
|
|
286
286
|
var _setUIVersion = require("./setUIVersion.js");
|
|
287
|
+
var _ModalStack = require("./ModalStack.js");
|
|
288
|
+
Object.keys(_ModalStack).forEach(function (key) {
|
|
289
|
+
if (key === "default" || key === "__esModule") return;
|
|
290
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
291
|
+
if (key in exports && exports[key] === _ModalStack[key]) return;
|
|
292
|
+
Object.defineProperty(exports, key, {
|
|
293
|
+
enumerable: true,
|
|
294
|
+
get: function () {
|
|
295
|
+
return _ModalStack[key];
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
});
|
|
287
299
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_auth","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_CustomEditors","_CustomProcessors","_CustomTemplates","_fetchByProvider","_getBasePath","_getPageInfo","_handleHttpError","_history","_createRoot","_getRealValue","_Runtime","__secret_internals","_interopRequireWildcard","_test_only","_themeAndMode","_checkIf","_WidgetFunctions","_WidgetI18n","_StoryboardFunctionRegistry","_matchPath","_Notification","_Dialog","_getV2RuntimeFromDll","_setUIVersion"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_auth","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_CustomEditors","_CustomProcessors","_CustomTemplates","_fetchByProvider","_getBasePath","_getPageInfo","_handleHttpError","_history","_createRoot","_getRealValue","_Runtime","__secret_internals","_interopRequireWildcard","_test_only","_themeAndMode","_checkIf","_WidgetFunctions","_WidgetI18n","_StoryboardFunctionRegistry","_matchPath","_Notification","_Dialog","_getV2RuntimeFromDll","_setUIVersion","_ModalStack"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomEditors.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport * from \"./createRoot.js\";\nexport * from \"./getRealValue.js\";\nexport {\n createRuntime,\n getRuntime,\n type RuntimeOptions,\n type RuntimeHooks,\n type RuntimeHooksMenuHelpers,\n type ImagesFactory,\n type PageViewInfo,\n} from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport { __test_only } from \"./internal/test_only.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath, type MatchOptions } from \"./internal/matchPath.js\";\nexport { Notification, type NotificationOptions } from \"./Notification.js\";\nexport { Dialog, type DialogOptions } from \"./Dialog.js\";\nexport * from \"./getV2RuntimeFromDll.js\";\nexport { setUIVersion } from \"./setUIVersion.js\";\nexport * from \"./ModalStack.js\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,7 +38,7 @@ var _bindListeners = require("./bindListeners.js");
|
|
|
38
38
|
var _setupRootRuntimeContext = require("./setupRootRuntimeContext.js");
|
|
39
39
|
var _routeMatchedMap = require("./routeMatchedMap.js");
|
|
40
40
|
var _ErrorNode = require("./ErrorNode.js");
|
|
41
|
-
async function renderRoutes(returnNode, routes, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, isIncremental) {
|
|
41
|
+
async function renderRoutes(returnNode, routes, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, isIncremental, initialTracker) {
|
|
42
42
|
const matched = await (0, _matchRoutes.matchRoutes)(routes, _runtimeContext);
|
|
43
43
|
const output = getEmptyRenderOutput();
|
|
44
44
|
const menuRequestNode = output.menuRequestNode = {
|
|
@@ -106,9 +106,9 @@ async function renderRoutes(returnNode, routes, _runtimeContext, rendererContext
|
|
|
106
106
|
}
|
|
107
107
|
let newOutput;
|
|
108
108
|
if (route.type === "routes") {
|
|
109
|
-
newOutput = await renderRoutes(returnNode, route.routes, runtimeContext, rendererContext, routePath, menuRequestNode, slotId);
|
|
109
|
+
newOutput = await renderRoutes(returnNode, route.routes, runtimeContext, rendererContext, routePath, menuRequestNode, slotId, undefined, initialTracker);
|
|
110
110
|
} else {
|
|
111
|
-
newOutput = await renderBricks(returnNode, route.bricks, runtimeContext, rendererContext, routePath, menuRequestNode, slotId);
|
|
111
|
+
newOutput = await renderBricks(returnNode, route.bricks, runtimeContext, rendererContext, routePath, menuRequestNode, slotId, undefined, undefined, initialTracker);
|
|
112
112
|
}
|
|
113
113
|
mergeRenderOutput(output, newOutput);
|
|
114
114
|
appendMenuRequestNode(menuRequestNode, newOutput.menuRequestNode);
|
|
@@ -117,12 +117,12 @@ async function renderRoutes(returnNode, routes, _runtimeContext, rendererContext
|
|
|
117
117
|
}
|
|
118
118
|
return output;
|
|
119
119
|
}
|
|
120
|
-
async function renderBricks(returnNode, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath) {
|
|
120
|
+
async function renderBricks(returnNode, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath, initialTracker) {
|
|
121
121
|
(0, _setupRootRuntimeContext.setupRootRuntimeContext)(bricks, runtimeContext, true);
|
|
122
122
|
const output = getEmptyRenderOutput();
|
|
123
123
|
const kPath = keyPath ?? [];
|
|
124
124
|
// 多个构件并行异步转换,但转换的结果按原顺序串行合并。
|
|
125
|
-
const rendered = await Promise.all(bricks.map((brickConf, index) => renderBrick(returnNode, brickConf, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, kPath.concat(index), tplStack && new Map(tplStack))));
|
|
125
|
+
const rendered = await Promise.all(bricks.map((brickConf, index) => renderBrick(returnNode, brickConf, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, kPath.concat(index), tplStack && new Map(tplStack), initialTracker)));
|
|
126
126
|
rendered.forEach((item, index) => {
|
|
127
127
|
if (item.hasTrackingControls) {
|
|
128
128
|
// Memoize a render node before it's been merged.
|
|
@@ -132,9 +132,9 @@ async function renderBricks(returnNode, bricks, runtimeContext, rendererContext,
|
|
|
132
132
|
});
|
|
133
133
|
return output;
|
|
134
134
|
}
|
|
135
|
-
async function renderBrick(returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath = [], tplStack = new Map()) {
|
|
135
|
+
async function renderBrick(returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath = [], tplStack = new Map(), initialTracker) {
|
|
136
136
|
try {
|
|
137
|
-
return await legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack);
|
|
137
|
+
return await legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack, initialTracker);
|
|
138
138
|
} catch (error) {
|
|
139
139
|
if (brickConf.errorBoundary) {
|
|
140
140
|
// eslint-disable-next-line no-console
|
|
@@ -148,7 +148,7 @@ async function renderBrick(returnNode, brickConf, _runtimeContext, rendererConte
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
-
async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack) {
|
|
151
|
+
async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack, initialTracker) {
|
|
152
152
|
var _hooks$checkPermissio2, _runtimeContext$app;
|
|
153
153
|
const output = getEmptyRenderOutput();
|
|
154
154
|
if (!brickConf.brick) {
|
|
@@ -186,7 +186,7 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
186
186
|
...acc,
|
|
187
187
|
[symbol]: brickConf[symbol]
|
|
188
188
|
}), {})
|
|
189
|
-
}, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack);
|
|
189
|
+
}, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack, initialTracker);
|
|
190
190
|
}
|
|
191
191
|
const tplStateStoreId = brickConf[_constants.symbolForTplStateStoreId];
|
|
192
192
|
const formStateStoreId = brickConf[_constants2.symbolForFormStateStoreId];
|
|
@@ -226,27 +226,16 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
226
226
|
contextNames,
|
|
227
227
|
stateNames
|
|
228
228
|
} = (0, _getTracks.getTracks)(dataSource);
|
|
229
|
-
|
|
230
|
-
const initialDisposes = [];
|
|
231
|
-
const initialChangeListener = () => {
|
|
232
|
-
changedAfterInitial = true;
|
|
233
|
-
};
|
|
234
|
-
const lowerLevelRenderControlNode = async (runtimeContext, isInitial) => {
|
|
229
|
+
const lowerLevelRenderControlNode = async (runtimeContext, tracker, trackDataSource) => {
|
|
235
230
|
var _slots$slot;
|
|
236
231
|
// First, compute the `dataSource`
|
|
237
232
|
const computedDataSource = await (0, _computeRealValue.asyncComputeRealValue)(dataSource, runtimeContext);
|
|
238
|
-
if (
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
if (stateNames) {
|
|
245
|
-
for (const contextName of stateNames) {
|
|
246
|
-
const tplStateStore = (0, _utils.getTplStateStore)(runtimeContext, "STATE", `: "${dataSource}"`);
|
|
247
|
-
initialDisposes.push(tplStateStore.onChange(contextName, initialChangeListener));
|
|
248
|
-
}
|
|
249
|
-
}
|
|
233
|
+
if (trackDataSource) {
|
|
234
|
+
(0, _listenOnTrackingContext.trackAfterInitial)(runtimeContext, [{
|
|
235
|
+
contextNames,
|
|
236
|
+
stateNames,
|
|
237
|
+
propValue: dataSource
|
|
238
|
+
}], tracker);
|
|
250
239
|
}
|
|
251
240
|
|
|
252
241
|
// Then, get the matched slot.
|
|
@@ -266,28 +255,52 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
266
255
|
if (!Array.isArray(computedDataSource)) {
|
|
267
256
|
return getEmptyRenderOutput();
|
|
268
257
|
}
|
|
269
|
-
return renderForEach(returnNode, computedDataSource, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath);
|
|
258
|
+
return renderForEach(returnNode, computedDataSource, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath, tracker);
|
|
270
259
|
}
|
|
271
260
|
case ":if":
|
|
272
261
|
case ":switch":
|
|
273
262
|
{
|
|
274
|
-
return renderBricks(returnNode, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath);
|
|
263
|
+
return renderBricks(returnNode, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath, tracker);
|
|
275
264
|
}
|
|
276
265
|
}
|
|
277
266
|
};
|
|
278
|
-
const renderControlNode = async (runtimeContext,
|
|
279
|
-
|
|
280
|
-
|
|
267
|
+
const renderControlNode = async (runtimeContext, type) => {
|
|
268
|
+
var _ref;
|
|
269
|
+
let changedAfterInitial = false;
|
|
270
|
+
const tracker = {
|
|
271
|
+
disposes: [],
|
|
272
|
+
listener: () => {
|
|
273
|
+
changedAfterInitial = true;
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
let rerenderCount = 0;
|
|
277
|
+
let rawOutput;
|
|
278
|
+
let uninitialized = true;
|
|
279
|
+
|
|
280
|
+
// When perform an incremental sub-route render, for control nodes,
|
|
281
|
+
// context maybe changed just after their data source being computed,
|
|
282
|
+
// as well as props of their children bricks being computed, and before
|
|
283
|
+
// bricks being mounted. Thus these changes may not take any effects.
|
|
284
|
+
// So we need to track the context changes after the initial render,
|
|
285
|
+
// and perform re-renders for these control nodes if necessary.
|
|
286
|
+
while (uninitialized || changedAfterInitial) {
|
|
287
|
+
changedAfterInitial = false;
|
|
288
|
+
rawOutput = await lowerLevelRenderControlNode(runtimeContext, tracker, uninitialized && type === "initial");
|
|
289
|
+
tracker.disposes.forEach(dispose => dispose());
|
|
290
|
+
tracker.disposes.length = 0;
|
|
291
|
+
uninitialized = false;
|
|
292
|
+
// istanbul ignore next
|
|
293
|
+
if (++rerenderCount > 10) {
|
|
294
|
+
throw new Error(`Maximum rerender stack overflowed (iid: ${brickConf.iid})`);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
(_ref = rawOutput).node ?? (_ref.node = {
|
|
281
298
|
tag: _enums.RenderTag.PLACEHOLDER,
|
|
282
299
|
return: returnNode
|
|
283
300
|
});
|
|
284
301
|
return rawOutput;
|
|
285
302
|
};
|
|
286
|
-
|
|
287
|
-
initialDisposes.forEach(dispose => dispose());
|
|
288
|
-
if (changedAfterInitial) {
|
|
289
|
-
controlledOutput = await renderControlNode(runtimeContext);
|
|
290
|
-
}
|
|
303
|
+
const controlledOutput = await renderControlNode(runtimeContext, "initial");
|
|
291
304
|
const {
|
|
292
305
|
onMount,
|
|
293
306
|
onUnmount
|
|
@@ -298,7 +311,7 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
298
311
|
const listener = async () => {
|
|
299
312
|
const currentRenderId = ++renderId;
|
|
300
313
|
const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] = createScopedRuntimeContext(runtimeContext);
|
|
301
|
-
const reControlledOutput = await renderControlNode(scopedRuntimeContext);
|
|
314
|
+
const reControlledOutput = await renderControlNode(scopedRuntimeContext, "rerender");
|
|
302
315
|
const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];
|
|
303
316
|
await postAsyncRender(reControlledOutput, scopedRuntimeContext, scopedStores);
|
|
304
317
|
|
|
@@ -444,6 +457,9 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
444
457
|
|
|
445
458
|
// 加载构件属性和加载子构件等任务,可以并行。
|
|
446
459
|
const blockingList = [];
|
|
460
|
+
|
|
461
|
+
// Note: properties here has already been initialized.
|
|
462
|
+
(0, _listenOnTrackingContext.trackAfterInitial)(runtimeContext, trackingContextList, initialTracker);
|
|
447
463
|
const loadProperties = async () => {
|
|
448
464
|
brick.properties = await (0, _computeRealProperties.constructAsyncProperties)(asyncPropertyEntries);
|
|
449
465
|
(0, _listenOnTrackingContext.listenOnTrackingContext)(brick, trackingContextList);
|
|
@@ -480,7 +496,7 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
480
496
|
const routeSlotFromIndexToSlotId = new Map();
|
|
481
497
|
const rendered = await Promise.all(Object.entries(slots).map(([childSlotId, slotConf], index) => {
|
|
482
498
|
if (slotConf.type !== "routes") {
|
|
483
|
-
return renderBricks(brick, slotConf.bricks, childRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId, tplStack);
|
|
499
|
+
return renderBricks(brick, slotConf.bricks, childRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId, tplStack, undefined, initialTracker);
|
|
484
500
|
}
|
|
485
501
|
const parentRoute = parentRoutes[parentRoutes.length - 1];
|
|
486
502
|
if (parentRoute !== null && parentRoute !== void 0 && parentRoute.incrementalSubRoutes) {
|
|
@@ -550,7 +566,7 @@ async function legacyRenderBrick(returnNode, brickConf, _runtimeContext, rendere
|
|
|
550
566
|
return incrementalOutput.route ? true : null;
|
|
551
567
|
});
|
|
552
568
|
}
|
|
553
|
-
return renderRoutes(brick, slotConf.routes, childRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId);
|
|
569
|
+
return renderRoutes(brick, slotConf.routes, childRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId, undefined, initialTracker);
|
|
554
570
|
}));
|
|
555
571
|
const childrenOutput = {
|
|
556
572
|
...output,
|
|
@@ -589,7 +605,7 @@ function ensureValidControlBrick(brick) {
|
|
|
589
605
|
throw new Error(`Unknown storyboard control node: "${brick}"`);
|
|
590
606
|
}
|
|
591
607
|
}
|
|
592
|
-
async function renderForEach(returnNode, dataSource, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath) {
|
|
608
|
+
async function renderForEach(returnNode, dataSource, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath, initialTracker) {
|
|
593
609
|
const output = getEmptyRenderOutput();
|
|
594
610
|
const size = dataSource.length;
|
|
595
611
|
const rendered = await Promise.all(dataSource.map((item, i) => Promise.all(bricks.map((brickConf, j) => renderBrick(returnNode, brickConf, {
|
|
@@ -597,7 +613,7 @@ async function renderForEach(returnNode, dataSource, bricks, runtimeContext, ren
|
|
|
597
613
|
forEachItem: item,
|
|
598
614
|
forEachIndex: i,
|
|
599
615
|
forEachSize: size
|
|
600
|
-
}, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath.concat(i * size + j), tplStack && new Map(tplStack))))));
|
|
616
|
+
}, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath.concat(i * size + j), tplStack && new Map(tplStack), initialTracker)))));
|
|
601
617
|
|
|
602
618
|
// 多层构件并行异步转换,但转换的结果按原顺序串行合并。
|
|
603
619
|
rendered.flat().forEach((item, index) => {
|