@abtnode/ux 1.16.19-beta-710018ca → 1.16.19-beta-ba354e01
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/component/add-component-core.js +49 -36
- package/es/blocklet/component/button.js +12 -0
- package/es/blocklet/component/did-space/connect-to.js +355 -0
- package/es/blocklet/component/did-space/connected.js +42 -0
- package/es/blocklet/component/did-space/delete.js +104 -0
- package/es/blocklet/component/did-space/disconnect.js +230 -0
- package/es/blocklet/component/did-space/index.js +73 -0
- package/es/blocklet/component/did-space/item.js +233 -0
- package/es/blocklet/component/index.js +3 -3
- package/es/blocklet/component/step-actions.js +99 -0
- package/es/blocklet/publish/create-project.js +1 -1
- package/es/blocklet/publish/create-release.js +39 -20
- package/es/blocklet/publish/index.js +15 -2
- package/es/blocklet/publish/project-list.js +32 -1
- package/es/blocklet/publish/release-list.js +1 -0
- package/es/blocklet/publish/resource.js +2 -13
- package/es/blocklet/publish/tree.js +4 -0
- package/es/blocklet/resource-type.js +34 -0
- package/es/blocklet/storage/connect-to.js +11 -15
- package/es/contexts/config-space.js +160 -0
- package/es/hooks/use-mobile.js +17 -0
- package/es/hooks/use-storage-endpoint.js +23 -0
- package/es/images.js +48 -0
- package/es/locales/en.js +5 -0
- package/es/locales/zh.js +5 -0
- package/es/util/constants.js +2 -1
- package/es/util/index.js +5 -1
- package/es/util/spaces.js +66 -5
- package/lib/blocklet/component/add-component-core.js +59 -45
- package/lib/blocklet/component/button.js +23 -0
- package/lib/blocklet/component/did-space/connect-to.js +362 -0
- package/lib/blocklet/component/did-space/connected.js +49 -0
- package/lib/blocklet/component/did-space/delete.js +111 -0
- package/lib/blocklet/component/did-space/disconnect.js +241 -0
- package/lib/blocklet/component/did-space/index.js +82 -0
- package/lib/blocklet/component/did-space/item.js +197 -0
- package/lib/blocklet/component/index.js +3 -3
- package/lib/blocklet/component/step-actions.js +63 -0
- package/lib/blocklet/publish/create-project.js +1 -1
- package/lib/blocklet/publish/create-release.js +39 -19
- package/lib/blocklet/publish/index.js +18 -4
- package/lib/blocklet/publish/project-list.js +32 -1
- package/lib/blocklet/publish/release-list.js +1 -0
- package/lib/blocklet/publish/resource.js +1 -12
- package/lib/blocklet/publish/tree.js +45 -38
- package/lib/blocklet/resource-type.js +51 -0
- package/lib/blocklet/storage/connect-to.js +11 -15
- package/lib/contexts/config-space.js +169 -0
- package/lib/hooks/use-mobile.js +24 -0
- package/lib/hooks/use-storage-endpoint.js +28 -0
- package/lib/images.js +51 -0
- package/lib/locales/en.js +5 -0
- package/lib/locales/zh.js +5 -0
- package/lib/util/constants.js +4 -2
- package/lib/util/index.js +8 -2
- package/lib/util/spaces.js +69 -3
- package/package.json +11 -7
|
@@ -66,7 +66,7 @@ function CreateProject(_ref) {
|
|
|
66
66
|
const [blockletDid, setBlockletDid] = (0, _react.useState)();
|
|
67
67
|
const [openConnect, setOpenConnect] = (0, _react.useState)(false);
|
|
68
68
|
const {
|
|
69
|
-
componentDid
|
|
69
|
+
componentDid = ''
|
|
70
70
|
} = (0, _reactRouterDom.useParams)();
|
|
71
71
|
const handleCreateBlockletDidError = err => {
|
|
72
72
|
_Toast.default.error(err.message);
|
|
@@ -19,6 +19,7 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
|
19
19
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
20
20
|
var _DeleteOutline = _interopRequireDefault(require("@mui/icons-material/DeleteOutline"));
|
|
21
21
|
var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
|
|
22
|
+
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
22
23
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
23
24
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
24
25
|
var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
@@ -136,6 +137,7 @@ function CreateRelease(_ref2) {
|
|
|
136
137
|
const [params, setParams] = (0, _useSetState.default)(null);
|
|
137
138
|
const [paramsErrTip, setParamsErrTip] = (0, _react.useState)({});
|
|
138
139
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
140
|
+
const [createLoading, setCreateLoading] = (0, _react.useState)(false);
|
|
139
141
|
const [release, setRelease] = (0, _react.useState)(null);
|
|
140
142
|
const {
|
|
141
143
|
api
|
|
@@ -193,7 +195,7 @@ function CreateRelease(_ref2) {
|
|
|
193
195
|
_Toast.default.error((0, _util.formatError)(err));
|
|
194
196
|
});
|
|
195
197
|
};
|
|
196
|
-
const getData = () => {
|
|
198
|
+
const getData = (0, _react.useCallback)(() => {
|
|
197
199
|
if (mode === 'edit') {
|
|
198
200
|
if (!releaseId) {
|
|
199
201
|
_Toast.default.error('Empty release id');
|
|
@@ -204,11 +206,11 @@ function CreateRelease(_ref2) {
|
|
|
204
206
|
if (mode === 'create') {
|
|
205
207
|
getProject();
|
|
206
208
|
}
|
|
207
|
-
|
|
209
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
210
|
+
}, [mode, releaseId]);
|
|
208
211
|
(0, _react.useEffect)(() => {
|
|
209
212
|
getData();
|
|
210
|
-
}, []);
|
|
211
|
-
|
|
213
|
+
}, [getData]);
|
|
212
214
|
const onRelease = status => {
|
|
213
215
|
const errors = validateParams(params, status, t);
|
|
214
216
|
if (errors) {
|
|
@@ -231,6 +233,8 @@ function CreateRelease(_ref2) {
|
|
|
231
233
|
_params.blockletDescription = (_params.blockletDescription || '').trim();
|
|
232
234
|
_params.blockletIntroduction = (_params.blockletIntroduction || '').trim();
|
|
233
235
|
_params.note = (_params.note || '').trim();
|
|
236
|
+
setCreateLoading(status);
|
|
237
|
+
setLoading(true);
|
|
234
238
|
api.createRelease({
|
|
235
239
|
input: _objectSpread(_objectSpread({}, _params), {}, {
|
|
236
240
|
did: blocklet.meta.did,
|
|
@@ -238,21 +242,26 @@ function CreateRelease(_ref2) {
|
|
|
238
242
|
releaseId,
|
|
239
243
|
status
|
|
240
244
|
})
|
|
241
|
-
}).then(
|
|
245
|
+
}).then(res => {
|
|
246
|
+
setCreateLoading(false);
|
|
247
|
+
setLoading(false);
|
|
242
248
|
if (status === 'draft') {
|
|
243
|
-
_Toast.default.success('
|
|
244
|
-
if (mode === 'create') {
|
|
245
|
-
navigate("../".concat(projectId), {
|
|
246
|
-
replace: true
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
+
_Toast.default.success(t('blocklet.publish.saveDraftSuccess'));
|
|
249
250
|
} else {
|
|
250
|
-
_Toast.default.success('
|
|
251
|
-
|
|
251
|
+
_Toast.default.success(t('blocklet.publish.createReleaseSuccess'));
|
|
252
|
+
}
|
|
253
|
+
if (mode === 'create') {
|
|
254
|
+
var _res$release;
|
|
255
|
+
const id = res === null || res === void 0 ? void 0 : (_res$release = res.release) === null || _res$release === void 0 ? void 0 : _res$release.id;
|
|
256
|
+
navigate("../".concat(projectId, "/").concat(id), {
|
|
252
257
|
replace: true
|
|
253
258
|
});
|
|
259
|
+
} else {
|
|
260
|
+
getRelease();
|
|
254
261
|
}
|
|
255
262
|
}).catch(err => {
|
|
263
|
+
setCreateLoading(false);
|
|
264
|
+
setLoading(false);
|
|
256
265
|
_Toast.default.error((0, _util.formatError)(err));
|
|
257
266
|
});
|
|
258
267
|
};
|
|
@@ -305,19 +314,30 @@ function CreateRelease(_ref2) {
|
|
|
305
314
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
306
315
|
display: "flex",
|
|
307
316
|
children: [!isPublished && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
308
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
317
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
309
318
|
variant: "outlined",
|
|
310
|
-
disabled: loading,
|
|
319
|
+
disabled: loading || createLoading,
|
|
311
320
|
onClick: () => onRelease(_constant.PROJECT.RELEASE_STATUS.draft),
|
|
312
321
|
style: {
|
|
313
322
|
marginRight: 12
|
|
314
323
|
},
|
|
315
|
-
children:
|
|
316
|
-
|
|
324
|
+
children: [createLoading === _constant.PROJECT.RELEASE_STATUS.draft && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
|
|
325
|
+
size: 14,
|
|
326
|
+
sx: {
|
|
327
|
+
mr: 0.5
|
|
328
|
+
}
|
|
329
|
+
}), t('blocklet.publish.saveDraft')]
|
|
330
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
317
331
|
variant: "contained",
|
|
318
|
-
disabled: loading,
|
|
332
|
+
disabled: loading || createLoading,
|
|
319
333
|
onClick: () => onRelease(_constant.PROJECT.RELEASE_STATUS.published),
|
|
320
|
-
children:
|
|
334
|
+
children: [createLoading === _constant.PROJECT.RELEASE_STATUS.published && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
|
|
335
|
+
size: 14,
|
|
336
|
+
sx: {
|
|
337
|
+
mr: 0.5
|
|
338
|
+
},
|
|
339
|
+
color: "inherit"
|
|
340
|
+
}), t('common.release')]
|
|
321
341
|
})]
|
|
322
342
|
}), isPublished && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
323
343
|
variant: "contained",
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = BlockletPublish;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
9
|
var _reactRouterDom = require("react-router-dom");
|
|
9
10
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
@@ -19,7 +20,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
19
20
|
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); }
|
|
20
21
|
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; }
|
|
21
22
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
22
|
-
function BlockletPublish() {
|
|
23
|
+
function BlockletPublish(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
padding
|
|
26
|
+
} = _ref;
|
|
23
27
|
const {
|
|
24
28
|
blocklet
|
|
25
29
|
} = (0, _blocklet.useBlockletContext)();
|
|
@@ -43,7 +47,12 @@ function BlockletPublish() {
|
|
|
43
47
|
if (!blocklet) {
|
|
44
48
|
return null;
|
|
45
49
|
}
|
|
50
|
+
const style = {};
|
|
51
|
+
if (padding) {
|
|
52
|
+
style.padding = padding;
|
|
53
|
+
}
|
|
46
54
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Main, {
|
|
55
|
+
style: style,
|
|
47
56
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouterDom.Routes, {
|
|
48
57
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
49
58
|
path: "/",
|
|
@@ -61,10 +70,15 @@ function BlockletPublish() {
|
|
|
61
70
|
})
|
|
62
71
|
});
|
|
63
72
|
}
|
|
64
|
-
BlockletPublish.propTypes = {
|
|
65
|
-
|
|
73
|
+
BlockletPublish.propTypes = {
|
|
74
|
+
padding: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
|
|
75
|
+
};
|
|
76
|
+
BlockletPublish.defaultProps = {
|
|
77
|
+
padding: ''
|
|
78
|
+
};
|
|
79
|
+
const Main = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n a {\n color: ", ";\n }\n"])), _ref2 => {
|
|
66
80
|
let {
|
|
67
81
|
theme
|
|
68
|
-
} =
|
|
82
|
+
} = _ref2;
|
|
69
83
|
return theme.palette.primary.main;
|
|
70
84
|
});
|
|
@@ -21,6 +21,7 @@ var _node = require("../../contexts/node");
|
|
|
21
21
|
var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
|
|
22
22
|
var _didAddress = _interopRequireDefault(require("../../did-address"));
|
|
23
23
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
24
|
+
var _bundleAvatar = _interopRequireDefault(require("../bundle-avatar"));
|
|
24
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
26
|
var _templateObject;
|
|
26
27
|
/* eslint-disable react/no-unstable-nested-components */
|
|
@@ -75,6 +76,7 @@ function ProjectList() {
|
|
|
75
76
|
setLoading(false);
|
|
76
77
|
getProjects();
|
|
77
78
|
_Toast.default.success(t('common.removeSuccess'));
|
|
79
|
+
setDeleteConfirm(null);
|
|
78
80
|
}).catch(err => {
|
|
79
81
|
setLoading(false);
|
|
80
82
|
_Toast.default.error(err.message);
|
|
@@ -154,6 +156,35 @@ function ProjectList() {
|
|
|
154
156
|
}) : '';
|
|
155
157
|
}
|
|
156
158
|
}
|
|
159
|
+
}, componentDid ? null : {
|
|
160
|
+
label: t('common.scope'),
|
|
161
|
+
name: 'componentDid',
|
|
162
|
+
options: {
|
|
163
|
+
customBodyRender: value => {
|
|
164
|
+
const component = (blocklet.children || []).find(x => x.meta.did === value);
|
|
165
|
+
if (!component) {
|
|
166
|
+
return '';
|
|
167
|
+
}
|
|
168
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
169
|
+
display: "flex",
|
|
170
|
+
alignItems: "center",
|
|
171
|
+
justifyContent: "flex-start",
|
|
172
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {
|
|
173
|
+
size: 14,
|
|
174
|
+
blocklet: component,
|
|
175
|
+
ancestors: [blocklet]
|
|
176
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
177
|
+
ml: 0.5,
|
|
178
|
+
sx: {
|
|
179
|
+
ml: 0.5,
|
|
180
|
+
color: 'text.primary',
|
|
181
|
+
fontSize: 14
|
|
182
|
+
},
|
|
183
|
+
children: component.meta.title
|
|
184
|
+
})]
|
|
185
|
+
}, value);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
157
188
|
}, {
|
|
158
189
|
label: t('common.updatedAt'),
|
|
159
190
|
name: 'updatedAt',
|
|
@@ -186,7 +217,7 @@ function ProjectList() {
|
|
|
186
217
|
});
|
|
187
218
|
}
|
|
188
219
|
}
|
|
189
|
-
}];
|
|
220
|
+
}].filter(Boolean);
|
|
190
221
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Main, {
|
|
191
222
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
192
223
|
sx: {
|
|
@@ -7,7 +7,6 @@ exports.default = Resource;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
-
var _difference = _interopRequireDefault(require("lodash/difference"));
|
|
11
10
|
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
12
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
13
12
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
@@ -32,12 +31,6 @@ const fillParent = (nodes, parentId) => {
|
|
|
32
31
|
});
|
|
33
32
|
return nodes;
|
|
34
33
|
};
|
|
35
|
-
const checkDiff = (a, b) => {
|
|
36
|
-
if (a.length !== b.length) {
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
return !!(0, _difference.default)(a, b || []).length;
|
|
40
|
-
};
|
|
41
34
|
function Resource(_ref) {
|
|
42
35
|
let {
|
|
43
36
|
app,
|
|
@@ -54,14 +47,12 @@ function Resource(_ref) {
|
|
|
54
47
|
} = (0, _node.useNodeContext)();
|
|
55
48
|
const [resources, setResources] = (0, _react.useState)([]);
|
|
56
49
|
const [selectedResourceIds, setSelectedResourceIds] = (0, _react.useState)([]);
|
|
57
|
-
const [savedResourceIds, setSavedResourceIds] = (0, _react.useState)([]);
|
|
58
50
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
59
51
|
const releaseId = release.id;
|
|
60
52
|
const readonly = release.status === 'published';
|
|
61
53
|
const {
|
|
62
54
|
resourceExportApi = '/'
|
|
63
55
|
} = (component === null || component === void 0 ? void 0 : component.meta.capabilities) || {};
|
|
64
|
-
const hasDiff = (0, _react.useMemo)(() => checkDiff(savedResourceIds, selectedResourceIds), [savedResourceIds, selectedResourceIds]);
|
|
65
56
|
const urlObj = new URL((0, _urlJoin.default)('http://127.0.0.1', component.mountPoint, resourceExportApi || '/').replace(/\/+/g, '/'));
|
|
66
57
|
urlObj.searchParams.set('projectId', projectId);
|
|
67
58
|
urlObj.searchParams.set('releaseId', releaseId);
|
|
@@ -78,7 +69,6 @@ function Resource(_ref) {
|
|
|
78
69
|
resources: data
|
|
79
70
|
}
|
|
80
71
|
});
|
|
81
|
-
setSavedResourceIds(data);
|
|
82
72
|
} catch (err) {
|
|
83
73
|
_Toast.default.error(err.message);
|
|
84
74
|
}
|
|
@@ -119,7 +109,6 @@ function Resource(_ref) {
|
|
|
119
109
|
}).then(res => {
|
|
120
110
|
const list = (res === null || res === void 0 ? void 0 : res.resources) || [];
|
|
121
111
|
setSelectedResourceIds(list);
|
|
122
|
-
setSavedResourceIds(list);
|
|
123
112
|
}).catch(err => {
|
|
124
113
|
_Toast.default.error(err.message);
|
|
125
114
|
});
|
|
@@ -148,7 +137,7 @@ function Resource(_ref) {
|
|
|
148
137
|
className: "footer",
|
|
149
138
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
150
139
|
variant: "contained",
|
|
151
|
-
disabled: loading
|
|
140
|
+
disabled: loading,
|
|
152
141
|
onClick: () => onSave(),
|
|
153
142
|
children: t('common.save')
|
|
154
143
|
})
|
|
@@ -17,6 +17,7 @@ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore
|
|
|
17
17
|
var _ChevronRight = _interopRequireDefault(require("@mui/icons-material/ChevronRight"));
|
|
18
18
|
var _OpenInNew = _interopRequireDefault(require("@mui/icons-material/OpenInNew"));
|
|
19
19
|
var _react = require("@iconify/react");
|
|
20
|
+
var _images = _interopRequireDefault(require("../../images"));
|
|
20
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
22
|
var _templateObject; // BFS algorithm to find node by his ID
|
|
22
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -126,45 +127,51 @@ function Tree(_ref2) {
|
|
|
126
127
|
var _node$children;
|
|
127
128
|
return ((_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0;
|
|
128
129
|
});
|
|
129
|
-
const renderTree = node =>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
className: "link
|
|
158
|
-
|
|
130
|
+
const renderTree = node => {
|
|
131
|
+
var _node$images;
|
|
132
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem.default, {
|
|
133
|
+
nodeId: node.id,
|
|
134
|
+
label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
|
|
135
|
+
onClick: stopExpand,
|
|
136
|
+
control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
|
|
137
|
+
size: "small",
|
|
138
|
+
checked: selectedNodes.indexOf(node.id) !== -1,
|
|
139
|
+
tabIndex: -1,
|
|
140
|
+
disableRipple: true,
|
|
141
|
+
onClick: event => handleNodeSelect(event, node.id),
|
|
142
|
+
disabled: disabled
|
|
143
|
+
}),
|
|
144
|
+
label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
145
|
+
className: "content",
|
|
146
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
147
|
+
display: "flex",
|
|
148
|
+
alignItems: "center",
|
|
149
|
+
children: [node.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(ResourceIcon, {
|
|
150
|
+
icon: node.icon
|
|
151
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
152
|
+
className: "name",
|
|
153
|
+
children: node.name
|
|
154
|
+
}), node.url && /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
155
|
+
href: node.url,
|
|
156
|
+
target: "_blank",
|
|
157
|
+
rel: "noreferrer",
|
|
158
|
+
className: "link",
|
|
159
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OpenInNew.default, {
|
|
160
|
+
className: "link-icon"
|
|
161
|
+
})
|
|
162
|
+
})]
|
|
163
|
+
}), !!node.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
164
|
+
className: "description",
|
|
165
|
+
children: node.description
|
|
166
|
+
}), !!((_node$images = node.images) !== null && _node$images !== void 0 && _node$images.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_images.default, {
|
|
167
|
+
className: "images",
|
|
168
|
+
data: node.images
|
|
159
169
|
})]
|
|
160
|
-
})
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}),
|
|
166
|
-
children: Array.isArray(node.children) ? node.children.map(renderTree) : null
|
|
167
|
-
}, node.id);
|
|
170
|
+
})
|
|
171
|
+
}),
|
|
172
|
+
children: Array.isArray(node.children) ? node.children.map(renderTree) : null
|
|
173
|
+
}, node.id);
|
|
174
|
+
};
|
|
168
175
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTreeView, {
|
|
169
176
|
className: (0, _classnames.default)(!hadChildren && 'no-children'),
|
|
170
177
|
multiSelect: true,
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = ResourceType;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _uniq = _interopRequireDefault(require("lodash/uniq"));
|
|
10
|
+
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
|
11
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
12
|
+
var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
const _excluded = ["blocklet"];
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
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; }
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
20
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
function ResourceType(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
blocklet
|
|
26
|
+
} = _ref,
|
|
27
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
28
|
+
const types = (0, _react.useMemo)(() => {
|
|
29
|
+
var _blocklet$meta;
|
|
30
|
+
return (0, _uniq.default)(((blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.resources) || []).map(x => (0, _upperFirst.default)(x.split('.').slice(-1)[0])).filter(Boolean));
|
|
31
|
+
}, [blocklet]);
|
|
32
|
+
const style = {
|
|
33
|
+
color: '#FFF',
|
|
34
|
+
backgroundColor: '#5B9BD5',
|
|
35
|
+
marginRight: '4px'
|
|
36
|
+
};
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, _objectSpread(_objectSpread({
|
|
38
|
+
display: "flex",
|
|
39
|
+
mr: "-4px"
|
|
40
|
+
}, rest), {}, {
|
|
41
|
+
children: types.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {
|
|
42
|
+
type: "custom",
|
|
43
|
+
style: style,
|
|
44
|
+
children: x
|
|
45
|
+
}, x))
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
ResourceType.propTypes = {
|
|
49
|
+
blocklet: _propTypes.default.object.isRequired
|
|
50
|
+
};
|
|
51
|
+
ResourceType.defaultProps = {};
|
|
@@ -148,18 +148,14 @@ function ConnectTo(_ref) {
|
|
|
148
148
|
* @returns {Promise<void>}
|
|
149
149
|
*/
|
|
150
150
|
const addSpaceGatewayNow = async _ref2 => {
|
|
151
|
-
var
|
|
151
|
+
var _spaceGateway$name;
|
|
152
152
|
let {
|
|
153
153
|
endpoint,
|
|
154
154
|
name,
|
|
155
155
|
did
|
|
156
156
|
} = _ref2;
|
|
157
|
-
|
|
158
|
-
if (!
|
|
159
|
-
// eslint-disable-next-line no-param-reassign
|
|
160
|
-
normalizeUrl = "https://".concat(normalizeUrl);
|
|
161
|
-
}
|
|
162
|
-
if (!(await (0, _spaces.isValidSpaceGatewayUrl)(normalizeUrl))) {
|
|
157
|
+
const spaceGatewayUrl = await (0, _spaces.getSpaceGatewayUrl)(endpoint);
|
|
158
|
+
if (!(await (0, _spaces.isValidSpaceGatewayUrl)(spaceGatewayUrl))) {
|
|
163
159
|
_Toast.default.error(t('storage.spaces.gateway.add.invalidUrl'));
|
|
164
160
|
return;
|
|
165
161
|
}
|
|
@@ -173,7 +169,7 @@ function ConnectTo(_ref) {
|
|
|
173
169
|
const spaceGateway = {
|
|
174
170
|
name,
|
|
175
171
|
did,
|
|
176
|
-
url:
|
|
172
|
+
url: spaceGatewayUrl,
|
|
177
173
|
endpoint
|
|
178
174
|
};
|
|
179
175
|
await addSpaceGateway(spaceGateway, endpoint);
|
|
@@ -198,18 +194,18 @@ function ConnectTo(_ref) {
|
|
|
198
194
|
const handleUseSpaceGatewayConnect = async () => {
|
|
199
195
|
try {
|
|
200
196
|
setLoading(true);
|
|
201
|
-
const
|
|
202
|
-
const
|
|
203
|
-
const spaceDid = new URL(
|
|
204
|
-
if (!(await (0, _spaces.isValidSpaceGatewayUrl)(
|
|
197
|
+
const spaceGatewayUrl = await (0, _spaces.getSpaceGatewayUrl)(url);
|
|
198
|
+
const didSpacesCoreUrl = (0, _spaces.extraDIDSpacesCoreUrl)(spaceGatewayUrl);
|
|
199
|
+
const spaceDid = new URL(spaceGatewayUrl).searchParams.get('spaceDid');
|
|
200
|
+
if (!(await (0, _spaces.isValidSpaceGatewayUrl)(didSpacesCoreUrl))) {
|
|
205
201
|
throw new Error(t('storage.spaces.gateway.add.invalidUrl'));
|
|
206
202
|
}
|
|
207
203
|
setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {
|
|
208
204
|
open: true,
|
|
209
|
-
prefix: (0, _urlJoin.default)(
|
|
210
|
-
baseUrl: new URL(
|
|
205
|
+
prefix: (0, _urlJoin.default)(didSpacesCoreUrl, 'space/api/did'),
|
|
206
|
+
baseUrl: new URL(didSpacesCoreUrl).origin,
|
|
211
207
|
checkFn: _api.axios.create({
|
|
212
|
-
baseURL: (0, _urlJoin.default)(
|
|
208
|
+
baseURL: (0, _urlJoin.default)(didSpacesCoreUrl, 'space')
|
|
213
209
|
}).get,
|
|
214
210
|
extraParams: {
|
|
215
211
|
appDid: blockletInfo.appDid,
|