@next-core/runtime 1.38.2 → 1.38.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.
- package/dist/cjs/CustomProcessors.js.map +1 -1
- package/dist/cjs/CustomTemplates.js.map +1 -1
- package/dist/cjs/Dialog.js.map +1 -1
- package/dist/cjs/Notification.js.map +1 -1
- package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
- package/dist/cjs/auth.js.map +1 -1
- package/dist/cjs/createRoot.js.map +1 -1
- package/dist/cjs/fetchByProvider.js.map +1 -1
- package/dist/cjs/getBasePath.js.map +1 -1
- package/dist/cjs/getPageInfo.js.map +1 -1
- package/dist/cjs/getRealValue.js.map +1 -1
- package/dist/cjs/getV2RuntimeFromDll.js.map +1 -1
- package/dist/cjs/handleHttpError.js.map +1 -1
- package/dist/cjs/history.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/constants.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/getDefaultProperties.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/interfaces.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
- package/dist/cjs/internal/Renderer.js.map +1 -1
- package/dist/cjs/internal/RendererContext.js +59 -59
- package/dist/cjs/internal/RendererContext.js.map +1 -1
- package/dist/cjs/internal/Router.js +51 -51
- package/dist/cjs/internal/Router.js.map +1 -1
- package/dist/cjs/internal/Runtime.js +8 -8
- package/dist/cjs/internal/Runtime.js.map +1 -1
- package/dist/cjs/internal/abortController.js.map +1 -1
- package/dist/cjs/internal/bindListeners.js.map +1 -1
- package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -1
- package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
- package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -1
- package/dist/cjs/internal/compute/checkIf.js.map +1 -1
- package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -1
- package/dist/cjs/internal/compute/computeRealValue.js.map +1 -1
- package/dist/cjs/internal/compute/evaluate.js.map +1 -1
- package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
- package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
- package/dist/cjs/internal/compute/getTracks.js.map +1 -1
- package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
- package/dist/cjs/internal/compute/markAsComputed.js.map +1 -1
- package/dist/cjs/internal/compute/setProperties.js.map +1 -1
- package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
- package/dist/cjs/internal/customizeColorTheme.js.map +1 -1
- package/dist/cjs/internal/data/DataStore.js.map +1 -1
- package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
- package/dist/cjs/internal/data/realTimeDataInspect.js.map +1 -1
- package/dist/cjs/internal/data/resolveData.js.map +1 -1
- package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
- package/dist/cjs/internal/devtools.js.map +1 -1
- package/dist/cjs/internal/enums.js.map +1 -1
- package/dist/cjs/internal/fulfilStoryboard.js.map +1 -1
- package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
- package/dist/cjs/internal/historyExtended.js.map +1 -1
- package/dist/cjs/internal/i18n.js.map +1 -1
- package/dist/cjs/internal/injected.js.map +1 -1
- package/dist/cjs/internal/insertPreviewRoutes.js.map +1 -1
- package/dist/cjs/internal/interfaces.js.map +1 -1
- package/dist/cjs/internal/matchPath.js.map +1 -1
- package/dist/cjs/internal/matchRoutes.js.map +1 -1
- package/dist/cjs/internal/matchStoryboard.js.map +1 -1
- package/dist/cjs/internal/mediaQuery.js.map +1 -1
- package/dist/cjs/internal/mount.js.map +1 -1
- package/dist/cjs/internal/poll.js.map +1 -1
- package/dist/cjs/internal/proxyFactories.js.map +1 -1
- package/dist/cjs/internal/registerAppI18n.js.map +1 -1
- package/dist/cjs/internal/registerCustomTemplates.js.map +1 -1
- package/dist/cjs/internal/secret_internals.js.map +1 -1
- package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
- package/dist/cjs/internal/test_only.js.map +1 -1
- package/dist/cjs/isStrictMode.js.map +1 -1
- package/dist/cjs/setAppVariable.js.map +1 -1
- package/dist/cjs/setLoginStateCookie.js.map +1 -1
- package/dist/cjs/setUIVersion.js.map +1 -1
- package/dist/cjs/setWatermark.js.map +1 -1
- package/dist/cjs/themeAndMode.js.map +1 -1
- package/dist/esm/CustomProcessors.js +1 -2
- package/dist/esm/CustomProcessors.js.map +1 -1
- package/dist/esm/CustomTemplates.js +1 -2
- package/dist/esm/CustomTemplates.js.map +1 -1
- package/dist/esm/Dialog.js.map +1 -1
- package/dist/esm/Notification.js.map +1 -1
- package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
- package/dist/esm/auth.js.map +1 -1
- package/dist/esm/createRoot.js.map +1 -1
- package/dist/esm/fetchByProvider.js.map +1 -1
- package/dist/esm/getBasePath.js.map +1 -1
- package/dist/esm/getPageInfo.js.map +1 -1
- package/dist/esm/getRealValue.js.map +1 -1
- package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
- package/dist/esm/handleHttpError.js.map +1 -1
- package/dist/esm/history.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
- package/dist/esm/internal/FormRenderer/constants.js.map +1 -1
- package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
- package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
- package/dist/esm/internal/FormRenderer/interfaces.js.map +1 -1
- package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
- package/dist/esm/internal/Renderer.js.map +1 -1
- package/dist/esm/internal/RendererContext.js +3 -3
- package/dist/esm/internal/RendererContext.js.map +1 -1
- package/dist/esm/internal/Router.js +3 -3
- package/dist/esm/internal/Router.js.map +1 -1
- package/dist/esm/internal/Runtime.js +3 -3
- package/dist/esm/internal/Runtime.js.map +1 -1
- package/dist/esm/internal/abortController.js.map +1 -1
- package/dist/esm/internal/bindListeners.js.map +1 -1
- package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
- package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
- package/dist/esm/internal/compute/WidgetI18n.js.map +1 -1
- package/dist/esm/internal/compute/checkIf.js.map +1 -1
- package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
- package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
- package/dist/esm/internal/compute/evaluate.js.map +1 -1
- package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
- package/dist/esm/internal/compute/getStorageItem.js.map +1 -1
- package/dist/esm/internal/compute/getTracks.js.map +1 -1
- package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
- package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
- package/dist/esm/internal/compute/setProperties.js.map +1 -1
- package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
- package/dist/esm/internal/customizeColorTheme.js.map +1 -1
- package/dist/esm/internal/data/DataStore.js.map +1 -1
- package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
- package/dist/esm/internal/data/realTimeDataInspect.js.map +1 -1
- package/dist/esm/internal/data/resolveData.js.map +1 -1
- package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
- package/dist/esm/internal/devtools.js.map +1 -1
- package/dist/esm/internal/enums.js.map +1 -1
- package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
- package/dist/esm/internal/hasInstalledApp.js.map +1 -1
- package/dist/esm/internal/historyExtended.js.map +1 -1
- package/dist/esm/internal/i18n.js.map +1 -1
- package/dist/esm/internal/injected.js.map +1 -1
- package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
- package/dist/esm/internal/interfaces.js.map +1 -1
- package/dist/esm/internal/matchPath.js.map +1 -1
- package/dist/esm/internal/matchRoutes.js.map +1 -1
- package/dist/esm/internal/matchStoryboard.js.map +1 -1
- package/dist/esm/internal/mediaQuery.js.map +1 -1
- package/dist/esm/internal/mount.js.map +1 -1
- package/dist/esm/internal/poll.js.map +1 -1
- package/dist/esm/internal/proxyFactories.js.map +1 -1
- package/dist/esm/internal/registerAppI18n.js.map +1 -1
- package/dist/esm/internal/registerCustomTemplates.js.map +1 -1
- package/dist/esm/internal/secret_internals.js.map +1 -1
- package/dist/esm/internal/setupRootRuntimeContext.js.map +1 -1
- package/dist/esm/internal/test_only.js.map +1 -1
- package/dist/esm/isStrictMode.js.map +1 -1
- package/dist/esm/setAppVariable.js.map +1 -1
- package/dist/esm/setLoginStateCookie.js.map +1 -1
- package/dist/esm/setUIVersion.js.map +1 -1
- package/dist/esm/setWatermark.js.map +1 -1
- package/dist/esm/themeAndMode.js.map +1 -1
- package/dist/types/tsdoc-metadata.json +1 -1
- package/package.json +13 -13
|
@@ -7,6 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.Router = void 0;
|
|
8
8
|
var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodInitSpec"));
|
|
9
9
|
var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
|
|
10
|
+
var _classPrivateFieldGet7 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet2"));
|
|
11
|
+
var _assertClassBrand2 = _interopRequireDefault(require("@babel/runtime/helpers/assertClassBrand"));
|
|
12
|
+
var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet2"));
|
|
10
13
|
var _history2 = require("history");
|
|
11
14
|
var _http = require("@next-core/http");
|
|
12
15
|
var _lodash = require("lodash");
|
|
@@ -33,9 +36,6 @@ var _devtools = require("./devtools.js");
|
|
|
33
36
|
var _setUIVersion = require("../setUIVersion.js");
|
|
34
37
|
var _setAppVariable = require("../setAppVariable.js");
|
|
35
38
|
var _setWatermark = require("../setWatermark.js");
|
|
36
|
-
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
37
|
-
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
38
|
-
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
39
39
|
var _storyboards = /*#__PURE__*/new WeakMap();
|
|
40
40
|
var _rendering = /*#__PURE__*/new WeakMap();
|
|
41
41
|
var _prevLocation = /*#__PURE__*/new WeakMap();
|
|
@@ -64,10 +64,10 @@ class Router {
|
|
|
64
64
|
(0, _classPrivateFieldInitSpec2.default)(this, _currentApp, void 0);
|
|
65
65
|
(0, _classPrivateFieldInitSpec2.default)(this, _previousApp, void 0);
|
|
66
66
|
(0, _classPrivateFieldInitSpec2.default)(this, _navConfig, void 0);
|
|
67
|
-
|
|
67
|
+
(0, _classPrivateFieldSet2.default)(_storyboards, this, storyboards);
|
|
68
68
|
const _history = (0, _history3.getHistory)();
|
|
69
69
|
window.addEventListener("beforeunload", event => {
|
|
70
|
-
const message =
|
|
70
|
+
const message = (0, _assertClassBrand2.default)(_Router_brand, this, _getBlockMessageBeforePageLave).call(this, {});
|
|
71
71
|
// See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
|
|
72
72
|
if (message) {
|
|
73
73
|
// Cancel the event
|
|
@@ -80,30 +80,30 @@ class Router {
|
|
|
80
80
|
delete event.returnValue;
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
|
-
_history.block((location, action) =>
|
|
83
|
+
_history.block((location, action) => (0, _assertClassBrand2.default)(_Router_brand, this, _getBlockMessageBeforePageLave).call(this, {
|
|
84
84
|
location,
|
|
85
85
|
action
|
|
86
86
|
}));
|
|
87
87
|
}
|
|
88
88
|
getRenderId() {
|
|
89
|
-
return
|
|
89
|
+
return (0, _classPrivateFieldGet7.default)(_renderId, this);
|
|
90
90
|
}
|
|
91
91
|
getRuntimeContext() {
|
|
92
|
-
return
|
|
92
|
+
return (0, _classPrivateFieldGet7.default)(_runtimeContext, this);
|
|
93
93
|
}
|
|
94
94
|
getRecentApps() {
|
|
95
95
|
return {
|
|
96
|
-
currentApp:
|
|
97
|
-
previousApp:
|
|
96
|
+
currentApp: (0, _classPrivateFieldGet7.default)(_currentApp, this),
|
|
97
|
+
previousApp: (0, _classPrivateFieldGet7.default)(_previousApp, this)
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
getNavConfig() {
|
|
101
|
-
return
|
|
101
|
+
return (0, _classPrivateFieldGet7.default)(_navConfig, this);
|
|
102
102
|
}
|
|
103
103
|
bootstrap() {
|
|
104
104
|
(0, _abortController.initAbortController)();
|
|
105
105
|
const history = (0, _history3.getHistory)();
|
|
106
|
-
|
|
106
|
+
(0, _classPrivateFieldSet2.default)(_prevLocation, this, history.location);
|
|
107
107
|
let renderId = 0;
|
|
108
108
|
history.listen(async (location, action) => {
|
|
109
109
|
var _classPrivateFieldGet2, _location$state, _location$state2, _classPrivateFieldGet4;
|
|
@@ -121,13 +121,13 @@ class Router {
|
|
|
121
121
|
// such as goBack or goForward,
|
|
122
122
|
action === "POP" && (
|
|
123
123
|
// and the previous location was triggered by hash link,
|
|
124
|
-
|
|
124
|
+
(0, _classPrivateFieldGet7.default)(_prevLocation, this).key === undefined ||
|
|
125
125
|
// or the previous location specified notify false.
|
|
126
|
-
((_classPrivateFieldGet2 =
|
|
126
|
+
((_classPrivateFieldGet2 = (0, _classPrivateFieldGet7.default)(_prevLocation, this).state) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.notify) === false)) {
|
|
127
127
|
omittedLocationProps.key = undefined;
|
|
128
128
|
}
|
|
129
129
|
if ((0, _history2.locationsAreEqual)({
|
|
130
|
-
...
|
|
130
|
+
...(0, _classPrivateFieldGet7.default)(_prevLocation, this),
|
|
131
131
|
...omittedLocationProps
|
|
132
132
|
}, {
|
|
133
133
|
...location,
|
|
@@ -139,7 +139,7 @@ class Router {
|
|
|
139
139
|
}
|
|
140
140
|
if (!ignoreRendering && !((_location$state2 = location.state) !== null && _location$state2 !== void 0 && _location$state2.noIncremental)) {
|
|
141
141
|
var _classPrivateFieldGet3;
|
|
142
|
-
ignoreRendering = await ((_classPrivateFieldGet3 =
|
|
142
|
+
ignoreRendering = await ((_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(_rendererContext, this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.didPerformIncrementalRender(location, (0, _classPrivateFieldGet7.default)(_prevLocation, this)));
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
// Ignore stale renders
|
|
@@ -147,14 +147,14 @@ class Router {
|
|
|
147
147
|
return;
|
|
148
148
|
}
|
|
149
149
|
if (ignoreRendering) {
|
|
150
|
-
|
|
150
|
+
(0, _classPrivateFieldSet2.default)(_prevLocation, this, location);
|
|
151
151
|
return;
|
|
152
152
|
}
|
|
153
153
|
(0, _abortController.abortPendingRequest)();
|
|
154
|
-
|
|
155
|
-
(_classPrivateFieldGet4 =
|
|
154
|
+
(0, _classPrivateFieldSet2.default)(_prevLocation, this, location);
|
|
155
|
+
(_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(_rendererContext, this)) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.dispatchPageLeave();
|
|
156
156
|
if (action === "POP") {
|
|
157
|
-
const storyboard = (0, _matchStoryboard.matchStoryboard)(
|
|
157
|
+
const storyboard = (0, _matchStoryboard.matchStoryboard)((0, _classPrivateFieldGet7.default)(_storyboards, this), location.pathname);
|
|
158
158
|
// When a browser action of goBack or goForward is performing,
|
|
159
159
|
// force reload when the target page is a page of an outside app.
|
|
160
160
|
if ((0, _matchStoryboard.isOutsideApp)(storyboard)) {
|
|
@@ -162,14 +162,14 @@ class Router {
|
|
|
162
162
|
return;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
if (
|
|
166
|
-
|
|
165
|
+
if ((0, _classPrivateFieldGet7.default)(_rendering, this)) {
|
|
166
|
+
(0, _classPrivateFieldSet2.default)(_nextLocation, this, location);
|
|
167
167
|
} else {
|
|
168
168
|
(0, _devtools.devtoolsHookEmit)("locationChange");
|
|
169
|
-
|
|
169
|
+
(0, _assertClassBrand2.default)(_Router_brand, this, _queuedRender).call(this, location).catch(_handleHttpError.handleHttpError);
|
|
170
170
|
}
|
|
171
171
|
});
|
|
172
|
-
return
|
|
172
|
+
return (0, _assertClassBrand2.default)(_Router_brand, this, _queuedRender).call(this, history.location);
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
exports.Router = Router;
|
|
@@ -177,7 +177,7 @@ function _getBlockMessageBeforePageLave(detail) {
|
|
|
177
177
|
var _classPrivateFieldGet5;
|
|
178
178
|
const history = (0, _history3.getHistory)();
|
|
179
179
|
const previousMessage = history.getBlockMessage();
|
|
180
|
-
(_classPrivateFieldGet5 =
|
|
180
|
+
(_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(_rendererContext, this)) === null || _classPrivateFieldGet5 === void 0 || _classPrivateFieldGet5.dispatchBeforePageLeave(detail);
|
|
181
181
|
const message = history.getBlockMessage();
|
|
182
182
|
if (!previousMessage && message) {
|
|
183
183
|
// Auto unblock only if new block was introduced by `onBeforePageLeave`.
|
|
@@ -187,7 +187,7 @@ function _getBlockMessageBeforePageLave(detail) {
|
|
|
187
187
|
}
|
|
188
188
|
function _safeRedirect(to, state, from) {
|
|
189
189
|
var _this$redirectCount, _this$redirectCount2;
|
|
190
|
-
if ((
|
|
190
|
+
if (((0, _classPrivateFieldSet2.default)(_redirectCount, this, (_this$redirectCount = (0, _classPrivateFieldGet7.default)(_redirectCount, this), _this$redirectCount2 = _this$redirectCount++, _this$redirectCount)), _this$redirectCount2) > 10) {
|
|
191
191
|
const message = `Infinite redirect detected: from "${from.pathname}${from.search}${from.hash}" to "${to}"`;
|
|
192
192
|
// istanbul ignore else: error cannot be caught in test
|
|
193
193
|
if (process.env.NODE_ENV === "test") {
|
|
@@ -201,21 +201,21 @@ function _safeRedirect(to, state, from) {
|
|
|
201
201
|
(0, _history3.getHistory)().replace(to, state);
|
|
202
202
|
}
|
|
203
203
|
async function _queuedRender(location) {
|
|
204
|
-
|
|
204
|
+
(0, _classPrivateFieldSet2.default)(_rendering, this, true);
|
|
205
205
|
try {
|
|
206
|
-
await
|
|
206
|
+
await (0, _assertClassBrand2.default)(_Router_brand, this, _render).call(this, location);
|
|
207
207
|
} finally {
|
|
208
|
-
|
|
209
|
-
if (
|
|
210
|
-
const nextLocation =
|
|
211
|
-
|
|
212
|
-
await
|
|
208
|
+
(0, _classPrivateFieldSet2.default)(_rendering, this, false);
|
|
209
|
+
if ((0, _classPrivateFieldGet7.default)(_nextLocation, this)) {
|
|
210
|
+
const nextLocation = (0, _classPrivateFieldGet7.default)(_nextLocation, this);
|
|
211
|
+
(0, _classPrivateFieldSet2.default)(_nextLocation, this, undefined);
|
|
212
|
+
await (0, _assertClassBrand2.default)(_Router_brand, this, _queuedRender).call(this, nextLocation);
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
async function _render(location) {
|
|
217
217
|
var _hooks$flowApi, _hooks$pageView, _classPrivateFieldGet6, _storyboard$app;
|
|
218
|
-
const renderId =
|
|
218
|
+
const renderId = (0, _classPrivateFieldSet2.default)(_renderId, this, (0, _lodash.uniqueId)("render-id-"));
|
|
219
219
|
(0, _markAsComputed.resetAllComputedMarks)();
|
|
220
220
|
(0, _resolveData.clearResolveCache)();
|
|
221
221
|
_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$flowApi = _Runtime.hooks.flowApi) === null || _hooks$flowApi === void 0 || _hooks$flowApi.clearCollectWidgetContract();
|
|
@@ -224,8 +224,8 @@ async function _render(location) {
|
|
|
224
224
|
|
|
225
225
|
// const renderStartTime = performance.now();
|
|
226
226
|
const finishPageView = _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$pageView = _Runtime.hooks.pageView) === null || _hooks$pageView === void 0 ? void 0 : _hooks$pageView.create();
|
|
227
|
-
const storyboard = (0, _matchStoryboard.matchStoryboard)(
|
|
228
|
-
const previousApp = (_classPrivateFieldGet6 =
|
|
227
|
+
const storyboard = (0, _matchStoryboard.matchStoryboard)((0, _classPrivateFieldGet7.default)(_storyboards, this), location.pathname);
|
|
228
|
+
const previousApp = (_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(_runtimeContext, this)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.app;
|
|
229
229
|
const currentAppId = storyboard === null || storyboard === void 0 || (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0 ? void 0 : _storyboard$app.id;
|
|
230
230
|
// dynamically change the value of the APP variable, if it's union app
|
|
231
231
|
if (window.BOOTSTRAP_UNION_FILE && currentAppId && currentAppId !== (previousApp === null || previousApp === void 0 ? void 0 : previousApp.id)) {
|
|
@@ -237,7 +237,7 @@ async function _render(location) {
|
|
|
237
237
|
if (storyboard !== null && storyboard !== void 0 && storyboard.app) {
|
|
238
238
|
await (0, _fulfilStoryboard.fulfilStoryboard)(storyboard);
|
|
239
239
|
}
|
|
240
|
-
const currentApp =
|
|
240
|
+
const currentApp = (0, _classPrivateFieldSet2.default)(_currentApp, this, storyboard === null || storyboard === void 0 ? void 0 : storyboard.app);
|
|
241
241
|
(0, _setWatermark.setWatermark)();
|
|
242
242
|
|
|
243
243
|
// Storyboard maybe re-assigned, e.g. when open launchpad.
|
|
@@ -247,13 +247,13 @@ async function _render(location) {
|
|
|
247
247
|
|
|
248
248
|
// Set `Router::#currentApp` before calling `getFeatureFlags()`
|
|
249
249
|
const flags = (0, _Runtime.getRuntime)().getFeatureFlags();
|
|
250
|
-
const prevRendererContext =
|
|
250
|
+
const prevRendererContext = (0, _classPrivateFieldGet7.default)(_rendererContext, this);
|
|
251
251
|
const redirectTo = (to, state) => {
|
|
252
252
|
finishPageView === null || finishPageView === void 0 || finishPageView({
|
|
253
253
|
status: "redirected"
|
|
254
254
|
});
|
|
255
|
-
|
|
256
|
-
|
|
255
|
+
(0, _classPrivateFieldGet7.default)(_rendererContextTrashCan, this).add(prevRendererContext);
|
|
256
|
+
(0, _assertClassBrand2.default)(_Router_brand, this, _safeRedirect).call(this, to, state, location);
|
|
257
257
|
};
|
|
258
258
|
const redirectToLogin = () => {
|
|
259
259
|
const to = flags["sso-enabled"] ? "/sso-auth/login" : "/auth/login";
|
|
@@ -275,17 +275,17 @@ async function _render(location) {
|
|
|
275
275
|
(0, _mount.unmountTree)(portal);
|
|
276
276
|
|
|
277
277
|
// Note: redirects can lead to multiple trash renderer contexts.
|
|
278
|
-
|
|
279
|
-
for (const item of
|
|
278
|
+
(0, _classPrivateFieldGet7.default)(_rendererContextTrashCan, this).add(prevRendererContext);
|
|
279
|
+
for (const item of (0, _classPrivateFieldGet7.default)(_rendererContextTrashCan, this)) {
|
|
280
280
|
if (item) {
|
|
281
281
|
item.dispatchOnUnmount();
|
|
282
282
|
item.dispose();
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
-
|
|
285
|
+
(0, _classPrivateFieldGet7.default)(_rendererContextTrashCan, this).clear();
|
|
286
286
|
_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$messageDispatc = _Runtime.hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 || _hooks$messageDispatc.reset();
|
|
287
287
|
if (appChanged) {
|
|
288
|
-
|
|
288
|
+
(0, _classPrivateFieldSet2.default)(_previousApp, this, previousApp);
|
|
289
289
|
window.dispatchEvent(new CustomEvent("app.change", {
|
|
290
290
|
detail: {
|
|
291
291
|
previousApp,
|
|
@@ -310,13 +310,13 @@ async function _render(location) {
|
|
|
310
310
|
return true;
|
|
311
311
|
}
|
|
312
312
|
// Reset redirect count if no redirect is set.
|
|
313
|
-
|
|
313
|
+
(0, _classPrivateFieldSet2.default)(_redirectCount, this, 0);
|
|
314
314
|
},
|
|
315
315
|
mergeMenus: async menuRequests => {
|
|
316
316
|
const menuConfs = await Promise.all(menuRequests);
|
|
317
|
-
|
|
317
|
+
(0, _classPrivateFieldSet2.default)(_navConfig, this, mergeMenuConfs(menuConfs));
|
|
318
318
|
window.dispatchEvent(new CustomEvent("navConfig.change", {
|
|
319
|
-
detail:
|
|
319
|
+
detail: (0, _classPrivateFieldGet7.default)(_navConfig, this)
|
|
320
320
|
}));
|
|
321
321
|
},
|
|
322
322
|
catch: (error, returnNode) => {
|
|
@@ -324,7 +324,7 @@ async function _render(location) {
|
|
|
324
324
|
redirectToLogin();
|
|
325
325
|
return;
|
|
326
326
|
} else if (error instanceof _http.HttpAbortError) {
|
|
327
|
-
|
|
327
|
+
(0, _classPrivateFieldGet7.default)(_rendererContextTrashCan, this).add(prevRendererContext);
|
|
328
328
|
return;
|
|
329
329
|
} else {
|
|
330
330
|
const noAuthGuardLoginPath = (0, _Runtime.getRuntime)().getMiscSettings().noAuthGuardLoginPath;
|
|
@@ -353,11 +353,11 @@ async function _render(location) {
|
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
};
|
|
356
|
-
const rendererContext =
|
|
356
|
+
const rendererContext = (0, _classPrivateFieldSet2.default)(_rendererContext, this, new _RendererContext.RendererContext("page", {
|
|
357
357
|
routeHelper,
|
|
358
358
|
renderId
|
|
359
359
|
}));
|
|
360
|
-
const runtimeContext =
|
|
360
|
+
const runtimeContext = (0, _classPrivateFieldSet2.default)(_runtimeContext, this, {
|
|
361
361
|
app: currentApp,
|
|
362
362
|
location,
|
|
363
363
|
query: new URLSearchParams(location.search),
|
|
@@ -374,7 +374,7 @@ async function _render(location) {
|
|
|
374
374
|
tplStateStoreMap: new Map(),
|
|
375
375
|
formStateStoreMap: new Map()
|
|
376
376
|
});
|
|
377
|
-
|
|
377
|
+
(0, _classPrivateFieldSet2.default)(_navConfig, this, undefined);
|
|
378
378
|
(0, _registerCustomTemplates.registerCustomTemplates)(storyboard);
|
|
379
379
|
(0, _StoryboardFunctions.registerStoryboardFunctions)((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.functions, currentApp);
|
|
380
380
|
_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$flowApi2 = _Runtime.hooks.flowApi) === null || _hooks$flowApi2 === void 0 || _hooks$flowApi2.collectContract((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.contracts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","names":["_history2","require","_http","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_RendererContext","_themeAndMode","_Runtime","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_setLoginStateCookie","_registerCustomTemplates","_fulfilStoryboard","_enums","_insertPreviewRoutes","_devtools","_setUIVersion","_setAppVariable","_setWatermark","_classPrivateFieldGet","s","a","get","_assertClassBrand","_classPrivateFieldSet","r","set","e","t","n","has","arguments","length","TypeError","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Set","history","getHistory","window","addEventListener","event","message","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","renderId","listen","_classPrivateFieldGet2","_location$state","_location$state2","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","locationsAreEqual","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","pathname","isOutsideApp","reload","devtoolsHookEmit","_queuedRender","catch","handleHttpError","exports","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","from","_this$redirectCount","_this$redirectCount2","search","process","env","NODE_ENV","console","error","Error","replace","_render","nextLocation","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_storyboard$app","uniqueId","resetAllComputedMarks","clearResolveCache","hooks","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","setAppVariable","appId","version","currentVersion","fulfilStoryboard","setWatermark","appChanged","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","setLoginStateCookie","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","unmountTree","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","setTheme","getLocalAppsTheme","theme","setMode","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","_internalApiGetAppInBootstrapData","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","httpErrorToString","runtimeContext","return","blockingList","rendererContext","RendererContext","query","URLSearchParams","sys","auth","getAuth","getPageInfo","settings","brand","getBrandSettings","ctxStore","DataStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","registerCustomTemplates","registerStoryboardFunctions","meta","functions","collectContract","contracts","stores","rootMenuRequestNode","renderRoutes","insertPreviewRoutes","routes","getDataStores","postAsyncRender","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","route","dispatchBeforePageLoad","applyTheme","applyMode","setUIVersion","uiVersion","mountTree","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type {\n MenuRequestNode,\n RenderBrick,\n RenderRoot,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n this.#prevLocation = history.location;\n let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\n let ignoreRendering: boolean | undefined;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n\n if (!ignoreRendering && !location.state?.noIncremental) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n this.#prevLocation\n );\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\n\n const storyboard = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n finishPageView?.({\n status: \"redirected\",\n });\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n hooks?.messageDispatcher?.reset();\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\n },\n catch: (error, returnNode) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n return {\n failed: true,\n output: {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: {\n brand: getRuntime().getBrandSettings(),\n },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n renderRoot.child = output.node;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\n };\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView?.({ status: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","names":["_history2","require","_http","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_RendererContext","_themeAndMode","_Runtime","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_setLoginStateCookie","_registerCustomTemplates","_fulfilStoryboard","_enums","_insertPreviewRoutes","_devtools","_setUIVersion","_setAppVariable","_setWatermark","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Set","_classPrivateFieldSet2","history","getHistory","window","addEventListener","event","message","_assertClassBrand2","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet7","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","renderId","listen","_classPrivateFieldGet2","_location$state","_location$state2","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","locationsAreEqual","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","pathname","isOutsideApp","reload","devtoolsHookEmit","_queuedRender","catch","handleHttpError","exports","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","from","_this$redirectCount","_this$redirectCount2","search","process","env","NODE_ENV","console","error","Error","replace","_render","nextLocation","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_storyboard$app","uniqueId","resetAllComputedMarks","clearResolveCache","hooks","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","setAppVariable","appId","version","currentVersion","fulfilStoryboard","setWatermark","appChanged","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","setLoginStateCookie","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","unmountTree","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","setTheme","getLocalAppsTheme","theme","setMode","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","_internalApiGetAppInBootstrapData","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","httpErrorToString","runtimeContext","return","blockingList","rendererContext","RendererContext","query","URLSearchParams","sys","auth","getAuth","getPageInfo","settings","brand","getBrandSettings","ctxStore","DataStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","registerCustomTemplates","registerStoryboardFunctions","meta","functions","collectContract","contracts","stores","rootMenuRequestNode","renderRoutes","insertPreviewRoutes","routes","getDataStores","postAsyncRender","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","route","dispatchBeforePageLoad","applyTheme","applyMode","setUIVersion","uiVersion","mountTree","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type {\n MenuRequestNode,\n RenderBrick,\n RenderRoot,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n this.#prevLocation = history.location;\n let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\n let ignoreRendering: boolean | undefined;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n\n if (!ignoreRendering && !location.state?.noIncremental) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n this.#prevLocation\n );\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\n\n const storyboard = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n finishPageView?.({\n status: \"redirected\",\n });\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n hooks?.messageDispatcher?.reset();\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\n },\n catch: (error, returnNode) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n return {\n failed: true,\n output: {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: {\n brand: getRuntime().getBrandSettings(),\n },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\n }\n renderRoot.child = output.node;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\n };\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView?.({ status: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,6 +17,9 @@ exports.hooks = exports.getRuntime = void 0;
|
|
|
17
17
|
var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodInitSpec"));
|
|
18
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
19
|
var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
|
|
20
|
+
var _assertClassBrand2 = _interopRequireDefault(require("@babel/runtime/helpers/assertClassBrand"));
|
|
21
|
+
var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet2"));
|
|
22
|
+
var _classPrivateFieldGet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet2"));
|
|
20
23
|
var _i18n = require("@next-core/i18n");
|
|
21
24
|
var _loader = require("@next-core/loader");
|
|
22
25
|
var _general = require("@next-core/utils/general");
|
|
@@ -33,9 +36,6 @@ var _hasInstalledApp = require("./hasInstalledApp.js");
|
|
|
33
36
|
var _devtools = require("./devtools.js");
|
|
34
37
|
var _getV2RuntimeFromDll = require("../getV2RuntimeFromDll.js");
|
|
35
38
|
var _customizeColorTheme = require("./customizeColorTheme.js");
|
|
36
|
-
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
37
|
-
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
38
|
-
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
39
39
|
let runtime;
|
|
40
40
|
|
|
41
41
|
// Allow inject bootstrap data in a runtime other than Brick Next.
|
|
@@ -104,16 +104,16 @@ class Runtime {
|
|
|
104
104
|
}
|
|
105
105
|
initialize(data) {
|
|
106
106
|
var _data$settings;
|
|
107
|
-
if (
|
|
107
|
+
if ((0, _classPrivateFieldGet2.default)(_initialized, this)) {
|
|
108
108
|
throw new Error("The runtime cannot be initialized more than once");
|
|
109
109
|
}
|
|
110
|
-
|
|
110
|
+
(0, _classPrivateFieldSet2.default)(_initialized, this, true);
|
|
111
111
|
normalizeBootstrapData(data);
|
|
112
112
|
bootstrapData = data;
|
|
113
113
|
const {
|
|
114
114
|
notification,
|
|
115
115
|
dialog
|
|
116
|
-
} =
|
|
116
|
+
} = (0, _assertClassBrand2.default)(_Runtime_brand, this, _getPresetBricks).call(this);
|
|
117
117
|
if (notification !== false) {
|
|
118
118
|
(0, _Notification.loadNotificationService)(notification !== null && notification !== void 0 ? notification : "basic.show-notification", this.loadBricks);
|
|
119
119
|
}
|
|
@@ -126,10 +126,10 @@ class Runtime {
|
|
|
126
126
|
if (data) {
|
|
127
127
|
this.initialize(data);
|
|
128
128
|
}
|
|
129
|
-
if (
|
|
129
|
+
if ((0, _classPrivateFieldGet2.default)(_bootstrapped, this)) {
|
|
130
130
|
throw new Error("The runtime cannot be bootstrapped more than once");
|
|
131
131
|
}
|
|
132
|
-
|
|
132
|
+
(0, _classPrivateFieldSet2.default)(_bootstrapped, this, true);
|
|
133
133
|
router = new _Router.Router(bootstrapData.storyboards);
|
|
134
134
|
await router.bootstrap();
|
|
135
135
|
}
|