@abtnode/ux 1.8.33 → 1.8.34
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/index.js +60 -30
- package/lib/blocklet/component/line.js +28 -0
- package/lib/blocklet/configuration.js +178 -3
- package/lib/blocklet/overview.js +127 -10
- package/lib/blocklet/router/action/add-domain-alias.js +170 -0
- package/lib/blocklet/router/action/add-rule.js +196 -0
- package/lib/blocklet/router/action/config-routing-rule.js +125 -0
- package/lib/blocklet/router/action/delete-domain-alias.js +105 -0
- package/lib/blocklet/router/action/delete-rule.js +114 -0
- package/lib/blocklet/router/action/update-rule.js +195 -0
- package/lib/blocklet/router/domain-actions.js +71 -0
- package/lib/blocklet/router/domain-status.js +96 -0
- package/lib/blocklet/router/rule-actions.js +75 -0
- package/lib/blocklet/router/rule-list.js +179 -0
- package/lib/blocklet/router/util.js +146 -0
- package/lib/blocklet/types.js +25 -0
- package/lib/blocklet/util.js +87 -2
- package/lib/certificate.js +110 -0
- package/lib/contexts/blocklet.js +19 -0
- package/lib/delete-confirm.js +125 -0
- package/lib/form/form-text-input.js +9 -2
- package/lib/hooks/blocklet.js +168 -0
- package/lib/hooks/url-evaluation.js +157 -0
- package/lib/hooks/use-subscription.js +28 -0
- package/lib/locales/en.js +2 -1
- package/lib/locales/zh.js +2 -1
- package/lib/team/members/index.js +7 -1
- package/lib/team/members/member.js +3 -0
- package/lib/util/index.js +70 -5
- package/package.json +12 -12
|
@@ -47,6 +47,9 @@ var _avatar = _interopRequireDefault(require("../avatar"));
|
|
|
47
47
|
var _mode = _interopRequireDefault(require("../mode"));
|
|
48
48
|
var _configuration = _interopRequireDefault(require("./configuration"));
|
|
49
49
|
var _delete = _interopRequireDefault(require("./delete"));
|
|
50
|
+
var _line = _interopRequireDefault(require("./line"));
|
|
51
|
+
var _addRule = _interopRequireDefault(require("../router/action/add-rule"));
|
|
52
|
+
var _ruleList = _interopRequireDefault(require("../router/rule-list"));
|
|
50
53
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
51
54
|
const _excluded = ["blocklet", "onUpdate", "getComponentUrl", "AddComponent"];
|
|
52
55
|
var _templateObject, _templateObject2;
|
|
@@ -357,13 +360,9 @@ function ComponentItem(_ref) {
|
|
|
357
360
|
tip: deleteDisabledTip
|
|
358
361
|
})]
|
|
359
362
|
}, "actions")]
|
|
360
|
-
}, "group-not-gateway-box"), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
borderBottom: 1,
|
|
364
|
-
borderColor: 'rgba(0,0,0,0.12)'
|
|
365
|
-
}
|
|
366
|
-
}, "group-collapse-box"), (_blocklet$children = blocklet.children) !== null && _blocklet$children !== void 0 && _blocklet$children.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Collapse.default, {
|
|
363
|
+
}, "group-not-gateway-box"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_line.default, {
|
|
364
|
+
depth: depth
|
|
365
|
+
}), (_blocklet$children = blocklet.children) !== null && _blocklet$children !== void 0 && _blocklet$children.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Collapse.default, {
|
|
367
366
|
in: expand,
|
|
368
367
|
children: blocklet.children.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentItem, {
|
|
369
368
|
blocklet: x,
|
|
@@ -618,34 +617,58 @@ function BlockletComponent(_ref4) {
|
|
|
618
617
|
})
|
|
619
618
|
})]
|
|
620
619
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {
|
|
621
|
-
permission:
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
620
|
+
permission: inService ? '' : 'mutate_blocklet',
|
|
621
|
+
role: inService ? _util2.BlockletAdminRoles : [],
|
|
622
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
623
|
+
display: "flex",
|
|
624
|
+
alignItems: "center",
|
|
625
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_addRule.default, {
|
|
626
|
+
children: _ref6 => {
|
|
627
|
+
let {
|
|
628
|
+
open
|
|
629
|
+
} = _ref6;
|
|
630
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
631
|
+
disabled: loading || (0, _util2.isInProgress)(blocklet.status),
|
|
632
|
+
variant: "text",
|
|
633
|
+
color: "primary",
|
|
634
|
+
"data-cy": "add-rule",
|
|
635
|
+
onClick: open,
|
|
636
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
|
|
637
|
+
style: {
|
|
638
|
+
fontSize: '1.3em',
|
|
639
|
+
marginRight: 4
|
|
640
|
+
}
|
|
641
|
+
}), t('router.rule.add.title')]
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AddComponent, {
|
|
645
|
+
blocklet: blocklet,
|
|
646
|
+
children: _ref7 => {
|
|
647
|
+
let {
|
|
648
|
+
open
|
|
649
|
+
} = _ref7;
|
|
650
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
651
|
+
disabled: loading || (0, _util2.isInProgress)(blocklet.status),
|
|
652
|
+
variant: "text",
|
|
653
|
+
color: "primary",
|
|
654
|
+
"data-cy": "add-component",
|
|
655
|
+
onClick: open,
|
|
656
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
|
|
657
|
+
style: {
|
|
658
|
+
fontSize: '1.3em',
|
|
659
|
+
marginRight: 4
|
|
660
|
+
}
|
|
661
|
+
}), t('blocklet.component.add')]
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
})]
|
|
642
665
|
})
|
|
643
666
|
})]
|
|
644
667
|
}), components && components.length ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
645
668
|
mt: 2,
|
|
646
669
|
ml: {
|
|
647
|
-
xs: '-
|
|
648
|
-
md: '-
|
|
670
|
+
xs: '-12px',
|
|
671
|
+
md: '-24px'
|
|
649
672
|
},
|
|
650
673
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentItem, {
|
|
651
674
|
blocklet: blocklet,
|
|
@@ -657,6 +680,13 @@ function BlockletComponent(_ref4) {
|
|
|
657
680
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
|
|
658
681
|
children: t('blocklet.component.noComponent')
|
|
659
682
|
})
|
|
683
|
+
}), !!blocklet.site.rules.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
684
|
+
mt: 0,
|
|
685
|
+
ml: {
|
|
686
|
+
xs: '-16px',
|
|
687
|
+
md: '-28px'
|
|
688
|
+
},
|
|
689
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ruleList.default, {})
|
|
660
690
|
}), !!updateConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
|
|
661
691
|
open: true,
|
|
662
692
|
fullWidth: true,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Line;
|
|
7
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function Line(_ref) {
|
|
12
|
+
let {
|
|
13
|
+
depth
|
|
14
|
+
} = _ref;
|
|
15
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
16
|
+
ml: Math.max((depth - 1) * 2, 0),
|
|
17
|
+
sx: {
|
|
18
|
+
borderBottom: 1,
|
|
19
|
+
borderColor: 'rgba(0,0,0,0.12)'
|
|
20
|
+
}
|
|
21
|
+
}, "group-collapse-box");
|
|
22
|
+
}
|
|
23
|
+
Line.propTypes = {
|
|
24
|
+
depth: _propTypes.default.number
|
|
25
|
+
};
|
|
26
|
+
Line.defaultProps = {
|
|
27
|
+
depth: 1
|
|
28
|
+
};
|
|
@@ -9,21 +9,32 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
11
11
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
12
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
12
13
|
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
13
14
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
14
15
|
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
15
16
|
var _useTheme = _interopRequireDefault(require("@mui/material/styles/useTheme"));
|
|
16
17
|
var _Switch = _interopRequireDefault(require("@mui/material/Switch"));
|
|
17
18
|
var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
|
|
19
|
+
var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
|
|
20
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
21
|
+
var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
|
|
18
22
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
23
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
24
|
+
var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
|
|
25
|
+
var _LockIcon = _interopRequireDefault(require("@arcblock/icons/lib/LockIcon"));
|
|
19
26
|
var _constant = require("@blocklet/constant");
|
|
20
27
|
var _util = require("@blocklet/meta/lib/util");
|
|
21
28
|
var _toast = _interopRequireDefault(require("../toast"));
|
|
22
29
|
var _schemaForm = _interopRequireDefault(require("../schema-form"));
|
|
30
|
+
var _formTextInput = _interopRequireDefault(require("../form/form-text-input"));
|
|
23
31
|
var _config = _interopRequireDefault(require("../who-can-access/config"));
|
|
24
32
|
var _node = require("../contexts/node");
|
|
25
33
|
var _util2 = require("../util");
|
|
26
34
|
var _permission = require("../permission");
|
|
35
|
+
var _addDomainAlias = _interopRequireDefault(require("./router/action/add-domain-alias"));
|
|
36
|
+
var _domainStatus = _interopRequireDefault(require("./router/domain-status"));
|
|
37
|
+
var _domainActions = _interopRequireDefault(require("./router/domain-actions"));
|
|
27
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
28
39
|
var _templateObject, _templateObject2;
|
|
29
40
|
const _excluded = ["blocklet", "onUpdate", "hasPermission"],
|
|
@@ -61,6 +72,15 @@ function BlockletEnvironment(_ref) {
|
|
|
61
72
|
useSubscription
|
|
62
73
|
}
|
|
63
74
|
} = node;
|
|
75
|
+
const {
|
|
76
|
+
did
|
|
77
|
+
} = blocklet.meta;
|
|
78
|
+
const {
|
|
79
|
+
site
|
|
80
|
+
} = blocklet;
|
|
81
|
+
const {
|
|
82
|
+
domainAliases
|
|
83
|
+
} = site;
|
|
64
84
|
const clusterMode = (0, _get.default)(blocklet.meta, 'capabilities.clusterMode', false);
|
|
65
85
|
useSubscription('system.info', res => {
|
|
66
86
|
if (clusterMode) {
|
|
@@ -273,6 +293,29 @@ function BlockletEnvironment(_ref) {
|
|
|
273
293
|
setLoading(false);
|
|
274
294
|
}
|
|
275
295
|
};
|
|
296
|
+
const onUpdateCors = async value => {
|
|
297
|
+
const oldValue = site.corsAllowedOrigins || [];
|
|
298
|
+
const newValue = value.split(',').map(x => x.trim()).filter(Boolean);
|
|
299
|
+
if ((0, _isEqual.default)(oldValue, newValue)) {
|
|
300
|
+
return false;
|
|
301
|
+
}
|
|
302
|
+
try {
|
|
303
|
+
setLoading(true);
|
|
304
|
+
await node.api.updateRoutingSite({
|
|
305
|
+
input: {
|
|
306
|
+
id: site.id,
|
|
307
|
+
corsAllowedOrigins: value.split(',').map(x => x.trim()),
|
|
308
|
+
teamDid: blocklet.meta.did
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
setLoading(false);
|
|
312
|
+
} catch (err) {
|
|
313
|
+
_toast.default.error(err.message);
|
|
314
|
+
setLoading(false);
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
return true;
|
|
318
|
+
};
|
|
276
319
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({}, rest), {}, {
|
|
277
320
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_schemaForm.default, {
|
|
278
321
|
disabled: disabled,
|
|
@@ -378,6 +421,138 @@ function BlockletEnvironment(_ref) {
|
|
|
378
421
|
className: "config-form",
|
|
379
422
|
component: _Divider.default,
|
|
380
423
|
my: 3
|
|
424
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
425
|
+
className: "config-form",
|
|
426
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
427
|
+
display: "flex",
|
|
428
|
+
justifyContent: "space-between",
|
|
429
|
+
alignItems: "center",
|
|
430
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
431
|
+
className: "config-label",
|
|
432
|
+
children: t('common.domain')
|
|
433
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
434
|
+
display: "flex",
|
|
435
|
+
alignItems: "center",
|
|
436
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_addDomainAlias.default, {
|
|
437
|
+
id: site.id,
|
|
438
|
+
title: t('router.domain.add.title'),
|
|
439
|
+
teamDid: did,
|
|
440
|
+
children: _ref3 => {
|
|
441
|
+
let {
|
|
442
|
+
open
|
|
443
|
+
} = _ref3;
|
|
444
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
445
|
+
style: {
|
|
446
|
+
marginLeft: 16
|
|
447
|
+
},
|
|
448
|
+
variant: "contained",
|
|
449
|
+
color: "primary",
|
|
450
|
+
"data-cy": "add-domain-alias",
|
|
451
|
+
onClick: open,
|
|
452
|
+
disabled: (0, _util2.isInProgress)(blocklet.status),
|
|
453
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
|
|
454
|
+
style: {
|
|
455
|
+
fontSize: '1.3em',
|
|
456
|
+
marginRight: 4
|
|
457
|
+
}
|
|
458
|
+
}), t('common.add')]
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
})
|
|
462
|
+
})]
|
|
463
|
+
}), domainAliases.map((domain, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
464
|
+
display: "flex",
|
|
465
|
+
alignItems: "center",
|
|
466
|
+
justifyContent: "space-between",
|
|
467
|
+
mt: index ? 0 : 1,
|
|
468
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
469
|
+
display: "flex",
|
|
470
|
+
alignItems: "center",
|
|
471
|
+
justifyContent: "space-between",
|
|
472
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {
|
|
473
|
+
domain: domain,
|
|
474
|
+
filters: ['domain']
|
|
475
|
+
}, "".concat(domain.value, "-domain")), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
476
|
+
ml: 2,
|
|
477
|
+
mr: 0.5,
|
|
478
|
+
children: domain.value
|
|
479
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {
|
|
480
|
+
domain: domain,
|
|
481
|
+
filters: ['http']
|
|
482
|
+
}, "".concat(domain.value, "-http")), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
483
|
+
style: {
|
|
484
|
+
marginLeft: 12
|
|
485
|
+
}
|
|
486
|
+
})]
|
|
487
|
+
}), hasPermission && !domain.isProtected ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_domainActions.default, {
|
|
488
|
+
site: site,
|
|
489
|
+
domain: domain,
|
|
490
|
+
blocklet: blocklet
|
|
491
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
492
|
+
title: t('blocklet.router.domainLockTooltip'),
|
|
493
|
+
placement: "top",
|
|
494
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
495
|
+
disabled: true,
|
|
496
|
+
size: "large",
|
|
497
|
+
style: {
|
|
498
|
+
pointerEvents: 'auto',
|
|
499
|
+
// padding replace to margin, fix the tooltip position
|
|
500
|
+
paddingTop: 0,
|
|
501
|
+
paddingBottom: 0,
|
|
502
|
+
margin: '12px 0'
|
|
503
|
+
},
|
|
504
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LockIcon.default, {
|
|
505
|
+
style: {
|
|
506
|
+
fill: theme.palette.text.disabled
|
|
507
|
+
}
|
|
508
|
+
})
|
|
509
|
+
})
|
|
510
|
+
})]
|
|
511
|
+
}, domain.value)), !domainAliases.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
512
|
+
mt: 4,
|
|
513
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
|
|
514
|
+
children: t('common.empty')
|
|
515
|
+
})
|
|
516
|
+
})]
|
|
517
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
518
|
+
className: "config-form",
|
|
519
|
+
component: _Divider.default,
|
|
520
|
+
my: 3
|
|
521
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
522
|
+
className: "config-form",
|
|
523
|
+
mt: 2,
|
|
524
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
525
|
+
className: "config-label",
|
|
526
|
+
mb: 0,
|
|
527
|
+
children: t('common.security')
|
|
528
|
+
})
|
|
529
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
530
|
+
className: "config-form",
|
|
531
|
+
mt: 2,
|
|
532
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
533
|
+
className: "config-label",
|
|
534
|
+
fontSize: 14,
|
|
535
|
+
mb: 0,
|
|
536
|
+
children: t('router.domainSecurity.cors.title')
|
|
537
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
538
|
+
mb: 1.5,
|
|
539
|
+
className: "config-desc",
|
|
540
|
+
children: t('router.domainSecurity.cors.description', {
|
|
541
|
+
name: 'the blocklet'
|
|
542
|
+
})
|
|
543
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {
|
|
544
|
+
style: {
|
|
545
|
+
marginTop: 0
|
|
546
|
+
},
|
|
547
|
+
disabled: loading || disabled,
|
|
548
|
+
loading: loading,
|
|
549
|
+
initialValue: (site.corsAllowedOrigins || []).join(', '),
|
|
550
|
+
onSubmit: onUpdateCors
|
|
551
|
+
})]
|
|
552
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
553
|
+
className: "config-form",
|
|
554
|
+
component: _Divider.default,
|
|
555
|
+
my: 3
|
|
381
556
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
382
557
|
className: "config-form",
|
|
383
558
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
@@ -427,11 +602,11 @@ function BlockletEnvironment(_ref) {
|
|
|
427
602
|
defaultValue: {
|
|
428
603
|
[_constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SK]: blocklet.environments.find(x => x.key === 'BLOCKLET_APP_SK').value
|
|
429
604
|
},
|
|
430
|
-
onChange: (changeValue,
|
|
605
|
+
onChange: (changeValue, _ref4) => {
|
|
431
606
|
let {
|
|
432
607
|
action,
|
|
433
608
|
currentItem
|
|
434
|
-
} =
|
|
609
|
+
} = _ref4;
|
|
435
610
|
if (action === 'edit') {
|
|
436
611
|
setEditingItem(currentItem);
|
|
437
612
|
} else if (['cancel', 'confirm'].includes(action)) {
|
|
@@ -464,5 +639,5 @@ BlockletEnvironment.defaultProps = {
|
|
|
464
639
|
onUpdate: () => {},
|
|
465
640
|
hasPermission: false
|
|
466
641
|
};
|
|
467
|
-
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .config-form {\n width: 80%;\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\n .config-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 16px 0;\n }\n\n .config-label {\n font-weight: bold;\n }\n\n .config-desc {\n font-weight: normal;\n font-size: 12px;\n color: #666;\n }\n"])), props => props.theme.breakpoints.down('md'));
|
|
642
|
+
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .config-form {\n width: 80%;\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\n .config-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 16px 0;\n }\n\n .config-label {\n font-weight: bold;\n }\n\n .config-desc {\n font-weight: normal;\n font-size: 12px;\n color: #666;\n }\n\n .form-item {\n margin-top: 0;\n }\n"])), props => props.theme.breakpoints.down('md'));
|
|
468
643
|
const StyledMenuItem = (0, _styled.default)(_MenuItem.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .tip {\n font-size: 12px;\n color: ", ";\n }\n"])), props => props.theme.palette.text.secondary);
|
package/lib/blocklet/overview.js
CHANGED
|
@@ -7,28 +7,87 @@ exports.default = BlockletOverview;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
11
|
+
var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
|
|
12
|
+
var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
|
|
13
|
+
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
10
14
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
11
15
|
var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
|
|
12
16
|
var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
|
|
13
17
|
var _util = require("@blocklet/meta/lib/util");
|
|
14
18
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
19
|
+
var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
|
|
20
|
+
var _blocklet = require("../contexts/blocklet");
|
|
21
|
+
var _util2 = require("../util");
|
|
15
22
|
var _didAddress = _interopRequireDefault(require("../did-address"));
|
|
16
23
|
var _blockletSource = _interopRequireDefault(require("./blocklet-source"));
|
|
17
24
|
var _runtimeInfo = _interopRequireDefault(require("./runtime-info"));
|
|
18
25
|
var _diskInfo = _interopRequireDefault(require("./disk-info"));
|
|
19
26
|
var _status = _interopRequireDefault(require("./status"));
|
|
20
27
|
var _version = _interopRequireDefault(require("./version"));
|
|
21
|
-
var
|
|
28
|
+
var _domainStatus = _interopRequireDefault(require("./router/domain-status"));
|
|
29
|
+
var _types = require("./types");
|
|
22
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
var _templateObject;
|
|
24
31
|
const _excluded = ["blocklet"];
|
|
32
|
+
var _templateObject, _templateObject2;
|
|
25
33
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
27
34
|
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; }
|
|
28
35
|
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; }
|
|
29
36
|
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; }
|
|
30
37
|
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; }
|
|
31
38
|
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; }
|
|
39
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
40
|
+
function DomainLink(_ref) {
|
|
41
|
+
let {
|
|
42
|
+
domain,
|
|
43
|
+
children
|
|
44
|
+
} = _ref;
|
|
45
|
+
const {
|
|
46
|
+
t
|
|
47
|
+
} = (0, _react.useContext)(_context.LocaleContext);
|
|
48
|
+
const {
|
|
49
|
+
href,
|
|
50
|
+
accessibility
|
|
51
|
+
} = domain;
|
|
52
|
+
if (!accessibility || accessibility.loading) {
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(LinkDiv, {
|
|
54
|
+
children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
55
|
+
title: t('blocklet.router.checkUrlAccessible'),
|
|
56
|
+
placement: "top-end",
|
|
57
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
58
|
+
className: "status",
|
|
59
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
|
|
60
|
+
size: 12
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
})]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (!accessibility.accessible) {
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkDiv, {
|
|
68
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
69
|
+
title: t('blocklet.router.urlInaccessible'),
|
|
70
|
+
placement: "top-end",
|
|
71
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
72
|
+
children: children
|
|
73
|
+
})
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkDiv, {
|
|
78
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
79
|
+
href: href,
|
|
80
|
+
target: "_blank",
|
|
81
|
+
rel: "noopener noreferrer",
|
|
82
|
+
children: children
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
DomainLink.propTypes = {
|
|
87
|
+
domain: _types.DomainType.isRequired,
|
|
88
|
+
children: _propTypes.default.any.isRequired
|
|
89
|
+
};
|
|
90
|
+
const LinkDiv = _styled.default.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &,\n & > * {\n color: #222;\n font-size: 18px;\n }\n\n .status {\n margin-left: 8px;\n }\n"])));
|
|
32
91
|
const getEngineRows = (engine, t) => {
|
|
33
92
|
if (!engine) {
|
|
34
93
|
return [];
|
|
@@ -46,15 +105,18 @@ const getEngineRows = (engine, t) => {
|
|
|
46
105
|
})
|
|
47
106
|
}];
|
|
48
107
|
};
|
|
49
|
-
function BlockletOverview(
|
|
108
|
+
function BlockletOverview(_ref2) {
|
|
50
109
|
var _blocklet$settings;
|
|
51
110
|
let {
|
|
52
111
|
blocklet
|
|
53
|
-
} =
|
|
54
|
-
rest = _objectWithoutProperties(
|
|
112
|
+
} = _ref2,
|
|
113
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
55
114
|
const {
|
|
56
115
|
t
|
|
57
116
|
} = (0, _react.useContext)(_context.LocaleContext);
|
|
117
|
+
const {
|
|
118
|
+
loadingRuntimeInfo
|
|
119
|
+
} = (0, _blocklet.useBlockletContext)();
|
|
58
120
|
const {
|
|
59
121
|
value: appDid
|
|
60
122
|
} = (blocklet.environments || []).find(x => x.key === 'BLOCKLET_APP_ID') || {};
|
|
@@ -139,10 +201,65 @@ function BlockletOverview(_ref) {
|
|
|
139
201
|
children: row.value
|
|
140
202
|
}, row.name);
|
|
141
203
|
});
|
|
204
|
+
const {
|
|
205
|
+
site
|
|
206
|
+
} = blocklet;
|
|
207
|
+
const {
|
|
208
|
+
domainAliases = []
|
|
209
|
+
} = site || {};
|
|
142
210
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({
|
|
143
211
|
component: "div"
|
|
144
212
|
}, rest), {}, {
|
|
145
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
213
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
214
|
+
display: "flex",
|
|
215
|
+
justifyContent: "space-between",
|
|
216
|
+
alignItems: "center",
|
|
217
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
218
|
+
className: "title first",
|
|
219
|
+
mb: 0,
|
|
220
|
+
children: t('common.domain')
|
|
221
|
+
})
|
|
222
|
+
}), blocklet.status !== 'running' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
223
|
+
mt: -2,
|
|
224
|
+
mb: 1.5,
|
|
225
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
|
|
226
|
+
severity: "warning",
|
|
227
|
+
children: t('blocklet.router.noRunning')
|
|
228
|
+
})
|
|
229
|
+
}), domainAliases.map((domain, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
230
|
+
display: "flex",
|
|
231
|
+
alignItems: "center",
|
|
232
|
+
justifyContent: "space-between",
|
|
233
|
+
mt: index ? 3 : 0,
|
|
234
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
235
|
+
display: "flex",
|
|
236
|
+
alignItems: "center",
|
|
237
|
+
justifyContent: "space-between",
|
|
238
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {
|
|
239
|
+
domain: domain,
|
|
240
|
+
filters: ['domain']
|
|
241
|
+
}, "".concat(domain.value, "-domain")), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
242
|
+
ml: 2,
|
|
243
|
+
mr: 0.5,
|
|
244
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DomainLink, {
|
|
245
|
+
domain: domain,
|
|
246
|
+
target: "_blank",
|
|
247
|
+
children: domain.value
|
|
248
|
+
})
|
|
249
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {
|
|
250
|
+
domain: domain,
|
|
251
|
+
filters: ['http']
|
|
252
|
+
}, "".concat(domain.value, "-http")), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
253
|
+
style: {
|
|
254
|
+
marginLeft: 12
|
|
255
|
+
}
|
|
256
|
+
})]
|
|
257
|
+
})
|
|
258
|
+
}, domain.value)), !domainAliases.length && (loadingRuntimeInfo ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
|
|
259
|
+
size: 16
|
|
260
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
|
|
261
|
+
children: t('common.empty')
|
|
262
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
146
263
|
className: "title",
|
|
147
264
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
148
265
|
children: t('common.basicInfo')
|
|
@@ -159,11 +276,11 @@ function BlockletOverview(_ref) {
|
|
|
159
276
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
160
277
|
className: "title",
|
|
161
278
|
children: t('common.engine')
|
|
162
|
-
}), engineRows.map(
|
|
279
|
+
}), engineRows.map(_ref3 => {
|
|
163
280
|
let {
|
|
164
281
|
name,
|
|
165
282
|
value
|
|
166
|
-
} =
|
|
283
|
+
} = _ref3;
|
|
167
284
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {
|
|
168
285
|
nameWidth: 120,
|
|
169
286
|
name: name,
|
|
@@ -181,4 +298,4 @@ function BlockletOverview(_ref) {
|
|
|
181
298
|
BlockletOverview.propTypes = {
|
|
182
299
|
blocklet: _propTypes.default.object.isRequired
|
|
183
300
|
};
|
|
184
|
-
const Div = (0, _styled.default)(_Typography.default)(
|
|
301
|
+
const Div = (0, _styled.default)(_Typography.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .title {\n font-size: 1.2rem;\n font-weight: bold;\n margin-top: ", ";\n margin-bottom: ", ";\n &.first {\n margin-top: 0;\n }\n }\n"])), props => props.theme.spacing(5), props => props.theme.spacing(3));
|