@abtnode/ux 1.16.3 → 1.16.4-beta-8682e092

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.
@@ -70,7 +70,7 @@ function BlockletActions(_ref) {
70
70
  loading: recommendedUrlLoading,
71
71
  recommendedUrl
72
72
  } = useBlockletUrlEvaluation(blocklet);
73
- const inProgress = (0, _util2.isInProgress)(blocklet.status);
73
+ const inProgress = (0, _util.isInProgress)(blocklet.status);
74
74
  const {
75
75
  inService
76
76
  } = node;
@@ -32,7 +32,7 @@ var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
32
32
  var _AnimationWaiter = _interopRequireDefault(require("@arcblock/ux/lib/AnimationWaiter"));
33
33
  var _launchResultMessage = _interopRequireDefault(require("@blocklet/launcher-layout/lib/launch-result-message"));
34
34
  var _util = require("@blocklet/meta/lib/util");
35
- var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
35
+ var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
36
36
  var _node = require("../../contexts/node");
37
37
  var _util2 = require("../../util");
38
38
  var _toast = _interopRequireDefault(require("../../toast"));
@@ -293,7 +293,7 @@ function AddComponent(_ref2) {
293
293
  const installInput = _objectSpread(_objectSpread(_objectSpread({
294
294
  rootDid: blocklet.meta.did,
295
295
  url,
296
- mountPoint: (0, _urlFriendly.default)(mountPoint),
296
+ mountPoint: (0, _urlPathFriendly.default)(mountPoint),
297
297
  title,
298
298
  name: componentName,
299
299
  did: componentDid
@@ -558,7 +558,7 @@ function AddComponent(_ref2) {
558
558
  } else {
559
559
  var _component$current$me, _component$current$me2;
560
560
  doc = _objectSpread(_objectSpread({}, doc), {}, {
561
- pathPrefix: hasRootPath ? "/".concat((0, _urlFriendly.default)(name)) : '/',
561
+ pathPrefix: hasRootPath ? "/".concat((0, _urlPathFriendly.default)(name)) : '/',
562
562
  title: title || '',
563
563
  componentName: '',
564
564
  hasEnvironmentsStep: ((_component$current$me = component.current.meta) === null || _component$current$me === void 0 ? void 0 : (_component$current$me2 = _component$current$me.environments) === null || _component$current$me2 === void 0 ? void 0 : _component$current$me2.length) > 0
@@ -256,7 +256,7 @@ function ComponentItem(_ref) {
256
256
  let deleteDisabledTip = '';
257
257
  if (depth !== 1) {
258
258
  deleteDisabledTip = t('blocklet.component.tip.notDynamic');
259
- } else if ((0, _util2.isInProgress)(root.status) || depth === 1 && deletingComponents.includes(blocklet.meta.did)) {
259
+ } else if ((0, _util.isInProgress)(root.status) || depth === 1 && deletingComponents.includes(blocklet.meta.did)) {
260
260
  deleteDisabledTip = t('blocklet.component.tip.stopBlocklet');
261
261
  } else if ((_blocklet$dependents2 = blocklet.dependents) !== null && _blocklet$dependents2 !== void 0 && _blocklet$dependents2.length) {
262
262
  const requires = blocklet.dependents.filter(x => x.required);
@@ -618,7 +618,7 @@ function BlockletComponent(_ref4) {
618
618
  variant: "dot",
619
619
  invisible: !showUpdateDot,
620
620
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
621
- disabled: loading || (0, _util2.isInProgress)(blocklet.status),
621
+ disabled: loading || (0, _util.isInProgress)(blocklet.status),
622
622
  color: "secondary",
623
623
  onClick: () => {
624
624
  checkForUpdates();
@@ -650,7 +650,7 @@ function BlockletComponent(_ref4) {
650
650
  open
651
651
  } = _ref7;
652
652
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
653
- disabled: loading || (0, _util2.isInProgress)(blocklet.status),
653
+ disabled: loading || (0, _util.isInProgress)(blocklet.status),
654
654
  variant: "text",
655
655
  color: "primary",
656
656
  "data-cy": "add-rule",
@@ -671,7 +671,7 @@ function BlockletComponent(_ref4) {
671
671
  open
672
672
  } = _ref8;
673
673
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
674
- disabled: loading || (0, _util2.isInProgress)(blocklet.status),
674
+ disabled: loading || (0, _util.isInProgress)(blocklet.status),
675
675
  variant: "text",
676
676
  color: "primary",
677
677
  "data-cy": "add-component",
@@ -9,7 +9,7 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
11
  var _context = require("@arcblock/ux/lib/Locale/context");
12
- var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
12
+ var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
13
13
  var _toast = _interopRequireDefault(require("../../toast"));
14
14
  var _formTextInput = _interopRequireDefault(require("../../form/form-text-input"));
15
15
  var _node = require("../../contexts/node");
@@ -74,7 +74,7 @@ function ComponentSetting(_ref) {
74
74
  try {
75
75
  const input = {
76
76
  rootDid,
77
- mountPoint: (0, _urlFriendly.default)(value)
77
+ mountPoint: (0, _urlPathFriendly.default)(value)
78
78
  };
79
79
  if (!isRoot) {
80
80
  input.did = blocklet.meta.did;
@@ -123,7 +123,7 @@ function ComponentSetting(_ref) {
123
123
  onSubmit: onSubmitMountPoint,
124
124
  onChange: handleMountPointChange,
125
125
  helperText: mountPointHelperText,
126
- formatterBeforeSubmit: value => (0, _urlFriendly.default)(value)
126
+ formatterBeforeSubmit: value => (0, _urlPathFriendly.default)(value)
127
127
  })]
128
128
  })
129
129
  }));
@@ -8,7 +8,6 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _get = _interopRequireDefault(require("lodash/get"));
11
- var _omit = _interopRequireDefault(require("lodash/omit"));
12
11
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
13
12
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
14
13
  var _useTheme = _interopRequireDefault(require("@mui/material/styles/useTheme"));
@@ -25,7 +24,6 @@ var _constant = require("@abtnode/constant");
25
24
  var _constant2 = require("@blocklet/constant");
26
25
  var _util = require("@blocklet/meta/lib/util");
27
26
  var _toast = _interopRequireDefault(require("../toast"));
28
- var _schemaForm = _interopRequireDefault(require("../schema-form"));
29
27
  var _formTextInput = _interopRequireDefault(require("../form/form-text-input"));
30
28
  var _node = require("../contexts/node");
31
29
  var _util2 = require("../util");
@@ -38,8 +36,7 @@ var _appSk = _interopRequireDefault(require("./preferences/app-sk"));
38
36
  var _addCert = _interopRequireDefault(require("./add-cert"));
39
37
  var _jsxRuntime = require("react/jsx-runtime");
40
38
  var _templateObject;
41
- const _excluded = ["blocklet", "onUpdate", "hasPermission"],
42
- _excluded2 = ["value"];
39
+ const _excluded = ["blocklet", "onUpdate", "hasPermission"];
43
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
41
  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); }
45
42
  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; }
@@ -68,7 +65,6 @@ function BlockletEnvironment(_ref) {
68
65
  const whoCanAccess = (0, _util.getWhoCanAccess)(blocklet);
69
66
  const publicToStore = blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.publicToStore;
70
67
  const theme = (0, _useTheme.default)();
71
- const [editingItem, setEditingItem] = (0, _react.useState)(null);
72
68
  const disabled = loading || !hasPermission;
73
69
  const {
74
70
  inService,
@@ -141,15 +137,6 @@ function BlockletEnvironment(_ref) {
141
137
  cpuCores
142
138
  });
143
139
  }
144
- const defaultValue = {};
145
- const schemaList = configurableEnvs.map(item => {
146
- const {
147
- value
148
- } = item,
149
- props = _objectWithoutProperties(item, _excluded2);
150
- defaultValue[item.key] = value;
151
- return _objectSpread({}, props);
152
- });
153
140
  const onPublicToStoreChange = async e => {
154
141
  if (loading) {
155
142
  return;
@@ -174,17 +161,21 @@ function BlockletEnvironment(_ref) {
174
161
  setLoading(false);
175
162
  }
176
163
  };
177
- const onSubmitConfig = async value => {
178
- if (value.key === _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE) {
179
- const errMessage = (0, _util2.isValidClusterSize)(value);
164
+ const onSubmitConfig = async (key, value) => {
165
+ if (key === _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE) {
166
+ const errMessage = (0, _util2.isValidClusterSize)({
167
+ value,
168
+ cpuCores
169
+ });
180
170
  if (errMessage) {
181
171
  _toast.default.error(errMessage);
182
172
  return;
183
173
  }
184
174
  }
185
- const params = [_objectSpread(_objectSpread({}, (0, _omit.default)(editingItem, ['childDid', 'componentType', 'componentProps'])), {}, {
175
+ const params = [{
176
+ key,
186
177
  value
187
- })];
178
+ }];
188
179
  try {
189
180
  setLoading(true);
190
181
  const {
@@ -302,29 +293,24 @@ function BlockletEnvironment(_ref) {
302
293
  }
303
294
  };
304
295
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({}, rest), {}, {
305
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_schemaForm.default, {
306
- disabled: disabled,
307
- style: {
308
- marginTop: -24
309
- },
310
- loading: loading,
311
- schema: schemaList,
312
- defaultValue: defaultValue,
313
- onChange: (changeValue, _ref2) => {
314
- let {
315
- action,
316
- currentItem
317
- } = _ref2;
318
- if (action === 'edit') {
319
- setEditingItem(currentItem);
320
- } else if (['cancel', 'confirm'].includes(action)) {
321
- setEditingItem(null);
322
- }
323
- if (action === 'confirm') {
324
- onSubmitConfig(changeValue[currentItem.key]);
325
- }
326
- }
327
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
296
+ children: [configurableEnvs.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
297
+ className: "config-form",
298
+ mt: 2,
299
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
300
+ className: "config-label",
301
+ fontSize: 14,
302
+ mb: 0,
303
+ children: item.description
304
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {
305
+ style: {
306
+ marginTop: 0
307
+ },
308
+ disabled: loading || disabled,
309
+ loading: loading,
310
+ initialValue: item.value,
311
+ onSubmit: value => onSubmitConfig(item.key, value)
312
+ })]
313
+ })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
328
314
  className: "config-form",
329
315
  children: [whoCanAccess === 'all' && blocklet.source === 'registry' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
330
316
  className: "config-item",
@@ -375,10 +361,10 @@ function BlockletEnvironment(_ref) {
375
361
  id: site.id,
376
362
  title: t('router.domain.add.title'),
377
363
  teamDid: did,
378
- children: _ref3 => {
364
+ children: _ref2 => {
379
365
  let {
380
366
  open
381
- } = _ref3;
367
+ } = _ref2;
382
368
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
383
369
  style: {
384
370
  marginLeft: 16
@@ -387,7 +373,7 @@ function BlockletEnvironment(_ref) {
387
373
  color: "primary",
388
374
  "data-cy": "add-domain-alias",
389
375
  onClick: open,
390
- disabled: (0, _util2.isInProgress)(blocklet.status),
376
+ disabled: (0, _util.isInProgress)(blocklet.status),
391
377
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
392
378
  style: {
393
379
  fontSize: '1.3em',
@@ -425,10 +411,10 @@ function BlockletEnvironment(_ref) {
425
411
  domain: domain.value,
426
412
  domainStatus: domain.domainStatus,
427
413
  did: blocklet.meta.did,
428
- children: _ref4 => {
414
+ children: _ref3 => {
429
415
  let {
430
416
  open
431
- } = _ref4;
417
+ } = _ref3;
432
418
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
433
419
  size: "small",
434
420
  onClick: e => open(e),
@@ -69,7 +69,7 @@ function OAuthAuth0() {
69
69
  reset(defaultValues);
70
70
  _toast.default.success(t('oauth.saveSuccess'));
71
71
  } catch (err) {
72
- _toast.default.success(err.message || t('oauth.saveFailed'));
72
+ _toast.default.error(err.message || t('oauth.saveFailed'));
73
73
  }
74
74
  });
75
75
  const validateDomain = (0, _ahooks.useMemoizedFn)(val => {
@@ -146,7 +146,10 @@ function BlockletOverview() {
146
146
  value: (_blocklet$settings = blocklet.settings) !== null && _blocklet$settings !== void 0 && _blocklet$settings.owner ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {
147
147
  did: blocklet.settings.owner.did
148
148
  }) : '--'
149
- }].filter(Boolean);
149
+ }, blocklet.externalSkSource ? {
150
+ name: t('blocklet.skSource'),
151
+ value: blocklet.externalSkSource
152
+ } : null].filter(Boolean);
150
153
  if (inService) {
151
154
  infoRows.push({
152
155
  name: t('common.serverDid'),
@@ -12,10 +12,13 @@ var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect
12
12
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
13
  var _constant = require("@abtnode/constant");
14
14
  var _context = require("@arcblock/ux/lib/Locale/context");
15
+ var _util = require("@blocklet/meta/lib/util");
15
16
  var _formTextInput = _interopRequireDefault(require("../../form/form-text-input"));
16
17
  var _confirm = _interopRequireDefault(require("../../confirm"));
17
18
  var _session = require("../../contexts/session");
18
19
  var _blocklet = require("../../contexts/blocklet");
20
+ var _util2 = require("../../util");
21
+ var _toast = _interopRequireDefault(require("../../toast"));
19
22
  var _jsxRuntime = require("react/jsx-runtime");
20
23
  var _templateObject;
21
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -61,9 +64,19 @@ function AppSk(_ref) {
61
64
  const triggers = blocklet.structVersion === _constant.APP_STRUCT_VERSION ? [{
62
65
  key: 'rotate-with-did-wallet',
63
66
  title: 'Migrate with DID Wallet',
64
- handler: () => setState({
65
- isConnectOpen: true
66
- })
67
+ handler: () => {
68
+ if ((0, _util2.isRunning)(blocklet.status)) {
69
+ _toast.default.error(t('blocklet.error.isRunning'));
70
+ return;
71
+ }
72
+ if ((0, _util.isInProgress)(blocklet.status)) {
73
+ _toast.default.error(t('blocklet.error.isInProgress'));
74
+ return;
75
+ }
76
+ setState({
77
+ isConnectOpen: true
78
+ });
79
+ }
67
80
  }] : [];
68
81
  return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {
69
82
  disabled: disabled,
@@ -13,7 +13,7 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
13
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
14
14
  var _context = require("@arcblock/ux/lib/Locale/context");
15
15
  var _constant = require("@abtnode/constant");
16
- var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
16
+ var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
17
17
  var _node = require("../../../contexts/node");
18
18
  var _blocklet = require("../../../contexts/blocklet");
19
19
  var _confirm = _interopRequireDefault(require("../../../confirm"));
@@ -58,7 +58,7 @@ function AddRule(_ref) {
58
58
  setLoading(true);
59
59
  const rule = {
60
60
  from: {
61
- pathPrefix: (0, _urlFriendly.default)(params.pathPrefix)
61
+ pathPrefix: (0, _urlPathFriendly.default)(params.pathPrefix)
62
62
  },
63
63
  to: {
64
64
  type: params.type
@@ -13,7 +13,7 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
13
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
14
14
  var _constant = require("@abtnode/constant");
15
15
  var _context = require("@arcblock/ux/lib/Locale/context");
16
- var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
16
+ var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
17
17
  var _node = require("../../../contexts/node");
18
18
  var _blocklet = require("../../../contexts/blocklet");
19
19
  var _confirm = _interopRequireDefault(require("../../../confirm"));
@@ -63,7 +63,7 @@ function UpdateRule(_ref) {
63
63
  const rule = {
64
64
  id: ruleId,
65
65
  from: {
66
- pathPrefix: (0, _urlFriendly.default)(params.pathPrefix)
66
+ pathPrefix: (0, _urlPathFriendly.default)(params.pathPrefix)
67
67
  },
68
68
  to: {
69
69
  type: params.type
@@ -9,9 +9,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
10
10
  var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
11
11
  var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _util = require("@blocklet/meta/lib/util");
12
13
  var _dot = _interopRequireDefault(require("../dot"));
13
14
  var _tag = _interopRequireDefault(require("../tag"));
14
- var _util = require("../util");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  const _excluded = ["status", "variant", "source"];
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -91,7 +91,7 @@ function Version(_ref) {
91
91
  onConfirm,
92
92
  onCancel
93
93
  };
94
- if (hasPermission && newVersionBlocklet && !(0, _util2.isInProgress)(blocklet.status)) {
94
+ if (hasPermission && newVersionBlocklet && !(0, _util.isInProgress)(blocklet.status)) {
95
95
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
96
96
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, _objectSpread(_objectSpread({}, rest), {}, {
97
97
  children: blocklet.meta.version
package/lib/locales/en.js CHANGED
@@ -304,6 +304,7 @@ module.exports = {
304
304
  appId: 'App ID',
305
305
  appPid: 'Permanent ID',
306
306
  alsoKnownAs: 'Also Known As',
307
+ skSource: 'Owner Wallet',
307
308
  reloadSuccess: 'Blocklet was reloaded successfully',
308
309
  statusTip: 'Blocklet is {status}',
309
310
  initialUptime: 'Less than 1m',
@@ -544,6 +545,10 @@ module.exports = {
544
545
  duplicate: 'Find duplicate component {name}, please delete useless components and migrate again',
545
546
  running: 'Please stop blocklet before migration'
546
547
  }
548
+ },
549
+ error: {
550
+ isRunning: 'Blocklet is running, please stop it first',
551
+ isInProgress: 'Blocklet is in progress, please wait for it to finish'
547
552
  }
548
553
  },
549
554
  dashboard: {
@@ -947,7 +952,8 @@ module.exports = {
947
952
  },
948
953
  error: {
949
954
  passportEmpty: 'Passport should not be empty'
950
- }
955
+ },
956
+ connectedAccounts: 'Connected Accounts'
951
957
  },
952
958
  transferNode: {
953
959
  name: 'Transfer Ownership',
package/lib/locales/zh.js CHANGED
@@ -310,6 +310,7 @@ module.exports = {
310
310
  appId: '应用 ID',
311
311
  appPid: '永久性 ID',
312
312
  alsoKnownAs: '曾用 ID',
313
+ skSource: '安装钱包',
313
314
  reloadSuccess: 'Blocklet 重启成功',
314
315
  statusTip: 'Blocklet {status}',
315
316
  initialUptime: '少于1分钟',
@@ -552,6 +553,10 @@ module.exports = {
552
553
  duplicate: '发现重复的组件 {name},请删除无用组件并重新迁移',
553
554
  running: '迁移前请先停止应用'
554
555
  }
556
+ },
557
+ error: {
558
+ isRunning: 'Blocklet 正在运行,请先停止运行',
559
+ isInProgress: 'Blocklet 正在进行中,请等待完成'
555
560
  }
556
561
  },
557
562
  dashboard: {
@@ -950,7 +955,8 @@ module.exports = {
950
955
  },
951
956
  error: {
952
957
  passportEmpty: '通行证不能为空'
953
- }
958
+ },
959
+ connectedAccounts: '已连接账号'
954
960
  },
955
961
  transferNode: {
956
962
  name: '转移所有者',
@@ -274,11 +274,15 @@ function MemberList(_ref2) {
274
274
  }
275
275
  }, {
276
276
  label: t('team.member.source'),
277
- name: 'source',
277
+ name: 'extraConfigs.sourceProvider',
278
278
  options: {
279
279
  customBodyRender: e => {
280
280
  const source = e || _constant.USER_TYPE.WALLET;
281
- return t("team.member.source_".concat(source)) || '-';
281
+ const providerNameMap = {
282
+ auth0: 'Auth0',
283
+ wallet: 'DID wallet'
284
+ };
285
+ return providerNameMap[source] || source;
282
286
  }
283
287
  }
284
288
  }, {
@@ -14,7 +14,6 @@ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
14
14
  var _Select = _interopRequireDefault(require("@mui/material/Select"));
15
15
  var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
16
16
  var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
17
- var _constant = require("@abtnode/constant");
18
17
  var _context = require("@arcblock/ux/lib/Locale/context");
19
18
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
20
19
  var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
@@ -26,7 +25,7 @@ function IssuePassport(_ref) {
26
25
  let {
27
26
  teamDid,
28
27
  ownerDid,
29
- ownerSource,
28
+ needReceive,
30
29
  roles,
31
30
  onCancel,
32
31
  onSuccess,
@@ -94,7 +93,7 @@ function IssuePassport(_ref) {
94
93
  "data-cy": "issue-passport-create-btn",
95
94
  children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
96
95
  size: 16
97
- }), ownerSource === _constant.USER_TYPE.DERIVED ? t('oauth.issued') : t('team.passport.issuance.create.title')]
96
+ }), needReceive ? t('team.passport.issuance.create.title') : t('oauth.issued')]
98
97
  })]
99
98
  }),
100
99
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {
@@ -144,7 +143,7 @@ function IssuePassport(_ref) {
144
143
  IssuePassport.propTypes = {
145
144
  teamDid: _propTypes.default.string.isRequired,
146
145
  ownerDid: _propTypes.default.string.isRequired,
147
- ownerSource: _propTypes.default.oneOf([_constant.USER_TYPE.WALLET, _constant.USER_TYPE.DERIVED, undefined]),
146
+ needReceive: _propTypes.default.bool,
148
147
  onCancel: _propTypes.default.func.isRequired,
149
148
  onSuccess: _propTypes.default.func.isRequired,
150
149
  onError: _propTypes.default.func,
@@ -155,5 +154,5 @@ IssuePassport.defaultProps = {
155
154
  onError: () => {},
156
155
  roles: [],
157
156
  showOwnerPassport: false,
158
- ownerSource: _constant.USER_TYPE.WALLET
157
+ needReceive: true
159
158
  };
@@ -12,14 +12,12 @@ var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
12
12
  var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
13
13
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
14
14
  var _Avatar = _interopRequireDefault(require("@mui/material/Avatar"));
15
- var _Avatar2 = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
16
15
  var _Tabs = _interopRequireDefault(require("@arcblock/ux/lib/Tabs"));
17
16
  var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
18
17
  var _context = require("@arcblock/ux/lib/Locale/context");
19
18
  var _Address = _interopRequireDefault(require("@arcblock/did-connect/lib/Address"));
20
19
  var _ForbidLoginIcon = _interopRequireDefault(require("@arcblock/icons/lib/ForbidLoginIcon"));
21
20
  var _AllowLoginIcon = _interopRequireDefault(require("@arcblock/icons/lib/AllowLoginIcon"));
22
- var _reactUse = require("react-use");
23
21
  var _ahooks = require("ahooks");
24
22
  var _constant = require("@abtnode/constant");
25
23
  var _permission = _interopRequireDefault(require("../../permission"));
@@ -64,66 +62,21 @@ LinkUser.propTypes = {
64
62
  function TabOAuth(_ref2) {
65
63
  var _user$extraConfigs;
66
64
  let {
67
- user,
68
- onChangeUser
65
+ user
69
66
  } = _ref2;
70
- const {
71
- api,
72
- inService
73
- } = (0, _node.useNodeContext)();
74
- const {
75
- teamDid
76
- } = (0, _team.useTeamContext)();
77
67
  const connectedAccounts = ((_user$extraConfigs = user.extraConfigs) === null || _user$extraConfigs === void 0 ? void 0 : _user$extraConfigs.connectedAccounts) || [];
78
- const sourceIds = connectedAccounts.map(x => x.id);
79
- const users = (0, _reactUse.useAsync)(async () => {
80
- if (sourceIds !== null && sourceIds !== void 0 && sourceIds.length) {
81
- const {
82
- users: data
83
- } = await api.getUsers({
84
- input: {
85
- teamDid,
86
- sourceIds
87
- }
88
- });
89
- return data;
90
- }
91
- return [];
92
- }, []);
93
- if (users.loading || !users.value) {
94
- return null;
95
- }
96
- return users.value.map(userItem => {
97
- var _userItem$extraConfig;
68
+ return connectedAccounts.map(account => {
98
69
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {
99
70
  style: {
100
71
  alignItems: 'flex-start'
101
72
  },
102
73
  valueComponent: "div",
103
74
  nameWidth: 120,
104
- name: (_userItem$extraConfig = userItem.extraConfigs) === null || _userItem$extraConfig === void 0 ? void 0 : _userItem$extraConfig.sourceProvider,
105
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
106
- display: "flex",
107
- alignItems: "center",
108
- title: userItem.email,
109
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar2.default, {
110
- src: (0, _util2.parseAvatar)(userItem.avatar, teamDid, inService),
111
- size: 20,
112
- did: userItem.did,
113
- shape: "circle",
114
- style: {
115
- borderRadius: '100%',
116
- overflow: 'hidden'
117
- }
118
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkUser, {
119
- name: userItem.fullName,
120
- mx: 1,
121
- onClick: () => {
122
- onChangeUser(userItem);
123
- }
124
- })]
75
+ name: account.provider,
76
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
77
+ children: account.did
125
78
  })
126
- }, userItem.did);
79
+ }, account.did);
127
80
  });
128
81
  }
129
82
  TabOAuth.propTypes = {
@@ -218,10 +171,14 @@ function Member(_ref3) {
218
171
  await getData(teamDid, changedUser.did);
219
172
  pageState.tab = defaultTab;
220
173
  };
174
+ const providerNameMap = {
175
+ auth0: 'Auth0',
176
+ wallet: 'DID wallet'
177
+ };
221
178
 
222
179
  // tab
223
180
  const Info = () => {
224
- var _pageState$user$extra, _pageState$user$extra3;
181
+ var _pageState$user, _pageState$user$extra, _pageState$user2, _pageState$user2$extr;
225
182
  const rows = pageState.user ? [{
226
183
  name: t('team.member.name'),
227
184
  value: pageState.user.fullName
@@ -230,25 +187,10 @@ function Member(_ref3) {
230
187
  value: pageState.user.email
231
188
  }, {
232
189
  name: t('team.member.source'),
233
- value: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
190
+ value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
234
191
  display: "flex",
235
192
  alignItems: "center",
236
- children: [t("team.member.source_".concat(pageState.user.source || _constant.USER_TYPE.WALLET)) || '-', ((_pageState$user$extra = pageState.user.extraConfigs) === null || _pageState$user$extra === void 0 ? void 0 : _pageState$user$extra.bindDid) && /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkUser, {
237
- ml: 1,
238
- name: t('oauth.alreadyBindWallet'),
239
- onClick: () => {
240
- var _pageState$user$extra2;
241
- return handleChangeUser({
242
- did: (_pageState$user$extra2 = pageState.user.extraConfigs) === null || _pageState$user$extra2 === void 0 ? void 0 : _pageState$user$extra2.bindDid
243
- });
244
- }
245
- }), ((_pageState$user$extra3 = pageState.user.extraConfigs) === null || _pageState$user$extra3 === void 0 ? void 0 : _pageState$user$extra3.derivedAccount) && /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkUser, {
246
- ml: 1,
247
- name: t('oauth.alreadyBindOAuth'),
248
- onClick: () => {
249
- pageState.tab = 'oauth';
250
- }
251
- })]
193
+ children: providerNameMap[((_pageState$user = pageState.user) === null || _pageState$user === void 0 ? void 0 : (_pageState$user$extra = _pageState$user.extraConfigs) === null || _pageState$user$extra === void 0 ? void 0 : _pageState$user$extra.sourceProvider) || _constant.USER_TYPE.WALLET] || ((_pageState$user2 = pageState.user) === null || _pageState$user2 === void 0 ? void 0 : (_pageState$user2$extr = _pageState$user2.extraConfigs) === null || _pageState$user2$extr === void 0 ? void 0 : _pageState$user2$extr.sourceProvider)
252
194
  })
253
195
  }, {
254
196
  name: t('team.member.allowLogin'),
@@ -294,7 +236,7 @@ function Member(_ref3) {
294
236
  component: Info
295
237
  },
296
238
  oauth: {
297
- label: t('oauth.thirdPartyLogin'),
239
+ label: t('team.member.connectedAccounts'),
298
240
  value: 'oauth',
299
241
  component: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(TabOAuth, {
300
242
  user: pageState.user,
@@ -346,8 +288,12 @@ function Member(_ref3) {
346
288
  return enablePassportIssuance && pageState.issuances && !!pageState.issuances.length;
347
289
  }
348
290
  if (x.value === 'oauth') {
349
- var _pageState$user;
350
- return ((_pageState$user = pageState.user) === null || _pageState$user === void 0 ? void 0 : _pageState$user.source) !== _constant.USER_TYPE.DERIVED;
291
+ var _pageState$user3, _pageState$user3$extr;
292
+ const connectedAccounts = ((_pageState$user3 = pageState.user) === null || _pageState$user3 === void 0 ? void 0 : (_pageState$user3$extr = _pageState$user3.extraConfigs) === null || _pageState$user3$extr === void 0 ? void 0 : _pageState$user3$extr.connectedAccounts) || [];
293
+ return connectedAccounts.find(item => {
294
+ var _pageState$user4;
295
+ return item.provider !== (((_pageState$user4 = pageState.user) === null || _pageState$user4 === void 0 ? void 0 : _pageState$user4.extraConfigs.sourceProvider) || 'wallet');
296
+ });
351
297
  }
352
298
  return true;
353
299
  });
@@ -71,7 +71,7 @@ ConfirmDescription.propTypes = {
71
71
  };
72
72
  ConfirmDescription.defaultProps = {};
73
73
  function Passports(_ref2) {
74
- var _blocklet$settings;
74
+ var _user$extraConfigs2, _blocklet$settings;
75
75
  let {
76
76
  user,
77
77
  onCreate
@@ -191,6 +191,17 @@ function Passports(_ref2) {
191
191
  };
192
192
  };
193
193
  const filteredPassports = passports.filter(x => !search || x.title.includes(search) || x.name.includes(search));
194
+ const needReceive = (0, _react.useMemo)(() => {
195
+ var _user$extraConfigs;
196
+ const connectedAccounts = (user === null || user === void 0 ? void 0 : (_user$extraConfigs = user.extraConfigs) === null || _user$extraConfigs === void 0 ? void 0 : _user$extraConfigs.connectedAccounts) || [];
197
+ if (connectedAccounts.find(item => item.provider === 'wallet')) {
198
+ return true;
199
+ }
200
+ if (connectedAccounts.length === 0) {
201
+ return true;
202
+ }
203
+ return false;
204
+ }, [user === null || user === void 0 ? void 0 : (_user$extraConfigs2 = user.extraConfigs) === null || _user$extraConfigs2 === void 0 ? void 0 : _user$extraConfigs2.connectedAccounts]);
194
205
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {
195
206
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_listHeader.default, {
196
207
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -307,7 +318,7 @@ function Passports(_ref2) {
307
318
  }), showIssueDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_issuePassport.default, {
308
319
  teamDid: teamDid,
309
320
  ownerDid: user.did,
310
- ownerSource: user.source,
321
+ needReceive: needReceive,
311
322
  roles: roles,
312
323
  onCancel: () => setShowIssueDialog(false),
313
324
  onSuccess: () => {
package/lib/util/index.js CHANGED
@@ -22,7 +22,6 @@ exports.getAsset = getAsset;
22
22
  exports.getAssetExpiration = getAssetExpiration;
23
23
  exports.getBlockletLogoUrl = void 0;
24
24
  exports.getBlockletMetaUrl = getBlockletMetaUrl;
25
- exports.getBlockletServices = void 0;
26
25
  exports.getBlockletUrl = getBlockletUrl;
27
26
  exports.getBlockletUrlParams = void 0;
28
27
  exports.getBlockletUrls = getBlockletUrls;
@@ -31,9 +30,9 @@ exports.getPathPrefix = exports.getIssuePassportLink = exports.getInviteLink = v
31
30
  exports.getRelativeTime = getRelativeTime;
32
31
  exports.getStoreList = void 0;
33
32
  exports.getWebWalletUrl = getWebWalletUrl;
34
- exports.isNewStoreUrl = exports.isInstalling = exports.isInProgress = exports.isDownloading = exports.isChrome = exports.isCertificateMatch = exports.isBlockletDev = void 0;
33
+ exports.isNewStoreUrl = exports.isInstalling = exports.isDownloading = exports.isChrome = exports.isCertificateMatch = exports.isBlockletDev = void 0;
35
34
  exports.isProtectedRole = isProtectedRole;
36
- exports.isUrlAccessible = exports.isSafari = void 0;
35
+ exports.isUrlAccessible = exports.isSafari = exports.isRunning = void 0;
37
36
  exports.isValidClusterSize = isValidClusterSize;
38
37
  exports.parseQuery = void 0;
39
38
  exports.patchJsxToLocale = patchJsxToLocale;
@@ -57,7 +56,7 @@ var _urlEvaluation = require("@abtnode/util/lib/url-evaluation");
57
56
  var _checkAccessibleBrowser = _interopRequireDefault(require("@abtnode/util/lib/url-evaluation/check-accessible-browser"));
58
57
  var _axios = _interopRequireDefault(require("@abtnode/util/lib/axios"));
59
58
  var _normalizePathPrefix = _interopRequireDefault(require("@abtnode/util/lib/normalize-path-prefix"));
60
- var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
59
+ var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
61
60
  var _window$env;
62
61
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
63
62
  function sleep(t) {
@@ -161,9 +160,19 @@ function getBlockletUrls() {
161
160
  }
162
161
  let mountPoint = inputMountPoint;
163
162
  if (!mountPoint) {
164
- var _rule$from;
165
- const rule = site.rules.filter(x => !x.from.pathPrefix.startsWith(_constant.WELLKNOWN_PATH_PREFIX))[0];
166
- mountPoint = (0, _normalizePathPrefix.default)((rule === null || rule === void 0 ? void 0 : (_rule$from = rule.from) === null || _rule$from === void 0 ? void 0 : _rule$from.pathPrefix) || '/');
163
+ var _rule, _rule$from, _rule2, _rule2$from;
164
+ const rules = site.rules.filter(x => !x.from.pathPrefix.startsWith(_constant.WELLKNOWN_PATH_PREFIX));
165
+ let rule = rules[0];
166
+ if (((_rule = rule) === null || _rule === void 0 ? void 0 : (_rule$from = _rule.from) === null || _rule$from === void 0 ? void 0 : _rule$from.pathPrefix) !== '/') {
167
+ const rootRule = rules.find(x => {
168
+ var _x$from;
169
+ return ((_x$from = x.from) === null || _x$from === void 0 ? void 0 : _x$from.pathPrefix) === '/';
170
+ });
171
+ if (rootRule) {
172
+ rule = rootRule;
173
+ }
174
+ }
175
+ mountPoint = (0, _normalizePathPrefix.default)(((_rule2 = rule) === null || _rule2 === void 0 ? void 0 : (_rule2$from = _rule2.from) === null || _rule2$from === void 0 ? void 0 : _rule2$from.pathPrefix) || '/');
167
176
  }
168
177
  return domains.map(domain => getAccessUrl(domain.value, mountPoint, params));
169
178
  }
@@ -286,12 +295,12 @@ const appendParams = function appendParams(url) {
286
295
  return "".concat(pathname, "?").concat(_querystring.default.stringify(params));
287
296
  };
288
297
  exports.appendParams = appendParams;
289
- const isInProgress = status => ['waiting', 'downloading', 'starting', 'installing', 'stopping', 'upgrading', 'restarting', 'deleting'].includes(status);
290
- exports.isInProgress = isInProgress;
291
298
  const isInstalling = status => ['waiting', 'downloading', 'installing', 'upgrading'].includes(status);
292
299
  exports.isInstalling = isInstalling;
293
300
  const isDownloading = status => ['waiting', 'downloading'].includes(status);
294
301
  exports.isDownloading = isDownloading;
302
+ const isRunning = status => status === 'running';
303
+ exports.isRunning = isRunning;
295
304
  const formatDiskSize = function formatDiskSize(size) {
296
305
  let serverPlatform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
297
306
  const base = serverPlatform === 'linux' ? 2 : 10;
@@ -331,23 +340,6 @@ const formatPerson = person => {
331
340
  return name + email + url;
332
341
  };
333
342
  exports.formatPerson = formatPerson;
334
- const getBlockletServices = blocklet => {
335
- const services = [];
336
- if (!blocklet) {
337
- return services;
338
- }
339
- const interfaces = (blocklet.meta.interfaces || []).filter(x => x.type === _constant2.BLOCKLET_INTERFACE_TYPE_SERVICE);
340
- interfaces.forEach(x => {
341
- services.push({
342
- name: x.name,
343
- protocol: x.protocol,
344
- port: Number(x.port.external),
345
- upstreamPort: Number(blocklet.ports[x.port.internal])
346
- });
347
- });
348
- return services;
349
- };
350
- exports.getBlockletServices = getBlockletServices;
351
343
  const shouldCheckDomainStatus = domain => domain &&
352
344
  // eslint-disable-line
353
345
  ![_constant.DOMAIN_FOR_IP_SITE, _constant.DOMAIN_FOR_IP_SITE_REGEXP, _constant.DOMAIN_FOR_DEFAULT_SITE, _constant.DOMAIN_FOR_INTERNAL_SITE].includes(domain);
@@ -702,5 +694,5 @@ const sortDomains = domains => {
702
694
  });
703
695
  };
704
696
  exports.sortDomains = sortDomains;
705
- const formatMountPoint = value => (0, _normalizePathPrefix.default)((0, _urlFriendly.default)(value));
697
+ const formatMountPoint = value => (0, _normalizePathPrefix.default)((0, _urlPathFriendly.default)(value));
706
698
  exports.formatMountPoint = formatMountPoint;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.3",
6
+ "version": "1.16.4-beta-8682e092",
7
7
  "description": "UX components shared across abtnode packages",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -22,20 +22,20 @@
22
22
  "author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@abtnode/auth": "1.16.3",
26
- "@abtnode/constant": "1.16.3",
27
- "@abtnode/util": "1.16.3",
28
- "@arcblock/did-connect": "^2.5.18",
25
+ "@abtnode/auth": "1.16.4-beta-8682e092",
26
+ "@abtnode/constant": "1.16.4-beta-8682e092",
27
+ "@abtnode/util": "1.16.4-beta-8682e092",
28
+ "@arcblock/did-connect": "^2.5.21",
29
29
  "@arcblock/did-motif": "^1.1.10",
30
- "@arcblock/icons": "^2.5.18",
31
- "@arcblock/react-hooks": "^2.5.18",
32
- "@arcblock/terminal": "^2.5.18",
33
- "@arcblock/ux": "^2.5.18",
34
- "@blocklet/constant": "1.16.3",
30
+ "@arcblock/icons": "^2.5.21",
31
+ "@arcblock/react-hooks": "^2.5.21",
32
+ "@arcblock/terminal": "^2.5.21",
33
+ "@arcblock/ux": "^2.5.21",
34
+ "@blocklet/constant": "1.16.4-beta-8682e092",
35
35
  "@blocklet/launcher-layout": "1.9.65",
36
- "@blocklet/list": "^0.11.15",
37
- "@blocklet/meta": "1.16.3",
38
- "@blocklet/ui-react": "^2.5.18",
36
+ "@blocklet/list": "^0.11.16",
37
+ "@blocklet/meta": "1.16.4-beta-8682e092",
38
+ "@blocklet/ui-react": "^2.5.21",
39
39
  "@emotion/react": "^11.10.4",
40
40
  "@emotion/styled": "^11.10.4",
41
41
  "@iconify/react": "^4.0.0",
@@ -89,5 +89,5 @@
89
89
  "@babel/preset-react": "^7.18.6",
90
90
  "babel-plugin-inline-react-svg": "^1.1.2"
91
91
  },
92
- "gitHead": "a21d48225c6f89963796871f404a2318a335701d"
92
+ "gitHead": "ab6fc7aeaec32f14ec2153976f2121aa893486b5"
93
93
  }