@next-core/brick-kit 2.112.0 → 2.115.0
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/CHANGELOG.md +45 -0
- package/dist/index.bundle.js +105 -10
- package/dist/index.bundle.js.map +1 -1
- package/dist/index.esm.js +105 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/types/core/LocationContext.d.ts +4 -0
- package/dist/types/core/LocationContext.d.ts.map +1 -1
- package/dist/types/core/Router.d.ts +1 -0
- package/dist/types/core/Router.d.ts.map +1 -1
- package/dist/types/internal/evaluate.d.ts.map +1 -1
- package/dist/types/internal/mediaQuery.d.ts +15 -0
- package/dist/types/internal/mediaQuery.d.ts.map +1 -0
- package/dist/types/internal/menu.d.ts +1 -1
- package/dist/types/internal/menu.d.ts.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,51 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.115.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.114.0...@next-core/brick-kit@2.115.0) (2022-03-30)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* APP.getMenu support scan template & routes ([5498846](https://github.com/easyops-cn/next-core/commit/54988465a5357a97834aaca317b41b3fcb2c6a65))
|
|
12
|
+
* loactionContext preFetchMenu ([9a0ec7b](https://github.com/easyops-cn/next-core/commit/9a0ec7b0a19e26633772a71de829f014574ec735))
|
|
13
|
+
* support walkAny unit function ([8adff8e](https://github.com/easyops-cn/next-core/commit/8adff8e2538a43676c5eef1f275e1c5a8127171a))
|
|
14
|
+
* unit test update ([00b3606](https://github.com/easyops-cn/next-core/commit/00b3606c2a2d7ba9a26f3a0255721a11e225c7d9))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# [2.114.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.113.0...@next-core/brick-kit@2.114.0) (2022-03-29)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* add MEDIA gloabl object and onMediaChange life cycle ([3192ee4](https://github.com/easyops-cn/next-core/commit/3192ee4e595e2edc78d05b68d6cf0431905296fb))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# [2.113.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.112.1...@next-core/brick-kit@2.113.0) (2022-03-29)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
* cache fetchMenu, and APP.getMenu change ([07ede47](https://github.com/easyops-cn/next-core/commit/07ede4778f012fbbb7e72d30b1c41d6478660aec))
|
|
37
|
+
* update type ([d7b480e](https://github.com/easyops-cn/next-core/commit/d7b480ecc287263345415c536bd263b7fb317b1e))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## [2.112.1](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.112.0...@next-core/brick-kit@2.112.1) (2022-03-29)
|
|
44
|
+
|
|
45
|
+
**Note:** Version bump only for package @next-core/brick-kit
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
6
51
|
# [2.112.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.111.3...@next-core/brick-kit@2.112.0) (2022-03-29)
|
|
7
52
|
|
|
8
53
|
|
package/dist/index.bundle.js
CHANGED
|
@@ -2186,6 +2186,56 @@
|
|
|
2186
2186
|
return tplContextMap.get(tplContextId);
|
|
2187
2187
|
}
|
|
2188
2188
|
|
|
2189
|
+
var MediaSize;
|
|
2190
|
+
|
|
2191
|
+
(function (MediaSize) {
|
|
2192
|
+
MediaSize["xLarge"] = "xLarge";
|
|
2193
|
+
MediaSize["large"] = "large";
|
|
2194
|
+
MediaSize["medium"] = "medium";
|
|
2195
|
+
MediaSize["small"] = "small";
|
|
2196
|
+
MediaSize["xSmall"] = "xSmall";
|
|
2197
|
+
})(MediaSize || (MediaSize = {}));
|
|
2198
|
+
|
|
2199
|
+
var mediaSizeBreakpointMap = new Map([[MediaSize.xLarge, "1920px"], [MediaSize.large, "1600px"], [MediaSize.medium, "1280px"], [MediaSize.small, "1024px"], [MediaSize.xSmall, 0]]);
|
|
2200
|
+
var mediaEventTarget = new EventTarget$1();
|
|
2201
|
+
var sizeMatchesMap = {};
|
|
2202
|
+
var MEDIA = {};
|
|
2203
|
+
|
|
2204
|
+
function handleMatchesChange(data, size) {
|
|
2205
|
+
var changed = false;
|
|
2206
|
+
sizeMatchesMap[size] = data.matches;
|
|
2207
|
+
|
|
2208
|
+
for (var [_size] of mediaSizeBreakpointMap) {
|
|
2209
|
+
if (sizeMatchesMap[_size] && MEDIA.size !== _size) {
|
|
2210
|
+
MEDIA.size = _size;
|
|
2211
|
+
changed = true;
|
|
2212
|
+
break;
|
|
2213
|
+
}
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2216
|
+
if (changed) {
|
|
2217
|
+
mediaEventTarget.dispatchEvent(new CustomEvent("change", {
|
|
2218
|
+
detail: MEDIA
|
|
2219
|
+
}));
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
|
|
2223
|
+
mediaSizeBreakpointMap.forEach((breakpoint, size) => {
|
|
2224
|
+
var mediaQueryList = window.matchMedia("(min-width: ".concat(breakpoint, ")"));
|
|
2225
|
+
handleMatchesChange(mediaQueryList, size);
|
|
2226
|
+
|
|
2227
|
+
if (mediaQueryList.addEventListener) {
|
|
2228
|
+
mediaQueryList.addEventListener("change", event => {
|
|
2229
|
+
handleMatchesChange(event, size);
|
|
2230
|
+
});
|
|
2231
|
+
} else {
|
|
2232
|
+
mediaQueryList.addListener(event => {
|
|
2233
|
+
handleMatchesChange(event, size);
|
|
2234
|
+
});
|
|
2235
|
+
}
|
|
2236
|
+
});
|
|
2237
|
+
var getMedia = () => MEDIA;
|
|
2238
|
+
|
|
2189
2239
|
var symbolForRaw = Symbol.for("pre.evaluated.raw");
|
|
2190
2240
|
var symbolForContext = Symbol.for("pre.evaluated.context");
|
|
2191
2241
|
function isPreEvaluated(raw) {
|
|
@@ -2422,6 +2472,9 @@
|
|
|
2422
2472
|
case "SYS":
|
|
2423
2473
|
return getReadOnlyProxy(sys);
|
|
2424
2474
|
|
|
2475
|
+
case "MEDIA":
|
|
2476
|
+
return getReadOnlyProxy(getMedia());
|
|
2477
|
+
|
|
2425
2478
|
case "__WIDGET_FN__":
|
|
2426
2479
|
return widgetFunctions;
|
|
2427
2480
|
|
|
@@ -2663,6 +2716,7 @@
|
|
|
2663
2716
|
// Caching menu requests to avoid flicker.
|
|
2664
2717
|
var menuCache = new Map();
|
|
2665
2718
|
var menuTitleCache = new Map();
|
|
2719
|
+
var processMenuCache = new Map();
|
|
2666
2720
|
function constructMenu(_x, _x2, _x3) {
|
|
2667
2721
|
return _constructMenu.apply(this, arguments);
|
|
2668
2722
|
}
|
|
@@ -2699,12 +2753,14 @@
|
|
|
2699
2753
|
|
|
2700
2754
|
function _constructMenuByMenusList() {
|
|
2701
2755
|
_constructMenuByMenusList = _asyncToGenerator__default["default"](function* (menus, context, kernel) {
|
|
2702
|
-
|
|
2756
|
+
processMenuCache.clear();
|
|
2757
|
+
var data = yield Promise.all(menus.map(menuId => processMenu(menuId, context, kernel)));
|
|
2758
|
+
data.forEach((item, index) => processMenuCache.set(menus[index], item));
|
|
2703
2759
|
});
|
|
2704
2760
|
return _constructMenuByMenusList.apply(this, arguments);
|
|
2705
2761
|
}
|
|
2706
2762
|
|
|
2707
|
-
var getMenu = menuId =>
|
|
2763
|
+
var getMenu = menuId => processMenuCache.get(menuId);
|
|
2708
2764
|
function fetchMenuById(_x7, _x8) {
|
|
2709
2765
|
return _fetchMenuById.apply(this, arguments);
|
|
2710
2766
|
}
|
|
@@ -8590,6 +8646,8 @@
|
|
|
8590
8646
|
|
|
8591
8647
|
_defineProperty__default["default"](this, "anchorUnloadHandlers", []);
|
|
8592
8648
|
|
|
8649
|
+
_defineProperty__default["default"](this, "mediaChangeHandlers", []);
|
|
8650
|
+
|
|
8593
8651
|
_defineProperty__default["default"](this, "messageCloseHandlers", []);
|
|
8594
8652
|
|
|
8595
8653
|
_defineProperty__default["default"](this, "messageHandlers", []);
|
|
@@ -8779,15 +8837,11 @@
|
|
|
8779
8837
|
}
|
|
8780
8838
|
|
|
8781
8839
|
if (isRouteConfOfRoutes(route) && Array.isArray(route.routes)) {
|
|
8840
|
+
yield _this.preFetchMenu(route.context);
|
|
8782
8841
|
yield _this.mountRoutes(route.routes, slotId, mountRoutesResult);
|
|
8783
8842
|
} else if (isRouteConfOfBricks(route) && Array.isArray(route.bricks)) {
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
if (useMenus.length) {
|
|
8787
|
-
yield constructMenuByMenusList(useMenus, _this.getCurrentContext(), _this.kernel);
|
|
8788
|
-
}
|
|
8789
|
-
|
|
8790
|
-
yield _this.mountBricks(route.bricks, matched.match, slotId, mountRoutesResult); // analytics data (page_view event)
|
|
8843
|
+
yield _this.mountBricks(route.bricks, matched.match, slotId, mountRoutesResult);
|
|
8844
|
+
yield _this.preFetchMenu(route); // analytics data (page_view event)
|
|
8791
8845
|
|
|
8792
8846
|
if (route.analyticsData) {
|
|
8793
8847
|
mountRoutesResult.analyticsData = computeRealValue(route.analyticsData, context, true);
|
|
@@ -9043,6 +9097,9 @@
|
|
|
9043
9097
|
var expandedBrickConf = brickConf;
|
|
9044
9098
|
|
|
9045
9099
|
if (tplTagName) {
|
|
9100
|
+
var _customTemplateRegist;
|
|
9101
|
+
|
|
9102
|
+
yield _this6.preFetchMenu((_customTemplateRegist = customTemplateRegistry.get(tplTagName)) === null || _customTemplateRegist === void 0 ? void 0 : _customTemplateRegist.bricks);
|
|
9046
9103
|
expandedBrickConf = yield asyncExpandCustomTemplate(_objectSpread__default["default"](_objectSpread__default["default"]({}, brickConf), {}, {
|
|
9047
9104
|
brick: tplTagName,
|
|
9048
9105
|
// Properties are computed for custom templates.
|
|
@@ -9104,6 +9161,7 @@
|
|
|
9104
9161
|
onPageLeave,
|
|
9105
9162
|
onAnchorLoad,
|
|
9106
9163
|
onAnchorUnload,
|
|
9164
|
+
onMediaChange,
|
|
9107
9165
|
onMessage,
|
|
9108
9166
|
onMessageClose
|
|
9109
9167
|
} = lifeCycle !== null && lifeCycle !== void 0 ? lifeCycle : {};
|
|
@@ -9162,6 +9220,15 @@
|
|
|
9162
9220
|
});
|
|
9163
9221
|
}
|
|
9164
9222
|
|
|
9223
|
+
if (onMediaChange) {
|
|
9224
|
+
this.mediaChangeHandlers.push({
|
|
9225
|
+
brick,
|
|
9226
|
+
match,
|
|
9227
|
+
tplContextId,
|
|
9228
|
+
handler: onMediaChange
|
|
9229
|
+
});
|
|
9230
|
+
}
|
|
9231
|
+
|
|
9165
9232
|
if (onMessage) {
|
|
9166
9233
|
this.messageHandlers.push({
|
|
9167
9234
|
brick,
|
|
@@ -9217,6 +9284,12 @@
|
|
|
9217
9284
|
}
|
|
9218
9285
|
}
|
|
9219
9286
|
|
|
9287
|
+
handleMediaChange(detail) {
|
|
9288
|
+
this.dispatchLifeCycleEvent(new CustomEvent("media.change", {
|
|
9289
|
+
detail: getReadOnlyProxy(detail)
|
|
9290
|
+
}), this.mediaChangeHandlers);
|
|
9291
|
+
}
|
|
9292
|
+
|
|
9220
9293
|
handleMessage() {
|
|
9221
9294
|
this.messageDispatcher.create(this.messageHandlers, this.getCurrentContext());
|
|
9222
9295
|
}
|
|
@@ -9247,6 +9320,18 @@
|
|
|
9247
9320
|
}
|
|
9248
9321
|
}
|
|
9249
9322
|
|
|
9323
|
+
preFetchMenu(data) {
|
|
9324
|
+
var _this7 = this;
|
|
9325
|
+
|
|
9326
|
+
return _asyncToGenerator__default["default"](function* () {
|
|
9327
|
+
var useMenus = brickUtils.scanAppGetMenuInAny(data);
|
|
9328
|
+
|
|
9329
|
+
if (useMenus.length) {
|
|
9330
|
+
yield constructMenuByMenusList(useMenus, _this7.getCurrentContext(), _this7.kernel);
|
|
9331
|
+
}
|
|
9332
|
+
})();
|
|
9333
|
+
}
|
|
9334
|
+
|
|
9250
9335
|
}
|
|
9251
9336
|
|
|
9252
9337
|
function unmountTree(mountPoint) {
|
|
@@ -9728,6 +9813,8 @@
|
|
|
9728
9813
|
|
|
9729
9814
|
_defineProperty__default["default"](this, "navConfig", void 0);
|
|
9730
9815
|
|
|
9816
|
+
_defineProperty__default["default"](this, "mediaEventTargetHandler", void 0);
|
|
9817
|
+
|
|
9731
9818
|
this.kernel = kernel;
|
|
9732
9819
|
this.featureFlags = this.kernel.getFeatureFlags();
|
|
9733
9820
|
var history = getHistory();
|
|
@@ -10035,7 +10122,12 @@
|
|
|
10035
10122
|
_this3.kernel.unsetBars({
|
|
10036
10123
|
appChanged,
|
|
10037
10124
|
legacy: actualLegacy
|
|
10038
|
-
});
|
|
10125
|
+
});
|
|
10126
|
+
|
|
10127
|
+
if (_this3.mediaEventTargetHandler) {
|
|
10128
|
+
mediaEventTarget.removeEventListener("change", _this3.mediaEventTargetHandler);
|
|
10129
|
+
_this3.mediaEventTargetHandler = undefined;
|
|
10130
|
+
} // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.
|
|
10039
10131
|
|
|
10040
10132
|
|
|
10041
10133
|
_this3.locationContext.handleBeforePageLoad();
|
|
@@ -10108,6 +10200,9 @@
|
|
|
10108
10200
|
_this3.locationContext.handleMessage();
|
|
10109
10201
|
}
|
|
10110
10202
|
|
|
10203
|
+
_this3.mediaEventTargetHandler = event => _this3.locationContext.handleMediaChange(event.detail);
|
|
10204
|
+
|
|
10205
|
+
mediaEventTarget.addEventListener("change", _this3.mediaEventTargetHandler);
|
|
10111
10206
|
pageTracker === null || pageTracker === void 0 ? void 0 : pageTracker(locationContext.getCurrentMatch().path); // analytics page_view event
|
|
10112
10207
|
|
|
10113
10208
|
easyopsAnalytics.userAnalytics.event("page_view", _objectSpread__default["default"]({
|