@next-core/brick-kit 2.154.18 → 2.155.1
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/index.bundle.js +248 -85
- package/dist/index.bundle.js.map +1 -1
- package/dist/index.esm.js +249 -86
- package/dist/index.esm.js.map +1 -1
- package/dist/types/BrickAsComponent.d.ts.map +1 -1
- package/dist/types/internal/evaluate.d.ts +4 -8
- package/dist/types/internal/evaluate.d.ts.map +1 -1
- package/dist/types/internal/setProperties.d.ts.map +1 -1
- package/dist/types/transformProperties.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import _asyncToGenerator$3 from '@babel/runtime/helpers/asyncToGenerator';
|
|
5
5
|
import _defineProperty$1 from '@babel/runtime/helpers/defineProperty';
|
|
6
|
-
import React, { useState, useEffect, useRef, forwardRef, useImperativeHandle,
|
|
6
|
+
import React, { useState, useEffect, useRef, useCallback, useMemo, forwardRef, useImperativeHandle, useContext, createContext, useReducer } from 'react';
|
|
7
7
|
import { JsonStorage, toPath, computeRealRoutePath, hasOwnProperty, isObject, isEvaluable, transformAndInject, transform, trackContext, trackState, scanPermissionActionsInStoryboard, precookFunction, cook, resolveContextConcurrently, syncResolveContextConcurrently, trackUsedState, trackUsedContext, shouldAllowRecursiveEvaluations, preevaluate, inject, matchPath, deepFreeze, createProviderClass, removeDeadConditionsInTpl, getTemplateDepsOfStoryboard, getDllAndDepsOfStoryboard, asyncProcessStoryboard, getDllAndDepsByResource, scanRouteAliasInStoryboard, prefetchScript, scanBricksInBrickConf, scanProcessorsInAny, loadScript, scanAppGetMenuInAny, asyncProcessBrick, scanInstalledAppsInStoryboard, removeDeadConditions, restoreDynamicTemplates, scanStoryboard, mapCustomApisToNameAndNamespace } from '@next-core/brick-utils';
|
|
8
8
|
import _, { set, get, difference, identity, uniqueId, cloneDeep, clamp, isNil, isEmpty, sortBy, orderBy, merge, isObject as isObject$1, uniq, pick, omit, findLastIndex, noop, isString as isString$1 } from 'lodash';
|
|
9
9
|
import { http, HttpResponseError, HttpAbortError, HttpFetchError } from '@next-core/brick-http';
|
|
@@ -995,9 +995,10 @@ function doTransform(data, to, options) {
|
|
|
995
995
|
Object.entries(to).map(_ref => {
|
|
996
996
|
var [k, v] = _ref;
|
|
997
997
|
|
|
998
|
-
if (Array.isArray(options === null || options === void 0 ? void 0 : options.trackingContextList) && isEvaluable(v)) {
|
|
999
|
-
var
|
|
1000
|
-
var
|
|
998
|
+
if (Array.isArray(options === null || options === void 0 ? void 0 : options.trackingContextList) && (typeof v === "string" ? isEvaluable(v) : isPreEvaluated(v))) {
|
|
999
|
+
var raw = typeof v === "string" ? v : getPreEvaluatedRaw(v);
|
|
1000
|
+
var contextNames = trackContext(raw);
|
|
1001
|
+
var stateNames = trackState(raw);
|
|
1001
1002
|
|
|
1002
1003
|
if (contextNames || stateNames) {
|
|
1003
1004
|
options.trackingContextList.push({
|
|
@@ -2371,6 +2372,9 @@ var symbolForContext = Symbol.for("pre.evaluated.context");
|
|
|
2371
2372
|
function isPreEvaluated(raw) {
|
|
2372
2373
|
return !!(raw !== null && raw !== void 0 && raw[symbolForRaw]);
|
|
2373
2374
|
}
|
|
2375
|
+
function getPreEvaluatedRaw(pre) {
|
|
2376
|
+
return pre[symbolForRaw];
|
|
2377
|
+
}
|
|
2374
2378
|
function shouldDismissRecursiveMarkingInjected(raw) {
|
|
2375
2379
|
if (typeof raw === "string") {
|
|
2376
2380
|
return shouldAllowRecursiveEvaluations(raw);
|
|
@@ -2504,18 +2508,29 @@ function evaluate(raw) {
|
|
|
2504
2508
|
});
|
|
2505
2509
|
}
|
|
2506
2510
|
|
|
2511
|
+
var internalContext = _internalApiGetCurrentContext();
|
|
2512
|
+
|
|
2513
|
+
var mergedContext = {}; // Use runtime context over internal context.
|
|
2514
|
+
// Internal context such as `match`, maybe change after `history.push`.
|
|
2515
|
+
// So we prefer memoized runtime context.
|
|
2516
|
+
|
|
2517
|
+
for (var key of ["query", "match", "hash", "pathname", "app", "segues"]) {
|
|
2518
|
+
mergedContext[key] = (hasOwnProperty(runtimeContext, key) ? runtimeContext : internalContext)[key];
|
|
2519
|
+
}
|
|
2520
|
+
|
|
2507
2521
|
var {
|
|
2508
2522
|
app: currentApp,
|
|
2509
2523
|
query,
|
|
2510
2524
|
match,
|
|
2511
|
-
sys,
|
|
2512
|
-
flags,
|
|
2513
2525
|
hash,
|
|
2514
2526
|
pathname,
|
|
2515
|
-
segues
|
|
2527
|
+
segues
|
|
2528
|
+
} = mergedContext;
|
|
2529
|
+
var {
|
|
2530
|
+
sys,
|
|
2531
|
+
flags,
|
|
2516
2532
|
storyboardContext
|
|
2517
|
-
} =
|
|
2518
|
-
|
|
2533
|
+
} = internalContext;
|
|
2519
2534
|
var app = (_runtimeContext$overr = runtimeContext.overrideApp) !== null && _runtimeContext$overr !== void 0 ? _runtimeContext$overr : currentApp;
|
|
2520
2535
|
|
|
2521
2536
|
function getIndividualGlobal(variableName) {
|
|
@@ -2962,11 +2977,22 @@ var computeRealValue = (value, context, injectDeep, internalOptions) => {
|
|
|
2962
2977
|
|
|
2963
2978
|
if (preEvaluated || isEvaluable(value)) {
|
|
2964
2979
|
var runtimeContext = {};
|
|
2965
|
-
var keys = ["event", "tplContextId", "overrideApp", "appendI18nNamespace", "formContextId"];
|
|
2966
2980
|
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2981
|
+
if (context) {
|
|
2982
|
+
var keys = ["event", "tplContextId", "overrideApp", "appendI18nNamespace", "formContextId", "query", "match", "app", "segues"];
|
|
2983
|
+
|
|
2984
|
+
for (var key of keys) {
|
|
2985
|
+
if (context[key]) {
|
|
2986
|
+
runtimeContext[key] = context[key];
|
|
2987
|
+
}
|
|
2988
|
+
}
|
|
2989
|
+
|
|
2990
|
+
var simpleKeys = ["hash", "pathname"];
|
|
2991
|
+
|
|
2992
|
+
for (var _key of simpleKeys) {
|
|
2993
|
+
if (hasOwnProperty(context, _key)) {
|
|
2994
|
+
runtimeContext[_key] = context[_key];
|
|
2995
|
+
}
|
|
2970
2996
|
}
|
|
2971
2997
|
} // The current runtime context is memoized even if the evaluation maybe lazy.
|
|
2972
2998
|
|
|
@@ -3055,9 +3081,10 @@ function computeRealProperties(properties, context, injectDeep, trackingContextL
|
|
|
3055
3081
|
}
|
|
3056
3082
|
}
|
|
3057
3083
|
|
|
3058
|
-
if (Array.isArray(trackingContextList) && isEvaluable(propValue)) {
|
|
3059
|
-
var
|
|
3060
|
-
var
|
|
3084
|
+
if (Array.isArray(trackingContextList) && (typeof propValue === "string" ? isEvaluable(propValue) : isPreEvaluated(propValue))) {
|
|
3085
|
+
var raw = typeof propValue === "string" ? propValue : getPreEvaluatedRaw(propValue);
|
|
3086
|
+
var contextNames = trackContext(raw);
|
|
3087
|
+
var stateNames = trackState(raw);
|
|
3061
3088
|
|
|
3062
3089
|
if (contextNames || stateNames) {
|
|
3063
3090
|
trackingContextList.push({
|
|
@@ -13064,7 +13091,7 @@ var getCurrentRunTimeBrick = (useBrick, tplTagName, data) => {
|
|
|
13064
13091
|
|
|
13065
13092
|
|
|
13066
13093
|
var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsComponent(_ref) {
|
|
13067
|
-
var _internalApiGetCurren, _templateRef$current$, _templateRef$
|
|
13094
|
+
var _internalApiGetCurren, _templateRef$current$, _templateRef$current2;
|
|
13068
13095
|
|
|
13069
13096
|
var {
|
|
13070
13097
|
useBrick,
|
|
@@ -13072,6 +13099,9 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
|
|
|
13072
13099
|
refCallback,
|
|
13073
13100
|
immediatelyRefCallback
|
|
13074
13101
|
} = _ref;
|
|
13102
|
+
var firstRunRef = useRef(true);
|
|
13103
|
+
var innerRefCallbackRef = useRef();
|
|
13104
|
+
var elementRef = useRef();
|
|
13075
13105
|
var templateRef = useRef();
|
|
13076
13106
|
var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
|
|
13077
13107
|
var isBrickAvailable = React.useMemo(() => {
|
|
@@ -13126,10 +13156,60 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
|
|
|
13126
13156
|
}
|
|
13127
13157
|
|
|
13128
13158
|
return brick;
|
|
13129
|
-
}), [useBrick, data, isBrickAvailable]);
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
13159
|
+
}), [useBrick, data, isBrickAvailable, tplTagName]);
|
|
13160
|
+
|
|
13161
|
+
var dispatchLifeCycleEvent = /*#__PURE__*/function () {
|
|
13162
|
+
var _ref4 = _asyncToGenerator$3(function* (event, handlers, brick) {
|
|
13163
|
+
for (var handler of [].concat(handlers)) {
|
|
13164
|
+
listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
|
|
13165
|
+
tplContextId: useBrick[symbolForTplContextId]
|
|
13166
|
+
}), brick)(event);
|
|
13167
|
+
}
|
|
13168
|
+
});
|
|
13169
|
+
|
|
13170
|
+
return function dispatchLifeCycleEvent(_x, _x2, _x3) {
|
|
13171
|
+
return _ref4.apply(this, arguments);
|
|
13172
|
+
};
|
|
13173
|
+
}();
|
|
13174
|
+
|
|
13175
|
+
var updateBrick = useCallback((brick, element) => {
|
|
13176
|
+
brick.element = element;
|
|
13177
|
+
var {
|
|
13178
|
+
[symbolForTplContextId]: tplContextId
|
|
13179
|
+
} = useBrick;
|
|
13180
|
+
|
|
13181
|
+
if (useBrick.iid) {
|
|
13182
|
+
element.dataset.iid = useBrick.iid;
|
|
13183
|
+
}
|
|
13184
|
+
|
|
13185
|
+
setRealProperties(element, brick.properties);
|
|
13186
|
+
unbindListeners(element);
|
|
13187
|
+
|
|
13188
|
+
if (brick.events) {
|
|
13189
|
+
bindListeners(element, transformEvents(data, brick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
|
|
13190
|
+
tplContextId
|
|
13191
|
+
}));
|
|
13192
|
+
} // 设置proxyEvent
|
|
13193
|
+
|
|
13194
|
+
|
|
13195
|
+
handleProxyOfCustomTemplate(brick);
|
|
13196
|
+
|
|
13197
|
+
if (element.$$typeof !== "custom-template") {
|
|
13198
|
+
if (!useBrick.brick.includes("-")) {
|
|
13199
|
+
element.$$typeof = "native";
|
|
13200
|
+
} else if (!customElements.get(useBrick.brick)) {
|
|
13201
|
+
element.$$typeof = "invalid";
|
|
13202
|
+
}
|
|
13203
|
+
}
|
|
13204
|
+
}, [data, useBrick]);
|
|
13205
|
+
useEffect(() => {
|
|
13206
|
+
if (firstRunRef.current) {
|
|
13207
|
+
firstRunRef.current = false;
|
|
13208
|
+
return;
|
|
13209
|
+
}
|
|
13210
|
+
|
|
13211
|
+
_asyncToGenerator$3(function* () {
|
|
13212
|
+
var element = elementRef.current;
|
|
13133
13213
|
|
|
13134
13214
|
if (element) {
|
|
13135
13215
|
var brick;
|
|
@@ -13145,32 +13225,38 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
|
|
|
13145
13225
|
return;
|
|
13146
13226
|
}
|
|
13147
13227
|
|
|
13148
|
-
brick
|
|
13149
|
-
|
|
13150
|
-
|
|
13151
|
-
|
|
13228
|
+
updateBrick(brick, element);
|
|
13229
|
+
}
|
|
13230
|
+
})();
|
|
13231
|
+
}, [runtimeBrick, updateBrick]);
|
|
13152
13232
|
|
|
13153
|
-
|
|
13154
|
-
|
|
13155
|
-
|
|
13233
|
+
innerRefCallbackRef.current = /*#__PURE__*/function () {
|
|
13234
|
+
var _ref6 = _asyncToGenerator$3(function* (element) {
|
|
13235
|
+
immediatelyRefCallback === null || immediatelyRefCallback === void 0 ? void 0 : immediatelyRefCallback(element);
|
|
13236
|
+
elementRef.current = element;
|
|
13237
|
+
var brick;
|
|
13156
13238
|
|
|
13157
|
-
|
|
13158
|
-
|
|
13239
|
+
try {
|
|
13240
|
+
brick = yield runtimeBrick;
|
|
13241
|
+
} catch (e) {
|
|
13242
|
+
handleHttpError(e);
|
|
13243
|
+
} // sub-brick rendering is ignored.
|
|
13159
13244
|
|
|
13160
|
-
if (brick.events) {
|
|
13161
|
-
bindListeners(element, transformEvents(data, brick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
|
|
13162
|
-
tplContextId
|
|
13163
|
-
}));
|
|
13164
|
-
} // 设置proxyEvent
|
|
13165
13245
|
|
|
13246
|
+
if (brick) {
|
|
13247
|
+
if (element) {
|
|
13248
|
+
var _useBrick$lifeCycle;
|
|
13249
|
+
|
|
13250
|
+
updateBrick(brick, element);
|
|
13166
13251
|
|
|
13167
|
-
|
|
13252
|
+
if ((_useBrick$lifeCycle = useBrick.lifeCycle) !== null && _useBrick$lifeCycle !== void 0 && _useBrick$lifeCycle.onMount) {
|
|
13253
|
+
dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
|
|
13254
|
+
}
|
|
13255
|
+
} else {
|
|
13256
|
+
var _useBrick$lifeCycle2;
|
|
13168
13257
|
|
|
13169
|
-
|
|
13170
|
-
|
|
13171
|
-
element.$$typeof = "native";
|
|
13172
|
-
} else if (!customElements.get(useBrick.brick)) {
|
|
13173
|
-
element.$$typeof = "invalid";
|
|
13258
|
+
if ((_useBrick$lifeCycle2 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle2 !== void 0 && _useBrick$lifeCycle2.onUnmount) {
|
|
13259
|
+
dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
|
|
13174
13260
|
}
|
|
13175
13261
|
}
|
|
13176
13262
|
}
|
|
@@ -13178,18 +13264,28 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
|
|
|
13178
13264
|
refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
|
|
13179
13265
|
});
|
|
13180
13266
|
|
|
13181
|
-
return function (
|
|
13182
|
-
return
|
|
13267
|
+
return function (_x4) {
|
|
13268
|
+
return _ref6.apply(this, arguments);
|
|
13183
13269
|
};
|
|
13184
|
-
}()
|
|
13270
|
+
}(); // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
|
|
13271
|
+
|
|
13272
|
+
|
|
13273
|
+
var innerRefCallback = React.useCallback(element => {
|
|
13274
|
+
innerRefCallbackRef.current(element);
|
|
13275
|
+
}, []);
|
|
13276
|
+
var childConfs = useMemo(() => {
|
|
13277
|
+
var _templateRef$current;
|
|
13278
|
+
|
|
13279
|
+
return slotsToChildren(((_templateRef$current = templateRef.current) !== null && _templateRef$current !== void 0 ? _templateRef$current : useBrick).slots);
|
|
13280
|
+
}, [templateRef.current, useBrick]);
|
|
13185
13281
|
|
|
13186
13282
|
if (!isBrickAvailable) {
|
|
13187
13283
|
return null;
|
|
13188
13284
|
}
|
|
13189
13285
|
|
|
13190
|
-
return /*#__PURE__*/React.createElement((_templateRef$current$ = (_templateRef$
|
|
13286
|
+
return /*#__PURE__*/React.createElement((_templateRef$current$ = (_templateRef$current2 = templateRef.current) === null || _templateRef$current2 === void 0 ? void 0 : _templateRef$current2.brick) !== null && _templateRef$current$ !== void 0 ? _templateRef$current$ : tplTagName || useBrick.brick, {
|
|
13191
13287
|
ref: innerRefCallback
|
|
13192
|
-
}, ...
|
|
13288
|
+
}, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
13193
13289
|
key: index,
|
|
13194
13290
|
useBrick: item,
|
|
13195
13291
|
data: data
|
|
@@ -13214,11 +13310,11 @@ var SingleBrickAsComponent = /*#__PURE__*/React.memo(function SingleBrickAsCompo
|
|
|
13214
13310
|
* @param props - 属性。
|
|
13215
13311
|
*/
|
|
13216
13312
|
|
|
13217
|
-
function BrickAsComponent(
|
|
13313
|
+
function BrickAsComponent(_ref7) {
|
|
13218
13314
|
var {
|
|
13219
13315
|
useBrick,
|
|
13220
13316
|
data
|
|
13221
|
-
} =
|
|
13317
|
+
} = _ref7;
|
|
13222
13318
|
|
|
13223
13319
|
if (Array.isArray(useBrick)) {
|
|
13224
13320
|
return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
@@ -13239,8 +13335,8 @@ function slotsToChildren(slots) {
|
|
|
13239
13335
|
return [];
|
|
13240
13336
|
}
|
|
13241
13337
|
|
|
13242
|
-
return Object.entries(slots).flatMap(
|
|
13243
|
-
var [slot, slotConf] =
|
|
13338
|
+
return Object.entries(slots).flatMap(_ref8 => {
|
|
13339
|
+
var [slot, slotConf] = _ref8;
|
|
13244
13340
|
return Array.isArray(slotConf.bricks) ? slotConf.bricks.map(child => _objectSpread(_objectSpread({}, child), {}, {
|
|
13245
13341
|
properties: _objectSpread(_objectSpread({}, child.properties), {}, {
|
|
13246
13342
|
slot
|
|
@@ -13260,15 +13356,17 @@ function transformEvents(data, events) {
|
|
|
13260
13356
|
// eslint-disable-next-line react/display-name
|
|
13261
13357
|
|
|
13262
13358
|
|
|
13263
|
-
var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef(function LegacySingleBrickAsComponent(
|
|
13264
|
-
var _internalApiGetCurren2, _templateRef$current$2, _templateRef$
|
|
13359
|
+
var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
|
|
13360
|
+
var _internalApiGetCurren2, _templateRef$current$2, _templateRef$current4;
|
|
13265
13361
|
|
|
13266
13362
|
var {
|
|
13267
13363
|
useBrick,
|
|
13268
13364
|
data,
|
|
13269
13365
|
refCallback
|
|
13270
|
-
} =
|
|
13271
|
-
var
|
|
13366
|
+
} = _ref9;
|
|
13367
|
+
var firstRunRef = useRef(true);
|
|
13368
|
+
var innerRefCallbackRef = useRef();
|
|
13369
|
+
var elementRef = useRef();
|
|
13272
13370
|
var templateRef = useRef();
|
|
13273
13371
|
var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
|
|
13274
13372
|
var isBrickAvailable = React.useMemo(() => {
|
|
@@ -13288,7 +13386,7 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
|
|
|
13288
13386
|
/* istanbul ignore next (never reach in test) */
|
|
13289
13387
|
|
|
13290
13388
|
useImperativeHandle(ref, () => {
|
|
13291
|
-
return
|
|
13389
|
+
return elementRef.current;
|
|
13292
13390
|
});
|
|
13293
13391
|
var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator$3(function* () {
|
|
13294
13392
|
if (!isBrickAvailable) {
|
|
@@ -13310,8 +13408,8 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
|
|
|
13310
13408
|
}); // 设置 properties refProperty值
|
|
13311
13409
|
|
|
13312
13410
|
if (useBrick[symbolForComputedPropsFromProxy]) {
|
|
13313
|
-
Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(
|
|
13314
|
-
var [propName, propValue] =
|
|
13411
|
+
Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
|
|
13412
|
+
var [propName, propValue] = _ref11;
|
|
13315
13413
|
set(brick.properties, propName, propValue);
|
|
13316
13414
|
});
|
|
13317
13415
|
}
|
|
@@ -13328,10 +13426,60 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
|
|
|
13328
13426
|
}
|
|
13329
13427
|
|
|
13330
13428
|
return brick;
|
|
13331
|
-
}), [useBrick, data, isBrickAvailable]);
|
|
13332
|
-
|
|
13333
|
-
|
|
13334
|
-
|
|
13429
|
+
}), [useBrick, data, isBrickAvailable, tplTagName]);
|
|
13430
|
+
|
|
13431
|
+
var dispatchLifeCycleEvent = /*#__PURE__*/function () {
|
|
13432
|
+
var _ref12 = _asyncToGenerator$3(function* (event, handlers, brick) {
|
|
13433
|
+
for (var handler of [].concat(handlers)) {
|
|
13434
|
+
listenerFactory(handler, _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
|
|
13435
|
+
tplContextId: useBrick[symbolForTplContextId]
|
|
13436
|
+
}), brick)(event);
|
|
13437
|
+
}
|
|
13438
|
+
});
|
|
13439
|
+
|
|
13440
|
+
return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
|
|
13441
|
+
return _ref12.apply(this, arguments);
|
|
13442
|
+
};
|
|
13443
|
+
}();
|
|
13444
|
+
|
|
13445
|
+
var updateBrick = useCallback((brick, element) => {
|
|
13446
|
+
brick.element = element;
|
|
13447
|
+
var {
|
|
13448
|
+
[symbolForTplContextId]: tplContextId
|
|
13449
|
+
} = useBrick;
|
|
13450
|
+
|
|
13451
|
+
if (useBrick.iid) {
|
|
13452
|
+
element.dataset.iid = useBrick.iid;
|
|
13453
|
+
}
|
|
13454
|
+
|
|
13455
|
+
setRealProperties(element, brick.properties);
|
|
13456
|
+
unbindListeners(element);
|
|
13457
|
+
|
|
13458
|
+
if (useBrick.events) {
|
|
13459
|
+
bindListeners(element, transformEvents(data, useBrick.events), _objectSpread(_objectSpread({}, _internalApiGetCurrentContext()), {}, {
|
|
13460
|
+
tplContextId
|
|
13461
|
+
}));
|
|
13462
|
+
} // 设置proxyEvent
|
|
13463
|
+
|
|
13464
|
+
|
|
13465
|
+
handleProxyOfCustomTemplate(brick);
|
|
13466
|
+
|
|
13467
|
+
if (element.$$typeof !== "custom-template") {
|
|
13468
|
+
if (!useBrick.brick.includes("-")) {
|
|
13469
|
+
element.$$typeof = "native";
|
|
13470
|
+
} else if (!customElements.get(useBrick.brick)) {
|
|
13471
|
+
element.$$typeof = "invalid";
|
|
13472
|
+
}
|
|
13473
|
+
}
|
|
13474
|
+
}, [data, useBrick]);
|
|
13475
|
+
useEffect(() => {
|
|
13476
|
+
if (firstRunRef.current) {
|
|
13477
|
+
firstRunRef.current = false;
|
|
13478
|
+
return;
|
|
13479
|
+
}
|
|
13480
|
+
|
|
13481
|
+
_asyncToGenerator$3(function* () {
|
|
13482
|
+
var element = elementRef.current;
|
|
13335
13483
|
|
|
13336
13484
|
if (element) {
|
|
13337
13485
|
var brick;
|
|
@@ -13347,32 +13495,37 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
|
|
|
13347
13495
|
return;
|
|
13348
13496
|
}
|
|
13349
13497
|
|
|
13350
|
-
brick
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13498
|
+
updateBrick(brick, element);
|
|
13499
|
+
}
|
|
13500
|
+
})();
|
|
13501
|
+
}, [runtimeBrick, updateBrick]);
|
|
13354
13502
|
|
|
13355
|
-
|
|
13356
|
-
|
|
13357
|
-
|
|
13503
|
+
innerRefCallbackRef.current = /*#__PURE__*/function () {
|
|
13504
|
+
var _ref14 = _asyncToGenerator$3(function* (element) {
|
|
13505
|
+
elementRef.current = element;
|
|
13506
|
+
var brick;
|
|
13507
|
+
|
|
13508
|
+
try {
|
|
13509
|
+
brick = yield runtimeBrick;
|
|
13510
|
+
} catch (e) {
|
|
13511
|
+
handleHttpError(e);
|
|
13512
|
+
} // sub-brick rendering is ignored.
|
|
13358
13513
|
|
|
13359
|
-
setRealProperties(element, brick.properties);
|
|
13360
|
-
unbindListeners(element);
|
|
13361
13514
|
|
|
13362
|
-
|
|
13363
|
-
|
|
13364
|
-
|
|
13365
|
-
}));
|
|
13366
|
-
} // 设置proxyEvent
|
|
13515
|
+
if (brick) {
|
|
13516
|
+
if (element) {
|
|
13517
|
+
var _useBrick$lifeCycle3;
|
|
13367
13518
|
|
|
13519
|
+
updateBrick(brick, element);
|
|
13368
13520
|
|
|
13369
|
-
|
|
13521
|
+
if ((_useBrick$lifeCycle3 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle3 !== void 0 && _useBrick$lifeCycle3.onMount) {
|
|
13522
|
+
dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
|
|
13523
|
+
}
|
|
13524
|
+
} else {
|
|
13525
|
+
var _useBrick$lifeCycle4;
|
|
13370
13526
|
|
|
13371
|
-
|
|
13372
|
-
|
|
13373
|
-
element.$$typeof = "native";
|
|
13374
|
-
} else if (!customElements.get(useBrick.brick)) {
|
|
13375
|
-
element.$$typeof = "invalid";
|
|
13527
|
+
if ((_useBrick$lifeCycle4 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle4 !== void 0 && _useBrick$lifeCycle4.onUnmount) {
|
|
13528
|
+
dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
|
|
13376
13529
|
}
|
|
13377
13530
|
}
|
|
13378
13531
|
}
|
|
@@ -13380,18 +13533,28 @@ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React.memo( /*#__PURE__*/for
|
|
|
13380
13533
|
refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
|
|
13381
13534
|
});
|
|
13382
13535
|
|
|
13383
|
-
return function (
|
|
13384
|
-
return
|
|
13536
|
+
return function (_x8) {
|
|
13537
|
+
return _ref14.apply(this, arguments);
|
|
13385
13538
|
};
|
|
13386
|
-
}()
|
|
13539
|
+
}(); // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
|
|
13540
|
+
|
|
13541
|
+
|
|
13542
|
+
var innerRefCallback = React.useCallback(element => {
|
|
13543
|
+
innerRefCallbackRef.current(element);
|
|
13544
|
+
}, []);
|
|
13545
|
+
var childConfs = useMemo(() => {
|
|
13546
|
+
var _templateRef$current3;
|
|
13547
|
+
|
|
13548
|
+
return slotsToChildren(((_templateRef$current3 = templateRef.current) !== null && _templateRef$current3 !== void 0 ? _templateRef$current3 : useBrick).slots);
|
|
13549
|
+
}, [templateRef.current, useBrick]);
|
|
13387
13550
|
|
|
13388
13551
|
if (!isBrickAvailable) {
|
|
13389
13552
|
return null;
|
|
13390
13553
|
}
|
|
13391
13554
|
|
|
13392
|
-
return /*#__PURE__*/React.createElement((_templateRef$current$2 = (_templateRef$
|
|
13555
|
+
return /*#__PURE__*/React.createElement((_templateRef$current$2 = (_templateRef$current4 = templateRef.current) === null || _templateRef$current4 === void 0 ? void 0 : _templateRef$current4.brick) !== null && _templateRef$current$2 !== void 0 ? _templateRef$current$2 : tplTagName || useBrick.brick, {
|
|
13393
13556
|
ref: innerRefCallback
|
|
13394
|
-
}, ...
|
|
13557
|
+
}, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
13395
13558
|
key: index,
|
|
13396
13559
|
useBrick: item,
|
|
13397
13560
|
data: data
|