@abtnode/ux 1.16.26-beta-4831bf3f → 1.16.26-beta-5251ab18
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/es/blocklet/actions.js +74 -33
- package/es/blocklet/component/add-component-core.js +28 -29
- package/es/blocklet/component/select-store.js +9 -10
- package/es/blocklet/icons.js +3 -1
- package/es/blocklet/publish/connect-store-list.js +8 -4
- package/es/blocklet/publish/project-list.js +56 -18
- package/es/blocklet/publish/release-list.js +0 -1
- package/es/locales/ar.js +11 -2
- package/es/locales/de.js +12 -3
- package/es/locales/en.js +11 -2
- package/es/locales/es.js +12 -3
- package/es/locales/fr.js +12 -3
- package/es/locales/hi.js +12 -3
- package/es/locales/i18n.db +0 -0
- package/es/locales/id.js +11 -2
- package/es/locales/ja.js +12 -3
- package/es/locales/ko.js +12 -3
- package/es/locales/pt.js +12 -3
- package/es/locales/ru.js +11 -2
- package/es/locales/th.js +11 -2
- package/es/locales/vi.js +11 -2
- package/es/locales/zh-tw.js +12 -3
- package/es/locales/zh.js +12 -3
- package/es/store/connect-actions.js +130 -0
- package/es/store/delete.js +8 -2
- package/es/store/item.js +5 -9
- package/es/util/join-url-keep-search.js +15 -0
- package/lib/blocklet/actions.js +82 -38
- package/lib/blocklet/component/add-component-core.js +27 -28
- package/lib/blocklet/component/select-store.js +9 -10
- package/lib/blocklet/icons.js +3 -1
- package/lib/blocklet/publish/connect-store-list.js +8 -4
- package/lib/blocklet/publish/project-list.js +56 -18
- package/lib/blocklet/publish/release-list.js +0 -1
- package/lib/locales/ar.js +11 -2
- package/lib/locales/de.js +12 -3
- package/lib/locales/en.js +11 -2
- package/lib/locales/es.js +12 -3
- package/lib/locales/fr.js +12 -3
- package/lib/locales/hi.js +12 -3
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +11 -2
- package/lib/locales/ja.js +12 -3
- package/lib/locales/ko.js +12 -3
- package/lib/locales/pt.js +12 -3
- package/lib/locales/ru.js +11 -2
- package/lib/locales/th.js +11 -2
- package/lib/locales/vi.js +11 -2
- package/lib/locales/zh-tw.js +12 -3
- package/lib/locales/zh.js +12 -3
- package/lib/store/connect-actions.js +138 -0
- package/lib/store/delete.js +8 -2
- package/lib/store/item.js +5 -9
- package/lib/util/join-url-keep-search.js +22 -0
- package/package.json +7 -7
package/lib/blocklet/actions.js
CHANGED
|
@@ -4,39 +4,42 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = BlockletActions;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
7
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _react = require("react");
|
|
10
10
|
var _reactRouterDom = require("react-router-dom");
|
|
11
11
|
var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var _constant = require("@abtnode/constant");
|
|
13
|
+
var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
|
|
14
|
+
var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
|
|
15
15
|
var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
|
|
16
16
|
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
17
|
-
var
|
|
18
|
-
var
|
|
17
|
+
var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
|
|
18
|
+
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
19
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
19
20
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
20
21
|
var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
|
|
21
|
-
var
|
|
22
|
+
var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
|
|
23
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
22
24
|
var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
|
|
23
25
|
var _RadioGroup = _interopRequireDefault(require("@mui/material/RadioGroup"));
|
|
24
|
-
var
|
|
25
|
-
var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
|
|
26
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
26
27
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
27
|
-
var _util = require("@blocklet/meta/lib/util");
|
|
28
28
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
29
|
-
var
|
|
29
|
+
var _util = require("@blocklet/meta/lib/util");
|
|
30
|
+
var _constant2 = require("@blocklet/constant");
|
|
30
31
|
var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
31
|
-
var _util2 = require("../util");
|
|
32
|
-
var _util3 = require("./util");
|
|
33
|
-
var _node = require("../contexts/node");
|
|
34
32
|
var _confirm = _interopRequireDefault(require("../confirm"));
|
|
33
|
+
var _node = require("../contexts/node");
|
|
34
|
+
var _util2 = require("../util");
|
|
35
|
+
var _joinUrlKeepSearch = _interopRequireDefault(require("../util/join-url-keep-search"));
|
|
35
36
|
var _icons = _interopRequireDefault(require("./icons"));
|
|
37
|
+
var _util3 = require("./util");
|
|
36
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
37
39
|
var _templateObject;
|
|
38
|
-
const _excluded = ["blocklet", "onStart", "onComplete", "variant", "hasPermission", "useBlockletUrlEvaluation"],
|
|
39
|
-
_excluded2 = ["sx"]
|
|
40
|
+
const _excluded = ["blocklet", "onStart", "onComplete", "variant", "hasPermission", "getComponentUrl", "useBlockletUrlEvaluation"],
|
|
41
|
+
_excluded2 = ["sx"],
|
|
42
|
+
_excluded3 = ["style"];
|
|
40
43
|
/* eslint-disable react/no-unstable-nested-components */
|
|
41
44
|
/* eslint-disable operator-linebreak */
|
|
42
45
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -49,13 +52,13 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
49
52
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
50
53
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
51
54
|
function BlockletActions(_ref) {
|
|
52
|
-
var _blocklet$controller;
|
|
53
55
|
let {
|
|
54
56
|
blocklet,
|
|
55
57
|
onStart,
|
|
56
58
|
onComplete,
|
|
57
59
|
variant,
|
|
58
60
|
hasPermission,
|
|
61
|
+
getComponentUrl,
|
|
59
62
|
useBlockletUrlEvaluation
|
|
60
63
|
} = _ref,
|
|
61
64
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -74,16 +77,45 @@ function BlockletActions(_ref) {
|
|
|
74
77
|
recommendedUrl
|
|
75
78
|
} = useBlockletUrlEvaluation(blocklet);
|
|
76
79
|
const inProgress = (0, _util.isInProgress)(blocklet.status);
|
|
77
|
-
const disableStart = (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
const [disableStart, setDisableStart] = (0, _react.useState)(false);
|
|
81
|
+
(0, _react.useEffect)(() => {
|
|
82
|
+
var _blocklet$controller;
|
|
83
|
+
if (!(blocklet !== null && blocklet !== void 0 && blocklet.controller)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
setDisableStart((blocklet === null || blocklet === void 0 || (_blocklet$controller = blocklet.controller) === null || _blocklet$controller === void 0 || (_blocklet$controller = _blocklet$controller.status) === null || _blocklet$controller === void 0 ? void 0 : _blocklet$controller.value) === _constant2.BLOCKLET_CONTROLLER_STATUS.suspended);
|
|
87
|
+
const func = async () => {
|
|
88
|
+
try {
|
|
89
|
+
var _blocklet$controller2, _blocklet$controller3, _data$launcherSession;
|
|
90
|
+
const data = await node.api.getLauncherSession({
|
|
91
|
+
input: {
|
|
92
|
+
launcherSessionId: blocklet === null || blocklet === void 0 || (_blocklet$controller2 = blocklet.controller) === null || _blocklet$controller2 === void 0 ? void 0 : _blocklet$controller2.launcherSessionId,
|
|
93
|
+
launcherUrl: blocklet === null || blocklet === void 0 || (_blocklet$controller3 = blocklet.controller) === null || _blocklet$controller3 === void 0 ? void 0 : _blocklet$controller3.launcherUrl
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
if (data !== null && data !== void 0 && data.error) {
|
|
97
|
+
console.error('get launcher session failed', data.error);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
setDisableStart([_constant.LAUNCH_SESSION_STATUS.expired, _constant.LAUNCH_SESSION_STATUS.terminated].includes(data === null || data === void 0 || (_data$launcherSession = data.launcherSession) === null || _data$launcherSession === void 0 ? void 0 : _data$launcherSession.status));
|
|
101
|
+
} catch (error) {
|
|
102
|
+
console.error('call getLauncherSession error', error);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
func();
|
|
106
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
107
|
+
}, []);
|
|
84
108
|
const {
|
|
85
109
|
inService
|
|
86
110
|
} = node;
|
|
111
|
+
const handleOpenDashboard = () => {
|
|
112
|
+
const mountPoint = "/".concat(blocklet.mountPoint || '/').replace(/\/+/g, '/');
|
|
113
|
+
const href = getComponentUrl === null || getComponentUrl === void 0 ? void 0 : getComponentUrl({
|
|
114
|
+
mountPoint,
|
|
115
|
+
blocklet
|
|
116
|
+
});
|
|
117
|
+
window.open((0, _joinUrlKeepSearch.default)(href, '.well-known/service/admin'));
|
|
118
|
+
};
|
|
87
119
|
const createHandler = function createHandler(action, fn) {
|
|
88
120
|
let requireUserConfirm = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
89
121
|
return async () => {
|
|
@@ -104,7 +136,7 @@ function BlockletActions(_ref) {
|
|
|
104
136
|
_Toast.default.error(t('blocklet.noComponent'));
|
|
105
137
|
return;
|
|
106
138
|
}
|
|
107
|
-
if (!inService && !skipSetup && !((_blocklet$settings = blocklet.settings) !== null && _blocklet$settings !== void 0 && _blocklet$settings.initialized) && blocklet.mode !==
|
|
139
|
+
if (!inService && !skipSetup && !((_blocklet$settings = blocklet.settings) !== null && _blocklet$settings !== void 0 && _blocklet$settings.initialized) && blocklet.mode !== _constant2.BLOCKLET_MODES.DEVELOPMENT) {
|
|
108
140
|
// 跳转到 setup 流程界面时携带 serverUrl 查询参数
|
|
109
141
|
const serverUrl = (0, _util3.getServerUrl)(node.info);
|
|
110
142
|
const url = new URL(recommendedUrl);
|
|
@@ -173,7 +205,7 @@ function BlockletActions(_ref) {
|
|
|
173
205
|
setConfirmSetting(null);
|
|
174
206
|
};
|
|
175
207
|
const name = (0, _util.getDisplayName)(blocklet, true);
|
|
176
|
-
const removeSetting = blocklet.mode ===
|
|
208
|
+
const removeSetting = blocklet.mode === _constant2.BLOCKLET_MODES.DEVELOPMENT ? {
|
|
177
209
|
description: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
178
210
|
component: "div",
|
|
179
211
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
@@ -353,17 +385,27 @@ function BlockletActions(_ref) {
|
|
|
353
385
|
name: t('common.restart'),
|
|
354
386
|
handler: createHandler('restart', node.api.restartBlocklet, true),
|
|
355
387
|
disabled: disableStart || blocklet.status !== 'running'
|
|
356
|
-
},
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
388
|
+
}, (0, _util2.isDownloading)(blocklet.status) ? cancelDownloadAction : removeAction, {
|
|
389
|
+
separator: true
|
|
390
|
+
}, !inService ? {
|
|
391
|
+
action: 'dashboard',
|
|
392
|
+
icon: _ref4 => {
|
|
393
|
+
let {
|
|
394
|
+
style
|
|
395
|
+
} = _ref4,
|
|
396
|
+
restProps = _objectWithoutProperties(_ref4, _excluded3);
|
|
397
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.default.Dashboard, _objectSpread(_objectSpread({}, restProps), {}, {
|
|
398
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
399
|
+
width: '26px',
|
|
400
|
+
height: '26px',
|
|
401
|
+
paddingRight: '3px'
|
|
402
|
+
})
|
|
403
|
+
}));
|
|
404
|
+
},
|
|
405
|
+
name: t('sidebar.dashboard'),
|
|
406
|
+
handler: handleOpenDashboard,
|
|
407
|
+
disabled: disableStart || blocklet.status !== 'running'
|
|
408
|
+
} : null, {
|
|
367
409
|
separator: true
|
|
368
410
|
}, {
|
|
369
411
|
onlyInMenu: true,
|
|
@@ -491,6 +533,7 @@ function BlockletActions(_ref) {
|
|
|
491
533
|
}));
|
|
492
534
|
}
|
|
493
535
|
BlockletActions.propTypes = {
|
|
536
|
+
getComponentUrl: _propTypes.default.func,
|
|
494
537
|
blocklet: _propTypes.default.object.isRequired,
|
|
495
538
|
onStart: _propTypes.default.func.isRequired,
|
|
496
539
|
onComplete: _propTypes.default.func.isRequired,
|
|
@@ -499,6 +542,7 @@ BlockletActions.propTypes = {
|
|
|
499
542
|
useBlockletUrlEvaluation: _propTypes.default.func
|
|
500
543
|
};
|
|
501
544
|
BlockletActions.defaultProps = {
|
|
545
|
+
getComponentUrl: null,
|
|
502
546
|
variant: 'menu',
|
|
503
547
|
hasPermission: false,
|
|
504
548
|
useBlockletUrlEvaluation: () => {
|
|
@@ -4,47 +4,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = AddComponentCore;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
var _reactRouterDom = require("react-router-dom");
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var _pageHeader = _interopRequireDefault(require("@blocklet/launcher-layout/lib/page-header"));
|
|
15
|
-
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
16
|
-
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
17
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
18
|
-
var _Link = _interopRequireDefault(require("@mui/icons-material/Link"));
|
|
19
|
-
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
20
|
-
var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery"));
|
|
21
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
+
var _serverless = require("@abtnode/util/lib/serverless");
|
|
11
|
+
var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
|
|
12
|
+
var _AnimationWaiter = _interopRequireDefault(require("@arcblock/ux/lib/AnimationWaiter"));
|
|
13
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
22
14
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
23
15
|
var _constant = require("@blocklet/constant");
|
|
24
16
|
var _launcherLayout = _interopRequireDefault(require("@blocklet/launcher-layout"));
|
|
25
17
|
var _step = require("@blocklet/launcher-layout/lib/context/step");
|
|
26
|
-
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
27
|
-
var _constant2 = require("@abtnode/constant");
|
|
28
|
-
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
29
|
-
var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
|
|
30
|
-
var _AnimationWaiter = _interopRequireDefault(require("@arcblock/ux/lib/AnimationWaiter"));
|
|
31
18
|
var _launchResultMessage = _interopRequireDefault(require("@blocklet/launcher-layout/lib/launch-result-message"));
|
|
32
|
-
var
|
|
19
|
+
var _pageHeader = _interopRequireDefault(require("@blocklet/launcher-layout/lib/page-header"));
|
|
20
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
21
|
+
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
22
|
+
var _Link = _interopRequireDefault(require("@mui/icons-material/Link"));
|
|
23
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
24
|
+
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
25
|
+
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
26
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
27
|
+
var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery"));
|
|
28
|
+
var _flatten = _interopRequireDefault(require("lodash/flatten"));
|
|
29
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
30
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
31
|
+
var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
|
|
33
32
|
var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
|
|
33
|
+
var _util = require("@blocklet/meta/lib/util");
|
|
34
34
|
var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
35
|
-
var _node = require("../../contexts/node");
|
|
36
35
|
var _blocklet = require("../../contexts/blocklet");
|
|
37
|
-
var
|
|
38
|
-
var
|
|
36
|
+
var _configSpace = require("../../contexts/config-space");
|
|
37
|
+
var _node = require("../../contexts/node");
|
|
39
38
|
var _required = _interopRequireDefault(require("../../form/required"));
|
|
40
|
-
var
|
|
41
|
-
var
|
|
39
|
+
var _schemaForm = _interopRequireDefault(require("../../schema-form"));
|
|
40
|
+
var _util2 = require("../../util");
|
|
42
41
|
var _agreement = _interopRequireDefault(require("../agreement"));
|
|
43
42
|
var _installFromUrl = _interopRequireDefault(require("../install-from-url"));
|
|
43
|
+
var _purchase = require("../purchase");
|
|
44
|
+
var _util3 = require("../router/util");
|
|
45
|
+
var _didSpace = _interopRequireDefault(require("./did-space"));
|
|
44
46
|
var _selectStore = _interopRequireDefault(require("./select-store"));
|
|
45
47
|
var _storeBlockletList = _interopRequireDefault(require("./store-blocklet-list"));
|
|
46
|
-
var _didSpace = _interopRequireDefault(require("./did-space"));
|
|
47
|
-
var _configSpace = require("../../contexts/config-space");
|
|
48
48
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
49
49
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
50
50
|
const _excluded = ["name", "validation"],
|
|
@@ -232,7 +232,6 @@ function AddComponentCore(_ref3) {
|
|
|
232
232
|
const {
|
|
233
233
|
meta
|
|
234
234
|
} = component.current;
|
|
235
|
-
const isServerlessMode = nodeInfo.mode === _constant2.NODE_MODES.SERVERLESS;
|
|
236
235
|
const updateParams = obj => setParams(x => _objectSpread(_objectSpread({}, x), obj));
|
|
237
236
|
(0, _react.useEffect)(() => {
|
|
238
237
|
if (params.pathPrefix) {
|
|
@@ -738,7 +737,7 @@ function AddComponentCore(_ref3) {
|
|
|
738
737
|
}
|
|
739
738
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_selectStore.default, {
|
|
740
739
|
stores: stores,
|
|
741
|
-
extra: !
|
|
740
|
+
extra: !(0, _serverless.isInServerlessMode)(nodeInfo) ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
742
741
|
variant: "text",
|
|
743
742
|
color: "primary",
|
|
744
743
|
"data-cy": "add-component-from-url",
|
|
@@ -4,20 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = SelectStore;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
12
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
13
|
-
var _constant = require("@abtnode/constant");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _serverless = require("@abtnode/util/lib/serverless");
|
|
14
10
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
11
|
+
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
12
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
15
13
|
var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
|
|
14
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
15
|
+
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
16
16
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
17
|
-
var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
|
|
18
17
|
var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
|
|
19
|
-
var
|
|
18
|
+
var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
|
|
20
19
|
var _blocklet = require("../../contexts/blocklet");
|
|
20
|
+
var _node = require("../../contexts/node");
|
|
21
21
|
var _add = _interopRequireDefault(require("../../store/add"));
|
|
22
22
|
var _item = _interopRequireDefault(require("../../store/item"));
|
|
23
23
|
var _util = require("../../util");
|
|
@@ -66,7 +66,6 @@ function SelectStore(_ref) {
|
|
|
66
66
|
protected: true
|
|
67
67
|
})), ...appStoreList], 'url');
|
|
68
68
|
const currentRegistry = storeUrl && storeList.find(x => storeUrl === x.url) || storeList[0];
|
|
69
|
-
const isServerlessMode = nodeInfo.mode === _constant.NODE_MODES.SERVERLESS;
|
|
70
69
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
71
70
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
|
|
72
71
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
@@ -141,7 +140,7 @@ function SelectStore(_ref) {
|
|
|
141
140
|
}
|
|
142
141
|
})
|
|
143
142
|
}, x.url);
|
|
144
|
-
}), !
|
|
143
|
+
}), !(0, _serverless.isInServerlessMode)(nodeInfo) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
|
|
145
144
|
disabled: loading,
|
|
146
145
|
storeList: storeList,
|
|
147
146
|
teamDid: teamDid,
|
package/lib/blocklet/icons.js
CHANGED
|
@@ -13,6 +13,7 @@ var _Settings = _interopRequireDefault(require("@mui/icons-material/Settings"));
|
|
|
13
13
|
var _Receipt = _interopRequireDefault(require("@mui/icons-material/Receipt"));
|
|
14
14
|
var _Group = _interopRequireDefault(require("@mui/icons-material/Group"));
|
|
15
15
|
var _NotInterested = _interopRequireDefault(require("@mui/icons-material/NotInterested"));
|
|
16
|
+
var _Dashboard = _interopRequireDefault(require("@arcblock/icons/lib/Dashboard"));
|
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
18
|
var _default = exports.default = {
|
|
18
19
|
Start: _PlayArrow.default,
|
|
@@ -23,5 +24,6 @@ var _default = exports.default = {
|
|
|
23
24
|
Config: _Settings.default,
|
|
24
25
|
Log: _Receipt.default,
|
|
25
26
|
Group: _Group.default,
|
|
26
|
-
Cancel: _NotInterested.default
|
|
27
|
+
Cancel: _NotInterested.default,
|
|
28
|
+
Dashboard: _Dashboard.default
|
|
27
29
|
};
|
|
@@ -19,7 +19,8 @@ function ConnectStoreList(_ref) {
|
|
|
19
19
|
projectId,
|
|
20
20
|
releaseType,
|
|
21
21
|
publishedStoreIds,
|
|
22
|
-
onPublish
|
|
22
|
+
onPublish,
|
|
23
|
+
onDelete
|
|
23
24
|
} = _ref;
|
|
24
25
|
const storeList = (blocklet === null || blocklet === void 0 || (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.storeList) || [];
|
|
25
26
|
const connectedMap = (0, _react.useMemo)(() => {
|
|
@@ -47,13 +48,14 @@ function ConnectStoreList(_ref) {
|
|
|
47
48
|
store: x,
|
|
48
49
|
published: (publishedStoreIds === null || publishedStoreIds === void 0 ? void 0 : publishedStoreIds.indexOf(x.id)) > -1,
|
|
49
50
|
connected: !!connectedMap[x.url],
|
|
50
|
-
onPublish: onPublish
|
|
51
|
+
onPublish: onPublish,
|
|
52
|
+
onDelete: onDelete
|
|
51
53
|
})
|
|
52
54
|
})
|
|
53
55
|
}, x.url)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
|
|
54
56
|
onAdd: handleAddStore,
|
|
55
57
|
teamDid: did,
|
|
56
|
-
|
|
58
|
+
storeList: storeList
|
|
57
59
|
})]
|
|
58
60
|
});
|
|
59
61
|
}
|
|
@@ -63,10 +65,12 @@ ConnectStoreList.propTypes = {
|
|
|
63
65
|
releaseId: _propTypes.default.string.isRequired,
|
|
64
66
|
releaseType: _propTypes.default.string.isRequired,
|
|
65
67
|
onPublish: _propTypes.default.func,
|
|
68
|
+
onDelete: _propTypes.default.func,
|
|
66
69
|
publishedStoreIds: _propTypes.default.arrayOf(_propTypes.default.string)
|
|
67
70
|
};
|
|
68
71
|
ConnectStoreList.defaultProps = {
|
|
69
72
|
publishedStoreIds: [],
|
|
70
|
-
onPublish: () => {}
|
|
73
|
+
onPublish: () => {},
|
|
74
|
+
onDelete: () => {}
|
|
71
75
|
};
|
|
72
76
|
var _default = exports.default = ConnectStoreList;
|
|
@@ -21,7 +21,9 @@ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
|
21
21
|
var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
22
22
|
var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
|
|
23
23
|
var _RelativeTime = _interopRequireDefault(require("@arcblock/ux/lib/RelativeTime"));
|
|
24
|
+
var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
|
|
24
25
|
var _material = require("@mui/material");
|
|
26
|
+
var _session = require("../../contexts/session");
|
|
25
27
|
var _blocklet = require("../../contexts/blocklet");
|
|
26
28
|
var _node = require("../../contexts/node");
|
|
27
29
|
var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
|
|
@@ -44,11 +46,15 @@ function ProjectList() {
|
|
|
44
46
|
const {
|
|
45
47
|
api
|
|
46
48
|
} = (0, _node.useNodeContext)();
|
|
49
|
+
const {
|
|
50
|
+
api: sessionApi
|
|
51
|
+
} = (0, _session.useSessionContext)();
|
|
47
52
|
const [loading, setLoading] = (0, _react.useState)(true);
|
|
48
53
|
const {
|
|
49
54
|
blocklet
|
|
50
55
|
} = (0, _blocklet.useBlockletContext)();
|
|
51
56
|
const [deleteConfirm, setDeleteConfirm] = (0, _react.useState)(null);
|
|
57
|
+
const [openDidConnect, setOpenDidConnect] = (0, _react.useState)(false);
|
|
52
58
|
const {
|
|
53
59
|
componentDid = ''
|
|
54
60
|
} = (0, _reactRouterDom.useParams)();
|
|
@@ -76,23 +82,27 @@ function ProjectList() {
|
|
|
76
82
|
const onDeleteProject = project => {
|
|
77
83
|
setDeleteConfirm(project);
|
|
78
84
|
};
|
|
79
|
-
const
|
|
85
|
+
const confirmDeleteProject = () => {
|
|
80
86
|
setLoading(false);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
_Toast.default.error(
|
|
95
|
-
|
|
87
|
+
setOpenDidConnect(true);
|
|
88
|
+
};
|
|
89
|
+
const handleDidConnectClose = () => {
|
|
90
|
+
setOpenDidConnect(false);
|
|
91
|
+
setDeleteConfirm(null);
|
|
92
|
+
};
|
|
93
|
+
const handleDidConnectDidError = err => {
|
|
94
|
+
_Toast.default.error(err.message);
|
|
95
|
+
setOpenDidConnect(false);
|
|
96
|
+
setDeleteConfirm(null);
|
|
97
|
+
};
|
|
98
|
+
const handleDidConnectDidSuccess = result => {
|
|
99
|
+
if (!(result !== null && result !== void 0 && result.deleted)) {
|
|
100
|
+
_Toast.default.error('Delete project failed');
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
getProjects();
|
|
104
|
+
setOpenDidConnect(false);
|
|
105
|
+
setDeleteConfirm(null);
|
|
96
106
|
};
|
|
97
107
|
(0, _react.useEffect)(() => {
|
|
98
108
|
getProjects();
|
|
@@ -277,6 +287,34 @@ function ProjectList() {
|
|
|
277
287
|
}
|
|
278
288
|
}
|
|
279
289
|
}].filter(Boolean);
|
|
290
|
+
const didConnect = openDidConnect ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
|
|
291
|
+
open: true,
|
|
292
|
+
popup: true,
|
|
293
|
+
onClose: handleDidConnectClose,
|
|
294
|
+
action: "check-has-project-id",
|
|
295
|
+
locale: locale,
|
|
296
|
+
checkFn: sessionApi.get,
|
|
297
|
+
saveConnect: false,
|
|
298
|
+
forceConnected: false,
|
|
299
|
+
checkTimeout: 5 * 60 * 1000,
|
|
300
|
+
onSuccess: handleDidConnectDidSuccess,
|
|
301
|
+
onError: handleDidConnectDidError,
|
|
302
|
+
extraParams: {
|
|
303
|
+
projectId: deleteConfirm.id,
|
|
304
|
+
did: blocklet.meta.did,
|
|
305
|
+
name: deleteConfirm.blockletTitle
|
|
306
|
+
},
|
|
307
|
+
messages: {
|
|
308
|
+
title: t('blocklet.publish.deleteProject.title', {
|
|
309
|
+
name: deleteConfirm.blockletTitle
|
|
310
|
+
}),
|
|
311
|
+
scan: t('blocklet.publish.deleteProject.scan', {
|
|
312
|
+
name: deleteConfirm.blockletTitle
|
|
313
|
+
}),
|
|
314
|
+
confirm: t('blocklet.publish.deleteProject.confirm'),
|
|
315
|
+
success: t('blocklet.publish.deleteProject.success')
|
|
316
|
+
}
|
|
317
|
+
}) : null;
|
|
280
318
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Main, {
|
|
281
319
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
282
320
|
display: "flex",
|
|
@@ -332,9 +370,9 @@ function ProjectList() {
|
|
|
332
370
|
title: "".concat(t('common.delete'), " ").concat(deleteConfirm.blockletTitle),
|
|
333
371
|
description: t('blocklet.publish.deleteBlockletTip'),
|
|
334
372
|
confirm: t('common.confirm'),
|
|
335
|
-
onConfirm:
|
|
373
|
+
onConfirm: confirmDeleteProject,
|
|
336
374
|
onCancel: () => setDeleteConfirm(null)
|
|
337
|
-
})]
|
|
375
|
+
}), didConnect]
|
|
338
376
|
});
|
|
339
377
|
}
|
|
340
378
|
ProjectList.propTypes = {};
|
|
@@ -244,7 +244,6 @@ function ReleaseList() {
|
|
|
244
244
|
installUrl = url.href;
|
|
245
245
|
downloadUrl = (0, _urlJoin.default)("".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/project/").concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/download/").concat((project.lastReleaseFiles || [])[0]));
|
|
246
246
|
}
|
|
247
|
-
console.error('--debug--', release);
|
|
248
247
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
249
248
|
display: "flex",
|
|
250
249
|
alignItems: "center",
|
package/lib/locales/ar.js
CHANGED
|
@@ -359,7 +359,9 @@ var _default = exports.default = {
|
|
|
359
359
|
uploaded: 'تم التحميل',
|
|
360
360
|
uploadToStore: 'تحميل إلى المتجر',
|
|
361
361
|
upload: 'تحميل',
|
|
362
|
-
blockletStudio: 'استوديو بلوكليت'
|
|
362
|
+
blockletStudio: 'استوديو بلوكليت',
|
|
363
|
+
visitStore: 'زيارة المتجر',
|
|
364
|
+
reconnect: 'إعادة الاتصال'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'خارجي',
|
|
@@ -706,7 +708,14 @@ var _default = exports.default = {
|
|
|
706
708
|
publishToStoreSuccess: 'تم نشر بلوكليت بنجاح في المتجر',
|
|
707
709
|
connectStoreSuccess: 'تم الاتصال بمتجر البلوكليت بنجاح',
|
|
708
710
|
uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر',
|
|
709
|
-
viewLastRelease: 'عرض آخر إصدار'
|
|
711
|
+
viewLastRelease: 'عرض آخر إصدار',
|
|
712
|
+
reconnectStoreTip: 'بعد إعادة الاتصال، سيتم ربط مطور جديد. هل أنت متأكد أنك تريد إعادة الاتصال؟',
|
|
713
|
+
deleteProject: {
|
|
714
|
+
title: 'احذف {name}',
|
|
715
|
+
scan: 'امسح رمز الاستجابة السريعة أدناه لحذف {name}',
|
|
716
|
+
confirm: 'يرجى تأكيد استخدام محفظة الهوية اللامركزية',
|
|
717
|
+
success: 'تم حذف مشروع Blocklet ، يرجى متابعة العملية الخاصة بك.'
|
|
718
|
+
}
|
|
710
719
|
},
|
|
711
720
|
titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
|
|
712
721
|
descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
|
package/lib/locales/de.js
CHANGED
|
@@ -359,7 +359,9 @@ var _default = exports.default = {
|
|
|
359
359
|
uploaded: 'Hochgeladen',
|
|
360
360
|
uploadToStore: 'Upload in den Shop',
|
|
361
361
|
upload: 'Hochladen',
|
|
362
|
-
blockletStudio: 'Blocklet Studio'
|
|
362
|
+
blockletStudio: 'Blocklet Studio',
|
|
363
|
+
visitStore: 'Besuche den Laden',
|
|
364
|
+
reconnect: 'Verbinden wiederherstellen'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'Extern',
|
|
@@ -669,7 +671,7 @@ var _default = exports.default = {
|
|
|
669
671
|
createBlocklet: 'Neuer Blocklet',
|
|
670
672
|
deleteBlockletTip: 'Der Blocklet kann nach dem Löschen nicht wiederhergestellt werden, bitte bestätigen',
|
|
671
673
|
componentNotRunning: 'Komponente {name} läuft nicht, starten Sie sie bitte zuerst',
|
|
672
|
-
releaseEmptyTip: '
|
|
674
|
+
releaseEmptyTip: 'Es gibt hier keine Veröffentlichungen',
|
|
673
675
|
createReleaseTip: 'Du kannst eine Veröffentlichung des Blocklets erstellen, zusammen mit Versionshinweisen und Ressourcen, die andere Personen nutzen können.',
|
|
674
676
|
createRelease: 'Neue Veröffentlichung',
|
|
675
677
|
deleteReleaseTip: 'Die Veröffentlichung kann nach Löschung nicht wiederhergestellt werden',
|
|
@@ -706,7 +708,14 @@ var _default = exports.default = {
|
|
|
706
708
|
publishToStoreSuccess: 'Blocklet erfolgreich im Store veröffentlicht',
|
|
707
709
|
connectStoreSuccess: 'Blocklet Store erfolgreich verbunden',
|
|
708
710
|
uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen',
|
|
709
|
-
viewLastRelease: 'Letzte Version anzeigen'
|
|
711
|
+
viewLastRelease: 'Letzte Version anzeigen',
|
|
712
|
+
reconnectStoreTip: 'Nach dem erneuten Verbinden wird ein neuer Entwickler zugewiesen. Bist du sicher, dass du dich erneut verbinden möchtest?',
|
|
713
|
+
deleteProject: {
|
|
714
|
+
title: 'Lösche {name}',
|
|
715
|
+
scan: 'Scanne den QR-Code unten, um {name} zu löschen',
|
|
716
|
+
confirm: 'Bitte bestätigen Sie die Verwendung der DID-Brieftasche',
|
|
717
|
+
success: 'Das Blocklet-Projekt wurde gelöscht, bitte fahren Sie mit Ihrer Operation fort.'
|
|
718
|
+
}
|
|
710
719
|
},
|
|
711
720
|
titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
|
|
712
721
|
descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
|
package/lib/locales/en.js
CHANGED
|
@@ -248,6 +248,7 @@ var _default = exports.default = {
|
|
|
248
248
|
noticeTitle: 'Notice',
|
|
249
249
|
notification: 'Notification',
|
|
250
250
|
open: 'Open',
|
|
251
|
+
visitStore: 'Visit Store',
|
|
251
252
|
management: 'Management',
|
|
252
253
|
os: 'Operating System',
|
|
253
254
|
overview: 'Overview',
|
|
@@ -262,6 +263,7 @@ var _default = exports.default = {
|
|
|
262
263
|
protected: 'Protected',
|
|
263
264
|
protocol: 'Protocol',
|
|
264
265
|
purchase: 'Purchase',
|
|
266
|
+
reconnect: 'Reconnect',
|
|
265
267
|
readMore: 'More',
|
|
266
268
|
redirect: 'Redirect',
|
|
267
269
|
redirectCode: 'Redirect Code',
|
|
@@ -664,9 +666,10 @@ var _default = exports.default = {
|
|
|
664
666
|
blockletEmptyTip: 'There aren’t any blocklets here',
|
|
665
667
|
createBlockletTip: 'You can create new blocklet through existing resources, components, and configuration in this application',
|
|
666
668
|
createBlocklet: 'New blocklet',
|
|
667
|
-
deleteBlockletTip:
|
|
669
|
+
deleteBlockletTip: "The blocklet cannot be recovered after deletion, You also can't republish a new version of the app in question, please confirm",
|
|
670
|
+
reconnectStoreTip: 'After reconnecting, a new developer will be bound. Are you sure you want to reconnect?',
|
|
668
671
|
componentNotRunning: 'Component {name} is not running, please start it first',
|
|
669
|
-
releaseEmptyTip:
|
|
672
|
+
releaseEmptyTip: "There aren't any releases here",
|
|
670
673
|
viewLastRelease: 'View last release',
|
|
671
674
|
createReleaseTip: 'You can create a release of the blocklet, along with release notes and resources, for other people to use',
|
|
672
675
|
createRelease: 'New release',
|
|
@@ -688,6 +691,12 @@ var _default = exports.default = {
|
|
|
688
691
|
confirm: 'Confirm using DID Wallet',
|
|
689
692
|
success: 'Blocklet DID has been generated, please continue your operation'
|
|
690
693
|
},
|
|
694
|
+
deleteProject: {
|
|
695
|
+
title: 'Delete {name}',
|
|
696
|
+
scan: 'Scan the QR code below to delete {name}',
|
|
697
|
+
confirm: 'Confirm using DID Wallet',
|
|
698
|
+
success: 'Blocklet project has been deleted, please continue your operation'
|
|
699
|
+
},
|
|
691
700
|
saveDraft: 'Save Draft',
|
|
692
701
|
releaseNote: 'Release Note',
|
|
693
702
|
errorTip: {
|