@alicloud/alfa-react 1.5.13-alpha.2 → 1.5.13

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.
@@ -11,6 +11,7 @@ import { createCWSWidget } from './widget';
11
11
  import createApplication from './createApplication';
12
12
  import beforeResolveHook from './hooks/beforeResolveHook';
13
13
  import beforeLoadHook from './hooks/beforeLoadHook';
14
+ import { isOneConsole } from './helpers/oneConsole';
14
15
  var loader = BaseLoader.create();
15
16
  loader.beforeResolve.use(beforeResolveHook);
16
17
  loader.beforeLoad.use(beforeLoadHook);
@@ -51,6 +52,12 @@ function createAlfaWidget(option) {
51
52
  return null;
52
53
  };
53
54
  var passedInOption = option;
55
+
56
+ // 非 oneConsole 环境下设置 iframe 沙箱地址为 about:blank
57
+ // 避免沙箱创建失败
58
+ if (passedInOption.sandbox && !passedInOption.sandbox.sandBoxUrl && !isOneConsole()) {
59
+ passedInOption.sandbox.sandBoxUrl = 'about:blank';
60
+ }
54
61
  return function (props) {
55
62
  return (
56
63
  /*#__PURE__*/
@@ -8,6 +8,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8
8
  import React, { useRef, useEffect, useState, useMemo, useContext } from 'react';
9
9
  import { createEventBus } from '@alicloud/alfa-core';
10
10
  import { ConsoleRegion, ConsoleResourceGroup, ConsoleContext } from '@alicloud/xconsole-context';
11
+ import { forApp } from '@alicloud/console-base-messenger';
11
12
  import Loading from './components/Loading';
12
13
  import { normalizeName } from './utils';
13
14
  import { countRegister } from './utils/counter';
@@ -124,7 +125,9 @@ export default function createApplication(loader) {
124
125
  // 更新标记,保证每次更新都会更新
125
126
  customProps.__innerStamp = (+new Date()).toString(36);
126
127
  customProps.__historyState = getHistoryState();
127
- if (customProps.path) customProps.path = addLeftSlash(customProps.path);
128
+ if (customProps.path) {
129
+ customProps.path = addLeftSlash(customProps.path);
130
+ }
128
131
 
129
132
  // 受控模式锁定一些参数
130
133
  if ($syncHistory.current) {
@@ -135,20 +138,37 @@ export default function createApplication(loader) {
135
138
  // 禁止注入 history
136
139
  customProps.__injectHistory = null;
137
140
  }
138
- customProps.consoleBase = _objectSpread(_objectSpread(_objectSpread({}, ConsoleRegion), ConsoleResourceGroup), customProps.consoleBase);
139
141
 
140
142
  /**
141
143
  * 同步主应用的 Region
142
- */
143
- if (syncRegion) {
144
- customProps.consoleBase = _objectSpread(_objectSpread({}, customProps.consoleBase), regionContext);
145
- }
146
-
147
- /**
148
144
  * 同步更新主应用的 ResourceGroup
149
145
  */
150
- if (syncResourceGroup) {
151
- customProps.consoleBase = _objectSpread(_objectSpread({}, customProps.consoleBase), resourceGroupContext);
146
+ if (syncRegion || syncResourceGroup) {
147
+ var region;
148
+ var resourceGroup;
149
+ if (syncRegion) {
150
+ // regionContext 为默认值时,不覆盖
151
+ if (regionContext === ConsoleRegion) {
152
+ region = undefined;
153
+ } else {
154
+ region = regionContext;
155
+ }
156
+ } else {
157
+ region = ConsoleRegion;
158
+ }
159
+ if (syncResourceGroup) {
160
+ // resourceGroupContext 为默认值时,不覆盖
161
+ if (resourceGroupContext === ConsoleResourceGroup) {
162
+ resourceGroup = undefined;
163
+ } else {
164
+ resourceGroup = resourceGroupContext;
165
+ }
166
+ } else {
167
+ resourceGroup = ConsoleResourceGroup;
168
+ }
169
+ customProps.consoleBase = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, customProps.consoleBase), forApp), region), resourceGroup);
170
+ } else {
171
+ customProps.consoleBase = _objectSpread(_objectSpread(_objectSpread({}, ConsoleRegion), ConsoleResourceGroup), customProps.consoleBase);
152
172
  }
153
173
  var sandbox = useMemo(function () {
154
174
  var _UA_Opt, _RISK_INFO, _um;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 是否是 oneConsole 环境
3
+ * @returns
4
+ */
5
+ export function isOneConsole() {
6
+ var _ALIYUN_CONSOLE_CONFI;
7
+ return ((_ALIYUN_CONSOLE_CONFI = window.ALIYUN_CONSOLE_CONFIG) === null || _ALIYUN_CONSOLE_CONFI === void 0 ? void 0 : _ALIYUN_CONSOLE_CONFI.portalType) === 'one';
8
+ }
package/es/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '1.5.13-alpha.2';
1
+ export var version = '1.5.13';
@@ -18,6 +18,7 @@ var _widget = require("./widget");
18
18
  var _createApplication = _interopRequireDefault(require("./createApplication"));
19
19
  var _beforeResolveHook = _interopRequireDefault(require("./hooks/beforeResolveHook"));
20
20
  var _beforeLoadHook = _interopRequireDefault(require("./hooks/beforeLoadHook"));
21
+ var _oneConsole = require("./helpers/oneConsole");
21
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
23
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -62,6 +63,12 @@ function createAlfaWidget(option) {
62
63
  return null;
63
64
  };
64
65
  var passedInOption = option;
66
+
67
+ // 非 oneConsole 环境下设置 iframe 沙箱地址为 about:blank
68
+ // 避免沙箱创建失败
69
+ if (passedInOption.sandbox && !passedInOption.sandbox.sandBoxUrl && !(0, _oneConsole.isOneConsole)()) {
70
+ passedInOption.sandbox.sandBoxUrl = 'about:blank';
71
+ }
65
72
  return function (props) {
66
73
  return (
67
74
  /*#__PURE__*/
@@ -14,6 +14,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _alfaCore = require("@alicloud/alfa-core");
16
16
  var _xconsoleContext = require("@alicloud/xconsole-context");
17
+ var _consoleBaseMessenger = require("@alicloud/console-base-messenger");
17
18
  var _Loading = _interopRequireDefault(require("./components/Loading"));
18
19
  var _utils = require("./utils");
19
20
  var _counter = require("./utils/counter");
@@ -134,7 +135,9 @@ function createApplication(loader) {
134
135
  // 更新标记,保证每次更新都会更新
135
136
  customProps.__innerStamp = (+new Date()).toString(36);
136
137
  customProps.__historyState = getHistoryState();
137
- if (customProps.path) customProps.path = addLeftSlash(customProps.path);
138
+ if (customProps.path) {
139
+ customProps.path = addLeftSlash(customProps.path);
140
+ }
138
141
 
139
142
  // 受控模式锁定一些参数
140
143
  if ($syncHistory.current) {
@@ -145,20 +148,37 @@ function createApplication(loader) {
145
148
  // 禁止注入 history
146
149
  customProps.__injectHistory = null;
147
150
  }
148
- customProps.consoleBase = _objectSpread(_objectSpread(_objectSpread({}, _xconsoleContext.ConsoleRegion), _xconsoleContext.ConsoleResourceGroup), customProps.consoleBase);
149
151
 
150
152
  /**
151
153
  * 同步主应用的 Region
152
- */
153
- if (syncRegion) {
154
- customProps.consoleBase = _objectSpread(_objectSpread({}, customProps.consoleBase), regionContext);
155
- }
156
-
157
- /**
158
154
  * 同步更新主应用的 ResourceGroup
159
155
  */
160
- if (syncResourceGroup) {
161
- customProps.consoleBase = _objectSpread(_objectSpread({}, customProps.consoleBase), resourceGroupContext);
156
+ if (syncRegion || syncResourceGroup) {
157
+ var region;
158
+ var resourceGroup;
159
+ if (syncRegion) {
160
+ // regionContext 为默认值时,不覆盖
161
+ if (regionContext === _xconsoleContext.ConsoleRegion) {
162
+ region = undefined;
163
+ } else {
164
+ region = regionContext;
165
+ }
166
+ } else {
167
+ region = _xconsoleContext.ConsoleRegion;
168
+ }
169
+ if (syncResourceGroup) {
170
+ // resourceGroupContext 为默认值时,不覆盖
171
+ if (resourceGroupContext === _xconsoleContext.ConsoleResourceGroup) {
172
+ resourceGroup = undefined;
173
+ } else {
174
+ resourceGroup = resourceGroupContext;
175
+ }
176
+ } else {
177
+ resourceGroup = _xconsoleContext.ConsoleResourceGroup;
178
+ }
179
+ customProps.consoleBase = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, customProps.consoleBase), _consoleBaseMessenger.forApp), region), resourceGroup);
180
+ } else {
181
+ customProps.consoleBase = _objectSpread(_objectSpread(_objectSpread({}, _xconsoleContext.ConsoleRegion), _xconsoleContext.ConsoleResourceGroup), customProps.consoleBase);
162
182
  }
163
183
  var sandbox = (0, _react.useMemo)(function () {
164
184
  var _UA_Opt, _RISK_INFO, _um;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isOneConsole = isOneConsole;
7
+ /**
8
+ * 是否是 oneConsole 环境
9
+ * @returns
10
+ */
11
+ function isOneConsole() {
12
+ var _ALIYUN_CONSOLE_CONFI;
13
+ return ((_ALIYUN_CONSOLE_CONFI = window.ALIYUN_CONSOLE_CONFIG) === null || _ALIYUN_CONSOLE_CONFI === void 0 ? void 0 : _ALIYUN_CONSOLE_CONFI.portalType) === 'one';
14
+ }
package/lib/version.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = '1.5.13-alpha.2';
7
+ var version = '1.5.13';
8
8
  exports.version = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alicloud/alfa-react",
3
- "version": "1.5.13-alpha.2",
3
+ "version": "1.5.13",
4
4
  "description": "Alfa Framework (React Version)",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 是否是 oneConsole 环境
3
+ * @returns
4
+ */
5
+ export declare function isOneConsole(): boolean;
@@ -1 +1 @@
1
- export declare const version = "1.5.13-alpha.2";
1
+ export declare const version = "1.5.13";