@abtnode/ux 1.15.17 → 1.16.0-beta-8ee536d7

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.
Files changed (154) hide show
  1. package/lib/actions.js +111 -0
  2. package/lib/blocklet/access/config-access.js +303 -0
  3. package/lib/blocklet/access/index.js +221 -0
  4. package/lib/blocklet/actions.js +438 -0
  5. package/lib/blocklet/add-cert.js +191 -0
  6. package/lib/blocklet/agreement-app.js +30 -0
  7. package/lib/blocklet/agreement.js +72 -0
  8. package/lib/blocklet/app-avatar.js +74 -0
  9. package/lib/blocklet/audit-logs.js +197 -0
  10. package/lib/blocklet/blocklet-source.js +56 -0
  11. package/lib/blocklet/bundle-avatar.js +80 -0
  12. package/lib/blocklet/component/add.js +1063 -0
  13. package/lib/blocklet/component/configuration.js +124 -0
  14. package/lib/blocklet/component/delete.js +117 -0
  15. package/lib/blocklet/component/environment.js +289 -0
  16. package/lib/blocklet/component/expiration.js +53 -0
  17. package/lib/blocklet/component/index.js +804 -0
  18. package/lib/blocklet/component/line.js +28 -0
  19. package/lib/blocklet/component/navigation/locale-tabs.js +218 -0
  20. package/lib/blocklet/component/navigation/navigation-actions.js +120 -0
  21. package/lib/blocklet/component/navigation/navigation-dialog.js +620 -0
  22. package/lib/blocklet/component/navigation/navigation-preview.js +102 -0
  23. package/lib/blocklet/component/navigation/simple-select.js +131 -0
  24. package/lib/blocklet/component/select-store.js +153 -0
  25. package/lib/blocklet/component/setting.js +151 -0
  26. package/lib/blocklet/component/sortable-tree.js +138 -0
  27. package/lib/blocklet/component/space-gateway-selector.js +174 -0
  28. package/lib/blocklet/component/store-blocklet-list.js +205 -0
  29. package/lib/blocklet/config-navigation.js +344 -0
  30. package/lib/blocklet/configuration.js +574 -0
  31. package/lib/blocklet/disk-info.js +91 -0
  32. package/lib/blocklet/icons.js +26 -0
  33. package/lib/blocklet/install-from-url.js +347 -0
  34. package/lib/blocklet/log.js +62 -0
  35. package/lib/blocklet/migration.js +153 -0
  36. package/lib/blocklet/mode.js +35 -0
  37. package/lib/blocklet/monitor.js +186 -0
  38. package/lib/blocklet/overview.js +236 -0
  39. package/lib/blocklet/preferences/app-sk.js +131 -0
  40. package/lib/blocklet/preferences/index.js +238 -0
  41. package/lib/blocklet/preferences/wallet-type.js +107 -0
  42. package/lib/blocklet/purchase/common.js +103 -0
  43. package/lib/blocklet/purchase/component-purchase.js +253 -0
  44. package/lib/blocklet/purchase/index.js +13 -0
  45. package/lib/blocklet/router/action/add-domain-alias.js +173 -0
  46. package/lib/blocklet/router/action/add-rule.js +204 -0
  47. package/lib/blocklet/router/action/config-routing-rule.js +129 -0
  48. package/lib/blocklet/router/action/delete-domain-alias.js +107 -0
  49. package/lib/blocklet/router/action/delete-rule.js +114 -0
  50. package/lib/blocklet/router/action/update-rule.js +203 -0
  51. package/lib/blocklet/router/domain-actions.js +71 -0
  52. package/lib/blocklet/router/domain-status.js +96 -0
  53. package/lib/blocklet/router/rule-actions.js +77 -0
  54. package/lib/blocklet/router/rule-list.js +181 -0
  55. package/lib/blocklet/router/util.js +146 -0
  56. package/lib/blocklet/runtime-info.js +87 -0
  57. package/lib/blocklet/status.js +105 -0
  58. package/lib/blocklet/storage.js +322 -0
  59. package/lib/blocklet/types.js +25 -0
  60. package/lib/blocklet/util.js +233 -0
  61. package/lib/blocklet/version.js +156 -0
  62. package/lib/card-selector.js +109 -0
  63. package/lib/certificate.js +110 -0
  64. package/lib/click-to-copy.js +38 -0
  65. package/lib/confirm.js +149 -0
  66. package/lib/contexts/audit-log.js +141 -0
  67. package/lib/contexts/blocklet.js +19 -0
  68. package/lib/contexts/deleting-blocklets.js +78 -0
  69. package/lib/contexts/node.js +30 -0
  70. package/lib/contexts/session.js +20 -0
  71. package/lib/contexts/team.js +19 -0
  72. package/lib/delete-confirm.js +127 -0
  73. package/lib/did-address.js +77 -0
  74. package/lib/dot.js +18 -0
  75. package/lib/form/form-text-input.js +266 -0
  76. package/lib/form/form-wrapper.js +13 -0
  77. package/lib/form/required.js +13 -0
  78. package/lib/hooks/blocklet.js +231 -0
  79. package/lib/hooks/mobile-width.js +19 -0
  80. package/lib/hooks/url-evaluation.js +168 -0
  81. package/lib/hooks/use-app-logo.js +25 -0
  82. package/lib/hooks/use-bundle-logo.js +36 -0
  83. package/lib/hooks/use-navigation.js +355 -0
  84. package/lib/hooks/use-passport-id.js +21 -0
  85. package/lib/hooks/use-subscription.js +28 -0
  86. package/lib/icons/long-arrow.svg +5 -0
  87. package/lib/index.js +0 -3
  88. package/lib/invitation/invitation-app.js +51 -0
  89. package/lib/invitation/invitation-login.js +47 -0
  90. package/lib/invitation/invitation-passport.js +130 -0
  91. package/lib/invitation/invitation-receive.js +108 -0
  92. package/lib/invitation/invitation-success.js +82 -0
  93. package/lib/invitation/invitation-user.js +79 -0
  94. package/lib/invitation/invitation.js +80 -0
  95. package/lib/issue-passport.js +84 -84
  96. package/lib/launch-blocklet/content-layout.js +33 -0
  97. package/lib/launch-blocklet/page-header.js +38 -0
  98. package/lib/layout/addon.js +100 -0
  99. package/lib/layout/feedback.js +55 -0
  100. package/lib/locales/en.js +1221 -10
  101. package/lib/locales/index.js +3 -4
  102. package/lib/locales/zh.js +1232 -15
  103. package/lib/logs/clock.js +19 -0
  104. package/lib/logs/download.js +139 -0
  105. package/lib/logs/log-terminal.js +183 -0
  106. package/lib/lost-passport.js +207 -192
  107. package/lib/monitor/card.js +73 -0
  108. package/lib/monitor/cpu.js +109 -0
  109. package/lib/monitor/disk.js +122 -0
  110. package/lib/monitor/memory.js +144 -0
  111. package/lib/nav-logo.js +120 -0
  112. package/lib/passport-tag.js +43 -0
  113. package/lib/permission.js +70 -0
  114. package/lib/relative-time.js +61 -0
  115. package/lib/schema-form/color-input.js +105 -0
  116. package/lib/schema-form/common-prop-types.js +21 -0
  117. package/lib/schema-form/index.js +229 -0
  118. package/lib/schema-form/passport-input.js +66 -0
  119. package/lib/schema-form/text-input.js +72 -0
  120. package/lib/store/add.js +185 -0
  121. package/lib/store/delete.js +102 -0
  122. package/lib/store/item.js +84 -0
  123. package/lib/table-icons.js +42 -0
  124. package/lib/table.js +13 -0
  125. package/lib/tag.js +37 -0
  126. package/lib/team/members/actions.js +99 -0
  127. package/lib/team/members/index.js +503 -0
  128. package/lib/team/members/invitations.js +196 -0
  129. package/lib/team/members/invite-member.js +212 -0
  130. package/lib/team/members/issue-passport.js +155 -0
  131. package/lib/team/members/member.js +300 -0
  132. package/lib/team/members/passport-issuances.js +154 -0
  133. package/lib/team/members/passports.js +336 -0
  134. package/lib/team/members/toggle-user-approval.js +128 -0
  135. package/lib/team/members/transfer-node.js +262 -0
  136. package/lib/team/members/util.js +20 -0
  137. package/lib/team/passports/color.js +132 -0
  138. package/lib/team/passports/detail.js +271 -0
  139. package/lib/team/passports/index.js +233 -0
  140. package/lib/team/passports/mutate-role.js +204 -0
  141. package/lib/team/passports/trusted-issuer.js +297 -0
  142. package/lib/team/passports/trusted-issuers.js +240 -0
  143. package/lib/team/search-input.js +38 -0
  144. package/lib/team/styles/dialog.js +13 -0
  145. package/lib/team/styles/list-header.js +13 -0
  146. package/lib/toast.js +86 -0
  147. package/lib/util/api.js +21 -0
  148. package/lib/util/constants.js +10 -0
  149. package/lib/util/index.js +703 -0
  150. package/lib/util/locales.js +28 -0
  151. package/lib/util/mode.js +11 -0
  152. package/lib/who-can-access/config.js +46 -0
  153. package/lib/wrap-locale.js +12 -13
  154. package/package.json +71 -17
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ConfigRoutingRule;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
9
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
10
+ var _context = require("@arcblock/ux/lib/Locale/context");
11
+ var _constant = require("@abtnode/constant");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
+ 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); }
19
+ function ConfigRoutingRule(_ref) {
20
+ let {
21
+ params,
22
+ setParams,
23
+ setError,
24
+ serviceTypes
25
+ } = _ref;
26
+ const {
27
+ t
28
+ } = (0, _context.useLocaleContext)();
29
+ const redirectCodesMap = {
30
+ 301: t('common.redirectPermanently'),
31
+ 302: t('common.redirectTemporary'),
32
+ 307: t('common.redirectTemporary'),
33
+ 308: t('common.redirectPermanently')
34
+ };
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
36
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
37
+ select: true,
38
+ label: t('router.domain.add.type'),
39
+ autoComplete: "off",
40
+ variant: "outlined",
41
+ name: "type",
42
+ "data-cy": "domain-add-type",
43
+ fullWidth: true,
44
+ value: params.type,
45
+ onChange: e => {
46
+ setError('');
47
+ setParams(_objectSpread(_objectSpread({}, params), {}, {
48
+ type: e.target.value,
49
+ __disableConfirm: false
50
+ }));
51
+ },
52
+ style: {
53
+ marginBottom: 32
54
+ },
55
+ SelectProps: {},
56
+ children: serviceTypes.map(_ref2 => {
57
+ let {
58
+ name,
59
+ value
60
+ } = _ref2;
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
62
+ value: value,
63
+ children: name
64
+ }, value);
65
+ })
66
+ }), params.type === _constant.ROUTING_RULE_TYPES.REDIRECT && [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
67
+ select: true,
68
+ label: t('router.domain.add.redirect'),
69
+ autoComplete: "off",
70
+ variant: "outlined",
71
+ name: "type",
72
+ fullWidth: true,
73
+ value: params.redirectCode,
74
+ onChange: e => setParams(_objectSpread(_objectSpread({}, params), {}, {
75
+ redirectCode: e.target.value
76
+ })),
77
+ style: {
78
+ marginBottom: 32
79
+ },
80
+ SelectProps: {},
81
+ children: Object.keys(redirectCodesMap).map(code => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
82
+ value: code,
83
+ children: "".concat(redirectCodesMap[code], " - ").concat(code)
84
+ }, code))
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
86
+ label: t('common.redirectUrl'),
87
+ autoComplete: "off",
88
+ variant: "outlined",
89
+ name: "url",
90
+ "data-cy": "redirect-url-input",
91
+ fullWidth: true,
92
+ autoFocus: true,
93
+ value: params.url,
94
+ helperText: t('router.urlHelperText'),
95
+ style: {
96
+ marginBottom: 32
97
+ },
98
+ onChange: e => {
99
+ setParams(_objectSpread(_objectSpread({}, params), {}, {
100
+ url: e.target.value,
101
+ __disableConfirm: !e.target.value.trim()
102
+ }));
103
+ if (!e.target.value.trim()) {
104
+ setError(t('router.validation.redirectUrlRequired'));
105
+ } else {
106
+ setError('');
107
+ }
108
+ }
109
+ })]]
110
+ });
111
+ }
112
+ ConfigRoutingRule.propTypes = {
113
+ params: _propTypes.default.object,
114
+ serviceTypes: _propTypes.default.array,
115
+ setParams: _propTypes.default.func,
116
+ setError: _propTypes.default.func
117
+ };
118
+ ConfigRoutingRule.defaultProps = {
119
+ params: {},
120
+ serviceTypes: [{
121
+ name: 'Redirect',
122
+ value: _constant.ROUTING_RULE_TYPES.REDIRECT
123
+ }, {
124
+ name: 'Default - User will see the 404 page',
125
+ value: _constant.ROUTING_RULE_TYPES.NONE
126
+ }],
127
+ setParams: () => {},
128
+ setError: () => {}
129
+ };
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DeleteDomainAlias;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
10
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
12
+ var _context = require("@arcblock/ux/lib/Locale/context");
13
+ var _confirm = _interopRequireDefault(require("../../../confirm"));
14
+ var _toast = _interopRequireDefault(require("../../../toast"));
15
+ var _node = require("../../../contexts/node");
16
+ var _util = require("../../../util");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function DeleteDomainAlias(props) {
20
+ const {
21
+ t
22
+ } = (0, _context.useLocaleContext)();
23
+ const [loading, setLoading] = (0, _react.useState)(false);
24
+ const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);
25
+ const {
26
+ id,
27
+ domain,
28
+ children,
29
+ teamDid
30
+ } = props;
31
+ const {
32
+ api
33
+ } = (0, _node.useNodeContext)();
34
+ if (domain === window.location.hostname) {
35
+ return '';
36
+ }
37
+ const onCancel = () => {
38
+ setLoading(false);
39
+ setConfirmSetting(null);
40
+ };
41
+ const onConfirm = async () => {
42
+ setLoading(true);
43
+ try {
44
+ await api.deleteDomainAlias({
45
+ input: {
46
+ id,
47
+ domainAlias: domain,
48
+ teamDid
49
+ }
50
+ });
51
+ await (0, _util.sleep)(2000);
52
+ } catch (err) {
53
+ _toast.default.error(err.message);
54
+ } finally {
55
+ setConfirmSetting(null);
56
+ setLoading(false);
57
+ }
58
+ };
59
+ const setting = {
60
+ title: t('router.domainAlias.delete.title'),
61
+ description: t('router.domainAlias.delete.description'),
62
+ confirm: t('common.confirm'),
63
+ onConfirm,
64
+ onCancel
65
+ };
66
+ const onClick = e => {
67
+ e.stopPropagation();
68
+ setConfirmSetting(setting);
69
+ };
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
71
+ children: [typeof children === 'function' ? children({
72
+ loading,
73
+ open: onClick
74
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
75
+ edge: "end",
76
+ onClick: onClick,
77
+ size: "small",
78
+ className: "rule-action",
79
+ color: "error",
80
+ "data-cy": "action-delete-domain-alias",
81
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
82
+ size: 16
83
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
84
+ style: {
85
+ fontSize: 16
86
+ }
87
+ }), t('router.domainAlias.delete.title')]
88
+ }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {
89
+ title: confirmSetting.title,
90
+ description: confirmSetting.description,
91
+ confirm: confirmSetting.confirm,
92
+ params: confirmSetting.params,
93
+ onConfirm: confirmSetting.onConfirm,
94
+ onCancel: confirmSetting.onCancel
95
+ })]
96
+ });
97
+ }
98
+ DeleteDomainAlias.propTypes = {
99
+ id: _propTypes.default.string.isRequired,
100
+ domain: _propTypes.default.string.isRequired,
101
+ children: _propTypes.default.any,
102
+ teamDid: _propTypes.default.string
103
+ };
104
+ DeleteDomainAlias.defaultProps = {
105
+ children: null,
106
+ teamDid: ''
107
+ };
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DeleteRule;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
10
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
12
+ var _context = require("@arcblock/ux/lib/Locale/context");
13
+ var _node = require("../../../contexts/node");
14
+ var _blocklet = require("../../../contexts/blocklet");
15
+ var _deleteConfirm = _interopRequireDefault(require("../../../delete-confirm"));
16
+ var _toast = _interopRequireDefault(require("../../../toast"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function DeleteRule(_ref) {
20
+ let {
21
+ id: ruleId,
22
+ from,
23
+ children
24
+ } = _ref;
25
+ const {
26
+ t
27
+ } = (0, _context.useLocaleContext)();
28
+ const {
29
+ api
30
+ } = (0, _node.useNodeContext)();
31
+ const {
32
+ blocklet
33
+ } = (0, _blocklet.useBlockletContext)();
34
+ const [loading, setLoading] = (0, _react.useState)(false);
35
+ const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);
36
+ const teamDid = blocklet.meta.did;
37
+ const siteId = blocklet.site.id;
38
+ const name = from.pathPrefix;
39
+ const onCancel = () => {
40
+ setLoading(false);
41
+ setConfirmSetting(null);
42
+ };
43
+ const onConfirm = async () => {
44
+ setLoading(true);
45
+ try {
46
+ await api.deleteRoutingRule({
47
+ input: {
48
+ id: siteId,
49
+ ruleId,
50
+ teamDid
51
+ }
52
+ });
53
+ } catch (error) {
54
+ _toast.default.error(error.message);
55
+ } finally {
56
+ setConfirmSetting(null);
57
+ setLoading(false);
58
+ }
59
+ };
60
+ const setting = {
61
+ keyName: name,
62
+ title: t('router.rule.delete.title'),
63
+ description: t('router.rule.delete.description', {
64
+ name: "<b>".concat(name, "</b>")
65
+ }),
66
+ confirmPlaceholder: t('router.rule.delete.confirm_desc', {
67
+ name
68
+ }),
69
+ confirm: t('common.delConfirm'),
70
+ cancel: t('router.rule.delete.cancel'),
71
+ onConfirm,
72
+ onCancel
73
+ };
74
+ const onMenuItemClick = e => {
75
+ e.stopPropagation();
76
+ setConfirmSetting(setting);
77
+ };
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
79
+ children: [typeof children === 'function' ? children({
80
+ loading,
81
+ open: onMenuItemClick
82
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {
83
+ onClick: onMenuItemClick,
84
+ className: "rule-action",
85
+ "data-cy": "action-delete-rule",
86
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
87
+ size: 16
88
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
89
+ style: {
90
+ fontSize: 18,
91
+ marginRight: 5
92
+ }
93
+ }), t('router.rule.delete.title')]
94
+ }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_deleteConfirm.default, {
95
+ keyName: confirmSetting.keyName,
96
+ title: confirmSetting.title,
97
+ description: confirmSetting.description,
98
+ confirmPlaceholder: confirmSetting.confirmPlaceholder,
99
+ confirm: confirmSetting.confirm,
100
+ cancel: confirmSetting.cancel,
101
+ params: confirmSetting.params,
102
+ onConfirm: confirmSetting.onConfirm,
103
+ onCancel: confirmSetting.onCancel
104
+ })]
105
+ });
106
+ }
107
+ DeleteRule.propTypes = {
108
+ id: _propTypes.default.string.isRequired,
109
+ from: _propTypes.default.object.isRequired,
110
+ children: _propTypes.default.any
111
+ };
112
+ DeleteRule.defaultProps = {
113
+ children: null
114
+ };
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = UpdateRule;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Edit = _interopRequireDefault(require("@mui/icons-material/Edit"));
10
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
12
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
14
+ var _constant = require("@abtnode/constant");
15
+ var _context = require("@arcblock/ux/lib/Locale/context");
16
+ var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
17
+ var _node = require("../../../contexts/node");
18
+ var _blocklet = require("../../../contexts/blocklet");
19
+ var _confirm = _interopRequireDefault(require("../../../confirm"));
20
+ var _toast = _interopRequireDefault(require("../../../toast"));
21
+ var _util = require("../util");
22
+ var _configRoutingRule = _interopRequireDefault(require("./config-routing-rule"));
23
+ var _util2 = require("../../../util");
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 UpdateRule(_ref) {
32
+ let {
33
+ id: ruleId,
34
+ from,
35
+ to,
36
+ children
37
+ } = _ref;
38
+ const {
39
+ t
40
+ } = (0, _context.useLocaleContext)();
41
+ const {
42
+ api
43
+ } = (0, _node.useNodeContext)();
44
+ const {
45
+ blocklet
46
+ } = (0, _blocklet.useBlockletContext)();
47
+ const [loading, setLoading] = (0, _react.useState)(false);
48
+ const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);
49
+ const teamDid = blocklet.meta.did;
50
+ const siteId = blocklet.site.id;
51
+ const name = from.pathPrefix;
52
+ const onCancel = () => {
53
+ setLoading(false);
54
+ setConfirmSetting(null);
55
+ };
56
+ const onConfirm = async params => {
57
+ try {
58
+ const err = await (0, _util.validateRule)(params, t);
59
+ if (err) {
60
+ throw err;
61
+ }
62
+ setLoading(true);
63
+ const rule = {
64
+ id: ruleId,
65
+ from: {
66
+ pathPrefix: (0, _urlFriendly.default)(params.pathPrefix)
67
+ },
68
+ to: {
69
+ type: params.type
70
+ }
71
+ };
72
+ if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT) {
73
+ rule.to.url = params.url;
74
+ rule.to.redirectCode = params.redirectCode;
75
+ }
76
+ await api.updateRoutingRule({
77
+ input: {
78
+ id: siteId,
79
+ rule,
80
+ teamDid
81
+ }
82
+ });
83
+ } catch (error) {
84
+ _toast.default.error(error.message);
85
+ } finally {
86
+ setLoading(false);
87
+ setConfirmSetting(null);
88
+ }
89
+ };
90
+ const setting = {
91
+ title: t('router.rule.update.title'),
92
+ // eslint-disable-next-line react/no-unstable-nested-components
93
+ description: (params, setParams, setError) => {
94
+ const setValue = value => {
95
+ const validateResult = (0, _util.validateRule)(value, t);
96
+ if (validateResult) {
97
+ setParams(_objectSpread(_objectSpread({}, value), {}, {
98
+ __disableConfirm: true
99
+ }));
100
+ return;
101
+ }
102
+ setParams(_objectSpread({}, value));
103
+ };
104
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
105
+ component: "div",
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
107
+ label: t('router.rule.add.pathPrefix'),
108
+ autoComplete: "off",
109
+ variant: "outlined",
110
+ name: "pathPrefix",
111
+ "data-cy": "path-prefix-input",
112
+ fullWidth: true,
113
+ autoFocus: true,
114
+ helperText: params.helperText || t('router.rule.add.pathPrefixTip'),
115
+ style: {
116
+ marginBottom: 32
117
+ },
118
+ margin: "dense",
119
+ value: params.pathPrefix,
120
+ onChange: e => {
121
+ let disable = false;
122
+ if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT && !params.url) {
123
+ disable = true;
124
+ }
125
+ if (!e.target.value.trim()) {
126
+ disable = true;
127
+ setError(t('router.validation.pathPrefixRequired'));
128
+ }
129
+ if (!disable) {
130
+ setError('');
131
+ }
132
+ const helperText = t('common.slugifyHint', {
133
+ value: (0, _util2.formatMountPoint)(e.target.value)
134
+ });
135
+ setParams(_objectSpread(_objectSpread({}, params), {}, {
136
+ pathPrefix: e.target.value,
137
+ helperText,
138
+ __disableConfirm: disable
139
+ }));
140
+ }
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_configRoutingRule.default, {
142
+ params: params,
143
+ setParams: setValue,
144
+ setError: setError
145
+ })]
146
+ });
147
+ },
148
+ confirm: t('router.rule.update.confirm'),
149
+ cancel: t('router.rule.update.cancel'),
150
+ color: 'primary',
151
+ params: {
152
+ pathPrefix: name === '/' ? name : name.replace(/^\/+/, '').replace(/\/+$/, ''),
153
+ type: to.type || _constant.ROUTING_RULE_TYPES.BLOCKLET,
154
+ interfaceName: to.interfaceName || '',
155
+ redirectCode: to.redirectCode || 302,
156
+ url: to.url || '',
157
+ __disableConfirm: false
158
+ },
159
+ onConfirm,
160
+ onCancel
161
+ };
162
+ const onMenuItemClick = e => {
163
+ e.stopPropagation();
164
+ // eslint-disable-next-line no-unused-expressions
165
+ setConfirmSetting(setting);
166
+ };
167
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
168
+ children: [typeof children === 'function' ? children({
169
+ loading,
170
+ open: onMenuItemClick
171
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {
172
+ onClick: onMenuItemClick,
173
+ className: "rule-action",
174
+ "data-cy": "action-update-rule",
175
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
176
+ size: 16
177
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Edit.default, {
178
+ style: {
179
+ fontSize: 18,
180
+ marginRight: 5
181
+ }
182
+ }), t('router.rule.update.title')]
183
+ }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {
184
+ title: confirmSetting.title,
185
+ description: confirmSetting.description,
186
+ confirm: confirmSetting.confirm,
187
+ color: confirmSetting.color,
188
+ cancel: confirmSetting.cancel,
189
+ params: confirmSetting.params,
190
+ onConfirm: confirmSetting.onConfirm,
191
+ onCancel: confirmSetting.onCancel
192
+ })]
193
+ });
194
+ }
195
+ UpdateRule.propTypes = {
196
+ id: _propTypes.default.string.isRequired,
197
+ from: _propTypes.default.object.isRequired,
198
+ to: _propTypes.default.object.isRequired,
199
+ children: _propTypes.default.any
200
+ };
201
+ UpdateRule.defaultProps = {
202
+ children: null
203
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DomainActions;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
9
+ var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
10
+ var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
13
+ var _actions = _interopRequireDefault(require("../../actions"));
14
+ var _deleteDomainAlias = _interopRequireDefault(require("./action/delete-domain-alias"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function DomainActions(_ref) {
18
+ let {
19
+ site,
20
+ domain,
21
+ blocklet
22
+ } = _ref;
23
+ const {
24
+ t
25
+ } = (0, _context.useLocaleContext)();
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_actions.default, {
27
+ "data-cy": "domain-actions",
28
+ actions: [
29
+ // eslint-disable-next-line react/no-unstable-nested-components
30
+ _ref2 => {
31
+ var _blocklet$meta;
32
+ let {
33
+ close
34
+ } = _ref2;
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_deleteDomainAlias.default, {
36
+ id: site.id,
37
+ domain: domain.value,
38
+ teamDid: blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did,
39
+ children: _ref3 => {
40
+ let {
41
+ open
42
+ } = _ref3;
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {
44
+ disabled: domain.isProtected,
45
+ dense: true,
46
+ onClick: e => {
47
+ close();
48
+ open(e);
49
+ },
50
+ "data-cy": "action-toggle-block",
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
52
+ style: {
53
+ minWidth: 24,
54
+ marginRight: 8
55
+ },
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {})
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {
58
+ primary: t('common.delete')
59
+ })]
60
+ }, "remove");
61
+ }
62
+ });
63
+ }]
64
+ });
65
+ }
66
+ DomainActions.propTypes = {
67
+ site: _propTypes.default.object.isRequired,
68
+ domain: _propTypes.default.object.isRequired,
69
+ blocklet: _propTypes.default.object.isRequired
70
+ };
71
+ DomainActions.defaultProps = {};