@next-core/brick-kit 2.164.1 → 2.164.3

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.
@@ -11111,7 +11111,7 @@
11111
11111
  render(location) {
11112
11112
  var _this3 = this;
11113
11113
  return _asyncToGenerator__default["default"](function* () {
11114
- var _apiAnalyzer$getInsta, _currentApp$config, _currentApp$config$_e, _getLocalAppsTheme;
11114
+ var _apiAnalyzer$getInsta, _currentApp$config, _currentApp$config$_e, _this3$kernel$bootstr, _this3$kernel$bootstr2, _getLocalAppsTheme;
11115
11115
  _this3.state = "initial";
11116
11116
  _this3.renderId = _.uniqueId("render-id-");
11117
11117
  resetAllInjected();
@@ -11188,9 +11188,12 @@
11188
11188
  var layoutType = (currentApp === null || currentApp === void 0 ? void 0 : currentApp.layoutType) || "console";
11189
11189
  var faviconElement = document.querySelector("link[rel='shortcut icon']");
11190
11190
  var customFaviconHref = currentApp === null || currentApp === void 0 ? void 0 : (_currentApp$config = currentApp.config) === null || _currentApp$config === void 0 ? void 0 : (_currentApp$config$_e = _currentApp$config._easyops_app_favicon) === null || _currentApp$config$_e === void 0 ? void 0 : _currentApp$config$_e.default;
11191
+ var settingsFaviconHref = (_this3$kernel$bootstr = _this3.kernel.bootstrapData.settings) === null || _this3$kernel$bootstr === void 0 ? void 0 : (_this3$kernel$bootstr2 = _this3$kernel$bootstr.brand) === null || _this3$kernel$bootstr2 === void 0 ? void 0 : _this3$kernel$bootstr2.favicon;
11191
11192
  if (faviconElement) {
11192
11193
  if (customFaviconHref) {
11193
11194
  faviconElement.href = /^(?:https?|data):|^\//.test(customFaviconHref) ? customFaviconHref : imagesFactory(currentApp.id, currentApp.isBuildPush).get(customFaviconHref);
11195
+ } else if (settingsFaviconHref) {
11196
+ faviconElement.href = settingsFaviconHref;
11194
11197
  } else {
11195
11198
  faviconElement.href = _this3.kernel.getOriginFaviconHref();
11196
11199
  }
@@ -11358,7 +11361,7 @@
11358
11361
  // When we have a matched route other than an abstract route,
11359
11362
  // we say *page found*, otherwise, *page not found*.
11360
11363
  if (route && route.type !== "routes" || failed) {
11361
- var _this3$kernel$bootstr, _this3$kernel$bootstr2, _getAuth$license;
11364
+ var _this3$kernel$bootstr3, _this3$kernel$bootstr4, _getAuth$license;
11362
11365
  yield pendingTask;
11363
11366
  main.length > 0 && mountTree(main, mountPoints.main);
11364
11367
  portal.length > 0 && mountTree(portal, mountPoints.portal);
@@ -11397,7 +11400,7 @@
11397
11400
  var {
11398
11401
  loadTime = 0,
11399
11402
  loadInfoPage
11400
- } = (_this3$kernel$bootstr = (_this3$kernel$bootstr2 = _this3.kernel.bootstrapData.settings) === null || _this3$kernel$bootstr2 === void 0 ? void 0 : _this3$kernel$bootstr2.misc) !== null && _this3$kernel$bootstr !== void 0 ? _this3$kernel$bootstr : {};
11403
+ } = (_this3$kernel$bootstr3 = (_this3$kernel$bootstr4 = _this3.kernel.bootstrapData.settings) === null || _this3$kernel$bootstr4 === void 0 ? void 0 : _this3$kernel$bootstr4.misc) !== null && _this3$kernel$bootstr3 !== void 0 ? _this3$kernel$bootstr3 : {};
11401
11404
  if (currentApp.isBuildPush && loadTime > 0 && renderTime > loadTime) {
11402
11405
  var getSecond = time => Math.floor(time * 100) / 100;
11403
11406
  tipsDetail.push(_objectSpread__default["default"]({
@@ -11894,7 +11897,7 @@
11894
11897
  * @param props - 属性。
11895
11898
  */
11896
11899
  var SingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo(function SingleBrickAsComponent(_ref) {
11897
- var _internalApiGetCurren, _brick, _ref8;
11900
+ var _internalApiGetCurren, _expandedBrickConf$br;
11898
11901
  var {
11899
11902
  useBrick,
11900
11903
  data,
@@ -11904,7 +11907,6 @@
11904
11907
  var firstRunRef = React.useRef(true);
11905
11908
  var innerRefCallbackRef = React.useRef();
11906
11909
  var elementRef = React.useRef();
11907
- var expandedBrickConfRef = React.useRef();
11908
11910
  var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
11909
11911
  var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren === void 0 ? void 0 : _internalApiGetCurren.id);
11910
11912
  var isBrickAvailable = React.useMemo(() => {
@@ -11940,15 +11942,22 @@
11940
11942
  if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
11941
11943
  return;
11942
11944
  }
11943
- _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
11945
+ var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
11946
+
11947
+ // 需要等待构件加载完成,因为构件可能包含属性初始化逻辑。
11948
+ // 如果先创建构件,再完成构件加载,其属性默认初始化动作会覆盖用户定义的属性。
11949
+ // 另一方面,避免额外的 MicroTask,因为 graph.general-graph 构件依赖固定的 useBrick 渲染时机。
11950
+ if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
11951
+ yield promise;
11952
+ }
11944
11953
  var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
11945
11954
  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);
11946
11955
  if (requireSuspense) {
11947
11956
  setExpandedBrickConf(yield expanded);
11948
- setSuspenseReady(true);
11949
11957
  } else {
11950
- expandedBrickConfRef.current = expanded;
11958
+ setExpandedBrickConf(expanded);
11951
11959
  }
11960
+ setSuspenseReady(true);
11952
11961
 
11953
11962
  // Let `transform` works still.
11954
11963
  transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
@@ -12074,14 +12083,12 @@
12074
12083
  var innerRefCallback = React__default["default"].useCallback(element => {
12075
12084
  innerRefCallbackRef.current(element);
12076
12085
  }, []);
12077
- var childConfs = React.useMemo(() => {
12078
- var _ref7;
12079
- return slotsToChildren(((_ref7 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) !== null && _ref7 !== void 0 ? _ref7 : useBrick).slots);
12080
- }, [expandedBrickConf, expandedBrickConfRef.current, useBrick, requireSuspense]);
12081
- if (!isBrickAvailable || requireSuspense && !suspenseReady) {
12086
+ var childConfs = React.useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
12087
+ if (!isBrickAvailable || !suspenseReady) {
12082
12088
  return null;
12083
12089
  }
12084
- 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, {
12090
+ var tagName = (_expandedBrickConf$br = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br !== void 0 ? _expandedBrickConf$br : tplTagName || useBrick.brick;
12091
+ return /*#__PURE__*/React__default["default"].createElement(tagName, {
12085
12092
  ref: innerRefCallback
12086
12093
  }, ...childConfs.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
12087
12094
  key: index,
@@ -12108,11 +12115,11 @@
12108
12115
  *
12109
12116
  * @param props - 属性。
12110
12117
  */
12111
- function BrickAsComponent(_ref9) {
12118
+ function BrickAsComponent(_ref7) {
12112
12119
  var {
12113
12120
  useBrick,
12114
12121
  data
12115
- } = _ref9;
12122
+ } = _ref7;
12116
12123
  if (Array.isArray(useBrick)) {
12117
12124
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
12118
12125
  key: index,
@@ -12129,8 +12136,8 @@
12129
12136
  if (!slots) {
12130
12137
  return [];
12131
12138
  }
12132
- return Object.entries(slots).flatMap(_ref10 => {
12133
- var [slot, slotConf] = _ref10;
12139
+ return Object.entries(slots).flatMap(_ref8 => {
12140
+ var [slot, slotConf] = _ref8;
12134
12141
  return Array.isArray(slotConf.bricks) ? slotConf.bricks.map(child => _objectSpread__default["default"](_objectSpread__default["default"]({}, child), {}, {
12135
12142
  properties: _objectSpread__default["default"](_objectSpread__default["default"]({}, child.properties), {}, {
12136
12143
  slot
@@ -12148,17 +12155,16 @@
12148
12155
 
12149
12156
  /* istanbul ignore next */
12150
12157
  // eslint-disable-next-line react/display-name
12151
- var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React.forwardRef(function LegacySingleBrickAsComponent(_ref11, ref) {
12152
- var _internalApiGetCurren2, _brick2, _ref18;
12158
+ var ForwardRefSingleBrickAsComponent = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React.forwardRef(function LegacySingleBrickAsComponent(_ref9, ref) {
12159
+ var _internalApiGetCurren2, _expandedBrickConf$br2;
12153
12160
  var {
12154
12161
  useBrick,
12155
12162
  data,
12156
12163
  refCallback
12157
- } = _ref11;
12164
+ } = _ref9;
12158
12165
  var firstRunRef = React.useRef(true);
12159
12166
  var innerRefCallbackRef = React.useRef();
12160
12167
  var elementRef = React.useRef();
12161
- var expandedBrickConfRef = React.useRef();
12162
12168
  var [expandedBrickConf, setExpandedBrickConf] = React.useState(null);
12163
12169
  var tplTagName = getTagNameOfCustomTemplate(useBrick.brick, (_internalApiGetCurren2 = _internalApiGetCurrentContext().app) === null || _internalApiGetCurren2 === void 0 ? void 0 : _internalApiGetCurren2.id);
12164
12170
  var isBrickAvailable = React__default["default"].useMemo(() => {
@@ -12199,15 +12205,18 @@
12199
12205
  if (_internalApiGetRouterState() === "initial" && !window.DEVELOPER_PREVIEW) {
12200
12206
  return;
12201
12207
  }
12202
- _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12208
+ var promise = _internalApiLoadDynamicBricksInBrickConf(useBrick).catch(handleHttpError);
12209
+ if (useBrick.brick.includes("-") && !customElements.get(useBrick.brick)) {
12210
+ yield promise;
12211
+ }
12203
12212
  var brick = getCurrentRunTimeBrick(useBrick, tplTagName, data);
12204
12213
  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);
12205
12214
  if (requireSuspense) {
12206
12215
  setExpandedBrickConf(yield expanded);
12207
- setSuspenseReady(true);
12208
12216
  } else {
12209
- expandedBrickConfRef.current = expanded;
12217
+ setExpandedBrickConf(expanded);
12210
12218
  }
12219
+ setSuspenseReady(true);
12211
12220
 
12212
12221
  // Let `transform` works still.
12213
12222
  transformProperties(brick.properties, data, useBrick.transform, useBrick.transformFrom, undefined, {
@@ -12216,8 +12225,8 @@
12216
12225
 
12217
12226
  // 设置 properties refProperty值
12218
12227
  if (useBrick[symbolForComputedPropsFromProxy]) {
12219
- Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref13 => {
12220
- var [propName, propValue] = _ref13;
12228
+ Object.entries(useBrick[symbolForComputedPropsFromProxy]).forEach(_ref11 => {
12229
+ var [propName, propValue] = _ref11;
12221
12230
  _.set(brick.properties, propName, propValue);
12222
12231
  });
12223
12232
  }
@@ -12233,7 +12242,7 @@
12233
12242
  return brick;
12234
12243
  }), [useBrick, data, isBrickAvailable, tplTagName, requireSuspense]);
12235
12244
  var dispatchLifeCycleEvent = /*#__PURE__*/function () {
12236
- var _ref14 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
12245
+ var _ref12 = _asyncToGenerator__default["default"](function* (event, handlers, brick) {
12237
12246
  for (var handler of [].concat(handlers)) {
12238
12247
  listenerFactory(handler, _objectSpread__default["default"](_objectSpread__default["default"]({}, _internalApiGetCurrentContext()), {}, {
12239
12248
  tplContextId: useBrick[symbolForTplContextId]
@@ -12241,7 +12250,7 @@
12241
12250
  }
12242
12251
  });
12243
12252
  return function dispatchLifeCycleEvent(_x5, _x6, _x7) {
12244
- return _ref14.apply(this, arguments);
12253
+ return _ref12.apply(this, arguments);
12245
12254
  };
12246
12255
  }();
12247
12256
  var updateBrick = React.useCallback((brick, element) => {
@@ -12292,7 +12301,7 @@
12292
12301
  })();
12293
12302
  }, [runtimeBrick, updateBrick]);
12294
12303
  innerRefCallbackRef.current = /*#__PURE__*/function () {
12295
- var _ref16 = _asyncToGenerator__default["default"](function* (element) {
12304
+ var _ref14 = _asyncToGenerator__default["default"](function* (element) {
12296
12305
  elementRef.current = element;
12297
12306
  var brick;
12298
12307
  try {
@@ -12318,7 +12327,7 @@
12318
12327
  refCallback === null || refCallback === void 0 ? void 0 : refCallback(element);
12319
12328
  });
12320
12329
  return function (_x8) {
12321
- return _ref16.apply(this, arguments);
12330
+ return _ref14.apply(this, arguments);
12322
12331
  };
12323
12332
  }();
12324
12333
 
@@ -12326,14 +12335,12 @@
12326
12335
  var innerRefCallback = React__default["default"].useCallback(element => {
12327
12336
  innerRefCallbackRef.current(element);
12328
12337
  }, []);
12329
- var childConfs = React.useMemo(() => {
12330
- var _ref17;
12331
- return slotsToChildren(((_ref17 = requireSuspense ? expandedBrickConf : expandedBrickConfRef.current) !== null && _ref17 !== void 0 ? _ref17 : useBrick).slots);
12332
- }, [expandedBrickConf, expandedBrickConfRef.current, useBrick, requireSuspense]);
12333
- if (!isBrickAvailable || requireSuspense && !suspenseReady) {
12338
+ var childConfs = React.useMemo(() => isBrickAvailable && suspenseReady ? slotsToChildren((expandedBrickConf !== null && expandedBrickConf !== void 0 ? expandedBrickConf : useBrick).slots) : [], [isBrickAvailable, suspenseReady, expandedBrickConf, useBrick]);
12339
+ if (!isBrickAvailable || !suspenseReady) {
12334
12340
  return null;
12335
12341
  }
12336
- 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, {
12342
+ var tagName = (_expandedBrickConf$br2 = expandedBrickConf === null || expandedBrickConf === void 0 ? void 0 : expandedBrickConf.brick) !== null && _expandedBrickConf$br2 !== void 0 ? _expandedBrickConf$br2 : tplTagName || useBrick.brick;
12343
+ return /*#__PURE__*/React__default["default"].createElement(tagName, {
12337
12344
  ref: innerRefCallback
12338
12345
  }, ...childConfs.map((item, index) => /*#__PURE__*/React__default["default"].createElement(SingleBrickAsComponent, {
12339
12346
  key: index,