@abtnode/ux 1.16.13 → 1.16.14-beta-0c29907f

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.
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _SvgIcon = _interopRequireDefault(require("@mui/material/SvgIcon"));
8
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
9
+ var _Stars = _interopRequireDefault(require("@mui/icons-material/Stars"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
12
+ var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
13
+ var _context = require("@arcblock/ux/lib/Locale/context");
14
+ var _Address = _interopRequireDefault(require("@arcblock/did-connect/lib/Address"));
15
+ var _react = require("react");
16
+ var _ahooks = require("ahooks");
17
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
18
+ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
19
+ var _blocklet = require("../../contexts/blocklet");
20
+ var _node = require("../../contexts/node");
21
+ var _confirm = _interopRequireDefault(require("../../hooks/confirm"));
22
+ var _federatedDetailDialog = _interopRequireDefault(require("./federated-detail-dialog"));
23
+ var _federatedInviteDialog = _interopRequireDefault(require("./federated-invite-dialog"));
24
+ var _switchControl = _interopRequireDefault(require("../component/switch-control"));
25
+ var _jsxRuntime = require("react/jsx-runtime");
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ /* eslint-disable react/no-unstable-nested-components */
28
+
29
+ function FederatedSiteList(_ref) {
30
+ var _blocklet$settings$fe, _blocklet$settings$fe2, _blocklet$site2, _blocklet$site2$domai, _blocklet$site2$domai2;
31
+ let {
32
+ mode
33
+ } = _ref;
34
+ const federatedInviteDialogRef = (0, _react.useRef)(null);
35
+ const federatedDetailDialogRef = (0, _react.useRef)(null);
36
+ const {
37
+ t,
38
+ locale
39
+ } = (0, _react.useContext)(_context.LocaleContext);
40
+ const {
41
+ blocklet,
42
+ actions: {
43
+ refreshBlocklet
44
+ }
45
+ } = (0, _blocklet.useBlockletContext)();
46
+ const {
47
+ confirmApi,
48
+ confirmHolder
49
+ } = (0, _confirm.default)();
50
+ const {
51
+ api
52
+ } = (0, _node.useNodeContext)();
53
+ const federatedSites = ((_blocklet$settings$fe = blocklet.settings.federated) === null || _blocklet$settings$fe === void 0 ? void 0 : _blocklet$settings$fe.sites) || [];
54
+ const federatedConfig = ((_blocklet$settings$fe2 = blocklet.settings.federated) === null || _blocklet$settings$fe2 === void 0 ? void 0 : _blocklet$settings$fe2.config) || {
55
+ autoLogin: false
56
+ };
57
+ const isMaster = federatedConfig.isMaster !== false;
58
+ const viewDetail = (0, _ahooks.useMemoizedFn)(row => {
59
+ var _federatedDetailDialo;
60
+ (_federatedDetailDialo = federatedDetailDialogRef.current) === null || _federatedDetailDialo === void 0 ? void 0 : _federatedDetailDialo.open(row);
61
+ });
62
+ const approveSite = (0, _ahooks.useMemoizedFn)(row => {
63
+ var _federatedDetailDialo2;
64
+ (_federatedDetailDialo2 = federatedDetailDialogRef.current) === null || _federatedDetailDialo2 === void 0 ? void 0 : _federatedDetailDialo2.approve(row, refreshBlocklet);
65
+ });
66
+ const toRevokeSite = (0, _ahooks.useMemoizedFn)(row => {
67
+ confirmApi.open({
68
+ title: t('federated.disableFederatedLogin'),
69
+ content: t('federated.disableFederatedLoginDescription'),
70
+ async onConfirm(close) {
71
+ await api.auditFederatedLogin({
72
+ input: {
73
+ appId: row.appId,
74
+ did: blocklet.meta.did,
75
+ status: 'revoked'
76
+ }
77
+ });
78
+ close();
79
+ }
80
+ });
81
+ });
82
+ const toApproveSite = (0, _ahooks.useMemoizedFn)(row => {
83
+ confirmApi.open({
84
+ title: t('federated.enableFederatedLogin'),
85
+ content: t('federated.enableFederatedLoginDescription'),
86
+ async onConfirm(close) {
87
+ await api.auditFederatedLogin({
88
+ input: {
89
+ appId: row.appId,
90
+ did: blocklet.meta.did,
91
+ status: 'approved'
92
+ }
93
+ });
94
+ close();
95
+ }
96
+ });
97
+ });
98
+ const columns = (0, _ahooks.useCreation)(() => {
99
+ const list = [{
100
+ label: t('common.name'),
101
+ name: 'appName',
102
+ options: {
103
+ customBodyRenderLite: rowIndex => {
104
+ const row = federatedSites[rowIndex];
105
+ const isSelfMaster = row.isMaster !== false;
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
107
+ display: "inline-block",
108
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
109
+ component: "a",
110
+ display: "flex",
111
+ alignItems: "center",
112
+ href: row.appUrl,
113
+ target: "_blank",
114
+ onClick: e => {
115
+ e.stopPropagation();
116
+ },
117
+ children: [isSelfMaster && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
118
+ component: _Stars.default,
119
+ style: {
120
+ marginRight: '4px'
121
+ }
122
+ }), row.appName]
123
+ })
124
+ });
125
+ }
126
+ }
127
+ }, {
128
+ label: t('common.did'),
129
+ name: 'appId',
130
+ options: {
131
+ customBodyRenderLite: rowIndex => {
132
+ const row = federatedSites[rowIndex];
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
134
+ children: row.appId
135
+ });
136
+ }
137
+ }
138
+ }, {
139
+ label: t('common.status'),
140
+ name: 'status',
141
+ options: {
142
+ customBodyRenderLite: rowIndex => {
143
+ const row = federatedSites[rowIndex];
144
+ const isSelfMaster = row.isMaster !== false;
145
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
146
+ children: isSelfMaster ? '-' : t("federated.status.".concat(row.status))
147
+ });
148
+ }
149
+ }
150
+ }];
151
+ if (isMaster) {
152
+ list.push({
153
+ label: t('common.actions'),
154
+ name: 'actions',
155
+ options: {
156
+ customBodyRenderLite: rowIndex => {
157
+ const row = federatedSites[rowIndex];
158
+ const isSelfMaster = row.isMaster !== false;
159
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
160
+ display: "flex",
161
+ gap: 1,
162
+ children: !isSelfMaster ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
163
+ children: [row.status === 'pending' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
164
+ variant: "contained",
165
+ color: "primary",
166
+ size: "small",
167
+ onClick: e => {
168
+ e.stopPropagation();
169
+ approveSite(row);
170
+ },
171
+ children: t('federated.status.pending')
172
+ }), row.status === 'approved' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
173
+ variant: "contained",
174
+ color: "error",
175
+ size: "small",
176
+ onClick: e => {
177
+ e.stopPropagation();
178
+ toRevokeSite(row);
179
+ },
180
+ style: {
181
+ whiteSpace: 'nowrap'
182
+ },
183
+ children: t('federated.revoke')
184
+ }), row.status === 'revoked' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
185
+ variant: "contained",
186
+ color: "warning",
187
+ size: "small",
188
+ onClick: e => {
189
+ e.stopPropagation();
190
+ toApproveSite(row);
191
+ },
192
+ style: {
193
+ whiteSpace: 'nowrap'
194
+ },
195
+ children: t('federated.approve')
196
+ })]
197
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
198
+ children: [row.status === 'rejected' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
199
+ variant: "contained",
200
+ color: "error",
201
+ size: "small",
202
+ onClick: e => {
203
+ e.stopPropagation();
204
+ },
205
+ children: t('federated.status.rejected')
206
+ }), row.status === 'revoked' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
207
+ variant: "contained",
208
+ color: "secondary",
209
+ size: "small",
210
+ onClick: e => {
211
+ e.stopPropagation();
212
+ },
213
+ children: t('federated.status.revoked')
214
+ })]
215
+ })
216
+ });
217
+ }
218
+ }
219
+ });
220
+ }
221
+ return list;
222
+ }, [federatedConfig.appId, federatedSites, isMaster]);
223
+ const tableOptions = (0, _ahooks.useCreation)(() => {
224
+ return {
225
+ sort: true,
226
+ download: false,
227
+ filter: false,
228
+ print: false,
229
+ expandableRowsOnClick: true,
230
+ onRowClick(e, _ref2) {
231
+ let {
232
+ dataIndex
233
+ } = _ref2;
234
+ const x = federatedSites[dataIndex];
235
+ viewDetail(x);
236
+ }
237
+ };
238
+ }, []);
239
+ const showInvite = (0, _ahooks.useMemoizedFn)(() => {
240
+ var _blocklet$site, _blocklet$site$domain, _blocklet$site$domain2;
241
+ const link = (_blocklet$site = blocklet.site) === null || _blocklet$site === void 0 ? void 0 : (_blocklet$site$domain = _blocklet$site.domainAliases) === null || _blocklet$site$domain === void 0 ? void 0 : (_blocklet$site$domain2 = _blocklet$site$domain[0]) === null || _blocklet$site$domain2 === void 0 ? void 0 : _blocklet$site$domain2.href;
242
+ if (link) {
243
+ try {
244
+ var _federatedInviteDialo;
245
+ const url = new URL(link);
246
+ (_federatedInviteDialo = federatedInviteDialogRef.current) === null || _federatedInviteDialo === void 0 ? void 0 : _federatedInviteDialo.open({
247
+ link: url.origin
248
+ });
249
+ } catch (_unused) {
250
+ _Toast.default.error(t('federated.failedToGetFederatedLoginLink'));
251
+ }
252
+ }
253
+ }, [(_blocklet$site2 = blocklet.site) === null || _blocklet$site2 === void 0 ? void 0 : (_blocklet$site2$domai = _blocklet$site2.domainAliases) === null || _blocklet$site2$domai === void 0 ? void 0 : (_blocklet$site2$domai2 = _blocklet$site2$domai[0]) === null || _blocklet$site2$domai2 === void 0 ? void 0 : _blocklet$site2$domai2.href]);
254
+ const [checked, setChecked] = (0, _react.useState)(federatedConfig.autoLogin || false);
255
+ const changeAutoLogin = (0, _ahooks.useMemoizedFn)(() => {
256
+ confirmApi.open({
257
+ title: checked ? t('federated.disableFederatedAutoLogin') : t('federated.enableFederatedAutoLogin'),
258
+ content: checked ? t('federated.disableFederatedAutoLoginDescription') : t('federated.enableFederatedAutoLoginDescription'),
259
+ async onConfirm(close) {
260
+ await api.configFederated({
261
+ input: {
262
+ did: blocklet.meta.did,
263
+ autoLogin: !checked
264
+ }
265
+ });
266
+ setChecked(prevValue => !prevValue);
267
+ close();
268
+ }
269
+ });
270
+ }, [setChecked, checked]);
271
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
272
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {
273
+ className: "main-table",
274
+ locale: locale,
275
+ data: federatedSites,
276
+ columns: columns,
277
+ title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
278
+ className: "table-toolbar-left",
279
+ children: mode === 'master' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
280
+ variant: "contained",
281
+ onClick: showInvite,
282
+ children: t('federated.inviteJoinFederatedLogin')
283
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
284
+ sx: {
285
+ ml: 0,
286
+ '& span.MuiSwitch-switchBase': {
287
+ display: 'flex'
288
+ },
289
+ '& span.MuiSwitch-track': {
290
+ display: 'block'
291
+ }
292
+ },
293
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_switchControl.default, {
294
+ checked: checked,
295
+ style: {
296
+ marginRight: '6px'
297
+ },
298
+ onChange: changeAutoLogin
299
+ }),
300
+ label: t('federated.enableFederatedAutoLogin')
301
+ })
302
+ }),
303
+ options: tableOptions
304
+ }), confirmHolder, /*#__PURE__*/(0, _jsxRuntime.jsx)(_federatedInviteDialog.default, {
305
+ ref: federatedInviteDialogRef
306
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_federatedDetailDialog.default, {
307
+ ref: federatedDetailDialogRef
308
+ })]
309
+ });
310
+ }
311
+ FederatedSiteList.propTypes = {
312
+ mode: _propTypes.default.oneOf(['member', 'master'])
313
+ };
314
+ FederatedSiteList.defaultProps = {
315
+ mode: 'member'
316
+ };
317
+ var _default = FederatedSiteList;
318
+ exports.default = _default;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = FederatedLogin;
7
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
8
+ var _context = require("@arcblock/ux/lib/Locale/context");
9
+ var _react = require("react");
10
+ var _ahooks = require("ahooks");
11
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
12
+ var _material = require("@mui/material");
13
+ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
14
+ var _blocklet = require("../../contexts/blocklet");
15
+ var _federatedSiteList = _interopRequireDefault(require("./federated-site-list"));
16
+ var _federatedJoinDialog = _interopRequireDefault(require("./federated-join-dialog"));
17
+ var _federatedInviteDialog = _interopRequireDefault(require("./federated-invite-dialog"));
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ /* eslint-disable react/no-unstable-nested-components */
21
+
22
+ function FederatedLogin() {
23
+ var _blocklet$site2, _blocklet$site2$domai, _blocklet$site2$domai2, _blocklet$settings$fe;
24
+ const federatedInviteRef = (0, _react.useRef)(null);
25
+ const federatedJoinRef = (0, _react.useRef)(null);
26
+ const {
27
+ t
28
+ } = (0, _react.useContext)(_context.LocaleContext);
29
+ const {
30
+ blocklet,
31
+ actions: {
32
+ refreshBlocklet
33
+ }
34
+ } = (0, _blocklet.useBlockletContext)();
35
+ const showInvite = (0, _ahooks.useMemoizedFn)(() => {
36
+ var _blocklet$site, _blocklet$site$domain, _blocklet$site$domain2;
37
+ const link = (_blocklet$site = blocklet.site) === null || _blocklet$site === void 0 ? void 0 : (_blocklet$site$domain = _blocklet$site.domainAliases) === null || _blocklet$site$domain === void 0 ? void 0 : (_blocklet$site$domain2 = _blocklet$site$domain[0]) === null || _blocklet$site$domain2 === void 0 ? void 0 : _blocklet$site$domain2.href;
38
+ if (link) {
39
+ try {
40
+ var _federatedInviteRef$c;
41
+ const url = new URL(link);
42
+ (_federatedInviteRef$c = federatedInviteRef.current) === null || _federatedInviteRef$c === void 0 ? void 0 : _federatedInviteRef$c.open({
43
+ link: url.origin
44
+ });
45
+ } catch (_unused) {
46
+ _Toast.default.error(t('federated.failedToGetFederatedLoginLink'));
47
+ }
48
+ }
49
+ }, [(_blocklet$site2 = blocklet.site) === null || _blocklet$site2 === void 0 ? void 0 : (_blocklet$site2$domai = _blocklet$site2.domainAliases) === null || _blocklet$site2$domai === void 0 ? void 0 : (_blocklet$site2$domai2 = _blocklet$site2$domai[0]) === null || _blocklet$site2$domai2 === void 0 ? void 0 : _blocklet$site2$domai2.href]);
50
+ const joinInvite = (0, _ahooks.useMemoizedFn)(() => {
51
+ var _federatedJoinRef$cur;
52
+ (_federatedJoinRef$cur = federatedJoinRef.current) === null || _federatedJoinRef$cur === void 0 ? void 0 : _federatedJoinRef$cur.open(() => {
53
+ refreshBlocklet();
54
+ });
55
+ }, [refreshBlocklet]);
56
+ if (((_blocklet$settings$fe = blocklet.settings.federated) === null || _blocklet$settings$fe === void 0 ? void 0 : _blocklet$settings$fe.sites.length) > 0) {
57
+ var _blocklet$settings$fe2;
58
+ const isMaster = ((_blocklet$settings$fe2 = blocklet.settings.federated) === null || _blocklet$settings$fe2 === void 0 ? void 0 : _blocklet$settings$fe2.config.isMaster) !== false;
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_federatedSiteList.default, {
60
+ mode: isMaster ? 'master' : 'member'
61
+ });
62
+ }
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
65
+ display: "flex",
66
+ flexDirection: "column",
67
+ gap: 2,
68
+ justifyContent: "center",
69
+ alignItems: "center",
70
+ minHeight: "200px",
71
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
72
+ variant: "contained",
73
+ onClick: showInvite,
74
+ children: t('federated.inviteJoinFederatedLogin')
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Divider, {
76
+ sx: {
77
+ width: '150px',
78
+ color: 'rgba(0, 0, 0, 0.3)'
79
+ },
80
+ children: "OR"
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
82
+ variant: "outlined",
83
+ onClick: joinInvite,
84
+ children: t('federated.joinFederatedLogin')
85
+ })]
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_federatedInviteDialog.default, {
87
+ ref: federatedInviteRef
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_federatedJoinDialog.default, {
89
+ ref: federatedJoinRef
90
+ })]
91
+ });
92
+ }
@@ -12,6 +12,7 @@ var _ahooks = require("ahooks");
12
12
  var _react = require("react");
13
13
  var _auth = _interopRequireDefault(require("./auth0"));
14
14
  var _commonSettings = _interopRequireDefault(require("./common-settings"));
15
+ var _federated = _interopRequireDefault(require("./federated"));
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  function OAuth() {
@@ -25,6 +26,13 @@ function OAuth() {
25
26
  children: t('oauth.commonSettings')
26
27
  }),
27
28
  value: 'settings'
29
+ }, {
30
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
31
+ textAlign: "center",
32
+ width: "100%",
33
+ children: t('oauth.federated')
34
+ }),
35
+ value: 'federated'
28
36
  }, {
29
37
  label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
30
38
  textAlign: "center",
@@ -43,6 +51,7 @@ function OAuth() {
43
51
  const [currentTab, setCurrentTab] = (0, _react.useState)(tabs[0].value);
44
52
  const contents = (0, _ahooks.useCreation)(() => ({
45
53
  auth0: /*#__PURE__*/(0, _jsxRuntime.jsx)(_auth.default, {}),
54
+ federated: /*#__PURE__*/(0, _jsxRuntime.jsx)(_federated.default, {}),
46
55
  more: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
47
56
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
48
57
  children: t('oauth.comingSoon')
@@ -210,7 +210,11 @@ function SpacesBackupRecords(_ref2) {
210
210
  }];
211
211
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, _objectSpread(_objectSpread({}, rest), {}, {
212
212
  children: backups !== null && backups !== void 0 && backups.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {
213
- title: t('storage.spaces.backup.records'),
213
+ title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
214
+ fontSize: "1.2rem",
215
+ fontWeight: "bold",
216
+ children: t('storage.spaces.backup.records')
217
+ }),
214
218
  data: backups,
215
219
  columns: columns,
216
220
  emptyNode: t('storage.spaces.record.emptyData', locale),
@@ -219,10 +223,23 @@ function SpacesBackupRecords(_ref2) {
219
223
  filter: false,
220
224
  print: false
221
225
  }
222
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
223
- color: "#9397A1",
224
- marginTop: "24px",
225
- children: t('storage.spaces.record.emptyData')
226
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
227
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
228
+ display: "flex",
229
+ height: "56px",
230
+ lineHeight: "56px",
231
+ alignItems: "center",
232
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
233
+ fontSize: "1.2rem",
234
+ fontWeight: "bold",
235
+ children: t('storage.spaces.backup.records')
236
+ })
237
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
238
+ color: "#9397A1",
239
+ marginTop: "16px",
240
+ marginBottom: "24px",
241
+ children: t('storage.spaces.record.emptyData')
242
+ })]
226
243
  })
227
244
  }));
228
245
  }
@@ -13,13 +13,11 @@ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
13
13
  var _urlJoin = _interopRequireDefault(require("url-join"));
14
14
  var _constant = require("@blocklet/constant");
15
15
  var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
16
- var _Address = _interopRequireDefault(require("@arcblock/ux/lib/Address"));
17
- var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
18
16
  var _ahooks = require("ahooks");
19
- var _didMotif = require("@arcblock/did-motif");
20
17
  var _lodash = require("lodash");
21
18
  var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
22
19
  var _styled = _interopRequireDefault(require("@emotion/styled"));
20
+ var _didAddress = _interopRequireDefault(require("../../did-address"));
23
21
  var _switchControl = _interopRequireDefault(require("../component/switch-control"));
24
22
  var _action = _interopRequireDefault(require("./action"));
25
23
  var _mode = require("../../util/mode");
@@ -368,29 +366,12 @@ function SpaceItem(_ref) {
368
366
  fontSize: '14px'
369
367
  },
370
368
  color: "#9397A1",
371
- children: spaceGateway.did && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
372
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
373
- fontSize: "14px",
374
- color: (0, _didMotif.getDIDMotifInfo)(spaceGateway.did).color,
375
- children: "DID:ABT:"
376
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
377
- style: {
378
- display: 'inline-flex',
379
- marginLeft: '8px'
380
- },
381
- copyable: false,
382
- size: 14,
383
- compact: true,
384
- responsive: false,
385
- prepend: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
386
- did: spaceGateway.did,
387
- size: 16,
388
- style: {
389
- marginRight: 8
390
- }
391
- }),
392
- children: spaceGateway.did
393
- })]
369
+ children: spaceGateway.did && /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {
370
+ copyable: false,
371
+ size: 14,
372
+ compact: true,
373
+ responsive: false,
374
+ did: spaceGateway.did
394
375
  })
395
376
  })
396
377
  })]
@@ -9,6 +9,7 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _templateObject;
12
+ /* eslint-disable jsx-a11y/alt-text */
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
14
15
  function CardSelector(_ref) {
@@ -70,7 +71,7 @@ function CardSelector(_ref) {
70
71
  transform: "translate(".concat(-translateX, "px, 0)")
71
72
  },
72
73
  children: list.map((e, i) => {
73
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
74
75
  className: "card-item ".concat(i === selectedId ? 'selected' : ''),
75
76
  style: {
76
77
  width,
@@ -81,16 +82,18 @@ function CardSelector(_ref) {
81
82
  ,
82
83
 
83
84
  onClick: () => selectedItem(i),
84
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
85
- src: e.src,
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("object", {
86
+ data: e.src,
86
87
  alt: e.name
87
- })
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
89
+ className: "card-item-cover"
90
+ })]
88
91
  }, i);
89
92
  })
90
93
  })
91
94
  });
92
95
  }
93
- const Contianer = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n mask-image: linear-gradient(to left, transparent, black 3%, black 97%, transparent);\n overflow: hidden;\n .card-container {\n display: flex;\n white-space: nowrap;\n width: max-content;\n transition: all ease 0.3s;\n }\n .card-item {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n cursor: pointer;\n img {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n outline: #526ded solid 0;\n transition: all ease 0.2s;\n box-shadow: rgba(0, 0, 0, 0.2) 0 0 10px;\n }\n &.selected {\n cursor: default;\n img {\n outline: #526ded solid 5px;\n }\n }\n }\n"])));
96
+ const Contianer = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n mask-image: linear-gradient(to left, transparent, black 3%, black 97%, transparent);\n overflow: hidden;\n .card-container {\n display: flex;\n white-space: nowrap;\n width: max-content;\n transition: all ease 0.3s;\n }\n .card-item {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n cursor: pointer;\n position: relative;\n\n .card-item-cover {\n position: absolute;\n width: 100%;\n height: 100%;\n cursor: pointer;\n z-index: 99;\n }\n\n object {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n outline: #526ded solid 0;\n transition: all ease 0.2s;\n box-shadow: rgba(0, 0, 0, 0.2) 0 0 10px;\n }\n &.selected {\n cursor: default;\n object {\n outline: #526ded solid 5px;\n }\n }\n }\n"])));
94
97
  CardSelector.propTypes = {
95
98
  list: _propTypes.default.array,
96
99
  width: _propTypes.default.number,
@@ -25,10 +25,13 @@ function AuditLogProvider(_ref) {
25
25
  let {
26
26
  children,
27
27
  scope = '',
28
- categories = []
28
+ categories = [],
29
+ showScope,
30
+ scopeFormatter
29
31
  } = _ref;
30
32
  const {
31
- api: client
33
+ api: client,
34
+ info: nodeInfo
32
35
  } = (0, _node.useNodeContext)();
33
36
  const [auditLogs, setAuditLogs] = (0, _react.useState)([]);
34
37
  const [paging, setPaging] = (0, _react.useState)({
@@ -101,6 +104,15 @@ function AuditLogProvider(_ref) {
101
104
  scope
102
105
  }
103
106
  });
107
+
108
+ // add link for blocklet audit logs
109
+ if (showScope) {
110
+ (res.list || []).forEach(x => {
111
+ if (x.scope !== nodeInfo.did) {
112
+ x.link = "/blocklets/".concat(x.scope, "/components");
113
+ }
114
+ });
115
+ }
104
116
  setAuditLogs(res.list);
105
117
  setPaging(res.paging);
106
118
  setLoading(false);
@@ -133,7 +145,9 @@ function AuditLogProvider(_ref) {
133
145
  categories: filterCategories,
134
146
  setCategory,
135
147
  data: auditLogs,
136
- paging
148
+ paging,
149
+ showScope,
150
+ scopeFormatter
137
151
  };
138
152
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Provider, {
139
153
  value: {