@copart/ops-tool-kit 1.13.0-beta.11 → 1.13.0-beta.12
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/ops-tool-kit.js +427 -3
- package/dist/ops-tool-kit.js.map +1 -1
- package/iframe-webpack-facade.js +25 -0
- package/package.json +5 -3
package/dist/ops-tool-kit.js
CHANGED
|
@@ -6,6 +6,7 @@ var React = require('react');
|
|
|
6
6
|
var ReactDOM = require('react-dom');
|
|
7
7
|
var frontEndUtils = require('@copart/front-end-utils');
|
|
8
8
|
var coreComponents = require('@copart/core-components');
|
|
9
|
+
var reactRouterDom = require('react-router-dom');
|
|
9
10
|
|
|
10
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
12
|
|
|
@@ -47,12 +48,13 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
47
48
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
48
49
|
|
|
49
50
|
const name$1 = "@copart/ops-tool-kit";
|
|
50
|
-
const version$3 = "1.13.0-beta.
|
|
51
|
+
const version$3 = "1.13.0-beta.12";
|
|
51
52
|
const main$1 = "dist/ops-tool-kit.js";
|
|
52
53
|
const style = "dist/ops-tool-kit.css";
|
|
53
54
|
const files = [
|
|
54
55
|
"dist",
|
|
55
|
-
"bin"
|
|
56
|
+
"bin",
|
|
57
|
+
"iframe-webpack-facade.js"
|
|
56
58
|
];
|
|
57
59
|
const bin = {
|
|
58
60
|
"generate-build-meta": "./bin/cli.js"
|
|
@@ -106,7 +108,8 @@ const devDependencies$1 = {
|
|
|
106
108
|
};
|
|
107
109
|
const peerDependencies = {
|
|
108
110
|
"@copart/core-components": "2.3.0-alpha.filters.6",
|
|
109
|
-
react: "*"
|
|
111
|
+
react: "*",
|
|
112
|
+
"react-router-dom": "^5.0.0"
|
|
110
113
|
};
|
|
111
114
|
const dependencies$1 = {
|
|
112
115
|
"@reacting/purist": "0.1.0",
|
|
@@ -69561,6 +69564,419 @@ var iframeFacade = {
|
|
|
69561
69564
|
}
|
|
69562
69565
|
};
|
|
69563
69566
|
|
|
69567
|
+
function normalizeIframePath(uri) {
|
|
69568
|
+
if (uri === '' || uri == null) return '/';
|
|
69569
|
+
return uri.startsWith('/') ? uri : "/".concat(uri);
|
|
69570
|
+
}
|
|
69571
|
+
|
|
69572
|
+
function serializeNavItems(items) {
|
|
69573
|
+
if (!Array.isArray(items)) return [];
|
|
69574
|
+
return items.map(function (item) {
|
|
69575
|
+
var serialized = {
|
|
69576
|
+
name: item.name,
|
|
69577
|
+
route: item.route
|
|
69578
|
+
};
|
|
69579
|
+
if (item.icon && typeof item.icon === 'string') serialized.icon = item.icon;
|
|
69580
|
+
if (typeof item.disabled === 'function') {
|
|
69581
|
+
try {
|
|
69582
|
+
serialized.disabled = item.disabled();
|
|
69583
|
+
} catch (_) {
|
|
69584
|
+
serialized.disabled = false;
|
|
69585
|
+
}
|
|
69586
|
+
} else if (typeof item.disabled === 'boolean') {
|
|
69587
|
+
serialized.disabled = item.disabled;
|
|
69588
|
+
}
|
|
69589
|
+
if (typeof item.hidden === 'function') {
|
|
69590
|
+
try {
|
|
69591
|
+
serialized.hidden = item.hidden();
|
|
69592
|
+
} catch (_) {
|
|
69593
|
+
serialized.hidden = false;
|
|
69594
|
+
}
|
|
69595
|
+
} else if (typeof item.hidden === 'boolean') {
|
|
69596
|
+
serialized.hidden = item.hidden;
|
|
69597
|
+
}
|
|
69598
|
+
if (item.isLandingPage) serialized.isLandingPage = true;
|
|
69599
|
+
if (item.subMenuItems && item.subMenuItems.length > 0) {
|
|
69600
|
+
serialized.subMenuItems = serializeNavItems(item.subMenuItems);
|
|
69601
|
+
}
|
|
69602
|
+
return serialized;
|
|
69603
|
+
});
|
|
69604
|
+
}
|
|
69605
|
+
|
|
69606
|
+
function IframeRouteSync(_ref) {
|
|
69607
|
+
var _ref$updateUriIsPath = _ref.updateUriIsPath,
|
|
69608
|
+
updateUriIsPath = _ref$updateUriIsPath === void 0 ? false : _ref$updateUriIsPath,
|
|
69609
|
+
_ref$suppressEcho = _ref.suppressEcho,
|
|
69610
|
+
suppressEcho = _ref$suppressEcho === void 0 ? true : _ref$suppressEcho;
|
|
69611
|
+
var history = reactRouterDom.useHistory();
|
|
69612
|
+
var location = reactRouterDom.useLocation();
|
|
69613
|
+
var initialRef = React.useRef(true);
|
|
69614
|
+
var suppressUpdateUriRef = React.useRef(false);
|
|
69615
|
+
React.useEffect(function () {
|
|
69616
|
+
var remove = addMessageListener(function (data) {
|
|
69617
|
+
if (data.eventType === 'LOAD_URI' && data.eventProps) {
|
|
69618
|
+
var path = normalizeIframePath(data.eventProps.uri);
|
|
69619
|
+
if (suppressEcho) suppressUpdateUriRef.current = true;
|
|
69620
|
+
history.push(path);
|
|
69621
|
+
}
|
|
69622
|
+
});
|
|
69623
|
+
return remove;
|
|
69624
|
+
}, [history, suppressEcho]);
|
|
69625
|
+
React.useEffect(function () {
|
|
69626
|
+
if (initialRef.current) {
|
|
69627
|
+
initialRef.current = false;
|
|
69628
|
+
return;
|
|
69629
|
+
}
|
|
69630
|
+
if (suppressEcho && suppressUpdateUriRef.current) {
|
|
69631
|
+
suppressUpdateUriRef.current = false;
|
|
69632
|
+
return;
|
|
69633
|
+
}
|
|
69634
|
+
var pathname = location.pathname || '/';
|
|
69635
|
+
postUpdateUri(pathname, updateUriIsPath);
|
|
69636
|
+
}, [location.pathname, updateUriIsPath, suppressEcho]);
|
|
69637
|
+
return null;
|
|
69638
|
+
}
|
|
69639
|
+
|
|
69640
|
+
function defaultToolkitEnv() {
|
|
69641
|
+
return {
|
|
69642
|
+
STACK: process.env.STACK,
|
|
69643
|
+
APP_NAME: process.env.APP_NAME,
|
|
69644
|
+
CORE_CONFIG_URI: process.env.CORE_CONFIG_URI,
|
|
69645
|
+
CONFIG_URI: process.env.CONFIG_URI
|
|
69646
|
+
};
|
|
69647
|
+
}
|
|
69648
|
+
function AppEnvSender(_ref) {
|
|
69649
|
+
var toolkitEnv = _ref.toolkitEnv,
|
|
69650
|
+
_ref$mihelpAgentProps = _ref.mihelpAgentProps,
|
|
69651
|
+
mihelpAgentProps = _ref$mihelpAgentProps === void 0 ? null : _ref$mihelpAgentProps;
|
|
69652
|
+
var sentRef = React.useRef(false);
|
|
69653
|
+
React.useEffect(function () {
|
|
69654
|
+
if (sentRef.current) return;
|
|
69655
|
+
sentRef.current = true;
|
|
69656
|
+
postAppEnv(toolkitEnv || defaultToolkitEnv(), mihelpAgentProps);
|
|
69657
|
+
}, [toolkitEnv, mihelpAgentProps]);
|
|
69658
|
+
return null;
|
|
69659
|
+
}
|
|
69660
|
+
|
|
69661
|
+
function NavConfigSender(_ref) {
|
|
69662
|
+
var navItemsLoader = _ref.navItemsLoader,
|
|
69663
|
+
onError = _ref.onError;
|
|
69664
|
+
var sentRef = React.useRef(false);
|
|
69665
|
+
React.useEffect(function () {
|
|
69666
|
+
if (sentRef.current || !navItemsLoader) return;
|
|
69667
|
+
sentRef.current = true;
|
|
69668
|
+
navItemsLoader().then(function (mod) {
|
|
69669
|
+
var items = mod && (mod.default != null ? mod.default : mod);
|
|
69670
|
+
postNavConfig(serializeNavItems(items));
|
|
69671
|
+
}).catch(function (err) {
|
|
69672
|
+
if (onError) {
|
|
69673
|
+
onError(err);
|
|
69674
|
+
} else {
|
|
69675
|
+
console.warn('[Iframe] Failed to load navItems:', err);
|
|
69676
|
+
}
|
|
69677
|
+
});
|
|
69678
|
+
}, [navItemsLoader, onError]);
|
|
69679
|
+
return null;
|
|
69680
|
+
}
|
|
69681
|
+
|
|
69682
|
+
var defaultContentStyle = {
|
|
69683
|
+
height: '100%',
|
|
69684
|
+
display: 'flex',
|
|
69685
|
+
flexDirection: 'column',
|
|
69686
|
+
overflow: 'hidden'
|
|
69687
|
+
};
|
|
69688
|
+
function IframeAppRootInner(_ref) {
|
|
69689
|
+
var children = _ref.children,
|
|
69690
|
+
contentStyle = _ref.contentStyle,
|
|
69691
|
+
toolkitEnv = _ref.toolkitEnv,
|
|
69692
|
+
mihelpAgentProps = _ref.mihelpAgentProps,
|
|
69693
|
+
navItemsLoader = _ref.navItemsLoader,
|
|
69694
|
+
navConfigOnError = _ref.navConfigOnError,
|
|
69695
|
+
updateUriIsPath = _ref.updateUriIsPath,
|
|
69696
|
+
suppressRouteSyncEcho = _ref.suppressRouteSyncEcho;
|
|
69697
|
+
var history = reactRouterDom.useHistory();
|
|
69698
|
+
return /*#__PURE__*/React__default["default"].createElement(CrumbProvider, {
|
|
69699
|
+
navigate: function navigate(path) {
|
|
69700
|
+
return history.push(path);
|
|
69701
|
+
}
|
|
69702
|
+
}, /*#__PURE__*/React__default["default"].createElement(AppEnvSender, {
|
|
69703
|
+
toolkitEnv: toolkitEnv,
|
|
69704
|
+
mihelpAgentProps: mihelpAgentProps
|
|
69705
|
+
}), /*#__PURE__*/React__default["default"].createElement(IframeRouteSync, {
|
|
69706
|
+
updateUriIsPath: updateUriIsPath,
|
|
69707
|
+
suppressEcho: suppressRouteSyncEcho
|
|
69708
|
+
}), navItemsLoader ? /*#__PURE__*/React__default["default"].createElement(NavConfigSender, {
|
|
69709
|
+
navItemsLoader: navItemsLoader,
|
|
69710
|
+
onError: navConfigOnError
|
|
69711
|
+
}) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
69712
|
+
style: contentStyle || defaultContentStyle
|
|
69713
|
+
}, children));
|
|
69714
|
+
}
|
|
69715
|
+
function IframeAppRoot(_ref2) {
|
|
69716
|
+
var _ref2$initialUri = _ref2.initialUri,
|
|
69717
|
+
initialUri = _ref2$initialUri === void 0 ? '/' : _ref2$initialUri,
|
|
69718
|
+
children = _ref2.children,
|
|
69719
|
+
contentStyle = _ref2.contentStyle,
|
|
69720
|
+
toolkitEnv = _ref2.toolkitEnv,
|
|
69721
|
+
_ref2$mihelpAgentProp = _ref2.mihelpAgentProps,
|
|
69722
|
+
mihelpAgentProps = _ref2$mihelpAgentProp === void 0 ? null : _ref2$mihelpAgentProp,
|
|
69723
|
+
navItemsLoader = _ref2.navItemsLoader,
|
|
69724
|
+
navConfigOnError = _ref2.navConfigOnError,
|
|
69725
|
+
_ref2$updateUriIsPath = _ref2.updateUriIsPath,
|
|
69726
|
+
updateUriIsPath = _ref2$updateUriIsPath === void 0 ? false : _ref2$updateUriIsPath,
|
|
69727
|
+
_ref2$suppressRouteSy = _ref2.suppressRouteSyncEcho,
|
|
69728
|
+
suppressRouteSyncEcho = _ref2$suppressRouteSy === void 0 ? true : _ref2$suppressRouteSy;
|
|
69729
|
+
var initialPath = normalizeIframePath(initialUri);
|
|
69730
|
+
return /*#__PURE__*/React__default["default"].createElement(reactRouterDom.MemoryRouter, {
|
|
69731
|
+
initialEntries: [initialPath],
|
|
69732
|
+
initialIndex: 0
|
|
69733
|
+
}, /*#__PURE__*/React__default["default"].createElement(IframeAppRootInner, {
|
|
69734
|
+
contentStyle: contentStyle,
|
|
69735
|
+
toolkitEnv: toolkitEnv,
|
|
69736
|
+
mihelpAgentProps: mihelpAgentProps,
|
|
69737
|
+
navItemsLoader: navItemsLoader,
|
|
69738
|
+
navConfigOnError: navConfigOnError,
|
|
69739
|
+
updateUriIsPath: updateUriIsPath,
|
|
69740
|
+
suppressRouteSyncEcho: suppressRouteSyncEcho
|
|
69741
|
+
}, children));
|
|
69742
|
+
}
|
|
69743
|
+
|
|
69744
|
+
/**
|
|
69745
|
+
* Register a synchronous LOAD_URI listener before async bootstrap loads.
|
|
69746
|
+
* Call this from the app entry (index.js) before dynamic-importing bootstrap.
|
|
69747
|
+
*/
|
|
69748
|
+
function registerEarlyLoadUriListener() {
|
|
69749
|
+
if (typeof window === 'undefined') return;
|
|
69750
|
+
if (window.__IFRAME_EARLY_LOAD_URI_LISTENER_REGISTERED) return;
|
|
69751
|
+
window.__IFRAME_EARLY_LOAD_URI_LISTENER_REGISTERED = true;
|
|
69752
|
+
window.__IFRAME_EARLY_LOAD_URI = null;
|
|
69753
|
+
window.addEventListener('message', function (event) {
|
|
69754
|
+
if (event.data && event.data.eventType === 'LOAD_URI' && event.data.eventProps) {
|
|
69755
|
+
window.__IFRAME_EARLY_LOAD_URI = event.data.eventProps.uri || '/';
|
|
69756
|
+
}
|
|
69757
|
+
});
|
|
69758
|
+
}
|
|
69759
|
+
|
|
69760
|
+
function resolveRootNode(rootSelector) {
|
|
69761
|
+
var selectors = rootSelector ? [rootSelector] : ['#root', '#app'];
|
|
69762
|
+
for (var i = 0; i < selectors.length; i += 1) {
|
|
69763
|
+
var node = document.querySelector(selectors[i]);
|
|
69764
|
+
if (node) return node;
|
|
69765
|
+
}
|
|
69766
|
+
return null;
|
|
69767
|
+
}
|
|
69768
|
+
function isInIframe() {
|
|
69769
|
+
return typeof window !== 'undefined' && window.self !== window.top;
|
|
69770
|
+
}
|
|
69771
|
+
function renderStandaloneError(rootNode, message) {
|
|
69772
|
+
rootNode.innerHTML = "<h1>".concat(message, "</h1>");
|
|
69773
|
+
}
|
|
69774
|
+
function normalizePermissionKeys(permissionKeys) {
|
|
69775
|
+
if (!permissionKeys) return [];
|
|
69776
|
+
return Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys];
|
|
69777
|
+
}
|
|
69778
|
+
function isValidAppConfig(config, validateAppConfig) {
|
|
69779
|
+
if (validateAppConfig) return validateAppConfig(config);
|
|
69780
|
+
return !!config;
|
|
69781
|
+
}
|
|
69782
|
+
function hydrateAppConfig(_x) {
|
|
69783
|
+
return _hydrateAppConfig.apply(this, arguments);
|
|
69784
|
+
}
|
|
69785
|
+
function _hydrateAppConfig() {
|
|
69786
|
+
_hydrateAppConfig = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
|
|
69787
|
+
var appName, sendStorageGet, setExtraLocal, fetcher, configFallbackUri, validateAppConfig, appConfig;
|
|
69788
|
+
return _regenerator().w(function (_context) {
|
|
69789
|
+
while (1) switch (_context.n) {
|
|
69790
|
+
case 0:
|
|
69791
|
+
appName = _ref.appName, sendStorageGet = _ref.sendStorageGet, setExtraLocal = _ref.setExtraLocal, fetcher = _ref.fetcher, configFallbackUri = _ref.configFallbackUri, validateAppConfig = _ref.validateAppConfig;
|
|
69792
|
+
_context.n = 1;
|
|
69793
|
+
return sendStorageGet({
|
|
69794
|
+
op: 'getLocalItem',
|
|
69795
|
+
key: "".concat(appName, ":config")
|
|
69796
|
+
});
|
|
69797
|
+
case 1:
|
|
69798
|
+
appConfig = _context.v;
|
|
69799
|
+
if (!(!isValidAppConfig(appConfig, validateAppConfig) && configFallbackUri && fetcher)) {
|
|
69800
|
+
_context.n = 3;
|
|
69801
|
+
break;
|
|
69802
|
+
}
|
|
69803
|
+
_context.n = 2;
|
|
69804
|
+
return fetcher.getConfig(configFallbackUri);
|
|
69805
|
+
case 2:
|
|
69806
|
+
appConfig = _context.v;
|
|
69807
|
+
case 3:
|
|
69808
|
+
if (isValidAppConfig(appConfig, validateAppConfig)) {
|
|
69809
|
+
setExtraLocal("".concat(appName, ":config"), appConfig);
|
|
69810
|
+
}
|
|
69811
|
+
case 4:
|
|
69812
|
+
return _context.a(2);
|
|
69813
|
+
}
|
|
69814
|
+
}, _callee);
|
|
69815
|
+
}));
|
|
69816
|
+
return _hydrateAppConfig.apply(this, arguments);
|
|
69817
|
+
}
|
|
69818
|
+
function hydratePermissions(_x2) {
|
|
69819
|
+
return _hydratePermissions.apply(this, arguments);
|
|
69820
|
+
}
|
|
69821
|
+
/**
|
|
69822
|
+
* Bootstrap an iframe-embedded portal app: init bridge data from shell, then render.
|
|
69823
|
+
*
|
|
69824
|
+
* @param {object} options
|
|
69825
|
+
* @param {string} [options.appName] - Defaults to process.env.APP_NAME
|
|
69826
|
+
* @param {string|string[]} [options.permissionKeys] - Shell localStorage permission key(s)
|
|
69827
|
+
* @param {string} [options.rootSelector] - Root element selector (default: #root then #app)
|
|
69828
|
+
* @param {(initData: *) => void} [options.onInitCache] - Called after setInitCache (e.g. initStoreData)
|
|
69829
|
+
* @param {(initialUri: string, rootNode: HTMLElement) => void} options.render - App render callback
|
|
69830
|
+
* @param {'render'|'error'|'skip'} [options.standaloneMode='render'] - Behavior when not in iframe
|
|
69831
|
+
* @param {(rootNode: HTMLElement) => void} [options.standaloneRender] - Custom standalone UI
|
|
69832
|
+
* @param {string} [options.standaloneErrorMessage] - Message when standaloneMode is 'error'
|
|
69833
|
+
* @param {boolean} [options.fetchConfigFromShell=true] - Fetch app config/permissions from shell
|
|
69834
|
+
* @param {string} [options.configFallbackUri] - Defaults to process.env.CONFIG_URI
|
|
69835
|
+
* @param {(config: *) => boolean} [options.validateAppConfig] - Config validity check before setExtraLocal
|
|
69836
|
+
* @param {boolean} [options.permissionsOnlyIfArray=true] - Only set permissions when shell returns an array
|
|
69837
|
+
*/
|
|
69838
|
+
function _hydratePermissions() {
|
|
69839
|
+
_hydratePermissions = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee3(_ref2) {
|
|
69840
|
+
var permissionKeys, sendStorageGet, setExtraLocal, permissionsOnlyIfArray, keys;
|
|
69841
|
+
return _regenerator().w(function (_context3) {
|
|
69842
|
+
while (1) switch (_context3.n) {
|
|
69843
|
+
case 0:
|
|
69844
|
+
permissionKeys = _ref2.permissionKeys, sendStorageGet = _ref2.sendStorageGet, setExtraLocal = _ref2.setExtraLocal, permissionsOnlyIfArray = _ref2.permissionsOnlyIfArray;
|
|
69845
|
+
keys = normalizePermissionKeys(permissionKeys);
|
|
69846
|
+
_context3.n = 1;
|
|
69847
|
+
return Promise.all(keys.map(/*#__PURE__*/function () {
|
|
69848
|
+
var _ref3 = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee2(key) {
|
|
69849
|
+
var perms;
|
|
69850
|
+
return _regenerator().w(function (_context2) {
|
|
69851
|
+
while (1) switch (_context2.n) {
|
|
69852
|
+
case 0:
|
|
69853
|
+
_context2.n = 1;
|
|
69854
|
+
return sendStorageGet({
|
|
69855
|
+
op: 'getLocalItem',
|
|
69856
|
+
key: key
|
|
69857
|
+
});
|
|
69858
|
+
case 1:
|
|
69859
|
+
perms = _context2.v;
|
|
69860
|
+
if (!(permissionsOnlyIfArray && !Array.isArray(perms))) {
|
|
69861
|
+
_context2.n = 2;
|
|
69862
|
+
break;
|
|
69863
|
+
}
|
|
69864
|
+
return _context2.a(2);
|
|
69865
|
+
case 2:
|
|
69866
|
+
if (perms != null) setExtraLocal(key, perms);
|
|
69867
|
+
case 3:
|
|
69868
|
+
return _context2.a(2);
|
|
69869
|
+
}
|
|
69870
|
+
}, _callee2);
|
|
69871
|
+
}));
|
|
69872
|
+
return function (_x4) {
|
|
69873
|
+
return _ref3.apply(this, arguments);
|
|
69874
|
+
};
|
|
69875
|
+
}()));
|
|
69876
|
+
case 1:
|
|
69877
|
+
return _context3.a(2);
|
|
69878
|
+
}
|
|
69879
|
+
}, _callee3);
|
|
69880
|
+
}));
|
|
69881
|
+
return _hydratePermissions.apply(this, arguments);
|
|
69882
|
+
}
|
|
69883
|
+
function bootstrapIframeApp(_x3) {
|
|
69884
|
+
return _bootstrapIframeApp.apply(this, arguments);
|
|
69885
|
+
}
|
|
69886
|
+
function _bootstrapIframeApp() {
|
|
69887
|
+
_bootstrapIframeApp = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee4(options) {
|
|
69888
|
+
var _ref4, _ref4$appName, appName, permissionKeys, rootSelector, onInitCache, render, _ref4$standaloneMode, standaloneMode, standaloneRender, _ref4$standaloneError, standaloneErrorMessage, _ref4$fetchConfigFrom, fetchConfigFromShell, _ref4$configFallbackU, configFallbackUri, validateAppConfig, _ref4$permissionsOnly, permissionsOnlyIfArray, rootNode, bridge, fetcher, getInitialUri, getInitData, setInitCache, setExtraLocal, sendStorageGet, setAppName, _yield$Promise$all, _yield$Promise$all2, initialUri, initData, tasks, _t;
|
|
69889
|
+
return _regenerator().w(function (_context4) {
|
|
69890
|
+
while (1) switch (_context4.p = _context4.n) {
|
|
69891
|
+
case 0:
|
|
69892
|
+
_ref4 = options || {}, _ref4$appName = _ref4.appName, appName = _ref4$appName === void 0 ? process.env.APP_NAME : _ref4$appName, permissionKeys = _ref4.permissionKeys, rootSelector = _ref4.rootSelector, onInitCache = _ref4.onInitCache, render = _ref4.render, _ref4$standaloneMode = _ref4.standaloneMode, standaloneMode = _ref4$standaloneMode === void 0 ? 'render' : _ref4$standaloneMode, standaloneRender = _ref4.standaloneRender, _ref4$standaloneError = _ref4.standaloneErrorMessage, standaloneErrorMessage = _ref4$standaloneError === void 0 ? 'This application must be opened from the parent portal.' : _ref4$standaloneError, _ref4$fetchConfigFrom = _ref4.fetchConfigFromShell, fetchConfigFromShell = _ref4$fetchConfigFrom === void 0 ? true : _ref4$fetchConfigFrom, _ref4$configFallbackU = _ref4.configFallbackUri, configFallbackUri = _ref4$configFallbackU === void 0 ? process.env.CONFIG_URI : _ref4$configFallbackU, validateAppConfig = _ref4.validateAppConfig, _ref4$permissionsOnly = _ref4.permissionsOnlyIfArray, permissionsOnlyIfArray = _ref4$permissionsOnly === void 0 ? true : _ref4$permissionsOnly;
|
|
69893
|
+
if (!(typeof render !== 'function')) {
|
|
69894
|
+
_context4.n = 1;
|
|
69895
|
+
break;
|
|
69896
|
+
}
|
|
69897
|
+
throw new Error('bootstrapIframeApp requires a render(initialUri, rootNode) function');
|
|
69898
|
+
case 1:
|
|
69899
|
+
rootNode = resolveRootNode(rootSelector);
|
|
69900
|
+
if (rootNode) {
|
|
69901
|
+
_context4.n = 2;
|
|
69902
|
+
break;
|
|
69903
|
+
}
|
|
69904
|
+
console.error('[Iframe] No root element found');
|
|
69905
|
+
return _context4.a(2);
|
|
69906
|
+
case 2:
|
|
69907
|
+
if (isInIframe()) {
|
|
69908
|
+
_context4.n = 4;
|
|
69909
|
+
break;
|
|
69910
|
+
}
|
|
69911
|
+
if (!(standaloneMode === 'error')) {
|
|
69912
|
+
_context4.n = 3;
|
|
69913
|
+
break;
|
|
69914
|
+
}
|
|
69915
|
+
if (standaloneRender) standaloneRender(rootNode);else renderStandaloneError(rootNode, standaloneErrorMessage);
|
|
69916
|
+
return _context4.a(2);
|
|
69917
|
+
case 3:
|
|
69918
|
+
if (!(standaloneMode === 'skip')) {
|
|
69919
|
+
_context4.n = 4;
|
|
69920
|
+
break;
|
|
69921
|
+
}
|
|
69922
|
+
return _context4.a(2);
|
|
69923
|
+
case 4:
|
|
69924
|
+
bridge = iframeFacade.bridge, fetcher = iframeFacade.fetcher;
|
|
69925
|
+
getInitialUri = bridge.getInitialUri, getInitData = bridge.getInitData, setInitCache = bridge.setInitCache, setExtraLocal = bridge.setExtraLocal, sendStorageGet = bridge.sendStorageGet, setAppName = bridge.setAppName;
|
|
69926
|
+
_context4.n = 5;
|
|
69927
|
+
return Promise.all([getInitialUri(), getInitData()]);
|
|
69928
|
+
case 5:
|
|
69929
|
+
_yield$Promise$all = _context4.v;
|
|
69930
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
69931
|
+
initialUri = _yield$Promise$all2[0];
|
|
69932
|
+
initData = _yield$Promise$all2[1];
|
|
69933
|
+
if (appName && typeof setAppName === 'function') setAppName(appName);
|
|
69934
|
+
if (!initData) {
|
|
69935
|
+
_context4.n = 9;
|
|
69936
|
+
break;
|
|
69937
|
+
}
|
|
69938
|
+
setInitCache(initData);
|
|
69939
|
+
if (onInitCache) onInitCache(initData);
|
|
69940
|
+
if (!(fetchConfigFromShell && appName)) {
|
|
69941
|
+
_context4.n = 9;
|
|
69942
|
+
break;
|
|
69943
|
+
}
|
|
69944
|
+
_context4.p = 6;
|
|
69945
|
+
tasks = [hydrateAppConfig({
|
|
69946
|
+
appName: appName,
|
|
69947
|
+
sendStorageGet: sendStorageGet,
|
|
69948
|
+
setExtraLocal: setExtraLocal,
|
|
69949
|
+
fetcher: fetcher,
|
|
69950
|
+
configFallbackUri: configFallbackUri,
|
|
69951
|
+
validateAppConfig: validateAppConfig
|
|
69952
|
+
})];
|
|
69953
|
+
if (permissionKeys) {
|
|
69954
|
+
tasks.push(hydratePermissions({
|
|
69955
|
+
permissionKeys: permissionKeys,
|
|
69956
|
+
sendStorageGet: sendStorageGet,
|
|
69957
|
+
setExtraLocal: setExtraLocal,
|
|
69958
|
+
permissionsOnlyIfArray: permissionsOnlyIfArray
|
|
69959
|
+
}));
|
|
69960
|
+
}
|
|
69961
|
+
_context4.n = 7;
|
|
69962
|
+
return Promise.all(tasks);
|
|
69963
|
+
case 7:
|
|
69964
|
+
_context4.n = 9;
|
|
69965
|
+
break;
|
|
69966
|
+
case 8:
|
|
69967
|
+
_context4.p = 8;
|
|
69968
|
+
_t = _context4.v;
|
|
69969
|
+
console.warn('[Iframe] failed to fetch app config/permissions from shell:', _t);
|
|
69970
|
+
case 9:
|
|
69971
|
+
render(initialUri, rootNode);
|
|
69972
|
+
case 10:
|
|
69973
|
+
return _context4.a(2);
|
|
69974
|
+
}
|
|
69975
|
+
}, _callee4, null, [[6, 8]]);
|
|
69976
|
+
}));
|
|
69977
|
+
return _bootstrapIframeApp.apply(this, arguments);
|
|
69978
|
+
}
|
|
69979
|
+
|
|
69564
69980
|
setup({
|
|
69565
69981
|
pkg: pkg
|
|
69566
69982
|
});
|
|
@@ -81139,13 +81555,21 @@ var index_es = /*#__PURE__*/Object.freeze({
|
|
|
81139
81555
|
vectorsRatio: vectorsRatio
|
|
81140
81556
|
});
|
|
81141
81557
|
|
|
81558
|
+
exports.AppEnvSender = AppEnvSender;
|
|
81142
81559
|
exports.AppFrame = AppFrame;
|
|
81143
81560
|
exports.AutoRefresh = AutoRefresh;
|
|
81144
81561
|
exports.CallLogger = CallLogger;
|
|
81145
81562
|
exports.ContextualHelp = ContextualHelp;
|
|
81146
81563
|
exports.Crumb = Crumb$1;
|
|
81564
|
+
exports.IframeAppRoot = IframeAppRoot;
|
|
81565
|
+
exports.IframeRouteSync = IframeRouteSync;
|
|
81566
|
+
exports.NavConfigSender = NavConfigSender;
|
|
81147
81567
|
exports.accessHelpers = accessHelpers$1;
|
|
81568
|
+
exports.bootstrapIframeApp = bootstrapIframeApp;
|
|
81148
81569
|
exports.fetcher = fetcher$1;
|
|
81149
81570
|
exports.iframeFacade = iframeFacade;
|
|
81571
|
+
exports.normalizeIframePath = normalizeIframePath;
|
|
81572
|
+
exports.registerEarlyLoadUriListener = registerEarlyLoadUriListener;
|
|
81573
|
+
exports.serializeNavItems = serializeNavItems;
|
|
81150
81574
|
exports.storage = storage$2;
|
|
81151
81575
|
//# sourceMappingURL=ops-tool-kit.js.map
|