@abtnode/ux 1.8.27 → 1.8.28
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/actions.js +16 -44
- package/lib/blocklet/actions.js +14 -78
- package/lib/blocklet/audit-logs.js +0 -32
- package/lib/blocklet/avatar.js +6 -33
- package/lib/blocklet/blocklet-source.js +0 -13
- package/lib/blocklet/component/configuration.js +2 -28
- package/lib/blocklet/component/delete.js +0 -23
- package/lib/blocklet/component/environment.js +2 -59
- package/lib/blocklet/component/index.js +10 -105
- package/lib/blocklet/component/setting.js +5 -44
- package/lib/blocklet/configuration.js +11 -79
- package/lib/blocklet/disk-info.js +3 -29
- package/lib/blocklet/icons.js +0 -10
- package/lib/blocklet/log.js +3 -18
- package/lib/blocklet/mode.js +3 -17
- package/lib/blocklet/overview.js +3 -37
- package/lib/blocklet/runtime-info.js +4 -30
- package/lib/blocklet/status.js +5 -27
- package/lib/blocklet/util.js +0 -22
- package/lib/blocklet/version.js +7 -45
- package/lib/card-selector.js +9 -22
- package/lib/click-to-copy.js +3 -18
- package/lib/confirm.js +2 -28
- package/lib/contexts/audit-log.js +2 -16
- package/lib/contexts/deleting-blocklets.js +2 -15
- package/lib/contexts/node.js +0 -6
- package/lib/contexts/session.js +1 -3
- package/lib/contexts/team.js +0 -3
- package/lib/did-address.js +6 -26
- package/lib/dot.js +0 -7
- package/lib/form/form-text-input.js +12 -38
- package/lib/form/form-wrapper.js +0 -7
- package/lib/form/required.js +0 -6
- package/lib/hooks/mobile-width.js +0 -5
- package/lib/hooks/use-passport-id.js +0 -5
- package/lib/index.js +0 -3
- package/lib/invitation/invitation-app.js +3 -21
- package/lib/invitation/invitation-passport.js +2 -16
- package/lib/invitation/invitation-receive.js +2 -19
- package/lib/invitation/invitation-user.js +0 -16
- package/lib/invitation/invitation.js +0 -23
- package/lib/issue-passport.js +2 -31
- package/lib/launch-blocklet/content-layout.js +3 -19
- package/lib/launch-blocklet/page-header.js +0 -9
- package/lib/layout/addon.js +0 -24
- package/lib/locales/index.js +0 -3
- package/lib/logs/clock.js +0 -6
- package/lib/logs/log-terminal.js +17 -43
- package/lib/lost-passport.js +6 -51
- package/lib/nav-logo.js +12 -33
- package/lib/passport-tag.js +4 -21
- package/lib/permission.js +0 -16
- package/lib/relative-time.js +0 -13
- package/lib/schema-form/color-input.js +2 -15
- package/lib/schema-form/common-prop-types.js +0 -3
- package/lib/schema-form/index.js +8 -45
- package/lib/schema-form/passport-input.js +6 -24
- package/lib/schema-form/text-input.js +9 -26
- package/lib/table-icons.js +0 -17
- package/lib/table.js +0 -6
- package/lib/tag.js +4 -17
- package/lib/team/members/actions.js +2 -18
- package/lib/team/members/index.js +1 -69
- package/lib/team/members/invitations.js +0 -33
- package/lib/team/members/invite-member.js +0 -29
- package/lib/team/members/issue-passport.js +0 -23
- package/lib/team/members/member.js +1 -43
- package/lib/team/members/passport-issuances.js +3 -30
- package/lib/team/members/passports.js +0 -48
- package/lib/team/members/toggle-user-approval.js +0 -26
- package/lib/team/members/transfer-node.js +0 -33
- package/lib/team/members/util.js +2 -9
- package/lib/team/passports/detail.js +2 -45
- package/lib/team/passports/index.js +0 -36
- package/lib/team/passports/mutate-role.js +0 -26
- package/lib/team/passports/trusted-issuer.js +0 -44
- package/lib/team/passports/trusted-issuers.js +0 -46
- package/lib/team/search-input.js +3 -18
- package/lib/team/styles/dialog.js +0 -6
- package/lib/team/styles/list-header.js +0 -6
- package/lib/toast.js +4 -19
- package/lib/util/index.js +14 -184
- package/lib/who-can-access/config.js +0 -6
- package/lib/wrap-locale.js +0 -7
- package/package.json +27 -27
|
@@ -4,41 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = PassportIssuances;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
-
|
|
14
10
|
var _notistack = require("notistack");
|
|
15
|
-
|
|
16
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
17
|
-
|
|
18
12
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
19
|
-
|
|
20
13
|
var _node = require("../../contexts/node");
|
|
21
|
-
|
|
22
14
|
var _team = require("../../contexts/team");
|
|
23
|
-
|
|
24
15
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
25
|
-
|
|
26
16
|
var _permission = _interopRequireDefault(require("../../permission"));
|
|
27
|
-
|
|
28
17
|
var _clickToCopy = _interopRequireDefault(require("../../click-to-copy"));
|
|
29
|
-
|
|
30
18
|
var _passportTag = _interopRequireDefault(require("../../passport-tag"));
|
|
31
|
-
|
|
32
19
|
var _util = require("../../util");
|
|
33
|
-
|
|
34
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
|
-
|
|
36
21
|
var _templateObject;
|
|
37
|
-
|
|
38
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
39
|
-
|
|
40
23
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
41
|
-
|
|
42
24
|
function PassportIssuances(_ref) {
|
|
43
25
|
let {
|
|
44
26
|
issuances,
|
|
@@ -60,18 +42,14 @@ function PassportIssuances(_ref) {
|
|
|
60
42
|
const {
|
|
61
43
|
endpoint
|
|
62
44
|
} = (0, _team.useTeamContext)();
|
|
63
|
-
|
|
64
45
|
const deleteIssuance = async _ref2 => {
|
|
65
46
|
let {
|
|
66
47
|
id
|
|
67
48
|
} = _ref2;
|
|
68
|
-
|
|
69
49
|
if (loading) {
|
|
70
50
|
return;
|
|
71
51
|
}
|
|
72
|
-
|
|
73
52
|
setLoading(true);
|
|
74
|
-
|
|
75
53
|
try {
|
|
76
54
|
await client.deletePassportIssuance({
|
|
77
55
|
input: {
|
|
@@ -90,19 +68,17 @@ function PassportIssuances(_ref) {
|
|
|
90
68
|
setDelConfirm(null);
|
|
91
69
|
}
|
|
92
70
|
};
|
|
93
|
-
|
|
94
71
|
const onCancel = () => {
|
|
95
72
|
setLoading(false);
|
|
96
73
|
setDelConfirm(null);
|
|
97
74
|
};
|
|
98
|
-
|
|
99
75
|
const getLink = column => endpoint ? (0, _util.getIssuePassportLink)({
|
|
100
76
|
id: column.id,
|
|
101
77
|
endpoint
|
|
102
|
-
}) : '';
|
|
103
|
-
// eslint-disable-next-line react/no-unstable-nested-components
|
|
104
|
-
|
|
78
|
+
}) : '';
|
|
105
79
|
|
|
80
|
+
// eslint-disable-next-line react/prop-types
|
|
81
|
+
// eslint-disable-next-line react/no-unstable-nested-components
|
|
106
82
|
function Issuance(_ref3) {
|
|
107
83
|
let {
|
|
108
84
|
data: d
|
|
@@ -152,7 +128,6 @@ function PassportIssuances(_ref) {
|
|
|
152
128
|
})]
|
|
153
129
|
});
|
|
154
130
|
}
|
|
155
|
-
|
|
156
131
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {
|
|
157
132
|
children: [issuances.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(Issuance, {
|
|
158
133
|
data: x
|
|
@@ -167,9 +142,7 @@ function PassportIssuances(_ref) {
|
|
|
167
142
|
})]
|
|
168
143
|
});
|
|
169
144
|
}
|
|
170
|
-
|
|
171
145
|
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .MuiTableHead-root {\n display: none;\n }\n .issuance {\n padding: 16px 0;\n border-bottom: 1px solid #f0f0f0;\n .MuiTypography-root {\n display: inline-block;\n width: 100%;\n background: #f3f3f3;\n border-radius: 4px;\n padding-top: 6px;\n padding-bottom: 6px;\n }\n }\n"])));
|
|
172
|
-
|
|
173
146
|
PassportIssuances.propTypes = {
|
|
174
147
|
teamDid: _propTypes.default.string.isRequired,
|
|
175
148
|
issuances: _propTypes.default.array,
|
|
@@ -4,73 +4,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = Passports;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
-
|
|
14
10
|
var _notistack = require("notistack");
|
|
15
|
-
|
|
16
11
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
17
|
-
|
|
18
12
|
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
|
19
|
-
|
|
20
13
|
var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
|
|
21
|
-
|
|
22
14
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
23
|
-
|
|
24
15
|
var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
|
|
25
|
-
|
|
26
16
|
var _ErrorOutline = _interopRequireDefault(require("@mui/icons-material/ErrorOutline"));
|
|
27
|
-
|
|
28
17
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
29
|
-
|
|
30
18
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
31
|
-
|
|
32
19
|
var _RevokeIcon = _interopRequireDefault(require("@arcblock/icons/lib/RevokeIcon"));
|
|
33
|
-
|
|
34
20
|
var _ExternalIssuerIcon = _interopRequireDefault(require("@arcblock/icons/lib/ExternalIssuerIcon"));
|
|
35
|
-
|
|
36
21
|
var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
|
|
37
|
-
|
|
38
22
|
var _constant = require("@abtnode/constant");
|
|
39
|
-
|
|
40
23
|
var _createPassportSvg = _interopRequireDefault(require("@abtnode/auth/lib/util/create-passport-svg"));
|
|
41
|
-
|
|
42
24
|
var _node = require("../../contexts/node");
|
|
43
|
-
|
|
44
25
|
var _session = require("../../contexts/session");
|
|
45
|
-
|
|
46
26
|
var _team = require("../../contexts/team");
|
|
47
|
-
|
|
48
27
|
var _util = require("../../util");
|
|
49
|
-
|
|
50
28
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
51
|
-
|
|
52
29
|
var _permission = _interopRequireDefault(require("../../permission"));
|
|
53
|
-
|
|
54
30
|
var _searchInput = _interopRequireDefault(require("../search-input"));
|
|
55
|
-
|
|
56
31
|
var _listHeader = _interopRequireDefault(require("../styles/list-header"));
|
|
57
|
-
|
|
58
32
|
var _issuePassport = _interopRequireDefault(require("./issue-passport"));
|
|
59
|
-
|
|
60
33
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
61
|
-
|
|
62
34
|
var _templateObject;
|
|
63
|
-
|
|
64
35
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
65
|
-
|
|
66
36
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
67
|
-
|
|
68
37
|
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; }
|
|
69
|
-
|
|
70
38
|
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; }
|
|
71
|
-
|
|
72
39
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
73
|
-
|
|
74
40
|
function ConfirmDescription(_ref) {
|
|
75
41
|
let {
|
|
76
42
|
action,
|
|
@@ -96,16 +62,13 @@ function ConfirmDescription(_ref) {
|
|
|
96
62
|
})]
|
|
97
63
|
});
|
|
98
64
|
}
|
|
99
|
-
|
|
100
65
|
ConfirmDescription.propTypes = {
|
|
101
66
|
action: _propTypes.default.string.isRequired,
|
|
102
67
|
passport: _propTypes.default.object.isRequired
|
|
103
68
|
};
|
|
104
69
|
ConfirmDescription.defaultProps = {};
|
|
105
|
-
|
|
106
70
|
function Passports(_ref2) {
|
|
107
71
|
var _blocklet$settings;
|
|
108
|
-
|
|
109
72
|
let {
|
|
110
73
|
user,
|
|
111
74
|
onCreate
|
|
@@ -140,14 +103,11 @@ function Passports(_ref2) {
|
|
|
140
103
|
const passports = ((0, _get.default)(user, 'passports') || []).map(x => _objectSpread(_objectSpread({}, x), {}, {
|
|
141
104
|
revoked: x.status === _constant.PASSPORT_STATUS.REVOKED
|
|
142
105
|
}));
|
|
143
|
-
|
|
144
106
|
const togglePassportStatus = async passport => {
|
|
145
107
|
if (loading) {
|
|
146
108
|
return;
|
|
147
109
|
}
|
|
148
|
-
|
|
149
110
|
setLoading(true);
|
|
150
|
-
|
|
151
111
|
try {
|
|
152
112
|
const method = passport.status === _constant.PASSPORT_STATUS.REVOKED ? 'enableUserPassport' : 'revokeUserPassport';
|
|
153
113
|
await api[method]({
|
|
@@ -168,7 +128,6 @@ function Passports(_ref2) {
|
|
|
168
128
|
setToggleConfirm(null);
|
|
169
129
|
}
|
|
170
130
|
};
|
|
171
|
-
|
|
172
131
|
const confirmToggle = item => item.status === _constant.PASSPORT_STATUS.REVOKED ? setToggleConfirm({
|
|
173
132
|
title: t('team.member.enablePassport'),
|
|
174
133
|
description: /*#__PURE__*/(0, _jsxRuntime.jsx)(ConfirmDescription, {
|
|
@@ -201,7 +160,6 @@ function Passports(_ref2) {
|
|
|
201
160
|
setToggleConfirm(null);
|
|
202
161
|
}
|
|
203
162
|
});
|
|
204
|
-
|
|
205
163
|
const revokeInfo = (hasPermission, passport) => {
|
|
206
164
|
if (user.did === session.user.did && session.user.passportId && session.user.passportId === passport.id) {
|
|
207
165
|
return {
|
|
@@ -209,26 +167,22 @@ function Passports(_ref2) {
|
|
|
209
167
|
message: t('team.passport.shouldNotDeleteCurrent')
|
|
210
168
|
};
|
|
211
169
|
}
|
|
212
|
-
|
|
213
170
|
if (!hasPermission) {
|
|
214
171
|
return {
|
|
215
172
|
revokable: false,
|
|
216
173
|
message: t('team.passport.noPermission')
|
|
217
174
|
};
|
|
218
175
|
}
|
|
219
|
-
|
|
220
176
|
if (teamDid === passport.issuer.id && passport.name === 'owner') {
|
|
221
177
|
return {
|
|
222
178
|
revokable: false,
|
|
223
179
|
message: t('team.passport.noPermission')
|
|
224
180
|
};
|
|
225
181
|
}
|
|
226
|
-
|
|
227
182
|
return {
|
|
228
183
|
revokable: true
|
|
229
184
|
};
|
|
230
185
|
};
|
|
231
|
-
|
|
232
186
|
const filteredPassports = passports.filter(x => !search || x.title.includes(search) || x.name.includes(search));
|
|
233
187
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {
|
|
234
188
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_listHeader.default, {
|
|
@@ -365,7 +319,6 @@ function Passports(_ref2) {
|
|
|
365
319
|
})]
|
|
366
320
|
});
|
|
367
321
|
}
|
|
368
|
-
|
|
369
322
|
Passports.propTypes = {
|
|
370
323
|
user: _propTypes.default.object.isRequired,
|
|
371
324
|
onCreate: _propTypes.default.func
|
|
@@ -373,5 +326,4 @@ Passports.propTypes = {
|
|
|
373
326
|
Passports.defaultProps = {
|
|
374
327
|
onCreate: () => {}
|
|
375
328
|
};
|
|
376
|
-
|
|
377
329
|
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .passport-item {\n .body {\n padding: 0;\n margin-left: 24px;\n margin-top: 0;\n }\n .title {\n font-weight: 400;\n font-size: 16px;\n line-height: 19px;\n color: #222222;\n }\n .tip {\n display: flex;\n align-items: center;\n font-size: 14px;\n margin-top: 6px;\n color: #bbb;\n }\n .status-icons {\n svg {\n fill: #bfbfbf;\n height: 1.2em;\n margin-left: 0.4em;\n }\n }\n .MuiButton-outlinedSecondary {\n color: #f16e6e;\n fill: #f16e6e;\n background: #fcf3f3;\n border: 0;\n &:hover {\n border: 0;\n }\n }\n }\n"])));
|
|
@@ -4,33 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = ToggleUserApproval;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
13
|
-
|
|
14
10
|
var _toast = _interopRequireDefault(require("../../toast"));
|
|
15
|
-
|
|
16
11
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
17
|
-
|
|
18
12
|
var _node = require("../../contexts/node");
|
|
19
|
-
|
|
20
13
|
var _team = require("../../contexts/team");
|
|
21
|
-
|
|
22
14
|
var _session = require("../../contexts/session");
|
|
23
|
-
|
|
24
15
|
var _util = require("../../util");
|
|
25
|
-
|
|
26
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
-
|
|
28
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
18
|
const isNodeOwner = (nodeInfo, userDid) => nodeInfo.nodeOwner && nodeInfo.nodeOwner.did === userDid;
|
|
31
|
-
|
|
32
19
|
const isSelf = (sessionUser, userDid) => sessionUser && sessionUser.did === userDid;
|
|
33
|
-
|
|
34
20
|
function ToggleUserApproval(_ref) {
|
|
35
21
|
let {
|
|
36
22
|
user,
|
|
@@ -56,21 +42,16 @@ function ToggleUserApproval(_ref) {
|
|
|
56
42
|
} = (0, _context.useLocaleContext)();
|
|
57
43
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
58
44
|
const [show, setShow] = (0, _react.useState)(false);
|
|
59
|
-
|
|
60
45
|
const open = () => setShow(true);
|
|
61
|
-
|
|
62
46
|
const updateUserApproval = async d => {
|
|
63
47
|
const {
|
|
64
48
|
did,
|
|
65
49
|
approved
|
|
66
50
|
} = d;
|
|
67
|
-
|
|
68
51
|
if (loading) {
|
|
69
52
|
return;
|
|
70
53
|
}
|
|
71
|
-
|
|
72
54
|
setLoading(true);
|
|
73
|
-
|
|
74
55
|
try {
|
|
75
56
|
await api.updateUserApproval({
|
|
76
57
|
input: {
|
|
@@ -86,13 +67,11 @@ function ToggleUserApproval(_ref) {
|
|
|
86
67
|
refresh();
|
|
87
68
|
} catch (error) {
|
|
88
69
|
_toast.default.error((0, _util.formatError)(error));
|
|
89
|
-
|
|
90
70
|
onError();
|
|
91
71
|
} finally {
|
|
92
72
|
setLoading(false);
|
|
93
73
|
}
|
|
94
74
|
};
|
|
95
|
-
|
|
96
75
|
const approveConfirm = {
|
|
97
76
|
title: user.approved ? t('team.member.forbidLogin') : t('team.member.allowLogin'),
|
|
98
77
|
description: user.approved ? t('team.member.forbidLoginDescription') : t('team.member.allowLoginDescription'),
|
|
@@ -104,23 +83,19 @@ function ToggleUserApproval(_ref) {
|
|
|
104
83
|
onCancel: () => {
|
|
105
84
|
setLoading(false);
|
|
106
85
|
setShow(false);
|
|
107
|
-
|
|
108
86
|
_onCancel();
|
|
109
87
|
},
|
|
110
88
|
color: user.approved ? 'error' : 'primary'
|
|
111
89
|
};
|
|
112
90
|
let can;
|
|
113
|
-
|
|
114
91
|
if (!inService) {
|
|
115
92
|
can = nodeInfo.nodeOwner && !isNodeOwner(nodeInfo, user.did) && !isSelf(session.user, user.did);
|
|
116
93
|
} else {
|
|
117
94
|
can = !isSelf(session.user, user.did);
|
|
118
95
|
}
|
|
119
|
-
|
|
120
96
|
if (!can) {
|
|
121
97
|
return null;
|
|
122
98
|
}
|
|
123
|
-
|
|
124
99
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
125
100
|
children: [typeof children === 'function' ? children({
|
|
126
101
|
can,
|
|
@@ -137,7 +112,6 @@ function ToggleUserApproval(_ref) {
|
|
|
137
112
|
}) : null]
|
|
138
113
|
});
|
|
139
114
|
}
|
|
140
|
-
|
|
141
115
|
ToggleUserApproval.propTypes = {
|
|
142
116
|
user: _propTypes.default.object,
|
|
143
117
|
onSuccess: _propTypes.default.func,
|
|
@@ -4,51 +4,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = TransferMember;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
-
|
|
14
10
|
var _useAsync = _interopRequireDefault(require("react-use/lib/useAsync"));
|
|
15
|
-
|
|
16
11
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
17
|
-
|
|
18
12
|
var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
|
|
19
|
-
|
|
20
13
|
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
21
|
-
|
|
22
14
|
var _DialogContentText = _interopRequireDefault(require("@mui/material/DialogContentText"));
|
|
23
|
-
|
|
24
15
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
25
|
-
|
|
26
16
|
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
27
|
-
|
|
28
17
|
var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
|
|
29
|
-
|
|
30
18
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
31
|
-
|
|
32
19
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
33
|
-
|
|
34
20
|
var _Alert = _interopRequireDefault(require("@arcblock/ux/lib/Alert"));
|
|
35
|
-
|
|
36
21
|
var _clickToCopy = _interopRequireDefault(require("../../click-to-copy"));
|
|
37
|
-
|
|
38
22
|
var _node = require("../../contexts/node");
|
|
39
|
-
|
|
40
23
|
var _util = require("../../util");
|
|
41
|
-
|
|
42
24
|
var _session = require("../../contexts/session");
|
|
43
|
-
|
|
44
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
45
|
-
|
|
46
26
|
var _templateObject;
|
|
47
|
-
|
|
48
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
49
|
-
|
|
50
28
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
51
|
-
|
|
52
29
|
function TransferMember(_ref) {
|
|
53
30
|
let {
|
|
54
31
|
teamDid,
|
|
@@ -84,12 +61,10 @@ function TransferMember(_ref) {
|
|
|
84
61
|
} = await api.getDelegationState();
|
|
85
62
|
return state;
|
|
86
63
|
}
|
|
87
|
-
|
|
88
64
|
return {
|
|
89
65
|
delegated: true
|
|
90
66
|
};
|
|
91
67
|
});
|
|
92
|
-
|
|
93
68
|
if (delegationState.loading) {
|
|
94
69
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
|
|
95
70
|
title: t('team.transferNode.inviteDialog.title'),
|
|
@@ -105,7 +80,6 @@ function TransferMember(_ref) {
|
|
|
105
80
|
})
|
|
106
81
|
});
|
|
107
82
|
}
|
|
108
|
-
|
|
109
83
|
if (delegationState.error) {
|
|
110
84
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
|
|
111
85
|
title: t('team.transferNode.inviteDialog.title'),
|
|
@@ -119,11 +93,9 @@ function TransferMember(_ref) {
|
|
|
119
93
|
})
|
|
120
94
|
});
|
|
121
95
|
}
|
|
122
|
-
|
|
123
96
|
const onCreate = async () => {
|
|
124
97
|
setError(null);
|
|
125
98
|
setLoading(true);
|
|
126
|
-
|
|
127
99
|
try {
|
|
128
100
|
const {
|
|
129
101
|
inviteInfo: tmpInviteInfo
|
|
@@ -144,17 +116,14 @@ function TransferMember(_ref) {
|
|
|
144
116
|
setLoading(false);
|
|
145
117
|
}
|
|
146
118
|
};
|
|
147
|
-
|
|
148
119
|
const handleTransferNFT = () => {
|
|
149
120
|
setOpenTransferNFTAuth(true);
|
|
150
121
|
setActiveStep(1);
|
|
151
122
|
};
|
|
152
|
-
|
|
153
123
|
const handleCancelTransferNFT = () => {
|
|
154
124
|
setOpenTransferNFTAuth(false);
|
|
155
125
|
setActiveStep(0);
|
|
156
126
|
};
|
|
157
|
-
|
|
158
127
|
const steps = [{
|
|
159
128
|
body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
|
|
160
129
|
component: "div",
|
|
@@ -279,7 +248,6 @@ function TransferMember(_ref) {
|
|
|
279
248
|
})]
|
|
280
249
|
});
|
|
281
250
|
}
|
|
282
|
-
|
|
283
251
|
TransferMember.propTypes = {
|
|
284
252
|
teamDid: _propTypes.default.string.isRequired,
|
|
285
253
|
onCancel: _propTypes.default.func.isRequired,
|
|
@@ -291,5 +259,4 @@ TransferMember.defaultProps = {
|
|
|
291
259
|
onError: () => {},
|
|
292
260
|
endpoint: ''
|
|
293
261
|
};
|
|
294
|
-
|
|
295
262
|
const Bold = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-size: 16px;\n font-weight: bold;\n"])));
|
package/lib/team/members/util.js
CHANGED
|
@@ -4,24 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.parseAvatar = parseAvatar;
|
|
7
|
-
|
|
8
7
|
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
9
|
-
|
|
10
8
|
var _constant = require("@abtnode/constant");
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
// eslint-disable-next-line import/prefer-default-export
|
|
15
11
|
function parseAvatar(avatar, teamDid, inService) {
|
|
16
12
|
if (avatar && avatar.startsWith(_constant.USER_AVATAR_URL_PREFIX)) {
|
|
17
13
|
const prefix = window.env.apiPrefix || '/';
|
|
18
|
-
|
|
19
14
|
if (inService) {
|
|
20
|
-
return (0, _urlJoin.default)(prefix,
|
|
15
|
+
return (0, _urlJoin.default)(prefix, _constant.USER_AVATAR_PATH_PREFIX, avatar.replace(_constant.USER_AVATAR_URL_PREFIX, ''));
|
|
21
16
|
}
|
|
22
|
-
|
|
23
|
-
return (0, _urlJoin.default)(prefix, '/user/avatar', teamDid, avatar.replace(_constant.USER_AVATAR_URL_PREFIX, ''));
|
|
17
|
+
return (0, _urlJoin.default)(prefix, _constant.USER_AVATAR_PATH_PREFIX, teamDid, avatar.replace(_constant.USER_AVATAR_URL_PREFIX, ''));
|
|
24
18
|
}
|
|
25
|
-
|
|
26
19
|
return avatar;
|
|
27
20
|
}
|
|
@@ -4,61 +4,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = PassportDetailWithPermission;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
-
|
|
14
10
|
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
15
|
-
|
|
16
11
|
var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
|
|
17
|
-
|
|
18
12
|
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
19
|
-
|
|
20
13
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
21
|
-
|
|
22
14
|
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
23
|
-
|
|
24
15
|
var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
|
|
25
|
-
|
|
26
16
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
27
|
-
|
|
28
17
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
29
|
-
|
|
30
18
|
var _EditIcon = _interopRequireDefault(require("@arcblock/icons/lib/EditIcon"));
|
|
31
|
-
|
|
32
19
|
var _DeleteIcon = _interopRequireDefault(require("@arcblock/icons/lib/DeleteIcon"));
|
|
33
|
-
|
|
34
20
|
var _toast = _interopRequireDefault(require("../../toast"));
|
|
35
|
-
|
|
36
21
|
var _node = require("../../contexts/node");
|
|
37
|
-
|
|
38
22
|
var _team = require("../../contexts/team");
|
|
39
|
-
|
|
40
23
|
var _util = require("../../util");
|
|
41
|
-
|
|
42
24
|
var _permission = require("../../permission");
|
|
43
|
-
|
|
44
25
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
45
|
-
|
|
46
26
|
var _mutateRole = _interopRequireDefault(require("./mutate-role"));
|
|
47
|
-
|
|
48
27
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
49
|
-
|
|
50
28
|
var _templateObject, _templateObject2;
|
|
51
|
-
|
|
52
29
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
53
|
-
|
|
54
30
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
55
|
-
|
|
56
31
|
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; }
|
|
57
|
-
|
|
58
32
|
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; }
|
|
59
|
-
|
|
60
33
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
61
|
-
|
|
62
34
|
function PassportDetail(_ref) {
|
|
63
35
|
let {
|
|
64
36
|
onCancel,
|
|
@@ -86,10 +58,8 @@ function PassportDetail(_ref) {
|
|
|
86
58
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
87
59
|
const role = (0, _cloneDeep.default)(roles.find(x => x.name === roleName));
|
|
88
60
|
const isProtected = (0, _util.isProtectedRole)(roleName);
|
|
89
|
-
|
|
90
61
|
const deletePassport = async name => {
|
|
91
62
|
if (loading) return;
|
|
92
|
-
|
|
93
63
|
try {
|
|
94
64
|
setLoading(true);
|
|
95
65
|
await api.deleteRole({
|
|
@@ -106,7 +76,6 @@ function PassportDetail(_ref) {
|
|
|
106
76
|
setDelConfirm(null);
|
|
107
77
|
}
|
|
108
78
|
};
|
|
109
|
-
|
|
110
79
|
const getData = async (team, name) => {
|
|
111
80
|
const res = await api.getPermissionsByRole({
|
|
112
81
|
input: {
|
|
@@ -122,11 +91,9 @@ function PassportDetail(_ref) {
|
|
|
122
91
|
}));
|
|
123
92
|
setBinds(bindList);
|
|
124
93
|
};
|
|
125
|
-
|
|
126
94
|
const onBind = async () => {
|
|
127
95
|
setLoading(true);
|
|
128
96
|
const grantNames = binds.filter(x => x.bind).map(x => x.name);
|
|
129
|
-
|
|
130
97
|
try {
|
|
131
98
|
await api.updatePermissionsForRole({
|
|
132
99
|
input: {
|
|
@@ -135,9 +102,7 @@ function PassportDetail(_ref) {
|
|
|
135
102
|
grantNames
|
|
136
103
|
}
|
|
137
104
|
});
|
|
138
|
-
|
|
139
105
|
_toast.default.success(t('common.saveSuccess'));
|
|
140
|
-
|
|
141
106
|
onSuccess();
|
|
142
107
|
} catch (err) {
|
|
143
108
|
_toast.default.error((0, _util.formatError)(err));
|
|
@@ -145,7 +110,6 @@ function PassportDetail(_ref) {
|
|
|
145
110
|
setLoading(false);
|
|
146
111
|
}
|
|
147
112
|
};
|
|
148
|
-
|
|
149
113
|
(0, _react.useEffect)(() => {
|
|
150
114
|
if (teamDid && roleName) {
|
|
151
115
|
getData(teamDid, roleName);
|
|
@@ -227,7 +191,8 @@ function PassportDetail(_ref) {
|
|
|
227
191
|
children: t('common.permission')
|
|
228
192
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
229
193
|
className: "list",
|
|
230
|
-
children: binds
|
|
194
|
+
children: binds
|
|
195
|
+
// if readonly, show obtained permissions only
|
|
231
196
|
.filter(x => readPermissionsOnly ? x.bind : true).map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
232
197
|
className: "item",
|
|
233
198
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
|
|
@@ -239,7 +204,6 @@ function PassportDetail(_ref) {
|
|
|
239
204
|
if (y.name === x.name) {
|
|
240
205
|
y.bind = !y.bind;
|
|
241
206
|
}
|
|
242
|
-
|
|
243
207
|
return y;
|
|
244
208
|
}));
|
|
245
209
|
},
|
|
@@ -272,22 +236,17 @@ function PassportDetail(_ref) {
|
|
|
272
236
|
})]
|
|
273
237
|
});
|
|
274
238
|
}
|
|
275
|
-
|
|
276
239
|
const PassportDetailInDaemon = (0, _permission.withPermission)(PassportDetail, 'mutate_team');
|
|
277
240
|
const PassportDetailInService = (0, _permission.withPermission)(PassportDetail, '', _util.BlockletAdminRoles);
|
|
278
|
-
|
|
279
241
|
function PassportDetailWithPermission(props) {
|
|
280
242
|
const {
|
|
281
243
|
inService
|
|
282
244
|
} = (0, _node.useNodeContext)();
|
|
283
|
-
|
|
284
245
|
if (inService) {
|
|
285
246
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportDetailInService, _objectSpread({}, props));
|
|
286
247
|
}
|
|
287
|
-
|
|
288
248
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportDetailInDaemon, _objectSpread({}, props));
|
|
289
249
|
}
|
|
290
|
-
|
|
291
250
|
PassportDetail.propTypes = {
|
|
292
251
|
roleName: _propTypes.default.string.isRequired,
|
|
293
252
|
onCancel: _propTypes.default.func.isRequired,
|
|
@@ -298,7 +257,5 @@ PassportDetail.propTypes = {
|
|
|
298
257
|
PassportDetail.defaultProps = {
|
|
299
258
|
hasPermission: false
|
|
300
259
|
};
|
|
301
|
-
|
|
302
260
|
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .header {\n .title {\n font-weight: 400;\n font-size: 24px;\n line-height: 28px;\n color: #222222;\n }\n\n .description {\n margin-top: 16px;\n font-weight: 400;\n font-size: 16px;\n line-height: 19px;\n color: #999999;\n }\n }\n\n .bind {\n margin-top: 24px;\n .title {\n font-weight: 400;\n font-size: 16px;\n line-height: 19px;\n color: #666666;\n margin-bottom: 24px;\n }\n .item {\n margin-top: 24px;\n }\n\n .MuiFormControlLabel-label {\n font-weight: 400;\n font-size: 16px;\n line-height: 19px;\n color: #666;\n }\n\n .PrivateSwitchBase-root-45 {\n padding: 0;\n padding-right: 12px;\n }\n }\n"])));
|
|
303
|
-
|
|
304
261
|
const Center = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 200px;\n"])));
|