@next-core/brick-kit 2.158.2 → 2.159.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 +73 -48
- package/dist/index.bundle.js.map +1 -1
- package/dist/index.esm.js +75 -50
- package/dist/index.esm.js.map +1 -1
- package/dist/types/BrickAsComponent.d.ts.map +1 -1
- package/dist/types/core/CustomForms/ExpandCustomForm.d.ts +14 -13
- package/dist/types/core/CustomForms/ExpandCustomForm.d.ts.map +1 -1
- package/dist/types/core/Kernel.d.ts +2 -2
- package/dist/types/core/Runtime.d.ts +2 -2
- package/dist/types/internal/menu.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.bundle.js
CHANGED
|
@@ -2910,6 +2910,8 @@
|
|
|
2910
2910
|
app
|
|
2911
2911
|
} = _yield$fetchMenuById,
|
|
2912
2912
|
restMenuData = _objectWithoutProperties__default["default"](_yield$fetchMenuById, _excluded3);
|
|
2913
|
+
var usedActions = brickUtils.scanPermissionActionsInAny([items, restMenuData]);
|
|
2914
|
+
yield validatePermissions(usedActions);
|
|
2913
2915
|
var appsRequireI18nFulfilled = new Set();
|
|
2914
2916
|
var rootAppId = app[0].appId;
|
|
2915
2917
|
if (rootAppId !== context.app.id && !restMenuData[symbolMenuI18nNamespace]) {
|
|
@@ -9299,9 +9301,9 @@
|
|
|
9299
9301
|
return defaultValue;
|
|
9300
9302
|
} else return {};
|
|
9301
9303
|
}
|
|
9302
|
-
function getStoryboard(
|
|
9304
|
+
function getStoryboard(dataSource, result, fields, isPreview, formContextId) {
|
|
9303
9305
|
var _loop = function (i) {
|
|
9304
|
-
var dataItem =
|
|
9306
|
+
var dataItem = dataSource[i];
|
|
9305
9307
|
var resultItem = {};
|
|
9306
9308
|
//数据初始化:根据id,字段类型获取默认属性
|
|
9307
9309
|
var defaultProperties = getDefaultProperties(dataItem.id, fields);
|
|
@@ -9349,7 +9351,7 @@
|
|
|
9349
9351
|
});
|
|
9350
9352
|
result[i] = resultItem;
|
|
9351
9353
|
};
|
|
9352
|
-
for (var i = 0; i <
|
|
9354
|
+
for (var i = 0; i < dataSource.length; i++) {
|
|
9353
9355
|
_loop(i);
|
|
9354
9356
|
}
|
|
9355
9357
|
return result;
|
|
@@ -11514,8 +11516,7 @@
|
|
|
11514
11516
|
return location;
|
|
11515
11517
|
}
|
|
11516
11518
|
|
|
11517
|
-
|
|
11518
|
-
var template;
|
|
11519
|
+
function expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense) {
|
|
11519
11520
|
if (tplTagName) {
|
|
11520
11521
|
// 如果是模板, 需要展开解析模板, 并遍历模板中的slots, 再给slots的brick绑定值给自身
|
|
11521
11522
|
// 为后续ProxyRefs获取brick做值缓存
|
|
@@ -11526,12 +11527,11 @@
|
|
|
11526
11527
|
lifeCycle: useBrick.lifeCycle,
|
|
11527
11528
|
slots: useBrick.slots
|
|
11528
11529
|
};
|
|
11529
|
-
|
|
11530
|
+
return (requireSuspense ? asyncExpandCustomTemplate : expandCustomTemplate)(tplConf, brick, _internalApiGetCurrentContext());
|
|
11530
11531
|
} else if (useBrick[symbolForRefForProxy]) {
|
|
11531
11532
|
useBrick[symbolForRefForProxy].brick = brick;
|
|
11532
11533
|
}
|
|
11533
|
-
|
|
11534
|
-
};
|
|
11534
|
+
}
|
|
11535
11535
|
var getCurrentRunTimeBrick = (useBrick, tplTagName, data) => {
|
|
11536
11536
|
var trackingContextList = [];
|
|
11537
11537
|
var tplContextId = useBrick[symbolForTplContextId];
|
|
@@ -11573,7 +11573,7 @@
|
|
|
11573
11573
|
* @param props - 属性。
|
|
11574
11574
|
*/
|
|
11575
11575
|
var SingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo(function SingleBrickAsComponent(_ref) {
|
|
11576
|
-
var _internalApiGetCurren,
|
|
11576
|
+
var _internalApiGetCurren, _brick, _ref8;
|
|
11577
11577
|
var {
|
|
11578
11578
|
useBrick,
|
|
11579
11579
|
data,
|
|
@@ -11583,10 +11583,10 @@
|
|
|
11583
11583
|
var firstRunRef = React.useRef(true);
|
|
11584
11584
|
var innerRefCallbackRef = React.useRef();
|
|
11585
11585
|
var elementRef = React.useRef();
|
|
11586
|
-
var
|
|
11587
|
-
var
|
|
11586
|
+
var expandedBrickConfRef = React.useRef();
|
|
11587
|
+
var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
|
|
11588
11588
|
var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
|
|
11589
|
-
var isBrickAvailable =
|
|
11589
|
+
var isBrickAvailable = React.useMemo(() => {
|
|
11590
11590
|
if (brickUtils.isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
|
|
11591
11591
|
// eslint-disable-next-line
|
|
11592
11592
|
console.warn("Currently resolvable-if in `useBrick` is not supported.");
|
|
@@ -11599,7 +11599,17 @@
|
|
|
11599
11599
|
}
|
|
11600
11600
|
return true;
|
|
11601
11601
|
}, [useBrick, data]);
|
|
11602
|
-
var
|
|
11602
|
+
var requireSuspense = React.useMemo(() => {
|
|
11603
|
+
var context;
|
|
11604
|
+
if (useBrick.brick === formRenderer) {
|
|
11605
|
+
context = useBrick.properties.formData.context;
|
|
11606
|
+
} else if (tplTagName) {
|
|
11607
|
+
context = customTemplateRegistry.get(tplTagName).state;
|
|
11608
|
+
}
|
|
11609
|
+
return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
|
|
11610
|
+
}, [tplTagName, useBrick]);
|
|
11611
|
+
var [suspenseReady, setSuspenseReady] = React.useState(false);
|
|
11612
|
+
var runtimeBrick = React.useMemo( /*#__PURE__*/_asyncToGenerator__default["default"](function* () {
|
|
11603
11613
|
if (!isBrickAvailable) {
|
|
11604
11614
|
return null;
|
|
11605
11615
|
}
|
|
@@ -11610,11 +11620,14 @@
|
|
|
11610
11620
|
}
|
|
11611
11621
|
_internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
|
|
11612
11622
|
var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
|
|
11613
|
-
|
|
11614
|
-
if (
|
|
11615
|
-
|
|
11616
|
-
|
|
11623
|
+
var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
|
|
11624
|
+
if (requireSuspense) {
|
|
11625
|
+
setExpandedBrickConf(yield expanded);
|
|
11626
|
+
setSuspenseReady(true);
|
|
11627
|
+
} else {
|
|
11628
|
+
expandedBrickConfRef.current = expanded;
|
|
11617
11629
|
}
|
|
11630
|
+
|
|
11618
11631
|
// Let `transform` works still.
|
|
11619
11632
|
transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
|
|
11620
11633
|
allowInject: true
|
|
@@ -11637,7 +11650,7 @@
|
|
|
11637
11650
|
}));
|
|
11638
11651
|
}
|
|
11639
11652
|
return brick;
|
|
11640
|
-
}), [useBrick, data, isBrickAvailable, tplTagName]);
|
|
11653
|
+
}), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
|
|
11641
11654
|
var dispatchLifeCycleEvent = /*#__PURE__*/function () {
|
|
11642
11655
|
var _ref4 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
|
|
11643
11656
|
for (var handler of [].concat(handlers)) {
|
|
@@ -11734,13 +11747,13 @@
|
|
|
11734
11747
|
innerRefCallbackRef.current(element);
|
|
11735
11748
|
}, []);
|
|
11736
11749
|
var childConfs = React.useMemo(() => {
|
|
11737
|
-
var _ref7
|
|
11738
|
-
return slotsToChildren(((_ref7 =
|
|
11739
|
-
}, [
|
|
11740
|
-
if (!isBrickAvailable) {
|
|
11750
|
+
var _ref7;
|
|
11751
|
+
return slotsToChildren(((_ref7 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) !== null && _ref7 !== void 0 ? _ref7 : useBrick).slots);
|
|
11752
|
+
}, [expandedBrickConf, expandedBrickConfRef.current, useBrick, requireSuspense]);
|
|
11753
|
+
if (!isBrickAvailable || requireSuspense && !suspenseReady) {
|
|
11741
11754
|
return null;
|
|
11742
11755
|
}
|
|
11743
|
-
return /*#__PURE__*/React__default["default"].createElement((
|
|
11756
|
+
return /*#__PURE__*/React__default["default"].createElement((_brick = (_ref8 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) === null || _ref8 === void 0 ? void 0 : _ref8.brick) !== null && _brick !== void 0 ? _brick : tplTagName || useBrick.brick, {
|
|
11744
11757
|
ref: innerRefCallback
|
|
11745
11758
|
}, ...childConfs.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
|
|
11746
11759
|
key: index,
|
|
@@ -11767,11 +11780,11 @@
|
|
|
11767
11780
|
*
|
|
11768
11781
|
* @param props - 属性。
|
|
11769
11782
|
*/
|
|
11770
|
-
function BrickAsComponent(
|
|
11783
|
+
function BrickAsComponent(_ref9) {
|
|
11771
11784
|
var {
|
|
11772
11785
|
useBrick,
|
|
11773
11786
|
data
|
|
11774
|
-
} =
|
|
11787
|
+
} = _ref9;
|
|
11775
11788
|
if (Array.isArray(useBrick)) {
|
|
11776
11789
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
|
|
11777
11790
|
key: index,
|
|
@@ -11788,8 +11801,8 @@
|
|
|
11788
11801
|
if (!slots) {
|
|
11789
11802
|
return [];
|
|
11790
11803
|
}
|
|
11791
|
-
return Object.entries(slots).flatMap(
|
|
11792
|
-
var [slot, slotConf] =
|
|
11804
|
+
return Object.entries(slots).flatMap(_ref10 => {
|
|
11805
|
+
var [slot, slotConf] = _ref10;
|
|
11793
11806
|
return Array.isArray(slotConf.bricks) ? slotConf.bricks.map(child => _objectSpread__default["default"](_objectSpread__default["default"]({}, child), {}, {
|
|
11794
11807
|
properties: _objectSpread__default["default"](_objectSpread__default["default"]({}, child.properties), {}, {
|
|
11795
11808
|
slot
|
|
@@ -11807,19 +11820,19 @@
|
|
|
11807
11820
|
|
|
11808
11821
|
/* istanbul ignore next */
|
|
11809
11822
|
// eslint-disable-next-line react/display-name
|
|
11810
|
-
var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React.forwardRef(function LegacySingleBrickAsComponent(
|
|
11811
|
-
var _internalApiGetCurren2,
|
|
11823
|
+
var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React.forwardRef(function LegacySingleBrickAsComponent(_ref11, ref) {
|
|
11824
|
+
var _internalApiGetCurren2, _brick2, _ref18;
|
|
11812
11825
|
var {
|
|
11813
11826
|
useBrick,
|
|
11814
11827
|
data,
|
|
11815
11828
|
refCallback
|
|
11816
|
-
} =
|
|
11829
|
+
} = _ref11;
|
|
11817
11830
|
var firstRunRef = React.useRef(true);
|
|
11818
11831
|
var innerRefCallbackRef = React.useRef();
|
|
11819
11832
|
var elementRef = React.useRef();
|
|
11820
|
-
var
|
|
11833
|
+
var expandedBrickConfRef = React.useRef();
|
|
11834
|
+
var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
|
|
11821
11835
|
var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
|
|
11822
|
-
var formRef = React.useRef();
|
|
11823
11836
|
var isBrickAvailable = React__default["default"].useMemo(() => {
|
|
11824
11837
|
if (brickUtils.isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
|
|
11825
11838
|
// eslint-disable-next-line
|
|
@@ -11833,6 +11846,16 @@
|
|
|
11833
11846
|
}
|
|
11834
11847
|
return true;
|
|
11835
11848
|
}, [useBrick, data]);
|
|
11849
|
+
var requireSuspense = React.useMemo(() => {
|
|
11850
|
+
var context;
|
|
11851
|
+
if (useBrick.brick === formRenderer) {
|
|
11852
|
+
context = useBrick.properties.formData.context;
|
|
11853
|
+
} else if (tplTagName) {
|
|
11854
|
+
context = customTemplateRegistry.get(tplTagName).state;
|
|
11855
|
+
}
|
|
11856
|
+
return Array.isArray(context) && context.some(ctx => !!ctx.resolve);
|
|
11857
|
+
}, [tplTagName, useBrick]);
|
|
11858
|
+
var [suspenseReady, setSuspenseReady] = React.useState(false);
|
|
11836
11859
|
|
|
11837
11860
|
/* istanbul ignore next (never reach in test) */
|
|
11838
11861
|
React.useImperativeHandle(ref, () => {
|
|
@@ -11849,10 +11872,12 @@
|
|
|
11849
11872
|
}
|
|
11850
11873
|
_internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
|
|
11851
11874
|
var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
|
|
11852
|
-
|
|
11853
|
-
if (
|
|
11854
|
-
|
|
11855
|
-
|
|
11875
|
+
var expanded = useBrick.brick === formRenderer ? (requireSuspense ? AsyncExpandCustomForm : ExpandCustomForm)(useBrick.properties.formData, useBrick, false) : expandTemplateInUseBrick(useBrick, tplTagName, brick, requireSuspense);
|
|
11876
|
+
if (requireSuspense) {
|
|
11877
|
+
setExpandedBrickConf(yield expanded);
|
|
11878
|
+
setSuspenseReady(true);
|
|
11879
|
+
} else {
|
|
11880
|
+
expandedBrickConfRef.current = expanded;
|
|
11856
11881
|
}
|
|
11857
11882
|
|
|
11858
11883
|
// Let `transform` works still.
|
|
@@ -11862,8 +11887,8 @@
|
|
|
11862
11887
|
|
|
11863
11888
|
// 设置 properties refProperty值
|
|
11864
11889
|
if (useBrick[symbolForComputedPropsFromProxy]) {
|
|
11865
|
-
Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(
|
|
11866
|
-
var [propName, propValue] =
|
|
11890
|
+
Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref13 => {
|
|
11891
|
+
var [propName, propValue] = _ref13;
|
|
11867
11892
|
_.set(brick.properties, propName, propValue);
|
|
11868
11893
|
});
|
|
11869
11894
|
}
|
|
@@ -11877,9 +11902,9 @@
|
|
|
11877
11902
|
}));
|
|
11878
11903
|
}
|
|
11879
11904
|
return brick;
|
|
11880
|
-
}), [useBrick, data, isBrickAvailable, tplTagName]);
|
|
11905
|
+
}), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
|
|
11881
11906
|
var dispatchLifeCycleEvent = /*#__PURE__*/function () {
|
|
11882
|
-
var
|
|
11907
|
+
var _ref14 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
|
|
11883
11908
|
for (var handler of [].concat(handlers)) {
|
|
11884
11909
|
listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
|
|
11885
11910
|
tplContextId: useBrick[symbolForTplContextId]
|
|
@@ -11887,7 +11912,7 @@
|
|
|
11887
11912
|
}
|
|
11888
11913
|
});
|
|
11889
11914
|
return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
|
|
11890
|
-
return
|
|
11915
|
+
return _ref14.apply(this, arguments);
|
|
11891
11916
|
};
|
|
11892
11917
|
}();
|
|
11893
11918
|
var updateBrick = React.useCallback((brick, element) => {
|
|
@@ -11938,7 +11963,7 @@
|
|
|
11938
11963
|
})();
|
|
11939
11964
|
}, [runtimeBrick, updateBrick]);
|
|
11940
11965
|
innerRefCallbackRef.current = /*#__PURE__*/function () {
|
|
11941
|
-
var
|
|
11966
|
+
var _ref16 = _asyncToGenerator__default["default"](function* (element) {
|
|
11942
11967
|
elementRef.current = element;
|
|
11943
11968
|
var brick;
|
|
11944
11969
|
try {
|
|
@@ -11964,7 +11989,7 @@
|
|
|
11964
11989
|
refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
|
|
11965
11990
|
});
|
|
11966
11991
|
return function (_x8) {
|
|
11967
|
-
return
|
|
11992
|
+
return _ref16.apply(this, arguments);
|
|
11968
11993
|
};
|
|
11969
11994
|
}();
|
|
11970
11995
|
|
|
@@ -11973,13 +11998,13 @@
|
|
|
11973
11998
|
innerRefCallbackRef.current(element);
|
|
11974
11999
|
}, []);
|
|
11975
12000
|
var childConfs = React.useMemo(() => {
|
|
11976
|
-
var
|
|
11977
|
-
return slotsToChildren(((
|
|
11978
|
-
}, [
|
|
11979
|
-
if (!isBrickAvailable) {
|
|
12001
|
+
var _ref17;
|
|
12002
|
+
return slotsToChildren(((_ref17 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) !== null && _ref17 !== void 0 ? _ref17 : useBrick).slots);
|
|
12003
|
+
}, [expandedBrickConf, expandedBrickConfRef.current, useBrick, requireSuspense]);
|
|
12004
|
+
if (!isBrickAvailable || requireSuspense && !suspenseReady) {
|
|
11980
12005
|
return null;
|
|
11981
12006
|
}
|
|
11982
|
-
return /*#__PURE__*/React__default["default"].createElement((
|
|
12007
|
+
return /*#__PURE__*/React__default["default"].createElement((_brick2 = (_ref18 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) === null || _ref18 === void 0 ? void 0 : _ref18.brick) !== null && _brick2 !== void 0 ? _brick2 : tplTagName || useBrick.brick, {
|
|
11983
12008
|
ref: innerRefCallback
|
|
11984
12009
|
}, ...childConfs.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
|
|
11985
12010
|
key: index,
|