@next-core/brick-kit 2.178.0 → 2.178.2
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 +411 -393
- package/dist/index.bundle.js.map +1 -1
- package/dist/index.esm.js +411 -396
- package/dist/index.esm.js.map +1 -1
- package/dist/types/BrickAsComponent.d.ts +6 -2
- package/dist/types/BrickAsComponent.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/internal/menu.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.bundle.js
CHANGED
|
@@ -3358,6 +3358,8 @@
|
|
|
3358
3358
|
});
|
|
3359
3359
|
}
|
|
3360
3360
|
}
|
|
3361
|
+
var processors = brickUtils.scanProcessorsInAny(data);
|
|
3362
|
+
yield kernel.loadDynamicBricks([], processors);
|
|
3361
3363
|
yield kernel.router.waitForUsedContext(data);
|
|
3362
3364
|
return computeRealValue(data, newContext, true, {
|
|
3363
3365
|
ignoreSymbols: true
|
|
@@ -12600,159 +12602,163 @@
|
|
|
12600
12602
|
return brick;
|
|
12601
12603
|
};
|
|
12602
12604
|
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
|
|
12615
|
-
|
|
12616
|
-
|
|
12617
|
-
|
|
12618
|
-
|
|
12619
|
-
|
|
12620
|
-
|
|
12621
|
-
|
|
12622
|
-
|
|
12623
|
-
|
|
12624
|
-
|
|
12625
|
-
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
|
|
12629
|
-
|
|
12630
|
-
|
|
12631
|
-
|
|
12632
|
-
|
|
12633
|
-
|
|
12634
|
-
|
|
12635
|
-
|
|
12636
|
-
|
|
12637
|
-
|
|
12638
|
-
|
|
12639
|
-
|
|
12640
|
-
})
|
|
12641
|
-
|
|
12642
|
-
|
|
12643
|
-
|
|
12644
|
-
|
|
12645
|
-
|
|
12646
|
-
var context;
|
|
12647
|
-
if (useBrick.brick === formRenderer) {
|
|
12648
|
-
var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
|
|
12649
|
-
context = formData.context;
|
|
12650
|
-
} else if (tplTagName) {
|
|
12651
|
-
context = customTemplateRegistry.get(tplTagName).state;
|
|
12652
|
-
}
|
|
12653
|
-
return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
|
|
12654
|
-
}, [tplTagName, useBrick]);
|
|
12655
|
-
var [suspenseReady, setSuspenseReady] = React.useState(false);
|
|
12656
|
-
var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator__default["default"](function* () {
|
|
12657
|
-
if (!isBrickAvailable) {
|
|
12658
|
-
return null;
|
|
12659
|
-
}
|
|
12660
|
-
|
|
12661
|
-
// If the router state is initial, ignore rendering the sub-brick.
|
|
12662
|
-
if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
|
|
12663
|
-
return;
|
|
12664
|
-
}
|
|
12665
|
-
var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
|
|
12605
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
12606
|
+
function SingleBrickAsComponentFactory(React) {
|
|
12607
|
+
function SingleBrickAsComponent(_ref) {
|
|
12608
|
+
var _internalApiGetCurren, _expandedBrickConf$br;
|
|
12609
|
+
var {
|
|
12610
|
+
useBrick,
|
|
12611
|
+
data,
|
|
12612
|
+
refCallback,
|
|
12613
|
+
immediatelyRefCallback
|
|
12614
|
+
} = _ref;
|
|
12615
|
+
var firstRunRef = React.useRef(true);
|
|
12616
|
+
var innerRefCallbackRef = React.useRef();
|
|
12617
|
+
var elementRef = React.useRef();
|
|
12618
|
+
var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
|
|
12619
|
+
var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
|
|
12620
|
+
var isBrickAvailable = React.useMemo(() => {
|
|
12621
|
+
if (brickUtils.isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
|
|
12622
|
+
// eslint-disable-next-line
|
|
12623
|
+
console.warn("Currently resolvable-if in `useBrick` is not supported.");
|
|
12624
|
+
} else if (!looseCheckIfByTransform(useBrick, data, {
|
|
12625
|
+
allowInject: true,
|
|
12626
|
+
// useBrick 中嵌套custom-template的情况下, 会存在丢失getTplVariables的情况, 因此需要在此进行补充
|
|
12627
|
+
tplContextId: useBrick[symbolForTplContextId]
|
|
12628
|
+
})) {
|
|
12629
|
+
return false;
|
|
12630
|
+
}
|
|
12631
|
+
return true;
|
|
12632
|
+
}, [useBrick, data]);
|
|
12633
|
+
var requireSuspense = React.useMemo(() => {
|
|
12634
|
+
var context;
|
|
12635
|
+
if (useBrick.brick === formRenderer) {
|
|
12636
|
+
var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
|
|
12637
|
+
context = formData.context;
|
|
12638
|
+
} else if (tplTagName) {
|
|
12639
|
+
context = customTemplateRegistry.get(tplTagName).state;
|
|
12640
|
+
}
|
|
12641
|
+
return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
|
|
12642
|
+
}, [tplTagName, useBrick]);
|
|
12643
|
+
var [suspenseReady, setSuspenseReady] = React.useState(false);
|
|
12644
|
+
var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator__default["default"](function* () {
|
|
12645
|
+
if (!isBrickAvailable) {
|
|
12646
|
+
return null;
|
|
12647
|
+
}
|
|
12666
12648
|
|
|
12667
|
-
|
|
12668
|
-
|
|
12669
|
-
|
|
12670
|
-
|
|
12671
|
-
|
|
12672
|
-
}
|
|
12673
|
-
var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
|
|
12674
|
-
var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
|
|
12675
|
-
if (requireSuspense) {
|
|
12676
|
-
setExpandedBrickConf(yield expanded);
|
|
12677
|
-
} else {
|
|
12678
|
-
setExpandedBrickConf(expanded);
|
|
12679
|
-
}
|
|
12680
|
-
setSuspenseReady(true);
|
|
12649
|
+
// If the router state is initial, ignore rendering the sub-brick.
|
|
12650
|
+
if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
|
|
12651
|
+
return;
|
|
12652
|
+
}
|
|
12653
|
+
var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
|
|
12681
12654
|
|
|
12682
|
-
|
|
12683
|
-
|
|
12684
|
-
|
|
12685
|
-
|
|
12655
|
+
// 需要等待构件加载完成,因为构件可能包含属性初始化逻辑。
|
|
12656
|
+
// 如果先创建构件,再完成构件加载,其属性默认初始化动作会覆盖用户定义的属性。
|
|
12657
|
+
// 另一方面,避免额外的 MicroTask,因为 graph.general-graph 构件依赖固定的 useBrick 渲染时机。
|
|
12658
|
+
if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
|
|
12659
|
+
yield promise;
|
|
12660
|
+
}
|
|
12661
|
+
var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
|
|
12662
|
+
var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
|
|
12663
|
+
if (requireSuspense) {
|
|
12664
|
+
setExpandedBrickConf(yield expanded);
|
|
12665
|
+
} else {
|
|
12666
|
+
setExpandedBrickConf(expanded);
|
|
12667
|
+
}
|
|
12668
|
+
setSuspenseReady(true);
|
|
12686
12669
|
|
|
12687
|
-
|
|
12688
|
-
|
|
12689
|
-
|
|
12690
|
-
var [propName, propValue] = _ref3;
|
|
12691
|
-
_.set(brick.properties, propName, propValue);
|
|
12670
|
+
// Let `transform` works still.
|
|
12671
|
+
transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
|
|
12672
|
+
allowInject: true
|
|
12692
12673
|
});
|
|
12693
|
-
|
|
12694
|
-
|
|
12695
|
-
|
|
12696
|
-
|
|
12697
|
-
|
|
12698
|
-
|
|
12699
|
-
|
|
12700
|
-
|
|
12701
|
-
|
|
12702
|
-
|
|
12703
|
-
|
|
12704
|
-
|
|
12705
|
-
|
|
12706
|
-
|
|
12707
|
-
var _ref4 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
|
|
12708
|
-
for (var handler of [].concat(handlers)) {
|
|
12709
|
-
listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12674
|
+
|
|
12675
|
+
// 设置 properties refProperty值
|
|
12676
|
+
if (useBrick[symbolForComputedPropsFromProxy]) {
|
|
12677
|
+
Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref3 => {
|
|
12678
|
+
var [propName, propValue] = _ref3;
|
|
12679
|
+
_.set(brick.properties, propName, propValue);
|
|
12680
|
+
});
|
|
12681
|
+
}
|
|
12682
|
+
if (useBrick.lifeCycle) {
|
|
12683
|
+
var resolver = _internalApiGetResolver();
|
|
12684
|
+
yield resolver.resolve({
|
|
12685
|
+
brick: useBrick.brick,
|
|
12686
|
+
lifeCycle: useBrick.lifeCycle
|
|
12687
|
+
}, brick, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12710
12688
|
tplContextId: useBrick[symbolForTplContextId],
|
|
12711
12689
|
formContextId: useBrick[symbolForFormContextId]
|
|
12712
|
-
})
|
|
12690
|
+
}));
|
|
12713
12691
|
}
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
|
|
12723
|
-
|
|
12724
|
-
|
|
12725
|
-
|
|
12726
|
-
|
|
12727
|
-
|
|
12728
|
-
|
|
12729
|
-
|
|
12730
|
-
|
|
12731
|
-
|
|
12732
|
-
|
|
12733
|
-
|
|
12734
|
-
|
|
12735
|
-
formContextId
|
|
12736
|
-
}
|
|
12737
|
-
|
|
12738
|
-
|
|
12739
|
-
|
|
12740
|
-
|
|
12741
|
-
|
|
12742
|
-
|
|
12743
|
-
|
|
12744
|
-
|
|
12692
|
+
return brick;
|
|
12693
|
+
}), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
|
|
12694
|
+
var dispatchLifeCycleEvent = /*#__PURE__*/function () {
|
|
12695
|
+
var _ref4 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
|
|
12696
|
+
for (var handler of [].concat(handlers)) {
|
|
12697
|
+
listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12698
|
+
tplContextId: useBrick[symbolForTplContextId],
|
|
12699
|
+
formContextId: useBrick[symbolForFormContextId]
|
|
12700
|
+
}), brick)(event);
|
|
12701
|
+
}
|
|
12702
|
+
});
|
|
12703
|
+
return function dispatchLifeCycleEvent(_x, _x2, _x3) {
|
|
12704
|
+
return _ref4.apply(this, arguments);
|
|
12705
|
+
};
|
|
12706
|
+
}();
|
|
12707
|
+
var updateBrick = React.useCallback((brick, element) => {
|
|
12708
|
+
brick.element = element;
|
|
12709
|
+
var {
|
|
12710
|
+
[symbolForTplContextId]: tplContextId
|
|
12711
|
+
} = useBrick;
|
|
12712
|
+
var {
|
|
12713
|
+
[symbolForFormContextId]: formContextId
|
|
12714
|
+
} = useBrick;
|
|
12715
|
+
if (useBrick.iid) {
|
|
12716
|
+
element.dataset.iid = useBrick.iid;
|
|
12717
|
+
}
|
|
12718
|
+
setRealProperties(element, brick.properties);
|
|
12719
|
+
unbindListeners(element);
|
|
12720
|
+
if (brick.events) {
|
|
12721
|
+
bindListeners(element, transformEvents(data, brick.events), _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12722
|
+
tplContextId,
|
|
12723
|
+
formContextId
|
|
12724
|
+
}));
|
|
12745
12725
|
}
|
|
12746
|
-
|
|
12747
|
-
|
|
12748
|
-
|
|
12749
|
-
|
|
12750
|
-
|
|
12751
|
-
|
|
12752
|
-
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12726
|
+
// 设置proxyEvent
|
|
12727
|
+
handleProxyOfCustomTemplate(brick);
|
|
12728
|
+
if (!["formRenderer", "custom-template"].includes(element.$$typeof)) {
|
|
12729
|
+
if (!useBrick.brick.includes("-")) {
|
|
12730
|
+
element.$$typeof = "native";
|
|
12731
|
+
} else if (!customElements.get(useBrick.brick)) {
|
|
12732
|
+
element.$$typeof = "invalid";
|
|
12733
|
+
}
|
|
12734
|
+
}
|
|
12735
|
+
}, [data, useBrick]);
|
|
12736
|
+
React.useEffect(() => {
|
|
12737
|
+
if (firstRunRef.current) {
|
|
12738
|
+
firstRunRef.current = false;
|
|
12739
|
+
return;
|
|
12740
|
+
}
|
|
12741
|
+
_asyncToGenerator__default["default"](function* () {
|
|
12742
|
+
var element = elementRef.current;
|
|
12743
|
+
if (element) {
|
|
12744
|
+
var brick;
|
|
12745
|
+
try {
|
|
12746
|
+
brick = yield runtimeBrick;
|
|
12747
|
+
} catch (e) {
|
|
12748
|
+
handleHttpError(e);
|
|
12749
|
+
}
|
|
12750
|
+
// sub-brick rendering is ignored.
|
|
12751
|
+
if (!brick) {
|
|
12752
|
+
return;
|
|
12753
|
+
}
|
|
12754
|
+
updateBrick(brick, element);
|
|
12755
|
+
}
|
|
12756
|
+
})();
|
|
12757
|
+
}, [runtimeBrick, updateBrick]);
|
|
12758
|
+
innerRefCallbackRef.current = /*#__PURE__*/function () {
|
|
12759
|
+
var _ref6 = _asyncToGenerator__default["default"](function* (element) {
|
|
12760
|
+
immediatelyRefCallback === null || immediatelyRefCallback === void 0 ? void 0 : immediatelyRefCallback(element);
|
|
12761
|
+
elementRef.current = element;
|
|
12756
12762
|
var brick;
|
|
12757
12763
|
try {
|
|
12758
12764
|
brick = yield runtimeBrick;
|
|
@@ -12760,62 +12766,83 @@
|
|
|
12760
12766
|
handleHttpError(e);
|
|
12761
12767
|
}
|
|
12762
12768
|
// sub-brick rendering is ignored.
|
|
12763
|
-
if (
|
|
12764
|
-
|
|
12765
|
-
|
|
12766
|
-
|
|
12767
|
-
|
|
12768
|
-
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
|
|
12772
|
-
|
|
12773
|
-
|
|
12774
|
-
|
|
12775
|
-
try {
|
|
12776
|
-
brick = yield runtimeBrick;
|
|
12777
|
-
} catch (e) {
|
|
12778
|
-
handleHttpError(e);
|
|
12779
|
-
}
|
|
12780
|
-
// sub-brick rendering is ignored.
|
|
12781
|
-
if (brick) {
|
|
12782
|
-
if (element) {
|
|
12783
|
-
var _useBrick$lifeCycle;
|
|
12784
|
-
updateBrick(brick, element);
|
|
12785
|
-
if ((_useBrick$lifeCycle = useBrick.lifeCycle) !== null && _useBrick$lifeCycle !== void 0 && _useBrick$lifeCycle.onMount) {
|
|
12786
|
-
dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
|
|
12787
|
-
}
|
|
12788
|
-
} else {
|
|
12789
|
-
var _useBrick$lifeCycle2;
|
|
12790
|
-
if ((_useBrick$lifeCycle2 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle2 !== void 0 && _useBrick$lifeCycle2.onUnmount) {
|
|
12791
|
-
dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
|
|
12769
|
+
if (brick) {
|
|
12770
|
+
if (element) {
|
|
12771
|
+
var _useBrick$lifeCycle;
|
|
12772
|
+
updateBrick(brick, element);
|
|
12773
|
+
if ((_useBrick$lifeCycle = useBrick.lifeCycle) !== null && _useBrick$lifeCycle !== void 0 && _useBrick$lifeCycle.onMount) {
|
|
12774
|
+
dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
|
|
12775
|
+
}
|
|
12776
|
+
} else {
|
|
12777
|
+
var _useBrick$lifeCycle2;
|
|
12778
|
+
if ((_useBrick$lifeCycle2 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle2 !== void 0 && _useBrick$lifeCycle2.onUnmount) {
|
|
12779
|
+
dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
|
|
12780
|
+
}
|
|
12792
12781
|
}
|
|
12793
12782
|
}
|
|
12794
|
-
|
|
12795
|
-
|
|
12796
|
-
|
|
12797
|
-
|
|
12798
|
-
|
|
12799
|
-
};
|
|
12800
|
-
}();
|
|
12783
|
+
refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
|
|
12784
|
+
});
|
|
12785
|
+
return function (_x4) {
|
|
12786
|
+
return _ref6.apply(this, arguments);
|
|
12787
|
+
};
|
|
12788
|
+
}();
|
|
12801
12789
|
|
|
12802
|
-
|
|
12803
|
-
|
|
12804
|
-
|
|
12805
|
-
|
|
12806
|
-
|
|
12807
|
-
|
|
12808
|
-
|
|
12809
|
-
|
|
12810
|
-
|
|
12811
|
-
|
|
12812
|
-
|
|
12813
|
-
|
|
12814
|
-
|
|
12815
|
-
|
|
12816
|
-
|
|
12817
|
-
|
|
12818
|
-
|
|
12790
|
+
// ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
|
|
12791
|
+
var innerRefCallback = React.useCallback(element => {
|
|
12792
|
+
innerRefCallbackRef.current(element);
|
|
12793
|
+
}, []);
|
|
12794
|
+
var childConfs = React.useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
|
|
12795
|
+
if (!isBrickAvailable || !suspenseReady) {
|
|
12796
|
+
return null;
|
|
12797
|
+
}
|
|
12798
|
+
var tagName = (_expandedBrickConf$br = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br !== void 0 ? _expandedBrickConf$br : tplTagName || useBrick.brick;
|
|
12799
|
+
return React.createElement(tagName, {
|
|
12800
|
+
ref: innerRefCallback
|
|
12801
|
+
}, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
12802
|
+
key: index,
|
|
12803
|
+
useBrick: item,
|
|
12804
|
+
data: data
|
|
12805
|
+
})));
|
|
12806
|
+
}
|
|
12807
|
+
return React.memo(SingleBrickAsComponent);
|
|
12808
|
+
}
|
|
12809
|
+
|
|
12810
|
+
/**
|
|
12811
|
+
* 可以渲染单个 `useBrick` 的 React 组件。
|
|
12812
|
+
*
|
|
12813
|
+
* @example
|
|
12814
|
+
*
|
|
12815
|
+
* ```tsx
|
|
12816
|
+
* <BrickAsComponent
|
|
12817
|
+
* useBrick={{
|
|
12818
|
+
* brick: "your.any-brick"
|
|
12819
|
+
* }}
|
|
12820
|
+
* data={yourData}
|
|
12821
|
+
* />
|
|
12822
|
+
* ```
|
|
12823
|
+
*
|
|
12824
|
+
* @param props - 属性。
|
|
12825
|
+
*/
|
|
12826
|
+
var SingleBrickAsComponent = SingleBrickAsComponentFactory(React__default["default"]);
|
|
12827
|
+
function BrickAsComponentFactory(React) {
|
|
12828
|
+
return function BrickAsComponent(_ref7) {
|
|
12829
|
+
var {
|
|
12830
|
+
useBrick,
|
|
12831
|
+
data
|
|
12832
|
+
} = _ref7;
|
|
12833
|
+
if (Array.isArray(useBrick)) {
|
|
12834
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
12835
|
+
key: index,
|
|
12836
|
+
useBrick: item,
|
|
12837
|
+
data: data
|
|
12838
|
+
})));
|
|
12839
|
+
}
|
|
12840
|
+
return /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
12841
|
+
useBrick: useBrick,
|
|
12842
|
+
data: data
|
|
12843
|
+
});
|
|
12844
|
+
};
|
|
12845
|
+
}
|
|
12819
12846
|
|
|
12820
12847
|
/**
|
|
12821
12848
|
* 可以渲染 `useBrick` 的 React 组件。
|
|
@@ -12835,23 +12862,7 @@
|
|
|
12835
12862
|
*
|
|
12836
12863
|
* @param props - 属性。
|
|
12837
12864
|
*/
|
|
12838
|
-
|
|
12839
|
-
var {
|
|
12840
|
-
useBrick,
|
|
12841
|
-
data
|
|
12842
|
-
} = _ref7;
|
|
12843
|
-
if (Array.isArray(useBrick)) {
|
|
12844
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
|
|
12845
|
-
key: index,
|
|
12846
|
-
useBrick: item,
|
|
12847
|
-
data: data
|
|
12848
|
-
})));
|
|
12849
|
-
}
|
|
12850
|
-
return /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
|
|
12851
|
-
useBrick: useBrick,
|
|
12852
|
-
data: data
|
|
12853
|
-
});
|
|
12854
|
-
}
|
|
12865
|
+
var BrickAsComponent = BrickAsComponentFactory(React__default["default"]);
|
|
12855
12866
|
function slotsToChildren(slots) {
|
|
12856
12867
|
if (!slots) {
|
|
12857
12868
|
return [];
|
|
@@ -12874,138 +12885,156 @@
|
|
|
12874
12885
|
}
|
|
12875
12886
|
|
|
12876
12887
|
/* istanbul ignore next */
|
|
12877
|
-
// eslint-disable-next-line
|
|
12878
|
-
|
|
12879
|
-
var
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
|
|
12883
|
-
|
|
12884
|
-
|
|
12885
|
-
|
|
12886
|
-
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12897
|
-
|
|
12898
|
-
|
|
12899
|
-
|
|
12900
|
-
|
|
12901
|
-
|
|
12902
|
-
|
|
12903
|
-
|
|
12904
|
-
var
|
|
12905
|
-
|
|
12906
|
-
|
|
12907
|
-
|
|
12908
|
-
|
|
12909
|
-
|
|
12910
|
-
|
|
12911
|
-
|
|
12912
|
-
|
|
12913
|
-
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
|
|
12919
|
-
var runtimeBrick = React__default["default"].useMemo( /*#__PURE__*/_asyncToGenerator__default["default"](function* () {
|
|
12920
|
-
if (!isBrickAvailable) {
|
|
12921
|
-
return null;
|
|
12922
|
-
}
|
|
12923
|
-
|
|
12924
|
-
// If the router state is initial, ignore rendering the sub-brick.
|
|
12925
|
-
if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
|
|
12926
|
-
return;
|
|
12927
|
-
}
|
|
12928
|
-
var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
|
|
12929
|
-
if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
|
|
12930
|
-
yield promise;
|
|
12931
|
-
}
|
|
12932
|
-
var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
|
|
12933
|
-
var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
|
|
12934
|
-
if (requireSuspense) {
|
|
12935
|
-
setExpandedBrickConf(yield expanded);
|
|
12936
|
-
} else {
|
|
12937
|
-
setExpandedBrickConf(expanded);
|
|
12938
|
-
}
|
|
12939
|
-
setSuspenseReady(true);
|
|
12940
|
-
|
|
12941
|
-
// Let `transform` works still.
|
|
12942
|
-
transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
|
|
12943
|
-
allowInject: true
|
|
12888
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
12889
|
+
function ForwardRefSingleBrickAsComponentFactory(React) {
|
|
12890
|
+
var fn = React.forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
|
|
12891
|
+
var _internalApiGetCurren2, _expandedBrickConf$br2;
|
|
12892
|
+
var {
|
|
12893
|
+
useBrick,
|
|
12894
|
+
data,
|
|
12895
|
+
refCallback
|
|
12896
|
+
} = _ref9;
|
|
12897
|
+
var firstRunRef = React.useRef(true);
|
|
12898
|
+
var innerRefCallbackRef = React.useRef();
|
|
12899
|
+
var elementRef = React.useRef();
|
|
12900
|
+
var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
|
|
12901
|
+
var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
|
|
12902
|
+
var isBrickAvailable = React.useMemo(() => {
|
|
12903
|
+
if (brickUtils.isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
|
|
12904
|
+
// eslint-disable-next-line
|
|
12905
|
+
console.warn("Currently resolvable-if in `useBrick` is not supported.");
|
|
12906
|
+
} else if (!looseCheckIfByTransform(useBrick, data, {
|
|
12907
|
+
allowInject: true,
|
|
12908
|
+
// useBrick 中嵌套custom-template的情况下, 会存在丢失getTplVariables的情况, 因此需要在此进行补充
|
|
12909
|
+
tplContextId: useBrick[symbolForTplContextId]
|
|
12910
|
+
})) {
|
|
12911
|
+
return false;
|
|
12912
|
+
}
|
|
12913
|
+
return true;
|
|
12914
|
+
}, [useBrick, data]);
|
|
12915
|
+
var requireSuspense = React.useMemo(() => {
|
|
12916
|
+
var context;
|
|
12917
|
+
if (useBrick.brick === formRenderer) {
|
|
12918
|
+
var formData = typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData;
|
|
12919
|
+
context = formData.context;
|
|
12920
|
+
} else if (tplTagName) {
|
|
12921
|
+
context = customTemplateRegistry.get(tplTagName).state;
|
|
12922
|
+
}
|
|
12923
|
+
return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
|
|
12924
|
+
}, [tplTagName, useBrick]);
|
|
12925
|
+
var [suspenseReady, setSuspenseReady] = React.useState(false);
|
|
12926
|
+
|
|
12927
|
+
/* istanbul ignore next (never reach in test) */
|
|
12928
|
+
React.useImperativeHandle(ref, () => {
|
|
12929
|
+
return elementRef.current;
|
|
12944
12930
|
});
|
|
12931
|
+
var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator__default["default"](function* () {
|
|
12932
|
+
if (!isBrickAvailable) {
|
|
12933
|
+
return null;
|
|
12934
|
+
}
|
|
12935
|
+
|
|
12936
|
+
// If the router state is initial, ignore rendering the sub-brick.
|
|
12937
|
+
if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
|
|
12938
|
+
return;
|
|
12939
|
+
}
|
|
12940
|
+
var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
|
|
12941
|
+
if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
|
|
12942
|
+
yield promise;
|
|
12943
|
+
}
|
|
12944
|
+
var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
|
|
12945
|
+
var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(typeof useBrick.properties.formData === "string" ? JSON.parse(useBrick.properties.formData) : useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
|
|
12946
|
+
if (requireSuspense) {
|
|
12947
|
+
setExpandedBrickConf(yield expanded);
|
|
12948
|
+
} else {
|
|
12949
|
+
setExpandedBrickConf(expanded);
|
|
12950
|
+
}
|
|
12951
|
+
setSuspenseReady(true);
|
|
12945
12952
|
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
var [propName, propValue] = _ref11;
|
|
12950
|
-
_.set(brick.properties, propName, propValue);
|
|
12953
|
+
// Let `transform` works still.
|
|
12954
|
+
transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
|
|
12955
|
+
allowInject: true
|
|
12951
12956
|
});
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
for (var handler of [].concat(handlers)) {
|
|
12967
|
-
listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12957
|
+
|
|
12958
|
+
// 设置 properties refProperty值
|
|
12959
|
+
if (useBrick[symbolForComputedPropsFromProxy]) {
|
|
12960
|
+
Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
|
|
12961
|
+
var [propName, propValue] = _ref11;
|
|
12962
|
+
_.set(brick.properties, propName, propValue);
|
|
12963
|
+
});
|
|
12964
|
+
}
|
|
12965
|
+
if (useBrick.lifeCycle) {
|
|
12966
|
+
var resolver = _internalApiGetResolver();
|
|
12967
|
+
yield resolver.resolve({
|
|
12968
|
+
brick: useBrick.brick,
|
|
12969
|
+
lifeCycle: useBrick.lifeCycle
|
|
12970
|
+
}, brick, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12968
12971
|
tplContextId: useBrick[symbolForTplContextId]
|
|
12969
|
-
})
|
|
12972
|
+
}));
|
|
12970
12973
|
}
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
|
|
12975
|
-
|
|
12976
|
-
|
|
12977
|
-
|
|
12978
|
-
|
|
12979
|
-
|
|
12980
|
-
|
|
12981
|
-
|
|
12982
|
-
|
|
12983
|
-
|
|
12984
|
-
|
|
12985
|
-
|
|
12986
|
-
|
|
12987
|
-
|
|
12988
|
-
tplContextId
|
|
12989
|
-
}
|
|
12990
|
-
|
|
12991
|
-
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
|
|
12995
|
-
|
|
12996
|
-
|
|
12997
|
-
|
|
12974
|
+
return brick;
|
|
12975
|
+
}), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
|
|
12976
|
+
var dispatchLifeCycleEvent = /*#__PURE__*/function () {
|
|
12977
|
+
var _ref12 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
|
|
12978
|
+
for (var handler of [].concat(handlers)) {
|
|
12979
|
+
listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
12980
|
+
tplContextId: useBrick[symbolForTplContextId]
|
|
12981
|
+
}), brick)(event);
|
|
12982
|
+
}
|
|
12983
|
+
});
|
|
12984
|
+
return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
|
|
12985
|
+
return _ref12.apply(this, arguments);
|
|
12986
|
+
};
|
|
12987
|
+
}();
|
|
12988
|
+
var updateBrick = React.useCallback((brick, element) => {
|
|
12989
|
+
brick.element = element;
|
|
12990
|
+
var {
|
|
12991
|
+
[symbolForTplContextId]: tplContextId
|
|
12992
|
+
} = useBrick;
|
|
12993
|
+
if (useBrick.iid) {
|
|
12994
|
+
element.dataset.iid = useBrick.iid;
|
|
12995
|
+
}
|
|
12996
|
+
setRealProperties(element, brick.properties);
|
|
12997
|
+
unbindListeners(element);
|
|
12998
|
+
if (useBrick.events) {
|
|
12999
|
+
bindListeners(element, transformEvents(data, useBrick.events), _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
13000
|
+
tplContextId
|
|
13001
|
+
}));
|
|
12998
13002
|
}
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
|
|
13002
|
-
|
|
13003
|
-
|
|
13004
|
-
|
|
13005
|
-
|
|
13006
|
-
|
|
13007
|
-
|
|
13008
|
-
|
|
13003
|
+
// 设置proxyEvent
|
|
13004
|
+
handleProxyOfCustomTemplate(brick);
|
|
13005
|
+
if (element.$$typeof !== "custom-template") {
|
|
13006
|
+
if (!useBrick.brick.includes("-")) {
|
|
13007
|
+
element.$$typeof = "native";
|
|
13008
|
+
} else if (!customElements.get(useBrick.brick)) {
|
|
13009
|
+
element.$$typeof = "invalid";
|
|
13010
|
+
}
|
|
13011
|
+
}
|
|
13012
|
+
}, [data, useBrick]);
|
|
13013
|
+
React.useEffect(() => {
|
|
13014
|
+
if (firstRunRef.current) {
|
|
13015
|
+
firstRunRef.current = false;
|
|
13016
|
+
return;
|
|
13017
|
+
}
|
|
13018
|
+
_asyncToGenerator__default["default"](function* () {
|
|
13019
|
+
var element = elementRef.current;
|
|
13020
|
+
if (element) {
|
|
13021
|
+
var brick;
|
|
13022
|
+
try {
|
|
13023
|
+
brick = yield runtimeBrick;
|
|
13024
|
+
} catch (e) {
|
|
13025
|
+
handleHttpError(e);
|
|
13026
|
+
}
|
|
13027
|
+
// sub-brick rendering is ignored.
|
|
13028
|
+
if (!brick) {
|
|
13029
|
+
return;
|
|
13030
|
+
}
|
|
13031
|
+
updateBrick(brick, element);
|
|
13032
|
+
}
|
|
13033
|
+
})();
|
|
13034
|
+
}, [runtimeBrick, updateBrick]);
|
|
13035
|
+
innerRefCallbackRef.current = /*#__PURE__*/function () {
|
|
13036
|
+
var _ref14 = _asyncToGenerator__default["default"](function* (element) {
|
|
13037
|
+
elementRef.current = element;
|
|
13009
13038
|
var brick;
|
|
13010
13039
|
try {
|
|
13011
13040
|
brick = yield runtimeBrick;
|
|
@@ -13013,61 +13042,47 @@
|
|
|
13013
13042
|
handleHttpError(e);
|
|
13014
13043
|
}
|
|
13015
13044
|
// sub-brick rendering is ignored.
|
|
13016
|
-
if (
|
|
13017
|
-
|
|
13018
|
-
|
|
13019
|
-
|
|
13020
|
-
|
|
13021
|
-
|
|
13022
|
-
|
|
13023
|
-
|
|
13024
|
-
|
|
13025
|
-
|
|
13026
|
-
|
|
13027
|
-
|
|
13028
|
-
brick = yield runtimeBrick;
|
|
13029
|
-
} catch (e) {
|
|
13030
|
-
handleHttpError(e);
|
|
13031
|
-
}
|
|
13032
|
-
// sub-brick rendering is ignored.
|
|
13033
|
-
if (brick) {
|
|
13034
|
-
if (element) {
|
|
13035
|
-
var _useBrick$lifeCycle3;
|
|
13036
|
-
updateBrick(brick, element);
|
|
13037
|
-
if ((_useBrick$lifeCycle3 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle3 !== void 0 && _useBrick$lifeCycle3.onMount) {
|
|
13038
|
-
dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
|
|
13039
|
-
}
|
|
13040
|
-
} else {
|
|
13041
|
-
var _useBrick$lifeCycle4;
|
|
13042
|
-
if ((_useBrick$lifeCycle4 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle4 !== void 0 && _useBrick$lifeCycle4.onUnmount) {
|
|
13043
|
-
dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
|
|
13045
|
+
if (brick) {
|
|
13046
|
+
if (element) {
|
|
13047
|
+
var _useBrick$lifeCycle3;
|
|
13048
|
+
updateBrick(brick, element);
|
|
13049
|
+
if ((_useBrick$lifeCycle3 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle3 !== void 0 && _useBrick$lifeCycle3.onMount) {
|
|
13050
|
+
dispatchLifeCycleEvent(new CustomEvent("mount"), useBrick.lifeCycle.onMount, brick);
|
|
13051
|
+
}
|
|
13052
|
+
} else {
|
|
13053
|
+
var _useBrick$lifeCycle4;
|
|
13054
|
+
if ((_useBrick$lifeCycle4 = useBrick.lifeCycle) !== null && _useBrick$lifeCycle4 !== void 0 && _useBrick$lifeCycle4.onUnmount) {
|
|
13055
|
+
dispatchLifeCycleEvent(new CustomEvent("unmount"), useBrick.lifeCycle.onUnmount, brick);
|
|
13056
|
+
}
|
|
13044
13057
|
}
|
|
13045
13058
|
}
|
|
13046
|
-
|
|
13047
|
-
|
|
13048
|
-
|
|
13049
|
-
|
|
13050
|
-
|
|
13051
|
-
};
|
|
13052
|
-
}();
|
|
13059
|
+
refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
|
|
13060
|
+
});
|
|
13061
|
+
return function (_x8) {
|
|
13062
|
+
return _ref14.apply(this, arguments);
|
|
13063
|
+
};
|
|
13064
|
+
}();
|
|
13053
13065
|
|
|
13054
|
-
|
|
13055
|
-
|
|
13056
|
-
|
|
13057
|
-
|
|
13058
|
-
|
|
13059
|
-
|
|
13060
|
-
|
|
13061
|
-
|
|
13062
|
-
|
|
13063
|
-
|
|
13064
|
-
|
|
13065
|
-
|
|
13066
|
-
|
|
13067
|
-
|
|
13068
|
-
|
|
13069
|
-
|
|
13070
|
-
|
|
13066
|
+
// ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
|
|
13067
|
+
var innerRefCallback = React.useCallback(element => {
|
|
13068
|
+
innerRefCallbackRef.current(element);
|
|
13069
|
+
}, []);
|
|
13070
|
+
var childConfs = React.useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
|
|
13071
|
+
if (!isBrickAvailable || !suspenseReady) {
|
|
13072
|
+
return null;
|
|
13073
|
+
}
|
|
13074
|
+
var tagName = (_expandedBrickConf$br2 = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br2 !== void 0 ? _expandedBrickConf$br2 : tplTagName || useBrick.brick;
|
|
13075
|
+
return React.createElement(tagName, {
|
|
13076
|
+
ref: innerRefCallback
|
|
13077
|
+
}, ...childConfs.map((item, index) => /*#__PURE__*/React.createElement(SingleBrickAsComponent, {
|
|
13078
|
+
key: index,
|
|
13079
|
+
useBrick: item,
|
|
13080
|
+
data: data
|
|
13081
|
+
})));
|
|
13082
|
+
});
|
|
13083
|
+
return React.memo(fn);
|
|
13084
|
+
}
|
|
13085
|
+
var ForwardRefSingleBrickAsComponent = ForwardRefSingleBrickAsComponentFactory(React__default["default"]);
|
|
13071
13086
|
|
|
13072
13087
|
var Pagination$1 = {
|
|
13073
13088
|
// Options.jsx
|
|
@@ -14845,14 +14860,17 @@
|
|
|
14845
14860
|
}
|
|
14846
14861
|
|
|
14847
14862
|
exports.BrickAsComponent = BrickAsComponent;
|
|
14863
|
+
exports.BrickAsComponentFactory = BrickAsComponentFactory;
|
|
14848
14864
|
exports.BrickWrapper = BrickWrapper;
|
|
14849
14865
|
exports.DisplayByFeatureFlags = DisplayByFeatureFlags;
|
|
14850
14866
|
exports.EasyopsEmpty = EasyopsEmpty;
|
|
14851
14867
|
exports.ErrorBoundary = ErrorBoundary;
|
|
14852
14868
|
exports.FeatureFlagsProvider = FeatureFlagsProvider;
|
|
14853
14869
|
exports.ForwardRefSingleBrickAsComponent = ForwardRefSingleBrickAsComponent;
|
|
14870
|
+
exports.ForwardRefSingleBrickAsComponentFactory = ForwardRefSingleBrickAsComponentFactory;
|
|
14854
14871
|
exports.ModalElement = ModalElement;
|
|
14855
14872
|
exports.SingleBrickAsComponent = SingleBrickAsComponent;
|
|
14873
|
+
exports.SingleBrickAsComponentFactory = SingleBrickAsComponentFactory;
|
|
14856
14874
|
exports.StoryboardFunctionRegistryFactory = StoryboardFunctionRegistryFactory;
|
|
14857
14875
|
exports.UpdatingElement = UpdatingElement;
|
|
14858
14876
|
exports.WebsocketMessageRequest = WebsocketMessageRequest;
|