@next-core/brick-kit 2.156.5 → 2.156.7

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.
@@ -9279,8 +9279,8 @@
9279
9279
  _this2.loadingBar = new BaseBar(_this2, "loadingBar");
9280
9280
  _this2.router = new Router(_this2);
9281
9281
  initAnalytics();
9282
- yield _this2.router.bootstrap();
9283
9282
  _this2.originFaviconHref = (_document$querySelect = document.querySelector("link[rel='shortcut icon']")) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.href;
9283
+ yield _this2.router.bootstrap();
9284
9284
 
9285
9285
  if (!window.STANDALONE_MICRO_APPS) {
9286
9286
  _this2.legacyAuthGuard();
@@ -10287,104 +10287,36 @@
10287
10287
  }
10288
10288
  }
10289
10289
 
10290
- function ExpandCustomForm(_x, _x2, _x3, _x4) {
10291
- return _ExpandCustomForm.apply(this, arguments);
10292
- }
10290
+ function ExpandCustomForm(formData, brickConf, isPreview, context) {
10291
+ var formContext = new CustomFormContext();
10292
+ formData = initFormContext(formData, brickConf, isPreview);
10293
10293
 
10294
- function _ExpandCustomForm() {
10295
- _ExpandCustomForm = _asyncToGenerator__default["default"](function* (formData, brickConf, isPreview, context) {
10296
- var errorBrick = {
10297
- brick: "presentational-bricks.brick-illustration",
10298
- properties: {
10299
- category: "default",
10300
- header: {
10301
- title: "参数错误"
10302
- },
10303
- mode: "guide",
10304
- name: "search-empty"
10305
- }
10306
- };
10307
- var formContext = new CustomFormContext();
10294
+ if (Array.isArray(formData.context)) {
10295
+ formContext.formState.syncDefine(formData.context, _objectSpread__default["default"](_objectSpread__default["default"]({}, context), {}, {
10296
+ formContextId: formContext.id
10297
+ }), {});
10298
+ }
10308
10299
 
10309
- if (isPreview && formData.formSchema && formData.formSchema.brick === "forms.general-form") {
10310
- var _formData$formSchema$;
10300
+ return getFinalStoryBoard(formData, brickConf, isPreview, formContext);
10301
+ }
10302
+ function AsyncExpandCustomForm(_x, _x2, _x3, _x4) {
10303
+ return _AsyncExpandCustomForm.apply(this, arguments);
10304
+ }
10311
10305
 
10312
- brickConf["properties"] = _objectSpread__default["default"](_objectSpread__default["default"]({}, brickConf.properties), (_formData$formSchema$ = formData.formSchema.properties) === null || _formData$formSchema$ === void 0 ? void 0 : _formData$formSchema$.previewConf);
10313
- }
10306
+ function _AsyncExpandCustomForm() {
10307
+ _AsyncExpandCustomForm = _asyncToGenerator__default["default"](function* (formData, brickConf, isPreview, context) {
10308
+ var formContext = new CustomFormContext();
10309
+ formData = initFormContext(formData, brickConf, isPreview);
10314
10310
 
10315
10311
  if (Array.isArray(formData.context)) {
10316
- formData.context.forEach(item => {
10317
- if (brickConf.properties[item.name] !== undefined) {
10318
- item.value = brickConf.properties[item.name];
10319
- }
10320
- });
10321
-
10322
- if (brickConf.properties.condition) {
10323
- formData.context.push({
10324
- name: "condition",
10325
- value: brickConf.properties.condition
10326
- });
10327
- }
10328
-
10329
10312
  yield formContext.formState.define(formData.context, _objectSpread__default["default"](_objectSpread__default["default"]({}, context), {}, {
10330
10313
  formContextId: formContext.id
10331
10314
  }), {});
10332
10315
  }
10333
10316
 
10334
- try {
10335
- var formStoryboard = getStoryboard([formData.formSchema], [], formData.fields, isPreview, formContext.id);
10336
- formStoryboard[0] = ___default["default"].isEmpty(formStoryboard[0]) ? errorBrick : formStoryboard[0];
10337
-
10338
- if (formStoryboard[0].brick === "forms.general-form" && brickConf.events) {
10339
- var _formStoryboard$0$eve;
10340
-
10341
- var brickConfEvents = brickConf.events;
10342
- var events = (_formStoryboard$0$eve = formStoryboard[0].events) !== null && _formStoryboard$0$eve !== void 0 ? _formStoryboard$0$eve : {};
10343
- Object.keys(brickConfEvents).forEach(item => {
10344
- var newEvents = Array.isArray(events[item]) ? events[item] : [events[item]];
10345
- var itemEvents = Array.isArray(brickConfEvents[item]) ? brickConfEvents[item] : [brickConfEvents[item]];
10346
- events[item] = ___default["default"].compact([...newEvents, ...itemEvents]);
10347
- });
10348
- formStoryboard[0].events = events;
10349
- }
10350
-
10351
- return _objectSpread__default["default"](_objectSpread__default["default"]({}, brickConf), {}, {
10352
- brick: "div",
10353
- slots: {
10354
- "": {
10355
- bricks: [{
10356
- brick: "basic-bricks.micro-view",
10357
- properties: {
10358
- style: {
10359
- padding: "12px"
10360
- }
10361
- },
10362
- slots: {
10363
- content: {
10364
- bricks: formStoryboard,
10365
- type: "bricks"
10366
- }
10367
- }
10368
- }],
10369
- type: "bricks"
10370
- }
10371
- }
10372
- });
10373
- } catch (error) {
10374
- // eslint-disable-next-line no-console
10375
- console.warn(error.message);
10376
- return {
10377
- brick: "div",
10378
- slots: {
10379
- "": {
10380
- bricks: [errorBrick],
10381
- type: "bricks"
10382
- }
10383
- }
10384
- };
10385
- }
10317
+ return getFinalStoryBoard(formData, brickConf, isPreview, formContext);
10386
10318
  });
10387
- return _ExpandCustomForm.apply(this, arguments);
10319
+ return _AsyncExpandCustomForm.apply(this, arguments);
10388
10320
  }
10389
10321
 
10390
10322
  function getDefaultProperties(_name, fields) {
@@ -10682,6 +10614,99 @@
10682
10614
 
10683
10615
  return result;
10684
10616
  }
10617
+ function initFormContext(formData, brickConf, isPreview) {
10618
+ if (isPreview && formData.formSchema && formData.formSchema.brick === "forms.general-form") {
10619
+ var _formData$formSchema$;
10620
+
10621
+ brickConf["properties"] = _objectSpread__default["default"](_objectSpread__default["default"]({}, brickConf.properties), (_formData$formSchema$ = formData.formSchema.properties) === null || _formData$formSchema$ === void 0 ? void 0 : _formData$formSchema$.previewConf);
10622
+ }
10623
+
10624
+ if (Array.isArray(formData.context)) {
10625
+ formData.context.forEach(item => {
10626
+ if (brickConf.properties[item.name] !== undefined) {
10627
+ item.value = brickConf.properties[item.name];
10628
+ }
10629
+ });
10630
+
10631
+ if (brickConf.properties.condition) {
10632
+ formData.context.push({
10633
+ name: "condition",
10634
+ value: brickConf.properties.condition
10635
+ });
10636
+ }
10637
+ }
10638
+
10639
+ return formData;
10640
+ }
10641
+ function getFinalStoryBoard(formData, brickConf, isPreview, formContext) {
10642
+ var result = null;
10643
+ var errorBrick = {
10644
+ brick: "presentational-bricks.brick-illustration",
10645
+ properties: {
10646
+ category: "default",
10647
+ header: {
10648
+ title: "参数错误"
10649
+ },
10650
+ mode: "guide",
10651
+ name: "search-empty"
10652
+ }
10653
+ };
10654
+
10655
+ try {
10656
+ var formStoryboard = getStoryboard([formData.formSchema], [], formData.fields, isPreview, formContext.id);
10657
+ formStoryboard[0] = ___default["default"].isEmpty(formStoryboard[0]) ? errorBrick : formStoryboard[0];
10658
+
10659
+ if (formStoryboard[0].brick === "forms.general-form" && brickConf.events) {
10660
+ var _formStoryboard$0$eve;
10661
+
10662
+ var brickConfEvents = brickConf.events;
10663
+ var events = (_formStoryboard$0$eve = formStoryboard[0].events) !== null && _formStoryboard$0$eve !== void 0 ? _formStoryboard$0$eve : {};
10664
+ Object.keys(brickConfEvents).forEach(item => {
10665
+ var newEvents = Array.isArray(events[item]) ? events[item] : [events[item]];
10666
+ var itemEvents = Array.isArray(brickConfEvents[item]) ? brickConfEvents[item] : [brickConfEvents[item]];
10667
+ events[item] = ___default["default"].compact([...newEvents, ...itemEvents]);
10668
+ });
10669
+ formStoryboard[0].events = events;
10670
+ }
10671
+
10672
+ result = _objectSpread__default["default"](_objectSpread__default["default"]({}, brickConf), {}, {
10673
+ brick: "div",
10674
+ slots: {
10675
+ "": {
10676
+ bricks: [{
10677
+ brick: "basic-bricks.micro-view",
10678
+ properties: {
10679
+ style: {
10680
+ padding: "12px"
10681
+ }
10682
+ },
10683
+ slots: {
10684
+ content: {
10685
+ bricks: formStoryboard,
10686
+ type: "bricks"
10687
+ }
10688
+ }
10689
+ }],
10690
+ type: "bricks"
10691
+ }
10692
+ }
10693
+ });
10694
+ } catch (error) {
10695
+ // eslint-disable-next-line no-console
10696
+ console.warn(error.message);
10697
+ result = {
10698
+ brick: "div",
10699
+ slots: {
10700
+ "": {
10701
+ bricks: [errorBrick],
10702
+ type: "bricks"
10703
+ }
10704
+ }
10705
+ };
10706
+ }
10707
+
10708
+ return result;
10709
+ }
10685
10710
 
10686
10711
  class LocationContext {
10687
10712
  constructor(kernel, location) {
@@ -11186,7 +11211,7 @@
11186
11211
 
11187
11212
  if (brick.type === formRenderer) {
11188
11213
  var formData = JSON.parse(brick.properties.formData);
11189
- expandedBrickConf = yield ExpandCustomForm(formData, brickConf, brick.properties.isPreview, context);
11214
+ expandedBrickConf = yield AsyncExpandCustomForm(formData, brickConf, brick.properties.isPreview, context);
11190
11215
  yield _this7.kernel.loadDynamicBricksInBrickConf(expandedBrickConf);
11191
11216
  }
11192
11217
 
@@ -13118,6 +13143,7 @@
13118
13143
  var innerRefCallbackRef = React.useRef();
13119
13144
  var elementRef = React.useRef();
13120
13145
  var templateRef = React.useRef();
13146
+ var formRef = React.useRef();
13121
13147
  var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
13122
13148
  var isBrickAvailable = React__default["default"].useMemo(() => {
13123
13149
  if (brickUtils.isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
@@ -13146,7 +13172,14 @@
13146
13172
  _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
13147
13173
 
13148
13174
  var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
13149
- templateRef.current = expandTemplateInUseBrick(useBrick, tplTagName, brick); // Let `transform` works still.
13175
+ templateRef.current = expandTemplateInUseBrick(useBrick, tplTagName, brick);
13176
+
13177
+ if (useBrick.brick === formRenderer) {
13178
+ var _useBrick$properties;
13179
+
13180
+ formRef.current = ExpandCustomForm((_useBrick$properties = useBrick.properties) === null || _useBrick$properties === void 0 ? void 0 : _useBrick$properties.formData, useBrick, false);
13181
+ } // Let `transform` works still.
13182
+
13150
13183
 
13151
13184
  transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
13152
13185
  allowInject: true
@@ -13209,7 +13242,7 @@
13209
13242
 
13210
13243
  handleProxyOfCustomTemplate(brick);
13211
13244
 
13212
- if (element.$$typeof !== "custom-template") {
13245
+ if (!["formRenderer", "custom-template"].includes(element.$$typeof)) {
13213
13246
  if (!useBrick.brick.includes("-")) {
13214
13247
  element.$$typeof = "native";
13215
13248
  } else if (!customElements.get(useBrick.brick)) {
@@ -13289,10 +13322,10 @@
13289
13322
  innerRefCallbackRef.current(element);
13290
13323
  }, []);
13291
13324
  var childConfs = React.useMemo(() => {
13292
- var _templateRef$current;
13325
+ var _ref7, _templateRef$current;
13293
13326
 
13294
- return slotsToChildren(((_templateRef$current = templateRef.current) !== null && _templateRef$current !== void 0 ? _templateRef$current : useBrick).slots);
13295
- }, [templateRef.current, useBrick]);
13327
+ return slotsToChildren(((_ref7 = (_templateRef$current = templateRef.current) !== null && _templateRef$current !== void 0 ? _templateRef$current : formRef.current) !== null && _ref7 !== void 0 ? _ref7 : useBrick).slots);
13328
+ }, [templateRef.current, formRef.current, useBrick]);
13296
13329
 
13297
13330
  if (!isBrickAvailable) {
13298
13331
  return null;
@@ -13325,11 +13358,11 @@
13325
13358
  * @param props - 属性。
13326
13359
  */
13327
13360
 
13328
- function BrickAsComponent(_ref7) {
13361
+ function BrickAsComponent(_ref8) {
13329
13362
  var {
13330
13363
  useBrick,
13331
13364
  data
13332
- } = _ref7;
13365
+ } = _ref8;
13333
13366
 
13334
13367
  if (Array.isArray(useBrick)) {
13335
13368
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
@@ -13350,8 +13383,8 @@
13350
13383
  return [];
13351
13384
  }
13352
13385
 
13353
- return Object.entries(slots).flatMap(_ref8 => {
13354
- var [slot, slotConf] = _ref8;
13386
+ return Object.entries(slots).flatMap(_ref9 => {
13387
+ var [slot, slotConf] = _ref9;
13355
13388
  return Array.isArray(slotConf.bricks) ? slotConf.bricks.map(child => _objectSpread__default["default"](_objectSpread__default["default"]({}, child), {}, {
13356
13389
  properties: _objectSpread__default["default"](_objectSpread__default["default"]({}, child.properties), {}, {
13357
13390
  slot
@@ -13371,19 +13404,20 @@
13371
13404
  // eslint-disable-next-line react/display-name
13372
13405
 
13373
13406
 
13374
- var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React.forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
13407
+ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React.forwardRef(function LegacySingleBrickAsComponent(_ref10, ref) {
13375
13408
  var _internalApiGetCurren2, _templateRef$current$2, _templateRef$current4;
13376
13409
 
13377
13410
  var {
13378
13411
  useBrick,
13379
13412
  data,
13380
13413
  refCallback
13381
- } = _ref9;
13414
+ } = _ref10;
13382
13415
  var firstRunRef = React.useRef(true);
13383
13416
  var innerRefCallbackRef = React.useRef();
13384
13417
  var elementRef = React.useRef();
13385
13418
  var templateRef = React.useRef();
13386
13419
  var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
13420
+ var formRef = React.useRef();
13387
13421
  var isBrickAvailable = React__default["default"].useMemo(() => {
13388
13422
  if (brickUtils.isObject(useBrick.if) && !isPreEvaluated(useBrick.if)) {
13389
13423
  // eslint-disable-next-line
@@ -13416,15 +13450,22 @@
13416
13450
  _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
13417
13451
 
13418
13452
  var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
13419
- templateRef.current = expandTemplateInUseBrick(useBrick, tplTagName, brick); // Let `transform` works still.
13453
+ templateRef.current = expandTemplateInUseBrick(useBrick, tplTagName, brick);
13454
+
13455
+ if (useBrick.brick === formRenderer) {
13456
+ var _useBrick$properties2;
13457
+
13458
+ formRef.current = ExpandCustomForm((_useBrick$properties2 = useBrick.properties) === null || _useBrick$properties2 === void 0 ? void 0 : _useBrick$properties2.formData, useBrick, false);
13459
+ } // Let `transform` works still.
13460
+
13420
13461
 
13421
13462
  transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
13422
13463
  allowInject: true
13423
13464
  }); // 设置 properties refProperty值
13424
13465
 
13425
13466
  if (useBrick[symbolForComputedPropsFromProxy]) {
13426
- Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
13427
- var [propName, propValue] = _ref11;
13467
+ Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref12 => {
13468
+ var [propName, propValue] = _ref12;
13428
13469
  _.set(brick.properties, propName, propValue);
13429
13470
  });
13430
13471
  }
@@ -13444,7 +13485,7 @@
13444
13485
  }), [useBrick, data, isBrickAvailable, tplTagName]);
13445
13486
 
13446
13487
  var dispatchLifeCycleEvent = /*#__PURE__*/function () {
13447
- var _ref12 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
13488
+ var _ref13 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
13448
13489
  for (var handler of [].concat(handlers)) {
13449
13490
  listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
13450
13491
  tplContextId: useBrick[symbolForTplContextId]
@@ -13453,7 +13494,7 @@
13453
13494
  });
13454
13495
 
13455
13496
  return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
13456
- return _ref12.apply(this, arguments);
13497
+ return _ref13.apply(this, arguments);
13457
13498
  };
13458
13499
  }();
13459
13500
 
@@ -13516,7 +13557,7 @@
13516
13557
  }, [runtimeBrick, updateBrick]);
13517
13558
 
13518
13559
  innerRefCallbackRef.current = /*#__PURE__*/function () {
13519
- var _ref14 = _asyncToGenerator__default["default"](function* (element) {
13560
+ var _ref15 = _asyncToGenerator__default["default"](function* (element) {
13520
13561
  elementRef.current = element;
13521
13562
  var brick;
13522
13563
 
@@ -13549,7 +13590,7 @@
13549
13590
  });
13550
13591
 
13551
13592
  return function (_x8) {
13552
- return _ref14.apply(this, arguments);
13593
+ return _ref15.apply(this, arguments);
13553
13594
  };
13554
13595
  }(); // ref https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs
13555
13596
 
@@ -13558,10 +13599,10 @@
13558
13599
  innerRefCallbackRef.current(element);
13559
13600
  }, []);
13560
13601
  var childConfs = React.useMemo(() => {
13561
- var _templateRef$current3;
13602
+ var _ref16, _templateRef$current3;
13562
13603
 
13563
- return slotsToChildren(((_templateRef$current3 = templateRef.current) !== null && _templateRef$current3 !== void 0 ? _templateRef$current3 : useBrick).slots);
13564
- }, [templateRef.current, useBrick]);
13604
+ return slotsToChildren(((_ref16 = (_templateRef$current3 = templateRef.current) !== null && _templateRef$current3 !== void 0 ? _templateRef$current3 : formRef.current) !== null && _ref16 !== void 0 ? _ref16 : useBrick).slots);
13605
+ }, [templateRef.current, formRef.current, useBrick]);
13565
13606
 
13566
13607
  if (!isBrickAvailable) {
13567
13608
  return null;