@abtnode/ux 1.16.11-next-470e8c41 → 1.16.11
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/lib/blocklet/component/space-selector.js +1 -1
- package/lib/blocklet/configuration.js +28 -0
- package/lib/blocklet/storage/action.js +10 -6
- package/lib/blocklet/storage/backups.js +36 -46
- package/lib/blocklet/storage/connect-to.js +41 -30
- package/lib/blocklet/storage/connected.js +94 -25
- package/lib/blocklet/storage/item.js +33 -14
- package/lib/form/form-select-input.js +200 -0
- package/lib/form/form-text-input.js +5 -97
- package/lib/form/form-wrapper.js +1 -1
- package/lib/form/input-triggers.js +104 -0
- package/lib/locales/en.js +8 -1
- package/lib/locales/zh.js +3 -1
- package/lib/util/space-gateway.js +58 -0
- package/lib/util/spaces.js +52 -0
- package/package.json +16 -16
|
@@ -17,6 +17,9 @@ var _Address = _interopRequireDefault(require("@arcblock/ux/lib/Address"));
|
|
|
17
17
|
var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
|
|
18
18
|
var _ahooks = require("ahooks");
|
|
19
19
|
var _didMotif = require("@arcblock/did-motif");
|
|
20
|
+
var _lodash = require("lodash");
|
|
21
|
+
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
22
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
20
23
|
var _switchControl = _interopRequireDefault(require("../component/switch-control"));
|
|
21
24
|
var _action = _interopRequireDefault(require("./action"));
|
|
22
25
|
var _mode = require("../../util/mode");
|
|
@@ -26,10 +29,12 @@ var _blocklet = require("../../../lib/contexts/blocklet");
|
|
|
26
29
|
var _useBlockletInfoForConnectDidSpaces = _interopRequireDefault(require("../../hooks/use-blocklet-info-for-connect-did-spaces"));
|
|
27
30
|
var _spaces = require("../../util/spaces");
|
|
28
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
|
|
32
|
+
var _templateObject;
|
|
33
|
+
const _excluded = ["spaceGateway", "connected", "progress", "onDelete", "onBackupNow", "refreshSpaceGateways"];
|
|
30
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
35
|
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); }
|
|
32
36
|
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; }
|
|
37
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
33
38
|
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; }
|
|
34
39
|
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; }
|
|
35
40
|
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; }
|
|
@@ -108,6 +113,10 @@ SpaceDisconnected.defaultProps = {
|
|
|
108
113
|
* @param {{
|
|
109
114
|
* spaceGateway: import('./connected').SpaceGateway
|
|
110
115
|
* connected: boolean,
|
|
116
|
+
* progress: any,
|
|
117
|
+
* onDelete: (spaceGateway: import('./connected').SpaceGateway) => Promise<void>,
|
|
118
|
+
* onBackupNow: () => Promise<void>,
|
|
119
|
+
* refreshSpaceGateways: () => void
|
|
111
120
|
* }} { spaceGateway }
|
|
112
121
|
*/
|
|
113
122
|
function SpaceItem(_ref) {
|
|
@@ -116,7 +125,8 @@ function SpaceItem(_ref) {
|
|
|
116
125
|
connected,
|
|
117
126
|
progress,
|
|
118
127
|
onDelete,
|
|
119
|
-
onBackupNow
|
|
128
|
+
onBackupNow,
|
|
129
|
+
refreshSpaceGateways
|
|
120
130
|
} = _ref,
|
|
121
131
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
122
132
|
const {
|
|
@@ -126,10 +136,7 @@ function SpaceItem(_ref) {
|
|
|
126
136
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
127
137
|
/** @type {{ blocklet: import('@abtnode/client').BlockletState }} */
|
|
128
138
|
const {
|
|
129
|
-
blocklet
|
|
130
|
-
actions: {
|
|
131
|
-
refreshBlocklet
|
|
132
|
-
}
|
|
139
|
+
blocklet
|
|
133
140
|
} = (0, _blocklet.useBlockletContext)();
|
|
134
141
|
const {
|
|
135
142
|
api: nodeApi,
|
|
@@ -281,7 +288,7 @@ function SpaceItem(_ref) {
|
|
|
281
288
|
setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {
|
|
282
289
|
open: false
|
|
283
290
|
}));
|
|
284
|
-
|
|
291
|
+
refreshSpaceGateways();
|
|
285
292
|
};
|
|
286
293
|
const _onBackupNow = async () => {
|
|
287
294
|
try {
|
|
@@ -311,13 +318,17 @@ function SpaceItem(_ref) {
|
|
|
311
318
|
}
|
|
312
319
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
313
320
|
}, [progress]);
|
|
314
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
321
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BoxContainer, {
|
|
322
|
+
style: {
|
|
323
|
+
position: 'relative'
|
|
324
|
+
},
|
|
315
325
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, _objectSpread(_objectSpread({
|
|
316
326
|
sx: {
|
|
317
327
|
backgroundColor: connected ? '#F0FDFF' : 'inherit',
|
|
318
328
|
'&:hover': {
|
|
319
329
|
backgroundColor: connected ? '#F0FDFF' : '#FBFBFB'
|
|
320
|
-
}
|
|
330
|
+
},
|
|
331
|
+
borderRadius: '8px'
|
|
321
332
|
},
|
|
322
333
|
display: "flex",
|
|
323
334
|
padding: "12px 20px"
|
|
@@ -346,7 +357,7 @@ function SpaceItem(_ref) {
|
|
|
346
357
|
alignItems: "center",
|
|
347
358
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
|
|
348
359
|
color: connected ? 'primary' : 'inherit',
|
|
349
|
-
fontSize: "
|
|
360
|
+
fontSize: "1rem",
|
|
350
361
|
fontWeight: "bold",
|
|
351
362
|
children: spaceGateway.name
|
|
352
363
|
}), shouldDisplayConnected && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
|
|
@@ -394,8 +405,8 @@ function SpaceItem(_ref) {
|
|
|
394
405
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
|
|
395
406
|
fontSize: "14px",
|
|
396
407
|
color: (0, _didMotif.getDIDMotifInfo)(spaceGateway.did).color,
|
|
397
|
-
children: "DID:"
|
|
398
|
-
}),
|
|
408
|
+
children: "DID:ABT:"
|
|
409
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
|
|
399
410
|
style: {
|
|
400
411
|
display: 'inline-flex',
|
|
401
412
|
marginLeft: '8px'
|
|
@@ -507,7 +518,8 @@ function SpaceItem(_ref) {
|
|
|
507
518
|
spaceGateway: spaceGateway,
|
|
508
519
|
connected: connected,
|
|
509
520
|
onDelete: onDelete,
|
|
510
|
-
onConnect: onConnect
|
|
521
|
+
onConnect: onConnect,
|
|
522
|
+
enableSwitchToSpace: (progress === null || progress === void 0 ? void 0 : progress.completed) || (0, _lodash.isEmpty)(progress === null || progress === void 0 ? void 0 : progress.message)
|
|
511
523
|
})]
|
|
512
524
|
})]
|
|
513
525
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
|
|
@@ -525,7 +537,12 @@ function SpaceItem(_ref) {
|
|
|
525
537
|
extraParams: authorizeConnect.extraParams,
|
|
526
538
|
messages: authorizeConnect.messages,
|
|
527
539
|
locale: locale
|
|
528
|
-
}, "get-endpoint")
|
|
540
|
+
}, "get-endpoint"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
|
541
|
+
className: "selected-container ".concat(connected ? 'selected' : ''),
|
|
542
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Check.default, {
|
|
543
|
+
className: "selected-icon"
|
|
544
|
+
})
|
|
545
|
+
})]
|
|
529
546
|
});
|
|
530
547
|
}
|
|
531
548
|
SpaceItem.propTypes = {
|
|
@@ -538,6 +555,7 @@ SpaceItem.propTypes = {
|
|
|
538
555
|
}).isRequired,
|
|
539
556
|
connected: _propTypes.default.bool.isRequired,
|
|
540
557
|
progress: _propTypes.default.any.isRequired,
|
|
558
|
+
refreshSpaceGateways: _propTypes.default.func.isRequired,
|
|
541
559
|
onDelete: _propTypes.default.func,
|
|
542
560
|
onBackupNow: _propTypes.default.func
|
|
543
561
|
};
|
|
@@ -545,5 +563,6 @@ SpaceItem.defaultProps = {
|
|
|
545
563
|
onDelete: () => undefined,
|
|
546
564
|
onBackupNow: () => undefined
|
|
547
565
|
};
|
|
566
|
+
const BoxContainer = (0, _styled.default)(_material.Box)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .selected-container {\n position: absolute;\n right: 0px;\n bottom: 0px;\n display: flex;\n -webkit-box-pack: end;\n justify-content: flex-end;\n align-items: flex-end;\n width: 32px;\n height: 32px;\n border-radius: 0px 0px 8px;\n color: rgb(255, 255, 255);\n overflow: hidden;\n transition: all 0.4s ease 0s;\n\n &::after {\n position: absolute;\n z-index: 0;\n left: 60px;\n top: 60px;\n display: block;\n width: 0px;\n height: 0px;\n border-width: 16px;\n border-style: solid;\n border-color: transparent #1dc1c7 #1dc1c7 transparent;\n transition: all 0.1s ease 0s;\n content: '';\n }\n\n .selected-icon {\n visibility: hidden;\n width: 60%;\n height: 60%;\n position: relative;\n z-index: 2;\n margin: 0px 1px 1px 0px;\n font-size: 16px;\n transition: all 0.2s ease 0s;\n }\n }\n\n .selected-container.selected {\n &::after {\n left: 0px;\n top: 0px;\n }\n\n .selected-icon {\n visibility: visible;\n }\n }\n"])));
|
|
548
567
|
var _default = SpaceItem;
|
|
549
568
|
exports.default = _default;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FormSelectInput;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
|
+
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
11
|
+
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
12
|
+
var _Done = _interopRequireDefault(require("@mui/icons-material/Done"));
|
|
13
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
14
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
15
|
+
var _Select = _interopRequireDefault(require("@mui/material/Select"));
|
|
16
|
+
var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
17
|
+
var _styles = require("@mui/material/styles");
|
|
18
|
+
var _required = _interopRequireDefault(require("./required"));
|
|
19
|
+
var _formWrapper = _interopRequireDefault(require("./form-wrapper"));
|
|
20
|
+
var _inputTriggers = _interopRequireDefault(require("./input-triggers"));
|
|
21
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _excluded = ["label", "disabled", "required", "initialValue", "onChange", "style", "onSubmit", "triggers", "options", "formatterBeforeSubmit"];
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
+
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); }
|
|
25
|
+
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; }
|
|
26
|
+
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; }
|
|
27
|
+
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; }
|
|
28
|
+
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; }
|
|
29
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
30
|
+
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); }
|
|
31
|
+
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; }
|
|
32
|
+
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; }
|
|
33
|
+
const ITEM_HEIGHT = 48;
|
|
34
|
+
const ITEM_PADDING_TOP = 8;
|
|
35
|
+
const MenuProps = {
|
|
36
|
+
PaperProps: {
|
|
37
|
+
style: {
|
|
38
|
+
maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,
|
|
39
|
+
width: 250
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const getStyles = (current, selected, theme) => {
|
|
44
|
+
return {
|
|
45
|
+
fontWeight: selected.indexOf(current) === -1 ? theme.typography.fontWeightRegular : theme.typography.fontWeightMedium
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
function FormSelectInput(_ref) {
|
|
49
|
+
let {
|
|
50
|
+
label,
|
|
51
|
+
disabled,
|
|
52
|
+
required,
|
|
53
|
+
initialValue,
|
|
54
|
+
onChange,
|
|
55
|
+
style,
|
|
56
|
+
onSubmit,
|
|
57
|
+
triggers,
|
|
58
|
+
options,
|
|
59
|
+
formatterBeforeSubmit
|
|
60
|
+
} = _ref,
|
|
61
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
62
|
+
const theme = (0, _styles.useTheme)();
|
|
63
|
+
const [editing, setEditing] = (0, _react.useState)(false);
|
|
64
|
+
const [loading, setLoading] = (0, _react.useState)(false);
|
|
65
|
+
const [defaultValue, setDefaultValue] = (0, _react.useState)(initialValue);
|
|
66
|
+
const [value, setValue] = (0, _react.useState)(defaultValue);
|
|
67
|
+
const handleSubmit = async () => {
|
|
68
|
+
setLoading(true);
|
|
69
|
+
try {
|
|
70
|
+
const shouldUpdate = await onSubmit(typeof formatterBeforeSubmit === 'function' ? formatterBeforeSubmit(value) : value);
|
|
71
|
+
if (shouldUpdate === false) {
|
|
72
|
+
setValue(defaultValue);
|
|
73
|
+
} else {
|
|
74
|
+
setValue(value);
|
|
75
|
+
setDefaultValue(value);
|
|
76
|
+
}
|
|
77
|
+
} catch (err) {
|
|
78
|
+
setValue(defaultValue);
|
|
79
|
+
} finally {
|
|
80
|
+
setLoading(false);
|
|
81
|
+
setEditing(false);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const onInputChange = e => {
|
|
85
|
+
let {
|
|
86
|
+
value: selected
|
|
87
|
+
} = e.target;
|
|
88
|
+
selected = typeof selected === 'string' ? selected.split(',') : selected;
|
|
89
|
+
setValue(selected);
|
|
90
|
+
onChange(selected);
|
|
91
|
+
};
|
|
92
|
+
const input = editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, _objectSpread(_objectSpread({
|
|
93
|
+
value: value,
|
|
94
|
+
onChange: onInputChange,
|
|
95
|
+
fullWidth: true,
|
|
96
|
+
multiple: true,
|
|
97
|
+
variant: "outlined",
|
|
98
|
+
margin: "dense",
|
|
99
|
+
renderValue: selected => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
100
|
+
sx: {
|
|
101
|
+
display: 'flex',
|
|
102
|
+
flexWrap: 'wrap'
|
|
103
|
+
},
|
|
104
|
+
children: selected.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {
|
|
105
|
+
label: options.find(o => o.code === x).name,
|
|
106
|
+
style: {
|
|
107
|
+
marginRight: 8
|
|
108
|
+
},
|
|
109
|
+
size: "small"
|
|
110
|
+
}, x))
|
|
111
|
+
}),
|
|
112
|
+
MenuProps: MenuProps
|
|
113
|
+
}, rest), {}, {
|
|
114
|
+
children: options.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
|
|
115
|
+
value: x.code,
|
|
116
|
+
style: getStyles(x.code, value, theme),
|
|
117
|
+
children: x.name
|
|
118
|
+
}, x.code))
|
|
119
|
+
})) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
120
|
+
px: 1,
|
|
121
|
+
className: "form-item-input slot",
|
|
122
|
+
style: {
|
|
123
|
+
whiteSpace: 'pre-wrap'
|
|
124
|
+
},
|
|
125
|
+
children: value.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {
|
|
126
|
+
label: options.find(o => o.code === x).name,
|
|
127
|
+
style: {
|
|
128
|
+
marginRight: 8
|
|
129
|
+
},
|
|
130
|
+
size: "small"
|
|
131
|
+
}, x))
|
|
132
|
+
});
|
|
133
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formWrapper.default, {
|
|
134
|
+
className: "form",
|
|
135
|
+
style: style,
|
|
136
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
137
|
+
className: "form-item",
|
|
138
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
139
|
+
className: "form-item-label",
|
|
140
|
+
children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_required.default, {})]
|
|
141
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
142
|
+
className: "form-item-body",
|
|
143
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
144
|
+
className: "form-item-input",
|
|
145
|
+
children: input
|
|
146
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
147
|
+
className: "form-item-action",
|
|
148
|
+
children: editing ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
149
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
150
|
+
"data-cy": "schema-form-item-confirm",
|
|
151
|
+
onClick: handleSubmit,
|
|
152
|
+
disabled: disabled || loading,
|
|
153
|
+
size: "large",
|
|
154
|
+
children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
|
|
155
|
+
size: 24
|
|
156
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Done.default, {})
|
|
157
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
158
|
+
"data-cy": "schema-form-item-cancel",
|
|
159
|
+
onClick: () => {
|
|
160
|
+
setValue(defaultValue);
|
|
161
|
+
setEditing(false);
|
|
162
|
+
},
|
|
163
|
+
disabled: disabled || loading,
|
|
164
|
+
size: "large",
|
|
165
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {})
|
|
166
|
+
})]
|
|
167
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputTriggers.default, {
|
|
168
|
+
triggers: triggers,
|
|
169
|
+
onEnterEdit: () => setEditing(true),
|
|
170
|
+
disabled: disabled
|
|
171
|
+
})
|
|
172
|
+
})]
|
|
173
|
+
})]
|
|
174
|
+
})
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
FormSelectInput.propTypes = {
|
|
178
|
+
style: _propTypes.default.object,
|
|
179
|
+
onSubmit: _propTypes.default.func,
|
|
180
|
+
onChange: _propTypes.default.func,
|
|
181
|
+
label: _propTypes.default.string,
|
|
182
|
+
initialValue: _propTypes.default.string,
|
|
183
|
+
required: _propTypes.default.bool,
|
|
184
|
+
disabled: _propTypes.default.bool,
|
|
185
|
+
triggers: _propTypes.default.array,
|
|
186
|
+
options: _propTypes.default.array,
|
|
187
|
+
formatterBeforeSubmit: _propTypes.default.func
|
|
188
|
+
};
|
|
189
|
+
FormSelectInput.defaultProps = {
|
|
190
|
+
style: {},
|
|
191
|
+
onSubmit: () => {},
|
|
192
|
+
onChange: () => {},
|
|
193
|
+
label: '',
|
|
194
|
+
initialValue: '',
|
|
195
|
+
required: false,
|
|
196
|
+
disabled: false,
|
|
197
|
+
triggers: [],
|
|
198
|
+
options: [],
|
|
199
|
+
formatterBeforeSubmit: x => x.join(',')
|
|
200
|
+
};
|
|
@@ -9,20 +9,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
10
|
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
11
11
|
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
12
|
-
var _EditIcon = _interopRequireDefault(require("@arcblock/icons/lib/EditIcon"));
|
|
13
12
|
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
14
13
|
var _Done = _interopRequireDefault(require("@mui/icons-material/Done"));
|
|
15
14
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
16
|
-
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
17
|
-
var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
|
|
18
|
-
var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
|
|
19
|
-
var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
|
|
20
|
-
var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
|
|
21
|
-
var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
|
|
22
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
23
|
-
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
24
15
|
var _required = _interopRequireDefault(require("./required"));
|
|
25
16
|
var _formWrapper = _interopRequireDefault(require("./form-wrapper"));
|
|
17
|
+
var _inputTriggers = _interopRequireDefault(require("./input-triggers"));
|
|
26
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
19
|
const _excluded = ["label", "disabled", "required", "initialValue", "onChange", "placeholder", "style", "onSubmit", "secure", "triggers", "formatterBeforeSubmit"];
|
|
28
20
|
/**
|
|
@@ -51,91 +43,7 @@ const getDisplayValue = (value, secure, initialValue) => {
|
|
|
51
43
|
}
|
|
52
44
|
return value;
|
|
53
45
|
};
|
|
54
|
-
function
|
|
55
|
-
let {
|
|
56
|
-
triggers,
|
|
57
|
-
onEnterEdit,
|
|
58
|
-
disabled
|
|
59
|
-
} = _ref;
|
|
60
|
-
const anchorRef = _react.default.useRef(null);
|
|
61
|
-
const [open, setOpen] = _react.default.useState(false);
|
|
62
|
-
const handleTriggerClick = cb => {
|
|
63
|
-
setOpen(false);
|
|
64
|
-
cb();
|
|
65
|
-
};
|
|
66
|
-
const handleToggle = () => {
|
|
67
|
-
setOpen(prevOpen => !prevOpen);
|
|
68
|
-
};
|
|
69
|
-
const handleClose = event => {
|
|
70
|
-
if (anchorRef.current && anchorRef.current.contains(event.target)) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
setOpen(false);
|
|
74
|
-
};
|
|
75
|
-
if (triggers.length === 0) {
|
|
76
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
77
|
-
"data-cy": "schema-form-item-edit",
|
|
78
|
-
onClick: onEnterEdit,
|
|
79
|
-
disabled: disabled,
|
|
80
|
-
size: "large",
|
|
81
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
85
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
|
|
86
|
-
variant: "outlined",
|
|
87
|
-
ref: anchorRef,
|
|
88
|
-
"aria-label": "split button",
|
|
89
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
90
|
-
"data-cy": "schema-form-item-edit",
|
|
91
|
-
onClick: onEnterEdit,
|
|
92
|
-
disabled: disabled,
|
|
93
|
-
size: "large",
|
|
94
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
|
|
95
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
96
|
-
size: "small",
|
|
97
|
-
"aria-controls": open ? 'split-button-menu' : undefined,
|
|
98
|
-
"aria-expanded": open ? 'true' : undefined,
|
|
99
|
-
onClick: handleToggle,
|
|
100
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {})
|
|
101
|
-
})]
|
|
102
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popper.default, {
|
|
103
|
-
sx: {
|
|
104
|
-
zIndex: 9999
|
|
105
|
-
},
|
|
106
|
-
open: open,
|
|
107
|
-
anchorEl: anchorRef.current,
|
|
108
|
-
role: undefined,
|
|
109
|
-
placement: "bottom-end",
|
|
110
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
|
|
111
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
|
|
112
|
-
onClickAway: handleClose,
|
|
113
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
|
|
114
|
-
id: "split-button-menu",
|
|
115
|
-
autoFocusItem: true,
|
|
116
|
-
children: triggers.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
|
|
117
|
-
onClick: () => handleTriggerClick(x.handler),
|
|
118
|
-
children: x.title
|
|
119
|
-
}, x.key))
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
})
|
|
123
|
-
})]
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
InputTriggers.propTypes = {
|
|
127
|
-
triggers: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
128
|
-
key: _propTypes.default.string.isRequired,
|
|
129
|
-
title: _propTypes.default.string.isRequired,
|
|
130
|
-
handler: _propTypes.default.func.isRequired
|
|
131
|
-
})),
|
|
132
|
-
onEnterEdit: _propTypes.default.func.isRequired,
|
|
133
|
-
disabled: _propTypes.default.bool.isRequired
|
|
134
|
-
};
|
|
135
|
-
InputTriggers.defaultProps = {
|
|
136
|
-
triggers: []
|
|
137
|
-
};
|
|
138
|
-
function FormTextInput(_ref2) {
|
|
46
|
+
function FormTextInput(_ref) {
|
|
139
47
|
let {
|
|
140
48
|
label,
|
|
141
49
|
disabled,
|
|
@@ -148,8 +56,8 @@ function FormTextInput(_ref2) {
|
|
|
148
56
|
secure,
|
|
149
57
|
triggers,
|
|
150
58
|
formatterBeforeSubmit
|
|
151
|
-
} =
|
|
152
|
-
rest = _objectWithoutProperties(
|
|
59
|
+
} = _ref,
|
|
60
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
153
61
|
const [editing, setEditing] = (0, _react.useState)(false);
|
|
154
62
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
155
63
|
|
|
@@ -246,7 +154,7 @@ function FormTextInput(_ref2) {
|
|
|
246
154
|
size: "large",
|
|
247
155
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {})
|
|
248
156
|
})]
|
|
249
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
157
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputTriggers.default, {
|
|
250
158
|
triggers: triggers,
|
|
251
159
|
onEnterEdit: () => setEditing(true),
|
|
252
160
|
disabled: disabled
|
package/lib/form/form-wrapper.js
CHANGED
|
@@ -9,5 +9,5 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
|
9
9
|
var _templateObject;
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
12
|
-
var _default = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n flex-grow: 1;\n overflow-y: auto;\n ", " {\n width: 100%;\n flex-shrink: 0;\n padding: 0 24px;\n transform: translate(0, 0);\n /* max-height: 60vh; */\n }\n\n .form-item {\n width: 100%;\n margin-bottom: 24px;\n position: relative;\n ", " {\n flex-wrap: wrap;\n justify-content: space-between;\n width: 100%;\n flex-shrink: 0;\n }\n }\n\n .form-item-body {\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: 4px;\n }\n\n .form-item-label {\n line-height: 1.2;\n font-size: 14px;\n color: #888;\n font-weight: bold;\n\n ", " {\n text-align: left;\n width: auto;\n flex-grow: 1;\n }\n }\n\n .form-item-input {\n flex-grow: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &.slot {\n height: 40px;\n line-height: 40px;\n background: #f8f8f8;\n font-size: 16px;\n }\n }\n\n .form-item-action {\n // width: 100px;\n text-align: left;\n margin-left: 12px;\n flex-shrink: 0;\n ", " {\n width: auto;\n margin-left: 0px;\n }\n .MuiIconButton-root {\n padding: 8px;\n svg {\n fill: #888;\n }\n &.Mui-disabled {\n opacity: 0.4;\n }\n }\n }\n"])), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'));
|
|
12
|
+
var _default = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n flex-grow: 1;\n overflow-y: auto;\n ", " {\n width: 100%;\n flex-shrink: 0;\n padding: 0 24px;\n transform: translate(0, 0);\n /* max-height: 60vh; */\n }\n\n .form-item {\n width: 100%;\n margin-bottom: 24px;\n position: relative;\n ", " {\n flex-wrap: wrap;\n justify-content: space-between;\n width: 100%;\n flex-shrink: 0;\n }\n }\n\n .form-item-body {\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: 4px;\n }\n\n .form-item-label {\n line-height: 1.2;\n font-size: 14px;\n color: #888;\n font-weight: bold;\n\n ", " {\n text-align: left;\n width: auto;\n flex-grow: 1;\n }\n }\n\n .form-item-input {\n flex-grow: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &.slot {\n height: 40px;\n line-height: 40px;\n background: #f8f8f8;\n font-size: 16px;\n\n .MuiChip-root {\n margin-top: -4px;\n }\n }\n\n .MuiSelect-select {\n padding: 8px;\n }\n }\n\n .form-item-action {\n // width: 100px;\n text-align: left;\n margin-left: 12px;\n flex-shrink: 0;\n ", " {\n width: auto;\n margin-left: 0px;\n }\n .MuiIconButton-root {\n padding: 8px;\n svg {\n fill: #888;\n }\n &.Mui-disabled {\n opacity: 0.4;\n }\n }\n }\n"])), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'));
|
|
13
13
|
exports.default = _default;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = InputTriggers;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _EditIcon = _interopRequireDefault(require("@arcblock/icons/lib/EditIcon"));
|
|
10
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
11
|
+
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
12
|
+
var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
|
|
13
|
+
var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
|
|
14
|
+
var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
|
|
15
|
+
var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
|
|
16
|
+
var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
|
|
17
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
18
|
+
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
function InputTriggers(_ref) {
|
|
22
|
+
let {
|
|
23
|
+
triggers,
|
|
24
|
+
onEnterEdit,
|
|
25
|
+
disabled
|
|
26
|
+
} = _ref;
|
|
27
|
+
const anchorRef = _react.default.useRef(null);
|
|
28
|
+
const [open, setOpen] = _react.default.useState(false);
|
|
29
|
+
const handleTriggerClick = cb => {
|
|
30
|
+
setOpen(false);
|
|
31
|
+
cb();
|
|
32
|
+
};
|
|
33
|
+
const handleToggle = () => {
|
|
34
|
+
setOpen(prevOpen => !prevOpen);
|
|
35
|
+
};
|
|
36
|
+
const handleClose = event => {
|
|
37
|
+
if (anchorRef.current && anchorRef.current.contains(event.target)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
setOpen(false);
|
|
41
|
+
};
|
|
42
|
+
if (triggers.length === 0) {
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
44
|
+
"data-cy": "schema-form-item-edit",
|
|
45
|
+
onClick: onEnterEdit,
|
|
46
|
+
disabled: disabled,
|
|
47
|
+
size: "large",
|
|
48
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
52
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
|
|
53
|
+
variant: "outlined",
|
|
54
|
+
ref: anchorRef,
|
|
55
|
+
"aria-label": "split button",
|
|
56
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
57
|
+
"data-cy": "schema-form-item-edit",
|
|
58
|
+
onClick: onEnterEdit,
|
|
59
|
+
disabled: disabled,
|
|
60
|
+
size: "large",
|
|
61
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
|
|
62
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
63
|
+
size: "small",
|
|
64
|
+
"aria-controls": open ? 'split-button-menu' : undefined,
|
|
65
|
+
"aria-expanded": open ? 'true' : undefined,
|
|
66
|
+
onClick: handleToggle,
|
|
67
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {})
|
|
68
|
+
})]
|
|
69
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popper.default, {
|
|
70
|
+
sx: {
|
|
71
|
+
zIndex: 9999
|
|
72
|
+
},
|
|
73
|
+
open: open,
|
|
74
|
+
anchorEl: anchorRef.current,
|
|
75
|
+
role: undefined,
|
|
76
|
+
placement: "bottom-end",
|
|
77
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
|
|
78
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
|
|
79
|
+
onClickAway: handleClose,
|
|
80
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
|
|
81
|
+
id: "split-button-menu",
|
|
82
|
+
autoFocusItem: true,
|
|
83
|
+
children: triggers.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
|
|
84
|
+
onClick: () => handleTriggerClick(x.handler),
|
|
85
|
+
children: x.title
|
|
86
|
+
}, x.key))
|
|
87
|
+
})
|
|
88
|
+
})
|
|
89
|
+
})
|
|
90
|
+
})]
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
InputTriggers.propTypes = {
|
|
94
|
+
triggers: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
95
|
+
key: _propTypes.default.string.isRequired,
|
|
96
|
+
title: _propTypes.default.string.isRequired,
|
|
97
|
+
handler: _propTypes.default.func.isRequired
|
|
98
|
+
})),
|
|
99
|
+
onEnterEdit: _propTypes.default.func.isRequired,
|
|
100
|
+
disabled: _propTypes.default.bool.isRequired
|
|
101
|
+
};
|
|
102
|
+
InputTriggers.defaultProps = {
|
|
103
|
+
triggers: []
|
|
104
|
+
};
|
package/lib/locales/en.js
CHANGED
|
@@ -390,6 +390,7 @@ module.exports = {
|
|
|
390
390
|
name: 'Wallet Type',
|
|
391
391
|
description: 'Blocklet instance wallet type, will change the derived DID'
|
|
392
392
|
},
|
|
393
|
+
languages: 'Supported Languages',
|
|
393
394
|
passportColor: 'Passport Color',
|
|
394
395
|
appUrl: 'Blocklet URL',
|
|
395
396
|
access: {
|
|
@@ -1346,6 +1347,11 @@ module.exports = {
|
|
|
1346
1347
|
scan: 'Use your DID Wallet to scan the QR code below to allow the app {appName} to connect to DID Spaces',
|
|
1347
1348
|
success: 'Connected successfully'
|
|
1348
1349
|
},
|
|
1350
|
+
provideNFT: {
|
|
1351
|
+
title: 'Please show the DID Spaces NFT for {appName}',
|
|
1352
|
+
scan: 'Use your DID Wallet to scan the QR code below to allow the app {appName} show DID space NFT',
|
|
1353
|
+
success: 'Operation successfully'
|
|
1354
|
+
},
|
|
1349
1355
|
backup: {
|
|
1350
1356
|
title: 'Backup',
|
|
1351
1357
|
records: 'Backup Records'
|
|
@@ -1360,7 +1366,7 @@ module.exports = {
|
|
|
1360
1366
|
title: 'Add DID Spaces',
|
|
1361
1367
|
label: 'Enter the url of the DID Spaces',
|
|
1362
1368
|
failed: 'Add DID Spaces failed',
|
|
1363
|
-
invalidUrl: 'Invalid DID Spaces url',
|
|
1369
|
+
invalidUrl: 'Invalid DID Spaces gateway url',
|
|
1364
1370
|
duplicate: 'DID Space({name}) already exist'
|
|
1365
1371
|
},
|
|
1366
1372
|
delete: {
|
|
@@ -1397,6 +1403,7 @@ module.exports = {
|
|
|
1397
1403
|
},
|
|
1398
1404
|
notYet: "You don't have a backup in progress yet...",
|
|
1399
1405
|
connect: {
|
|
1406
|
+
now: 'Connect',
|
|
1400
1407
|
title: 'Connect DID Spaces',
|
|
1401
1408
|
provider: 'Provide your DID Spaces to start backups',
|
|
1402
1409
|
useWallet: 'Connect DID Spaces',
|
package/lib/locales/zh.js
CHANGED
|
@@ -394,6 +394,7 @@ module.exports = {
|
|
|
394
394
|
name: '钱包类型',
|
|
395
395
|
description: '应用钱包类型,会影响派生出来的 DID'
|
|
396
396
|
},
|
|
397
|
+
languages: '支持的语言',
|
|
397
398
|
passportColor: '通行证颜色',
|
|
398
399
|
appUrl: '应用访问地址',
|
|
399
400
|
access: {
|
|
@@ -1368,7 +1369,7 @@ module.exports = {
|
|
|
1368
1369
|
title: '添加 DID Spaces',
|
|
1369
1370
|
label: '输入 DID Spaces 的地址',
|
|
1370
1371
|
failed: '添加 DID Spaces 失败',
|
|
1371
|
-
invalidUrl: '无效的 DID Spaces
|
|
1372
|
+
invalidUrl: '无效的 DID Spaces 网关地址',
|
|
1372
1373
|
duplicate: 'DID Space({name}) 已存在'
|
|
1373
1374
|
},
|
|
1374
1375
|
delete: {
|
|
@@ -1405,6 +1406,7 @@ module.exports = {
|
|
|
1405
1406
|
},
|
|
1406
1407
|
notYet: '你还没有正在进行中的备份...',
|
|
1407
1408
|
connect: {
|
|
1409
|
+
now: '立即连接',
|
|
1408
1410
|
title: '使用 DID Wallet 连接',
|
|
1409
1411
|
provider: '提供您的 DID Spaces 开始备份',
|
|
1410
1412
|
useWallet: '使用 DID Wallet 连接',
|