@abtnode/ux 1.16.26-beta-818ea1c5 → 1.16.26-beta-351de484

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 (81) hide show
  1. package/es/blocklet/{oauth → authentication/federated}/federated-detail-dialog.js +2 -2
  2. package/es/blocklet/{oauth → authentication/federated}/federated-join-dialog.js +2 -2
  3. package/es/blocklet/{oauth → authentication/federated}/federated-site-list.js +3 -3
  4. package/es/blocklet/{oauth/federated.js → authentication/federated/index.js} +1 -1
  5. package/es/blocklet/{oauth → authentication}/index.js +7 -5
  6. package/es/blocklet/authentication/oauth/apple.js +198 -0
  7. package/es/blocklet/{oauth → authentication/oauth}/auth0.js +27 -7
  8. package/es/blocklet/authentication/oauth/drag-item.js +177 -0
  9. package/es/blocklet/authentication/oauth/github.js +145 -0
  10. package/es/blocklet/authentication/oauth/google.js +144 -0
  11. package/es/blocklet/authentication/oauth/index.js +122 -0
  12. package/es/blocklet/preferences/index.js +6 -6
  13. package/es/blocklet/publish/connect-store-list.js +8 -6
  14. package/es/blocklet/publish/create-release.js +16 -7
  15. package/es/blocklet/publish/project-list.js +30 -3
  16. package/es/confirm.js +5 -2
  17. package/es/layout/feedback.js +7 -4
  18. package/es/locales/ar.js +34 -4
  19. package/es/locales/de.js +35 -5
  20. package/es/locales/en.js +34 -4
  21. package/es/locales/es.js +35 -5
  22. package/es/locales/fr.js +35 -5
  23. package/es/locales/hi.js +35 -5
  24. package/es/locales/i18n.db +0 -0
  25. package/es/locales/id.js +35 -5
  26. package/es/locales/ja.js +34 -4
  27. package/es/locales/ko.js +35 -5
  28. package/es/locales/pt.js +35 -5
  29. package/es/locales/ru.js +34 -4
  30. package/es/locales/th.js +34 -4
  31. package/es/locales/vi.js +34 -4
  32. package/es/locales/zh-tw.js +34 -4
  33. package/es/locales/zh.js +35 -5
  34. package/es/store/connect-actions.js +14 -5
  35. package/es/store/delete.js +7 -3
  36. package/es/store/item.js +99 -20
  37. package/es/team/members/index.js +16 -13
  38. package/es/team/members/member.js +2 -7
  39. package/lib/blocklet/{oauth → authentication/federated}/federated-detail-dialog.js +2 -2
  40. package/lib/blocklet/{oauth → authentication/federated}/federated-join-dialog.js +2 -2
  41. package/lib/blocklet/{oauth → authentication/federated}/federated-site-list.js +3 -3
  42. package/lib/blocklet/{oauth/federated.js → authentication/federated/index.js} +1 -1
  43. package/lib/blocklet/{oauth → authentication}/index.js +7 -5
  44. package/lib/blocklet/authentication/oauth/apple.js +226 -0
  45. package/lib/blocklet/authentication/oauth/auth0.js +189 -0
  46. package/lib/blocklet/authentication/oauth/drag-item.js +185 -0
  47. package/lib/blocklet/{oauth/auth0.js → authentication/oauth/github.js} +26 -25
  48. package/lib/blocklet/authentication/oauth/google.js +166 -0
  49. package/lib/blocklet/authentication/oauth/index.js +136 -0
  50. package/lib/blocklet/preferences/index.js +6 -6
  51. package/lib/blocklet/publish/connect-store-list.js +9 -8
  52. package/lib/blocklet/publish/create-release.js +16 -6
  53. package/lib/blocklet/publish/project-list.js +29 -2
  54. package/lib/confirm.js +7 -4
  55. package/lib/layout/feedback.js +6 -3
  56. package/lib/locales/ar.js +34 -4
  57. package/lib/locales/de.js +35 -5
  58. package/lib/locales/en.js +34 -4
  59. package/lib/locales/es.js +35 -5
  60. package/lib/locales/fr.js +35 -5
  61. package/lib/locales/hi.js +35 -5
  62. package/lib/locales/i18n.db +0 -0
  63. package/lib/locales/id.js +35 -5
  64. package/lib/locales/ja.js +34 -4
  65. package/lib/locales/ko.js +35 -5
  66. package/lib/locales/pt.js +35 -5
  67. package/lib/locales/ru.js +34 -4
  68. package/lib/locales/th.js +34 -4
  69. package/lib/locales/vi.js +34 -4
  70. package/lib/locales/zh-tw.js +34 -4
  71. package/lib/locales/zh.js +35 -5
  72. package/lib/store/connect-actions.js +14 -5
  73. package/lib/store/delete.js +7 -3
  74. package/lib/store/item.js +111 -19
  75. package/lib/team/members/index.js +13 -11
  76. package/lib/team/members/member.js +1 -6
  77. package/package.json +30 -20
  78. /package/es/blocklet/{oauth → authentication}/common-settings.js +0 -0
  79. /package/es/blocklet/{oauth → authentication/federated}/federated-invite-dialog.js +0 -0
  80. /package/lib/blocklet/{oauth → authentication}/common-settings.js +0 -0
  81. /package/lib/blocklet/{oauth → authentication/federated}/federated-invite-dialog.js +0 -0
@@ -15,7 +15,7 @@ import AllowLoginIcon from '@arcblock/icons/lib/AllowLoginIcon';
15
15
  import { getTextColor } from '@abtnode/auth/lib/util/create-passport-svg';
16
16
  import { useReactive } from 'ahooks';
17
17
  import { USER_TYPE } from '@abtnode/constant';
18
- import { LOGIN_PROVIDER, TeamEvents } from '@blocklet/constant';
18
+ import { LOGIN_PROVIDER, PROVIDER_NAME, TeamEvents } from '@blocklet/constant';
19
19
  import Tag from '../../tag';
20
20
  import DidAddress from '../../did-address';
21
21
  import Permission from '../../permission';
@@ -130,11 +130,6 @@ export default function Member({
130
130
  await getData(teamDid, changedUser.did);
131
131
  pageState.tab = defaultTab;
132
132
  };
133
- const providerNameMap = {
134
- auth0: 'Auth0',
135
- wallet: 'DID wallet',
136
- federated: 'Federated'
137
- };
138
133
 
139
134
  // tab
140
135
  const Info = () => {
@@ -149,7 +144,7 @@ export default function Member({
149
144
  value: /*#__PURE__*/_jsx(Box, {
150
145
  display: "flex",
151
146
  alignItems: "center",
152
- children: providerNameMap[pageState.user?.sourceProvider || USER_TYPE.WALLET] || pageState.user?.sourceProvider
147
+ children: PROVIDER_NAME[pageState.user?.sourceProvider || USER_TYPE.WALLET] || pageState.user?.sourceProvider
153
148
  })
154
149
  }, {
155
150
  name: t('team.member.allowLogin'),
@@ -18,8 +18,8 @@ var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
18
18
  var _Stars = _interopRequireDefault(require("@mui/icons-material/Stars"));
19
19
  var _isUrl = _interopRequireDefault(require("is-url"));
20
20
  var _urlJoin = _interopRequireDefault(require("url-join"));
21
- var _blocklet = require("../../contexts/blocklet");
22
- var _node = require("../../contexts/node");
21
+ var _blocklet = require("../../../contexts/blocklet");
22
+ var _node = require("../../../contexts/node");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
  const FederatedDetailDialog = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
@@ -14,8 +14,8 @@ var _material = require("@mui/material");
14
14
  var _Theme = require("@arcblock/ux/lib/Theme");
15
15
  var _noop = _interopRequireDefault(require("lodash/noop"));
16
16
  var _isUrl = _interopRequireDefault(require("is-url"));
17
- var _blocklet = require("../../contexts/blocklet");
18
- var _node = require("../../contexts/node");
17
+ var _blocklet = require("../../../contexts/blocklet");
18
+ var _node = require("../../../contexts/node");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
  const FederatedJoinDialog = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
@@ -16,9 +16,9 @@ var _ahooks = require("ahooks");
16
16
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
17
17
  var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
18
18
  var _constant = require("@blocklet/constant");
19
- var _blocklet = require("../../contexts/blocklet");
20
- var _node = require("../../contexts/node");
21
- var _confirm = _interopRequireDefault(require("../../hooks/confirm"));
19
+ var _blocklet = require("../../../contexts/blocklet");
20
+ var _node = require("../../../contexts/node");
21
+ var _confirm = _interopRequireDefault(require("../../../hooks/confirm"));
22
22
  var _federatedDetailDialog = _interopRequireDefault(require("./federated-detail-dialog"));
23
23
  var _federatedInviteDialog = _interopRequireDefault(require("./federated-invite-dialog"));
24
24
  var _jsxRuntime = require("react/jsx-runtime");
@@ -11,7 +11,7 @@ var _ahooks = require("ahooks");
11
11
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
12
12
  var _material = require("@mui/material");
13
13
  var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
14
- var _blocklet = require("../../contexts/blocklet");
14
+ var _blocklet = require("../../../contexts/blocklet");
15
15
  var _federatedSiteList = _interopRequireDefault(require("./federated-site-list"));
16
16
  var _federatedJoinDialog = _interopRequireDefault(require("./federated-join-dialog"));
17
17
  var _federatedInviteDialog = _interopRequireDefault(require("./federated-invite-dialog"));
@@ -10,7 +10,7 @@ var _Tabs = _interopRequireDefault(require("@arcblock/ux/lib/Tabs"));
10
10
  var _material = require("@mui/material");
11
11
  var _ahooks = require("ahooks");
12
12
  var _react = require("react");
13
- var _auth = _interopRequireDefault(require("./auth0"));
13
+ var _oauth = _interopRequireDefault(require("./oauth"));
14
14
  var _commonSettings = _interopRequireDefault(require("./common-settings"));
15
15
  var _federated = _interopRequireDefault(require("./federated"));
16
16
  var _jsxRuntime = require("react/jsx-runtime");
@@ -37,9 +37,9 @@ function OAuth() {
37
37
  label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
38
38
  textAlign: "center",
39
39
  width: "100%",
40
- children: "Auth0"
40
+ children: t('oauth.oauth')
41
41
  }),
42
- value: 'auth0'
42
+ value: 'oauth'
43
43
  }, {
44
44
  label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
45
45
  textAlign: "center",
@@ -48,9 +48,11 @@ function OAuth() {
48
48
  }),
49
49
  value: 'more'
50
50
  }];
51
- const [currentTab, setCurrentTab] = (0, _react.useState)(tabs[0].value);
51
+
52
+ // tabs[0].value
53
+ const [currentTab, setCurrentTab] = (0, _react.useState)('oauth');
52
54
  const contents = (0, _ahooks.useCreation)(() => ({
53
- auth0: /*#__PURE__*/(0, _jsxRuntime.jsx)(_auth.default, {}),
55
+ oauth: /*#__PURE__*/(0, _jsxRuntime.jsx)(_oauth.default, {}),
54
56
  federated: /*#__PURE__*/(0, _jsxRuntime.jsx)(_federated.default, {}),
55
57
  more: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
56
58
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _material = require("@mui/material");
8
+ var _pick = _interopRequireDefault(require("lodash/pick"));
9
+ var _ahooks = require("ahooks");
10
+ var _reactHookForm = require("react-hook-form");
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
13
+ var _node = require("../../../contexts/node");
14
+ var _blocklet = require("../../../contexts/blocklet");
15
+ var _switchControl = _interopRequireDefault(require("../../component/switch-control"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ 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; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
22
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
+ function OAuthApple() {
24
+ var _blocklet$meta, _blocklet$settings;
25
+ const {
26
+ api
27
+ } = (0, _node.useNodeContext)();
28
+ const {
29
+ blocklet
30
+ } = (0, _blocklet.useBlockletContext)();
31
+ const {
32
+ t
33
+ } = (0, _context.useLocaleContext)();
34
+ const did = blocklet === null || blocklet === void 0 || (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did;
35
+ const authData = Object.assign({
36
+ enabled: false,
37
+ teamId: '',
38
+ serviceId: '',
39
+ keyId: '',
40
+ authKey: ''
41
+ }, (blocklet === null || blocklet === void 0 || (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 || (_blocklet$settings = _blocklet$settings.oauth) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.apple) || {});
42
+ const {
43
+ handleSubmit,
44
+ control,
45
+ formState,
46
+ watch,
47
+ reset
48
+ } = (0, _reactHookForm.useForm)({
49
+ defaultValues: (0, _pick.default)(authData, ['enabled', 'teamId', 'serviceId', 'keyId', 'authKey'])
50
+ });
51
+ const enabled = watch('enabled');
52
+ const onSubmit = (0, _ahooks.useMemoizedFn)(async data => {
53
+ try {
54
+ var _blockletChanged$sett;
55
+ const {
56
+ blocklet: blockletChanged
57
+ } = await api.configOAuth({
58
+ input: {
59
+ did,
60
+ oauth: JSON.stringify({
61
+ apple: data
62
+ })
63
+ }
64
+ });
65
+ const defaultValues = Object.assign({
66
+ enabled: false,
67
+ teamId: '',
68
+ serviceId: '',
69
+ keyId: '',
70
+ authKey: ''
71
+ }, (blockletChanged === null || blockletChanged === void 0 || (_blockletChanged$sett = blockletChanged.settings) === null || _blockletChanged$sett === void 0 || (_blockletChanged$sett = _blockletChanged$sett.oauth) === null || _blockletChanged$sett === void 0 ? void 0 : _blockletChanged$sett.apple) || {});
72
+ // 将当前表单的默认值重置为新的数据,这样能够修正页面的 isDirty 数据
73
+ reset(defaultValues);
74
+ _Toast.default.success(t('oauth.saveSuccess'));
75
+ } catch (err) {
76
+ _Toast.default.error(err.message || t('oauth.saveFailed'));
77
+ }
78
+ });
79
+ const validateTeamId = (0, _ahooks.useMemoizedFn)(val => {
80
+ if (!(val !== null && val !== void 0 && val.trim())) {
81
+ return t('oauth.apple.teamIdDescribe');
82
+ }
83
+ return true;
84
+ });
85
+ const validateServiceId = (0, _ahooks.useMemoizedFn)(val => {
86
+ if (!(val !== null && val !== void 0 && val.trim())) {
87
+ return t('oauth.apple.serviceIdDescribe');
88
+ }
89
+ return true;
90
+ });
91
+ const validateKeyId = (0, _ahooks.useMemoizedFn)(val => {
92
+ if (!(val !== null && val !== void 0 && val.trim())) {
93
+ return t('oauth.apple.keyIdDescribe');
94
+ }
95
+ return true;
96
+ });
97
+ const validateAuthKey = (0, _ahooks.useMemoizedFn)(val => {
98
+ if (!(val !== null && val !== void 0 && val.trim())) {
99
+ return t('oauth.apple.authKeyDescribe');
100
+ }
101
+ return true;
102
+ });
103
+ const noop = (0, _ahooks.useMemoizedFn)(() => true);
104
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("form", {
106
+ onSubmit: handleSubmit(onSubmit),
107
+ disabled: true,
108
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
109
+ name: "enabled",
110
+ control: control,
111
+ render: _ref => {
112
+ let {
113
+ field
114
+ } = _ref;
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControlLabel, {
116
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_switchControl.default, _objectSpread({
117
+ checked: field.value,
118
+ style: {
119
+ marginRight: '6px'
120
+ }
121
+ }, field)),
122
+ label: t('oauth.apple.enable'),
123
+ sx: {
124
+ marginBottom: 2,
125
+ ml: 1
126
+ }
127
+ });
128
+ }
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
130
+ name: "teamId",
131
+ control: control,
132
+ rules: {
133
+ validate: enabled ? validateTeamId : noop
134
+ },
135
+ render: _ref2 => {
136
+ var _formState$errors$fie;
137
+ let {
138
+ field
139
+ } = _ref2;
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
141
+ fullWidth: true,
142
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
143
+ error: !!formState.errors[field.name],
144
+ label: t('oauth.apple.teamId'),
145
+ helperText: ((_formState$errors$fie = formState.errors[field.name]) === null || _formState$errors$fie === void 0 ? void 0 : _formState$errors$fie.message) || ' ',
146
+ disabled: !enabled
147
+ }))
148
+ });
149
+ }
150
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
151
+ name: "serviceId",
152
+ control: control,
153
+ rules: {
154
+ validate: enabled ? validateServiceId : noop
155
+ },
156
+ render: _ref3 => {
157
+ var _formState$errors$fie2;
158
+ let {
159
+ field
160
+ } = _ref3;
161
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
162
+ fullWidth: true,
163
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
164
+ error: !!formState.errors[field.name],
165
+ label: t('oauth.apple.serviceId'),
166
+ helperText: ((_formState$errors$fie2 = formState.errors[field.name]) === null || _formState$errors$fie2 === void 0 ? void 0 : _formState$errors$fie2.message) || ' ',
167
+ disabled: !enabled
168
+ }))
169
+ });
170
+ }
171
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
172
+ name: "keyId",
173
+ control: control,
174
+ rules: {
175
+ validate: enabled ? validateKeyId : noop
176
+ },
177
+ render: _ref4 => {
178
+ var _formState$errors$fie3;
179
+ let {
180
+ field
181
+ } = _ref4;
182
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
183
+ fullWidth: true,
184
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
185
+ error: !!formState.errors[field.name],
186
+ label: t('oauth.apple.keyId'),
187
+ helperText: ((_formState$errors$fie3 = formState.errors[field.name]) === null || _formState$errors$fie3 === void 0 ? void 0 : _formState$errors$fie3.message) || ' ',
188
+ disabled: !enabled
189
+ }))
190
+ });
191
+ }
192
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
193
+ name: "authKey",
194
+ control: control,
195
+ rules: {
196
+ validate: enabled ? validateAuthKey : noop
197
+ },
198
+ render: _ref5 => {
199
+ var _formState$errors$fie4;
200
+ let {
201
+ field
202
+ } = _ref5;
203
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
204
+ fullWidth: true,
205
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
206
+ type: "password",
207
+ multiline: true,
208
+ rows: 4,
209
+ label: t('oauth.apple.authKey'),
210
+ error: !!formState.errors[field.name],
211
+ helperText: ((_formState$errors$fie4 = formState.errors[field.name]) === null || _formState$errors$fie4 === void 0 ? void 0 : _formState$errors$fie4.message) || ' ',
212
+ disabled: !enabled
213
+ }))
214
+ });
215
+ }
216
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
217
+ type: "submit",
218
+ variant: "contained",
219
+ onSubmit: handleSubmit(onSubmit),
220
+ disabled: !formState.isDirty,
221
+ children: t('oauth.save')
222
+ })]
223
+ })
224
+ });
225
+ }
226
+ var _default = exports.default = OAuthApple;
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _material = require("@mui/material");
8
+ var _pick = _interopRequireDefault(require("lodash/pick"));
9
+ var _ahooks = require("ahooks");
10
+ var _reactHookForm = require("react-hook-form");
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
13
+ var _node = require("../../../contexts/node");
14
+ var _blocklet = require("../../../contexts/blocklet");
15
+ var _switchControl = _interopRequireDefault(require("../../component/switch-control"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ 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; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
22
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
+ function OAuthAuth0() {
24
+ var _blocklet$meta, _blocklet$settings;
25
+ const {
26
+ api
27
+ } = (0, _node.useNodeContext)();
28
+ const {
29
+ blocklet
30
+ } = (0, _blocklet.useBlockletContext)();
31
+ const {
32
+ t
33
+ } = (0, _context.useLocaleContext)();
34
+ const did = blocklet === null || blocklet === void 0 || (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did;
35
+ const auth0 = Object.assign({
36
+ enabled: false,
37
+ domain: '',
38
+ clientId: '',
39
+ clientSecret: ''
40
+ }, (blocklet === null || blocklet === void 0 || (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 || (_blocklet$settings = _blocklet$settings.oauth) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.auth0) || {});
41
+ const {
42
+ handleSubmit,
43
+ control,
44
+ formState,
45
+ watch,
46
+ reset
47
+ } = (0, _reactHookForm.useForm)({
48
+ defaultValues: (0, _pick.default)(auth0, ['domain', 'clientId', 'clientSecret', 'enabled'])
49
+ });
50
+ const enabled = watch('enabled');
51
+ const onSubmit = (0, _ahooks.useMemoizedFn)(async data => {
52
+ try {
53
+ var _blockletChanged$sett;
54
+ const {
55
+ blocklet: blockletChanged
56
+ } = await api.configOAuth({
57
+ input: {
58
+ did,
59
+ oauth: JSON.stringify({
60
+ auth0: data
61
+ })
62
+ }
63
+ });
64
+ const defaultValues = Object.assign({
65
+ enabled: false,
66
+ domain: '',
67
+ clientId: '',
68
+ clientSecret: ''
69
+ }, (blockletChanged === null || blockletChanged === void 0 || (_blockletChanged$sett = blockletChanged.settings) === null || _blockletChanged$sett === void 0 || (_blockletChanged$sett = _blockletChanged$sett.oauth) === null || _blockletChanged$sett === void 0 ? void 0 : _blockletChanged$sett.auth0) || {});
70
+ // 将当前表单的默认值重置为新的数据,这样能够修正页面的 isDirty 数据
71
+ reset(defaultValues);
72
+ _Toast.default.success(t('oauth.saveSuccess'));
73
+ } catch (err) {
74
+ _Toast.default.error(err.message || t('oauth.saveFailed'));
75
+ }
76
+ });
77
+ const validateDomain = (0, _ahooks.useMemoizedFn)(val => {
78
+ if (!(val !== null && val !== void 0 && val.trim())) {
79
+ return t('oauth.auth0.domainDescribe');
80
+ }
81
+ return true;
82
+ });
83
+ const validateClientId = (0, _ahooks.useMemoizedFn)(val => {
84
+ if (!(val !== null && val !== void 0 && val.trim())) {
85
+ return t('oauth.auth0.clientIdDescribe');
86
+ }
87
+ return true;
88
+ });
89
+ const noop = (0, _ahooks.useMemoizedFn)(() => true);
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("form", {
92
+ onSubmit: handleSubmit(onSubmit),
93
+ disabled: true,
94
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
95
+ name: "enabled",
96
+ control: control,
97
+ render: _ref => {
98
+ let {
99
+ field
100
+ } = _ref;
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControlLabel, {
102
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_switchControl.default, _objectSpread({
103
+ checked: field.value,
104
+ style: {
105
+ marginRight: '6px'
106
+ }
107
+ }, field)),
108
+ label: t('oauth.auth0.enable'),
109
+ sx: {
110
+ marginBottom: 2,
111
+ ml: 1
112
+ }
113
+ });
114
+ }
115
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
116
+ name: "domain",
117
+ control: control,
118
+ rules: {
119
+ validate: enabled ? validateDomain : noop
120
+ },
121
+ render: _ref2 => {
122
+ var _formState$errors$fie;
123
+ let {
124
+ field
125
+ } = _ref2;
126
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
127
+ fullWidth: true,
128
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
129
+ label: t('oauth.auth0.domain'),
130
+ error: !!formState.errors[field.name],
131
+ helperText: ((_formState$errors$fie = formState.errors[field.name]) === null || _formState$errors$fie === void 0 ? void 0 : _formState$errors$fie.message) || ' ',
132
+ disabled: !enabled
133
+ }))
134
+ });
135
+ }
136
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
137
+ name: "clientId",
138
+ control: control,
139
+ rules: {
140
+ validate: enabled ? validateClientId : noop
141
+ },
142
+ render: _ref3 => {
143
+ var _formState$errors$fie2;
144
+ let {
145
+ field
146
+ } = _ref3;
147
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
148
+ fullWidth: true,
149
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
150
+ error: !!formState.errors[field.name],
151
+ label: t('oauth.auth0.clientId'),
152
+ helperText: ((_formState$errors$fie2 = formState.errors[field.name]) === null || _formState$errors$fie2 === void 0 ? void 0 : _formState$errors$fie2.message) || ' ',
153
+ disabled: !enabled
154
+ }))
155
+ });
156
+ }
157
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
158
+ name: "clientSecret",
159
+ control: control,
160
+ rules: {
161
+ validate: noop
162
+ },
163
+ render: _ref4 => {
164
+ var _formState$errors$fie3;
165
+ let {
166
+ field
167
+ } = _ref4;
168
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {
169
+ fullWidth: true,
170
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, field), {}, {
171
+ type: "password",
172
+ error: !!formState.errors[field.name],
173
+ label: t('oauth.auth0.clientSecret'),
174
+ helperText: ((_formState$errors$fie3 = formState.errors[field.name]) === null || _formState$errors$fie3 === void 0 ? void 0 : _formState$errors$fie3.message) || ' ',
175
+ disabled: !enabled
176
+ }))
177
+ });
178
+ }
179
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
180
+ type: "submit",
181
+ variant: "contained",
182
+ onSubmit: handleSubmit(onSubmit),
183
+ disabled: !formState.isDirty,
184
+ children: t('oauth.save')
185
+ })]
186
+ })
187
+ });
188
+ }
189
+ var _default = exports.default = OAuthAuth0;