@abtnode/ux 1.16.25-beta-be3a37f4 → 1.16.25-beta-44800645

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 (41) hide show
  1. package/es/blocklet/router/action/add-rule.js +12 -0
  2. package/es/blocklet/router/action/config-routing-rule.js +55 -4
  3. package/es/blocklet/router/action/update-rule.js +12 -0
  4. package/es/blocklet/router/rule-list.js +10 -2
  5. package/es/locales/ar.js +5 -1
  6. package/es/locales/de.js +5 -1
  7. package/es/locales/en.js +5 -1
  8. package/es/locales/es.js +5 -1
  9. package/es/locales/fr.js +5 -1
  10. package/es/locales/hi.js +5 -1
  11. package/es/locales/i18n.db +0 -0
  12. package/es/locales/id.js +5 -1
  13. package/es/locales/ja.js +5 -1
  14. package/es/locales/ko.js +5 -1
  15. package/es/locales/pt.js +5 -1
  16. package/es/locales/ru.js +5 -1
  17. package/es/locales/th.js +5 -1
  18. package/es/locales/vi.js +5 -1
  19. package/es/locales/zh-tw.js +5 -1
  20. package/es/locales/zh.js +5 -1
  21. package/lib/blocklet/router/action/add-rule.js +12 -0
  22. package/lib/blocklet/router/action/config-routing-rule.js +52 -3
  23. package/lib/blocklet/router/action/update-rule.js +13 -0
  24. package/lib/blocklet/router/rule-list.js +10 -1
  25. package/lib/locales/ar.js +5 -1
  26. package/lib/locales/de.js +5 -1
  27. package/lib/locales/en.js +5 -1
  28. package/lib/locales/es.js +5 -1
  29. package/lib/locales/fr.js +5 -1
  30. package/lib/locales/hi.js +5 -1
  31. package/lib/locales/i18n.db +0 -0
  32. package/lib/locales/id.js +5 -1
  33. package/lib/locales/ja.js +5 -1
  34. package/lib/locales/ko.js +5 -1
  35. package/lib/locales/pt.js +5 -1
  36. package/lib/locales/ru.js +5 -1
  37. package/lib/locales/th.js +5 -1
  38. package/lib/locales/vi.js +5 -1
  39. package/lib/locales/zh-tw.js +5 -1
  40. package/lib/locales/zh.js +5 -1
  41. package/package.json +7 -7
@@ -65,6 +65,13 @@ export default function AddRule({
65
65
  if (params.type === ROUTING_RULE_TYPES.GENERAL_REWRITE) {
66
66
  rule.to.url = urlPathFriendly(params.url);
67
67
  }
68
+ if (params.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE) {
69
+ rule.to.response = {
70
+ status: 200,
71
+ contentType: params.responseType,
72
+ body: params.responseBody
73
+ };
74
+ }
68
75
  await api.addRoutingRule({
69
76
  input: {
70
77
  id: siteId,
@@ -134,6 +141,9 @@ export default function AddRule({
134
141
  if (params.type === ROUTING_RULE_TYPES.GENERAL_REWRITE && !params.url) {
135
142
  disable = true;
136
143
  }
144
+ if (params.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE && (!params.responseType || !params.responseBody)) {
145
+ disable = true;
146
+ }
137
147
  if (!e.target.value.trim()) {
138
148
  disable = true;
139
149
  setError(t('router.validation.pathPrefixRequired'));
@@ -167,6 +177,8 @@ export default function AddRule({
167
177
  componentId: '',
168
178
  pageGroup: '',
169
179
  redirectCode: 302,
180
+ responseType: 'text/plain',
181
+ responseBody: '',
170
182
  __disableConfirm: true
171
183
  },
172
184
  onConfirm,
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import TextField from '@mui/material/TextField';
4
4
  import MenuItem from '@mui/material/MenuItem';
5
5
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
6
- import { ROUTING_RULE_TYPES } from '@abtnode/constant';
6
+ import { ROUTING_RULE_TYPES, ROUTING_RESPONSE_TYPES } from '@abtnode/constant';
7
7
  import { BLOCKLET_INTERFACE_TYPE_WEB } from '@blocklet/constant';
8
8
  import { findWebInterface, getDisplayName } from '@blocklet/meta/lib/util';
9
9
  import { useBlockletContext } from '../../../contexts/blocklet';
@@ -194,18 +194,66 @@ export default function ConfigRoutingRule({
194
194
  marginBottom: 32
195
195
  },
196
196
  onChange: e => {
197
+ const value = e.target.value.trim();
197
198
  setParams({
198
199
  ...params,
199
200
  url: e.target.value,
200
- __disableConfirm: !e.target.value.trim()
201
+ __disableConfirm: !value
201
202
  });
202
- if (!e.target.value.trim()) {
203
+ if (!value) {
203
204
  setError(t('router.validation.rewriteUrlRequired'));
204
205
  } else {
205
206
  setError('');
206
207
  }
207
208
  }
208
- }, "url")]
209
+ }, "url"), params.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE && [/*#__PURE__*/_jsx(TextField, {
210
+ select: true,
211
+ label: t('router.rule.add.responseType'),
212
+ autoComplete: "off",
213
+ variant: "outlined",
214
+ name: "responseType",
215
+ fullWidth: true,
216
+ value: params.responseType,
217
+ onChange: e => setParams({
218
+ ...params,
219
+ responseType: e.target.value
220
+ }),
221
+ style: {
222
+ marginBottom: 32
223
+ },
224
+ SelectProps: {},
225
+ children: ROUTING_RESPONSE_TYPES.map(x => /*#__PURE__*/_jsx(MenuItem, {
226
+ value: x.value,
227
+ children: x.text
228
+ }, x.value))
229
+ }, "responseType"), /*#__PURE__*/_jsx(TextField, {
230
+ label: t('router.rule.add.responseBody'),
231
+ autoComplete: "off",
232
+ variant: "outlined",
233
+ name: "responseBody",
234
+ "data-cy": "response-body-input",
235
+ fullWidth: true,
236
+ multiline: true,
237
+ minRows: 3,
238
+ value: params.responseBody,
239
+ helperText: t('router.rule.add.responseBodyTip'),
240
+ style: {
241
+ marginBottom: 32
242
+ },
243
+ onChange: e => {
244
+ const value = e.target.value.trim();
245
+ setParams({
246
+ ...params,
247
+ responseBody: e.target.value,
248
+ __disableConfirm: !value
249
+ });
250
+ if (!value) {
251
+ setError(t('router.rule.add.responseBodyRequired'));
252
+ } else {
253
+ setError('');
254
+ }
255
+ }
256
+ }, "response-body")]]
209
257
  });
210
258
  }
211
259
  ConfigRoutingRule.propTypes = {
@@ -225,6 +273,9 @@ ConfigRoutingRule.defaultProps = {
225
273
  }, {
226
274
  name: 'Rewrite - Route traffic without redirect',
227
275
  value: ROUTING_RULE_TYPES.GENERAL_REWRITE
276
+ }, {
277
+ name: 'Response - Response with provided content',
278
+ value: ROUTING_RULE_TYPES.DIRECT_RESPONSE
228
279
  }, {
229
280
  name: 'Component - Pass traffic to blocklet component',
230
281
  value: ROUTING_RULE_TYPES.COMPONENT
@@ -70,6 +70,13 @@ export default function UpdateRule({
70
70
  if (params.type === ROUTING_RULE_TYPES.GENERAL_REWRITE) {
71
71
  rule.to.url = urlPathFriendly(params.url);
72
72
  }
73
+ if (params.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE) {
74
+ rule.to.response = {
75
+ status: 200,
76
+ contentType: params.responseType,
77
+ body: params.responseBody
78
+ };
79
+ }
73
80
  await api.updateRoutingRule({
74
81
  input: {
75
82
  id: siteId,
@@ -127,6 +134,9 @@ export default function UpdateRule({
127
134
  if (params.type === ROUTING_RULE_TYPES.GENERAL_REWRITE && !params.url) {
128
135
  disable = true;
129
136
  }
137
+ if (params.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE && (!params.responseType || !params.responseBody)) {
138
+ disable = true;
139
+ }
130
140
  if (!e.target.value.trim()) {
131
141
  disable = true;
132
142
  setError(t('router.validation.pathPrefixRequired'));
@@ -162,6 +172,8 @@ export default function UpdateRule({
162
172
  componentId: to.componentId || '',
163
173
  pageGroup: to.pageGroup || '',
164
174
  url: to.url || '',
175
+ responseType: to.response?.contentType || '',
176
+ responseBody: (to.response?.body || '').replace(/\\"/g, '"'),
165
177
  __disableConfirm: false
166
178
  },
167
179
  onConfirm,
@@ -9,8 +9,9 @@ import IconButton from '@mui/material/IconButton';
9
9
  import Avatar from '@mui/material/Avatar';
10
10
  import LockIcon from '@arcblock/icons/lib/LockIcon';
11
11
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
12
- import { ROUTING_RULE_TYPES } from '@abtnode/constant';
12
+ import { ROUTING_RESPONSE_TYPES, ROUTING_RULE_TYPES } from '@abtnode/constant';
13
13
  import { getDisplayName } from '@blocklet/meta/lib/util';
14
+ import { TextSnippetOutlined } from '@mui/icons-material';
14
15
  import { getBlockletUrlParams, getAccessUrl, BlockletAdminRoles } from '../../util';
15
16
  import { useBlockletContext } from '../../contexts/blocklet';
16
17
  import { useNodeContext } from '../../contexts/node';
@@ -70,6 +71,13 @@ function RuleList({
70
71
  avatar = rule.to.redirectCode;
71
72
  } else if (rule.to.type === ROUTING_RULE_TYPES.GENERAL_REWRITE) {
72
73
  avatar = 'R';
74
+ } else if (rule.to.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE) {
75
+ avatar = /*#__PURE__*/_jsx(TextSnippetOutlined, {
76
+ sx: {
77
+ color: 'text.secondary',
78
+ fontSize: '45px'
79
+ }
80
+ });
73
81
  } else if (rule.to.type === ROUTING_RULE_TYPES.COMPONENT) {
74
82
  component = blocklet.children.find(x => x.meta.did === rule.to.componentId);
75
83
  avatar = 'C';
@@ -127,7 +135,7 @@ function RuleList({
127
135
  color: '#222',
128
136
  fontSize: 16
129
137
  },
130
- children: [rule.to.type === ROUTING_RULE_TYPES.NONE && t('common.page404'), rule.to.type === ROUTING_RULE_TYPES.REDIRECT && t('common.redirect'), rule.to.type === ROUTING_RULE_TYPES.GENERAL_REWRITE && t('common.rewrite'), rule.to.type === ROUTING_RULE_TYPES.COMPONENT && getDisplayName(component, true)]
138
+ children: [rule.to.type === ROUTING_RULE_TYPES.NONE && t('common.page404'), rule.to.type === ROUTING_RULE_TYPES.REDIRECT && t('common.redirect'), rule.to.type === ROUTING_RULE_TYPES.GENERAL_REWRITE && t('common.rewrite'), rule.to.type === ROUTING_RULE_TYPES.DIRECT_RESPONSE && ROUTING_RESPONSE_TYPES.find(x => x.value === rule.to.response.contentType)?.text, rule.to.type === ROUTING_RULE_TYPES.COMPONENT && getDisplayName(component, true)]
131
139
  }), /*#__PURE__*/_jsxs(Box, {
132
140
  display: "flex",
133
141
  alignItems: "center",
package/es/locales/ar.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "إذا قمت بتعيين البادئة على '/بادئة-الخاصة-بي'، فسيتم توجيه جميع الطلبات التي تبدأ بتلك البادئة إلى البلوكليت المكون",
1040
1040
  blocklet: 'أي Blocklet سيتولى معالجة تلك الطلبات؟',
1041
1041
  port: 'ما هو المنفذ الذي سيتعامل مع طلبات البلوكليت؟',
1042
- portTip: 'هذا يعتمد على المنفذ الرئيسي للبلوكليت بشكل افتراضي ، إذا كان بلوكليت الخاص بك يستمع على منافذ متعددة ، فيمكنك تخصيص ذلك.'
1042
+ portTip: 'هذا يعتمد على المنفذ الرئيسي للبلوكليت بشكل افتراضي ، إذا كان بلوكليت الخاص بك يستمع على منافذ متعددة ، فيمكنك تخصيص ذلك.',
1043
+ responseType: 'نوع الاستجابة',
1044
+ responseBody: 'محتوى الرد',
1045
+ responseBodyTip: 'الصق محتوى الاستجابة الخاص بك هنا ، يجب ألا يتجاوز 4096 حرفًا.',
1046
+ responseBodyRequired: 'لا يمكن أن يكون محتوى الرد فارغاً'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'حذف تعيين عنوان URL',
package/es/locales/de.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Wenn Sie das Präfix auf '/mein-präfix' setzen, werden alle Anfragen, die mit diesem Präfix beginnen, zum konfigurierten Blocklet weitergeleitet",
1040
1040
  blocklet: 'Welcher Blocklet wird diese Anfragen bearbeiten?',
1041
1041
  port: 'Welcher Port des Blocklet wird Anfragen bearbeiten?',
1042
- portTip: 'Dies ist standardmäßig der Hauptport von Blocklet. Wenn Blocklet auf mehreren Ports lauscht, können Sie dies anpassen.'
1042
+ portTip: 'Dies ist standardmäßig der Hauptport von Blocklet. Wenn Blocklet auf mehreren Ports lauscht, können Sie dies anpassen.',
1043
+ responseType: 'Antworttyp',
1044
+ responseBody: 'Antwortinhalt',
1045
+ responseBodyTip: 'Fügen Sie hier Ihren Antwortinhalt ein, der 4096 Zeichen nicht überschreiten sollte.',
1046
+ responseBodyRequired: 'Der Antwortinhalt darf nicht leer sein'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'URL-Mapping löschen',
package/es/locales/en.js CHANGED
@@ -1032,7 +1032,11 @@ export default {
1032
1032
  pathPrefixTip: "If you set prefix to '/my-prefix', then all requests that begins with that prefix will be routed to the configured blocklet",
1033
1033
  blocklet: 'Which Blocklet will be handling those requests?',
1034
1034
  port: 'Which port of the blocklet will be handling requests?',
1035
- portTip: 'This defaults to the main port of blocklet, if your blocklet listens on multiple ports, you can customize this'
1035
+ portTip: 'This defaults to the main port of blocklet, if your blocklet listens on multiple ports, you can customize this',
1036
+ responseType: 'Response Type',
1037
+ responseBody: 'Response Content',
1038
+ responseBodyTip: 'Paste your response content here, should not exceed 4096 characters',
1039
+ responseBodyRequired: 'Response content can not be empty'
1036
1040
  },
1037
1041
  delete: {
1038
1042
  title: 'Delete URL Mapping',
package/es/locales/es.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Si configuras el prefijo como '/my-prefix', todas las solicitudes que comiencen con ese prefijo se dirigirán al bloque configurado",
1040
1040
  blocklet: '¿Qué Blocklet se encargará de manejar esas solicitudes?',
1041
1041
  port: '¿Qué puerto del blocklet manejará las solicitudes?',
1042
- portTip: 'Esto se establece por defecto en el puerto principal de blocklet, si tu blocklet escucha en varios puertos, puedes personalizar esto'
1042
+ portTip: 'Esto se establece por defecto en el puerto principal de blocklet, si tu blocklet escucha en varios puertos, puedes personalizar esto',
1043
+ responseType: 'Tipo de respuesta',
1044
+ responseBody: 'Contenido de respuesta',
1045
+ responseBodyTip: 'Pega tu contenido de respuesta aquí, no debe exceder los 4096 caracteres',
1046
+ responseBodyRequired: 'El contenido de respuesta no puede estar vacío'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'Eliminar asignación de URL',
package/es/locales/fr.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Si vous définissez le préfixe sur '/mon-préfixe', alors toutes les demandes commençant par ce préfixe seront routées vers le blocklet configuré",
1040
1040
  blocklet: 'Quel Blocklet gérera ces demandes ?',
1041
1041
  port: 'Quel port du blocklet gérera les requêtes ?',
1042
- portTip: 'Par défaut, cela correspond au port principal du blocklet. Si votre blocklet écoute sur plusieurs ports, vous pouvez personnaliser cela.'
1042
+ portTip: 'Par défaut, cela correspond au port principal du blocklet. Si votre blocklet écoute sur plusieurs ports, vous pouvez personnaliser cela.',
1043
+ responseType: 'Type de réponse',
1044
+ responseBody: 'Contenu de la réponse',
1045
+ responseBodyTip: 'Veuillez coller votre contenu de réponse ici, ne doit pas dépasser 4096 caractères.',
1046
+ responseBodyRequired: 'Le contenu de la réponse ne peut pas être vide'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: "Supprimer la correspondance d'URL",
package/es/locales/hi.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "यदि आप प्रेफिक्स को '/मेरा प्रेफिक्स' सेट करते हैं, तो इस प्रेफिक्स के साथ शुरू होने वाले सभी अनुरोध विन्यासित ब्लॉकलेट को मार्ग-निर्दिष्ट में भेजे जाएंगे",
1040
1040
  blocklet: 'इन अनुरोधों का हैंडलिंग कौन सा ब्लॉकलेट करेगा?',
1041
1041
  port: 'ब्लॉकलेट का कौन सा पोर्ट अनुरोधों को संभालेगा?',
1042
- portTip: 'यह डिफ़ॉल्ट रूप से ब्लॉकलेट के मुख्य पोर्ट के लिए होता है, यदि आपका ब्लॉकलेट कई पोर्टों पर सुनता है, तो आप इसे अनुकूलित कर सकते हैं।'
1042
+ portTip: 'यह डिफ़ॉल्ट रूप से ब्लॉकलेट के मुख्य पोर्ट के लिए होता है, यदि आपका ब्लॉकलेट कई पोर्टों पर सुनता है, तो आप इसे अनुकूलित कर सकते हैं।',
1043
+ responseType: 'प्रतिक्रिया प्रकार',
1044
+ responseBody: 'प्रतिक्रिया सामग्री',
1045
+ responseBodyTip: 'अपनी प्रतिक्रिया सामग्री यहां पेस्ट करें, 4096 वर्णों से अधिक नहीं होनी चाहिए।',
1046
+ responseBodyRequired: 'प्रतिक्रिया सामग्री खाली नहीं हो सकती'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'URL मैपिंग हटाएं',
Binary file
package/es/locales/id.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Jika Anda mengatur awalan menjadi '/awalan-saya', maka semua permintaan yang dimulai dengan awalan tersebut akan diarahkan ke blok yang dikonfigurasi",
1040
1040
  blocklet: 'Blocklet mana yang akan menangani permintaan tersebut?',
1041
1041
  port: 'Port mana dari blocklet yang akan menangani permintaan?',
1042
- portTip: 'Ini menjadi port utama blocklet, jika blocklet Anda mendengarkan di beberapa port, Anda dapat menyesuaikannya'
1042
+ portTip: 'Ini menjadi port utama blocklet, jika blocklet Anda mendengarkan di beberapa port, Anda dapat menyesuaikannya',
1043
+ responseType: 'Tipe Respons',
1044
+ responseBody: 'Konten Tanggapan',
1045
+ responseBodyTip: 'Tempelkan konten respon Anda di sini, tidak boleh melebihi 4096 karakter',
1046
+ responseBodyRequired: 'Konten respons tidak boleh kosong'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'Hapus Pemetaan URL',
package/es/locales/ja.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "'/my-prefix' をプレフィックスに設定すると、そのプレフィックスで始まるすべてのリクエストが設定されたブロックにルーティングされます",
1040
1040
  blocklet: 'どのBlockletがそれらのリクエストを処理しますか?',
1041
1041
  port: 'ブロックレットのどのポートがリクエストを処理しますか?',
1042
- portTip: 'これは、Blockletのメインポートにデフォルトで設定されます。Blockletが複数のポートでリッスンする場合は、これをカスタマイズできます'
1042
+ portTip: 'これは、Blockletのメインポートにデフォルトで設定されます。Blockletが複数のポートでリッスンする場合は、これをカスタマイズできます',
1043
+ responseType: 'レスポンスタイプ',
1044
+ responseBody: '応答内容',
1045
+ responseBodyTip: '以下に回答内容を貼り付けてください。4096文字を超えてはいけません。',
1046
+ responseBodyRequired: 'レスポンスの内容は空にできません'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'URLマッピングを削除する',
package/es/locales/ko.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "'/my-prefix'로 접두사를 설정하면 해당 접두사로 시작하는 모든 요청이 구성된 블록에 라우팅됩니다",
1040
1040
  blocklet: '어떤 블록이 그 요청을 처리하게 될까요?',
1041
1041
  port: '블록렛의 어떤 포트가 요청을 처리합니까?',
1042
- portTip: '이것은 블록릿의 기본 포트로 설정됩니다. 블록릿이 여러 포트로 수신 대기하는 경우, 이를 사용자 정의할 수 있습니다'
1042
+ portTip: '이것은 블록릿의 기본 포트로 설정됩니다. 블록릿이 여러 포트로 수신 대기하는 경우, 이를 사용자 정의할 수 있습니다',
1043
+ responseType: '응답 유형',
1044
+ responseBody: '응답 내용',
1045
+ responseBodyTip: '답변 내용을 여기에 붙여넣으세요. 4096자를 초과해서는 안 됩니다.',
1046
+ responseBodyRequired: '응답 내용은 비어 있을 수 없습니다'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'URL 매핑 삭제하기',
package/es/locales/pt.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Se você definir o prefixo como '/meu-prefixo', todas as solicitações que começarem com esse prefixo serão direcionadas para o bloco configurado",
1040
1040
  blocklet: 'Qual Blocklet será responsável por essas solicitações?',
1041
1041
  port: 'Qual porta do blocklet será responsável por lidar com as solicitações?',
1042
- portTip: 'Isso se torna o porto principal do blocklet, se o seu blocklet estiver ouvindo em vários portos, você pode personalizar isso'
1042
+ portTip: 'Isso se torna o porto principal do blocklet, se o seu blocklet estiver ouvindo em vários portos, você pode personalizar isso',
1043
+ responseType: 'Tipo de resposta',
1044
+ responseBody: 'Conteúdo da resposta',
1045
+ responseBodyTip: 'Cole aqui o conteúdo da sua resposta, não deve exceder 4096 caracteres',
1046
+ responseBodyRequired: 'O conteúdo da resposta não pode estar vazio'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'Excluir mapeamento de URL',
package/es/locales/ru.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Если вы установите префикс на '/мой-префикс', то все запросы, начинающиеся с этого префикса, будут маршрутизироваться к настроенному блоклету",
1040
1040
  blocklet: 'Какой блоклет будет обрабатывать эти запросы?',
1041
1041
  port: 'Какой порт блоклета будет обрабатывать запросы?',
1042
- portTip: 'По умолчанию используется основной порт блоклета. Если блоклет слушает несколько портов, вы можете настроить это.'
1042
+ portTip: 'По умолчанию используется основной порт блоклета. Если блоклет слушает несколько портов, вы можете настроить это.',
1043
+ responseType: 'Тип ответа',
1044
+ responseBody: 'Содержание ответа',
1045
+ responseBodyTip: 'Вставьте сюда содержимое вашего ответа, не превышающее 4096 символов.',
1046
+ responseBodyRequired: 'Содержимое ответа не может быть пустым'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'Удалить отображение URL',
package/es/locales/th.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "หากคุณตั้งค่าคำนำหน้าเป็น '/my-prefix' จะทำให้คำขอที่ตั้งต้นด้วยคำนำหน้าเหล่านั้นจะถูกส่งมายังบล็อกเลตที่กำหนด",
1040
1040
  blocklet: 'Blocklet ไหนจะดูแลการร้องขอเหล่านั้น?',
1041
1041
  port: 'พอร์ตของบล็อกเล็ตใดที่จะรับผิดชอบการร้องขอ?',
1042
- portTip: 'นี่คือค่าพื้นฐานของพอร์ตหลักของ blocklet ถ้า blocklet ของคุณฟังถึงพอร์ตหลายๆพอร์ต คุณสามารถปรับแต่งได้'
1042
+ portTip: 'นี่คือค่าพื้นฐานของพอร์ตหลักของ blocklet ถ้า blocklet ของคุณฟังถึงพอร์ตหลายๆพอร์ต คุณสามารถปรับแต่งได้',
1043
+ responseType: 'ประเภทการตอบกลับ',
1044
+ responseBody: 'เนื้อหาการตอบกลับ',
1045
+ responseBodyTip: 'วางเนื้อหาการตอบสนองของคุณที่นี่ ต้องไม่เกิน 4096 อักขระ',
1046
+ responseBodyRequired: 'เนื้อหาการตอบกลับต้องไม่เป็นค่าว่าง'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'ลบการแมปลิงก์ URL',
package/es/locales/vi.js CHANGED
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "Nếu bạn đặt tiền tố là '/tiền-tố-của-tôi', thì tất cả các yêu cầu bắt đầu bằng tiền tố đó sẽ được định tuyến đến khối đã được cấu hình",
1040
1040
  blocklet: 'Blocklet nào sẽ xử lý những yêu cầu đó?',
1041
1041
  port: 'Cổng nào của blocklet sẽ xử lý các yêu cầu?',
1042
- portTip: 'Mặc định là cổng chính của blocklet, nếu blocklet của bạn lắng nghe trên nhiều cổng, bạn có thể tùy chỉnh điều này'
1042
+ portTip: 'Mặc định là cổng chính của blocklet, nếu blocklet của bạn lắng nghe trên nhiều cổng, bạn có thể tùy chỉnh điều này',
1043
+ responseType: 'Loại phản hồi',
1044
+ responseBody: 'Nội dung phản hồi',
1045
+ responseBodyTip: 'Dán nội dung đáp ứng của bạn vào đây, không vượt quá 4096 ký tự',
1046
+ responseBodyRequired: 'Nội dung phản hồi không thể trống'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: 'Xóa Liên kết URL',
@@ -1039,7 +1039,11 @@ export default {
1039
1039
  pathPrefixTip: "如果您將前綴設置為'/my-prefix',則所有以該前綴開頭的請求將被路由到配置的區塊",
1040
1040
  blocklet: '哪一個Blocklet將處理這些請求?',
1041
1041
  port: '區塊上的哪個埠將處理請求?',
1042
- portTip: '這預設為 blocklet 的主要埠口,如果您的 blocklet 監聽多個埠口,您可以自訂這個'
1042
+ portTip: '這預設為 blocklet 的主要埠口,如果您的 blocklet 監聽多個埠口,您可以自訂這個',
1043
+ responseType: '回應類型',
1044
+ responseBody: '回應內容',
1045
+ responseBodyTip: '請將您的回覆內容貼上此處,不得超過4096個字元',
1046
+ responseBodyRequired: '回應內容不能為空'
1043
1047
  },
1044
1048
  delete: {
1045
1049
  title: '刪除URL映射',
package/es/locales/zh.js CHANGED
@@ -1043,7 +1043,11 @@ export default {
1043
1043
  pathPrefixTip: "如果你填写了 '/prefix',那么所有以其为前缀的请求都会被转发到配置的基石程序",
1044
1044
  blocklet: '把请求代理到哪个服务?',
1045
1045
  port: '把请求代理到哪个端口?',
1046
- portTip: '这里的默认值是应用默认监听的端口,如果你的应用会启用多个端口,你可以根据需要自定义'
1046
+ portTip: '这里的默认值是应用默认监听的端口,如果你的应用会启用多个端口,你可以根据需要自定义',
1047
+ responseType: '回应类型',
1048
+ responseBody: '响应内容',
1049
+ responseBodyTip: '请将您的回复内容粘贴在这里,不要超过4096个字符',
1050
+ responseBodyRequired: '响应内容不能为空'
1047
1051
  },
1048
1052
  delete: {
1049
1053
  title: '删除规则',
@@ -78,6 +78,13 @@ function AddRule(_ref) {
78
78
  if (params.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE) {
79
79
  rule.to.url = (0, _urlPathFriendly.default)(params.url);
80
80
  }
81
+ if (params.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE) {
82
+ rule.to.response = {
83
+ status: 200,
84
+ contentType: params.responseType,
85
+ body: params.responseBody
86
+ };
87
+ }
81
88
  await api.addRoutingRule({
82
89
  input: {
83
90
  id: siteId,
@@ -143,6 +150,9 @@ function AddRule(_ref) {
143
150
  if (params.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE && !params.url) {
144
151
  disable = true;
145
152
  }
153
+ if (params.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE && (!params.responseType || !params.responseBody)) {
154
+ disable = true;
155
+ }
146
156
  if (!e.target.value.trim()) {
147
157
  disable = true;
148
158
  setError(t('router.validation.pathPrefixRequired'));
@@ -175,6 +185,8 @@ function AddRule(_ref) {
175
185
  componentId: '',
176
186
  pageGroup: '',
177
187
  redirectCode: 302,
188
+ responseType: 'text/plain',
189
+ responseBody: '',
178
190
  __disableConfirm: true
179
191
  },
180
192
  onConfirm,
@@ -204,17 +204,63 @@ function ConfigRoutingRule(_ref) {
204
204
  marginBottom: 32
205
205
  },
206
206
  onChange: e => {
207
+ const value = e.target.value.trim();
207
208
  setParams(_objectSpread(_objectSpread({}, params), {}, {
208
209
  url: e.target.value,
209
- __disableConfirm: !e.target.value.trim()
210
+ __disableConfirm: !value
210
211
  }));
211
- if (!e.target.value.trim()) {
212
+ if (!value) {
212
213
  setError(t('router.validation.rewriteUrlRequired'));
213
214
  } else {
214
215
  setError('');
215
216
  }
216
217
  }
217
- }, "url")]
218
+ }, "url"), params.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE && [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
219
+ select: true,
220
+ label: t('router.rule.add.responseType'),
221
+ autoComplete: "off",
222
+ variant: "outlined",
223
+ name: "responseType",
224
+ fullWidth: true,
225
+ value: params.responseType,
226
+ onChange: e => setParams(_objectSpread(_objectSpread({}, params), {}, {
227
+ responseType: e.target.value
228
+ })),
229
+ style: {
230
+ marginBottom: 32
231
+ },
232
+ SelectProps: {},
233
+ children: _constant.ROUTING_RESPONSE_TYPES.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
234
+ value: x.value,
235
+ children: x.text
236
+ }, x.value))
237
+ }, "responseType"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
238
+ label: t('router.rule.add.responseBody'),
239
+ autoComplete: "off",
240
+ variant: "outlined",
241
+ name: "responseBody",
242
+ "data-cy": "response-body-input",
243
+ fullWidth: true,
244
+ multiline: true,
245
+ minRows: 3,
246
+ value: params.responseBody,
247
+ helperText: t('router.rule.add.responseBodyTip'),
248
+ style: {
249
+ marginBottom: 32
250
+ },
251
+ onChange: e => {
252
+ const value = e.target.value.trim();
253
+ setParams(_objectSpread(_objectSpread({}, params), {}, {
254
+ responseBody: e.target.value,
255
+ __disableConfirm: !value
256
+ }));
257
+ if (!value) {
258
+ setError(t('router.rule.add.responseBodyRequired'));
259
+ } else {
260
+ setError('');
261
+ }
262
+ }
263
+ }, "response-body")]]
218
264
  });
219
265
  }
220
266
  ConfigRoutingRule.propTypes = {
@@ -234,6 +280,9 @@ ConfigRoutingRule.defaultProps = {
234
280
  }, {
235
281
  name: 'Rewrite - Route traffic without redirect',
236
282
  value: _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE
283
+ }, {
284
+ name: 'Response - Response with provided content',
285
+ value: _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE
237
286
  }, {
238
287
  name: 'Component - Pass traffic to blocklet component',
239
288
  value: _constant.ROUTING_RULE_TYPES.COMPONENT
@@ -29,6 +29,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
29
29
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
30
30
  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); }
31
31
  function UpdateRule(_ref) {
32
+ var _to$response, _to$response2;
32
33
  let {
33
34
  id: ruleId,
34
35
  from,
@@ -81,6 +82,13 @@ function UpdateRule(_ref) {
81
82
  if (params.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE) {
82
83
  rule.to.url = (0, _urlPathFriendly.default)(params.url);
83
84
  }
85
+ if (params.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE) {
86
+ rule.to.response = {
87
+ status: 200,
88
+ contentType: params.responseType,
89
+ body: params.responseBody
90
+ };
91
+ }
84
92
  await api.updateRoutingRule({
85
93
  input: {
86
94
  id: siteId,
@@ -135,6 +143,9 @@ function UpdateRule(_ref) {
135
143
  if (params.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE && !params.url) {
136
144
  disable = true;
137
145
  }
146
+ if (params.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE && (!params.responseType || !params.responseBody)) {
147
+ disable = true;
148
+ }
138
149
  if (!e.target.value.trim()) {
139
150
  disable = true;
140
151
  setError(t('router.validation.pathPrefixRequired'));
@@ -169,6 +180,8 @@ function UpdateRule(_ref) {
169
180
  componentId: to.componentId || '',
170
181
  pageGroup: to.pageGroup || '',
171
182
  url: to.url || '',
183
+ responseType: ((_to$response = to.response) === null || _to$response === void 0 ? void 0 : _to$response.contentType) || '',
184
+ responseBody: (((_to$response2 = to.response) === null || _to$response2 === void 0 ? void 0 : _to$response2.body) || '').replace(/\\"/g, '"'),
172
185
  __disableConfirm: false
173
186
  },
174
187
  onConfirm,
@@ -17,6 +17,7 @@ var _LockIcon = _interopRequireDefault(require("@arcblock/icons/lib/LockIcon"));
17
17
  var _context = require("@arcblock/ux/lib/Locale/context");
18
18
  var _constant = require("@abtnode/constant");
19
19
  var _util = require("@blocklet/meta/lib/util");
20
+ var _iconsMaterial = require("@mui/icons-material");
20
21
  var _util2 = require("../../util");
21
22
  var _blocklet = require("../../contexts/blocklet");
22
23
  var _node = require("../../contexts/node");
@@ -75,6 +76,7 @@ function RuleList(_ref2) {
75
76
  } = (0, _blocklet.useBlockletContext)();
76
77
  const rules = blocklet.site.rules.filter(rule => rule.to.type !== _constant.ROUTING_RULE_TYPES.BLOCKLET);
77
78
  return rules.map(rule => {
79
+ var _ROUTING_RESPONSE_TYP;
78
80
  let avatar = null;
79
81
  let component = null;
80
82
  if (rule.to.type === _constant.ROUTING_RULE_TYPES.NONE) {
@@ -83,6 +85,13 @@ function RuleList(_ref2) {
83
85
  avatar = rule.to.redirectCode;
84
86
  } else if (rule.to.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE) {
85
87
  avatar = 'R';
88
+ } else if (rule.to.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE) {
89
+ avatar = /*#__PURE__*/(0, _jsxRuntime.jsx)(_iconsMaterial.TextSnippetOutlined, {
90
+ sx: {
91
+ color: 'text.secondary',
92
+ fontSize: '45px'
93
+ }
94
+ });
86
95
  } else if (rule.to.type === _constant.ROUTING_RULE_TYPES.COMPONENT) {
87
96
  component = blocklet.children.find(x => x.meta.did === rule.to.componentId);
88
97
  avatar = 'C';
@@ -138,7 +147,7 @@ function RuleList(_ref2) {
138
147
  color: '#222',
139
148
  fontSize: 16
140
149
  },
141
- children: [rule.to.type === _constant.ROUTING_RULE_TYPES.NONE && t('common.page404'), rule.to.type === _constant.ROUTING_RULE_TYPES.REDIRECT && t('common.redirect'), rule.to.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE && t('common.rewrite'), rule.to.type === _constant.ROUTING_RULE_TYPES.COMPONENT && (0, _util.getDisplayName)(component, true)]
150
+ children: [rule.to.type === _constant.ROUTING_RULE_TYPES.NONE && t('common.page404'), rule.to.type === _constant.ROUTING_RULE_TYPES.REDIRECT && t('common.redirect'), rule.to.type === _constant.ROUTING_RULE_TYPES.GENERAL_REWRITE && t('common.rewrite'), rule.to.type === _constant.ROUTING_RULE_TYPES.DIRECT_RESPONSE && ((_ROUTING_RESPONSE_TYP = _constant.ROUTING_RESPONSE_TYPES.find(x => x.value === rule.to.response.contentType)) === null || _ROUTING_RESPONSE_TYP === void 0 ? void 0 : _ROUTING_RESPONSE_TYP.text), rule.to.type === _constant.ROUTING_RULE_TYPES.COMPONENT && (0, _util.getDisplayName)(component, true)]
142
151
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
143
152
  display: "flex",
144
153
  alignItems: "center",
package/lib/locales/ar.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "إذا قمت بتعيين البادئة على '/بادئة-الخاصة-بي'، فسيتم توجيه جميع الطلبات التي تبدأ بتلك البادئة إلى البلوكليت المكون",
1046
1046
  blocklet: 'أي Blocklet سيتولى معالجة تلك الطلبات؟',
1047
1047
  port: 'ما هو المنفذ الذي سيتعامل مع طلبات البلوكليت؟',
1048
- portTip: 'هذا يعتمد على المنفذ الرئيسي للبلوكليت بشكل افتراضي ، إذا كان بلوكليت الخاص بك يستمع على منافذ متعددة ، فيمكنك تخصيص ذلك.'
1048
+ portTip: 'هذا يعتمد على المنفذ الرئيسي للبلوكليت بشكل افتراضي ، إذا كان بلوكليت الخاص بك يستمع على منافذ متعددة ، فيمكنك تخصيص ذلك.',
1049
+ responseType: 'نوع الاستجابة',
1050
+ responseBody: 'محتوى الرد',
1051
+ responseBodyTip: 'الصق محتوى الاستجابة الخاص بك هنا ، يجب ألا يتجاوز 4096 حرفًا.',
1052
+ responseBodyRequired: 'لا يمكن أن يكون محتوى الرد فارغاً'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'حذف تعيين عنوان URL',
package/lib/locales/de.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Wenn Sie das Präfix auf '/mein-präfix' setzen, werden alle Anfragen, die mit diesem Präfix beginnen, zum konfigurierten Blocklet weitergeleitet",
1046
1046
  blocklet: 'Welcher Blocklet wird diese Anfragen bearbeiten?',
1047
1047
  port: 'Welcher Port des Blocklet wird Anfragen bearbeiten?',
1048
- portTip: 'Dies ist standardmäßig der Hauptport von Blocklet. Wenn Blocklet auf mehreren Ports lauscht, können Sie dies anpassen.'
1048
+ portTip: 'Dies ist standardmäßig der Hauptport von Blocklet. Wenn Blocklet auf mehreren Ports lauscht, können Sie dies anpassen.',
1049
+ responseType: 'Antworttyp',
1050
+ responseBody: 'Antwortinhalt',
1051
+ responseBodyTip: 'Fügen Sie hier Ihren Antwortinhalt ein, der 4096 Zeichen nicht überschreiten sollte.',
1052
+ responseBodyRequired: 'Der Antwortinhalt darf nicht leer sein'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'URL-Mapping löschen',
package/lib/locales/en.js CHANGED
@@ -1038,7 +1038,11 @@ var _default = exports.default = {
1038
1038
  pathPrefixTip: "If you set prefix to '/my-prefix', then all requests that begins with that prefix will be routed to the configured blocklet",
1039
1039
  blocklet: 'Which Blocklet will be handling those requests?',
1040
1040
  port: 'Which port of the blocklet will be handling requests?',
1041
- portTip: 'This defaults to the main port of blocklet, if your blocklet listens on multiple ports, you can customize this'
1041
+ portTip: 'This defaults to the main port of blocklet, if your blocklet listens on multiple ports, you can customize this',
1042
+ responseType: 'Response Type',
1043
+ responseBody: 'Response Content',
1044
+ responseBodyTip: 'Paste your response content here, should not exceed 4096 characters',
1045
+ responseBodyRequired: 'Response content can not be empty'
1042
1046
  },
1043
1047
  delete: {
1044
1048
  title: 'Delete URL Mapping',
package/lib/locales/es.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Si configuras el prefijo como '/my-prefix', todas las solicitudes que comiencen con ese prefijo se dirigirán al bloque configurado",
1046
1046
  blocklet: '¿Qué Blocklet se encargará de manejar esas solicitudes?',
1047
1047
  port: '¿Qué puerto del blocklet manejará las solicitudes?',
1048
- portTip: 'Esto se establece por defecto en el puerto principal de blocklet, si tu blocklet escucha en varios puertos, puedes personalizar esto'
1048
+ portTip: 'Esto se establece por defecto en el puerto principal de blocklet, si tu blocklet escucha en varios puertos, puedes personalizar esto',
1049
+ responseType: 'Tipo de respuesta',
1050
+ responseBody: 'Contenido de respuesta',
1051
+ responseBodyTip: 'Pega tu contenido de respuesta aquí, no debe exceder los 4096 caracteres',
1052
+ responseBodyRequired: 'El contenido de respuesta no puede estar vacío'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'Eliminar asignación de URL',
package/lib/locales/fr.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Si vous définissez le préfixe sur '/mon-préfixe', alors toutes les demandes commençant par ce préfixe seront routées vers le blocklet configuré",
1046
1046
  blocklet: 'Quel Blocklet gérera ces demandes ?',
1047
1047
  port: 'Quel port du blocklet gérera les requêtes ?',
1048
- portTip: 'Par défaut, cela correspond au port principal du blocklet. Si votre blocklet écoute sur plusieurs ports, vous pouvez personnaliser cela.'
1048
+ portTip: 'Par défaut, cela correspond au port principal du blocklet. Si votre blocklet écoute sur plusieurs ports, vous pouvez personnaliser cela.',
1049
+ responseType: 'Type de réponse',
1050
+ responseBody: 'Contenu de la réponse',
1051
+ responseBodyTip: 'Veuillez coller votre contenu de réponse ici, ne doit pas dépasser 4096 caractères.',
1052
+ responseBodyRequired: 'Le contenu de la réponse ne peut pas être vide'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: "Supprimer la correspondance d'URL",
package/lib/locales/hi.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "यदि आप प्रेफिक्स को '/मेरा प्रेफिक्स' सेट करते हैं, तो इस प्रेफिक्स के साथ शुरू होने वाले सभी अनुरोध विन्यासित ब्लॉकलेट को मार्ग-निर्दिष्ट में भेजे जाएंगे",
1046
1046
  blocklet: 'इन अनुरोधों का हैंडलिंग कौन सा ब्लॉकलेट करेगा?',
1047
1047
  port: 'ब्लॉकलेट का कौन सा पोर्ट अनुरोधों को संभालेगा?',
1048
- portTip: 'यह डिफ़ॉल्ट रूप से ब्लॉकलेट के मुख्य पोर्ट के लिए होता है, यदि आपका ब्लॉकलेट कई पोर्टों पर सुनता है, तो आप इसे अनुकूलित कर सकते हैं।'
1048
+ portTip: 'यह डिफ़ॉल्ट रूप से ब्लॉकलेट के मुख्य पोर्ट के लिए होता है, यदि आपका ब्लॉकलेट कई पोर्टों पर सुनता है, तो आप इसे अनुकूलित कर सकते हैं।',
1049
+ responseType: 'प्रतिक्रिया प्रकार',
1050
+ responseBody: 'प्रतिक्रिया सामग्री',
1051
+ responseBodyTip: 'अपनी प्रतिक्रिया सामग्री यहां पेस्ट करें, 4096 वर्णों से अधिक नहीं होनी चाहिए।',
1052
+ responseBodyRequired: 'प्रतिक्रिया सामग्री खाली नहीं हो सकती'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'URL मैपिंग हटाएं',
Binary file
package/lib/locales/id.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Jika Anda mengatur awalan menjadi '/awalan-saya', maka semua permintaan yang dimulai dengan awalan tersebut akan diarahkan ke blok yang dikonfigurasi",
1046
1046
  blocklet: 'Blocklet mana yang akan menangani permintaan tersebut?',
1047
1047
  port: 'Port mana dari blocklet yang akan menangani permintaan?',
1048
- portTip: 'Ini menjadi port utama blocklet, jika blocklet Anda mendengarkan di beberapa port, Anda dapat menyesuaikannya'
1048
+ portTip: 'Ini menjadi port utama blocklet, jika blocklet Anda mendengarkan di beberapa port, Anda dapat menyesuaikannya',
1049
+ responseType: 'Tipe Respons',
1050
+ responseBody: 'Konten Tanggapan',
1051
+ responseBodyTip: 'Tempelkan konten respon Anda di sini, tidak boleh melebihi 4096 karakter',
1052
+ responseBodyRequired: 'Konten respons tidak boleh kosong'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'Hapus Pemetaan URL',
package/lib/locales/ja.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "'/my-prefix' をプレフィックスに設定すると、そのプレフィックスで始まるすべてのリクエストが設定されたブロックにルーティングされます",
1046
1046
  blocklet: 'どのBlockletがそれらのリクエストを処理しますか?',
1047
1047
  port: 'ブロックレットのどのポートがリクエストを処理しますか?',
1048
- portTip: 'これは、Blockletのメインポートにデフォルトで設定されます。Blockletが複数のポートでリッスンする場合は、これをカスタマイズできます'
1048
+ portTip: 'これは、Blockletのメインポートにデフォルトで設定されます。Blockletが複数のポートでリッスンする場合は、これをカスタマイズできます',
1049
+ responseType: 'レスポンスタイプ',
1050
+ responseBody: '応答内容',
1051
+ responseBodyTip: '以下に回答内容を貼り付けてください。4096文字を超えてはいけません。',
1052
+ responseBodyRequired: 'レスポンスの内容は空にできません'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'URLマッピングを削除する',
package/lib/locales/ko.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "'/my-prefix'로 접두사를 설정하면 해당 접두사로 시작하는 모든 요청이 구성된 블록에 라우팅됩니다",
1046
1046
  blocklet: '어떤 블록이 그 요청을 처리하게 될까요?',
1047
1047
  port: '블록렛의 어떤 포트가 요청을 처리합니까?',
1048
- portTip: '이것은 블록릿의 기본 포트로 설정됩니다. 블록릿이 여러 포트로 수신 대기하는 경우, 이를 사용자 정의할 수 있습니다'
1048
+ portTip: '이것은 블록릿의 기본 포트로 설정됩니다. 블록릿이 여러 포트로 수신 대기하는 경우, 이를 사용자 정의할 수 있습니다',
1049
+ responseType: '응답 유형',
1050
+ responseBody: '응답 내용',
1051
+ responseBodyTip: '답변 내용을 여기에 붙여넣으세요. 4096자를 초과해서는 안 됩니다.',
1052
+ responseBodyRequired: '응답 내용은 비어 있을 수 없습니다'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'URL 매핑 삭제하기',
package/lib/locales/pt.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Se você definir o prefixo como '/meu-prefixo', todas as solicitações que começarem com esse prefixo serão direcionadas para o bloco configurado",
1046
1046
  blocklet: 'Qual Blocklet será responsável por essas solicitações?',
1047
1047
  port: 'Qual porta do blocklet será responsável por lidar com as solicitações?',
1048
- portTip: 'Isso se torna o porto principal do blocklet, se o seu blocklet estiver ouvindo em vários portos, você pode personalizar isso'
1048
+ portTip: 'Isso se torna o porto principal do blocklet, se o seu blocklet estiver ouvindo em vários portos, você pode personalizar isso',
1049
+ responseType: 'Tipo de resposta',
1050
+ responseBody: 'Conteúdo da resposta',
1051
+ responseBodyTip: 'Cole aqui o conteúdo da sua resposta, não deve exceder 4096 caracteres',
1052
+ responseBodyRequired: 'O conteúdo da resposta não pode estar vazio'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'Excluir mapeamento de URL',
package/lib/locales/ru.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Если вы установите префикс на '/мой-префикс', то все запросы, начинающиеся с этого префикса, будут маршрутизироваться к настроенному блоклету",
1046
1046
  blocklet: 'Какой блоклет будет обрабатывать эти запросы?',
1047
1047
  port: 'Какой порт блоклета будет обрабатывать запросы?',
1048
- portTip: 'По умолчанию используется основной порт блоклета. Если блоклет слушает несколько портов, вы можете настроить это.'
1048
+ portTip: 'По умолчанию используется основной порт блоклета. Если блоклет слушает несколько портов, вы можете настроить это.',
1049
+ responseType: 'Тип ответа',
1050
+ responseBody: 'Содержание ответа',
1051
+ responseBodyTip: 'Вставьте сюда содержимое вашего ответа, не превышающее 4096 символов.',
1052
+ responseBodyRequired: 'Содержимое ответа не может быть пустым'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'Удалить отображение URL',
package/lib/locales/th.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "หากคุณตั้งค่าคำนำหน้าเป็น '/my-prefix' จะทำให้คำขอที่ตั้งต้นด้วยคำนำหน้าเหล่านั้นจะถูกส่งมายังบล็อกเลตที่กำหนด",
1046
1046
  blocklet: 'Blocklet ไหนจะดูแลการร้องขอเหล่านั้น?',
1047
1047
  port: 'พอร์ตของบล็อกเล็ตใดที่จะรับผิดชอบการร้องขอ?',
1048
- portTip: 'นี่คือค่าพื้นฐานของพอร์ตหลักของ blocklet ถ้า blocklet ของคุณฟังถึงพอร์ตหลายๆพอร์ต คุณสามารถปรับแต่งได้'
1048
+ portTip: 'นี่คือค่าพื้นฐานของพอร์ตหลักของ blocklet ถ้า blocklet ของคุณฟังถึงพอร์ตหลายๆพอร์ต คุณสามารถปรับแต่งได้',
1049
+ responseType: 'ประเภทการตอบกลับ',
1050
+ responseBody: 'เนื้อหาการตอบกลับ',
1051
+ responseBodyTip: 'วางเนื้อหาการตอบสนองของคุณที่นี่ ต้องไม่เกิน 4096 อักขระ',
1052
+ responseBodyRequired: 'เนื้อหาการตอบกลับต้องไม่เป็นค่าว่าง'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'ลบการแมปลิงก์ URL',
package/lib/locales/vi.js CHANGED
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "Nếu bạn đặt tiền tố là '/tiền-tố-của-tôi', thì tất cả các yêu cầu bắt đầu bằng tiền tố đó sẽ được định tuyến đến khối đã được cấu hình",
1046
1046
  blocklet: 'Blocklet nào sẽ xử lý những yêu cầu đó?',
1047
1047
  port: 'Cổng nào của blocklet sẽ xử lý các yêu cầu?',
1048
- portTip: 'Mặc định là cổng chính của blocklet, nếu blocklet của bạn lắng nghe trên nhiều cổng, bạn có thể tùy chỉnh điều này'
1048
+ portTip: 'Mặc định là cổng chính của blocklet, nếu blocklet của bạn lắng nghe trên nhiều cổng, bạn có thể tùy chỉnh điều này',
1049
+ responseType: 'Loại phản hồi',
1050
+ responseBody: 'Nội dung phản hồi',
1051
+ responseBodyTip: 'Dán nội dung đáp ứng của bạn vào đây, không vượt quá 4096 ký tự',
1052
+ responseBodyRequired: 'Nội dung phản hồi không thể trống'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: 'Xóa Liên kết URL',
@@ -1045,7 +1045,11 @@ var _default = exports.default = {
1045
1045
  pathPrefixTip: "如果您將前綴設置為'/my-prefix',則所有以該前綴開頭的請求將被路由到配置的區塊",
1046
1046
  blocklet: '哪一個Blocklet將處理這些請求?',
1047
1047
  port: '區塊上的哪個埠將處理請求?',
1048
- portTip: '這預設為 blocklet 的主要埠口,如果您的 blocklet 監聽多個埠口,您可以自訂這個'
1048
+ portTip: '這預設為 blocklet 的主要埠口,如果您的 blocklet 監聽多個埠口,您可以自訂這個',
1049
+ responseType: '回應類型',
1050
+ responseBody: '回應內容',
1051
+ responseBodyTip: '請將您的回覆內容貼上此處,不得超過4096個字元',
1052
+ responseBodyRequired: '回應內容不能為空'
1049
1053
  },
1050
1054
  delete: {
1051
1055
  title: '刪除URL映射',
package/lib/locales/zh.js CHANGED
@@ -1049,7 +1049,11 @@ var _default = exports.default = {
1049
1049
  pathPrefixTip: "如果你填写了 '/prefix',那么所有以其为前缀的请求都会被转发到配置的基石程序",
1050
1050
  blocklet: '把请求代理到哪个服务?',
1051
1051
  port: '把请求代理到哪个端口?',
1052
- portTip: '这里的默认值是应用默认监听的端口,如果你的应用会启用多个端口,你可以根据需要自定义'
1052
+ portTip: '这里的默认值是应用默认监听的端口,如果你的应用会启用多个端口,你可以根据需要自定义',
1053
+ responseType: '回应类型',
1054
+ responseBody: '响应内容',
1055
+ responseBodyTip: '请将您的回复内容粘贴在这里,不要超过4096个字符',
1056
+ responseBodyRequired: '响应内容不能为空'
1053
1057
  },
1054
1058
  delete: {
1055
1059
  title: '删除规则',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abtnode/ux",
3
- "version": "1.16.25-beta-be3a37f4",
3
+ "version": "1.16.25-beta-44800645",
4
4
  "description": "UX components shared across abtnode packages",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -28,9 +28,9 @@
28
28
  "author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
- "@abtnode/auth": "1.16.25-beta-be3a37f4",
32
- "@abtnode/constant": "1.16.25-beta-be3a37f4",
33
- "@abtnode/util": "1.16.25-beta-be3a37f4",
31
+ "@abtnode/auth": "1.16.25-beta-44800645",
32
+ "@abtnode/constant": "1.16.25-beta-44800645",
33
+ "@abtnode/util": "1.16.25-beta-44800645",
34
34
  "@ahooksjs/use-url-state": "^3.5.1",
35
35
  "@arcblock/did": "^1.18.113",
36
36
  "@arcblock/did-connect": "^2.9.54",
@@ -40,10 +40,10 @@
40
40
  "@arcblock/react-hooks": "^2.9.54",
41
41
  "@arcblock/terminal": "^2.9.54",
42
42
  "@arcblock/ux": "^2.9.54",
43
- "@blocklet/constant": "1.16.25-beta-be3a37f4",
43
+ "@blocklet/constant": "1.16.25-beta-44800645",
44
44
  "@blocklet/launcher-layout": "2.2.54",
45
45
  "@blocklet/list": "^0.12.76",
46
- "@blocklet/meta": "1.16.25-beta-be3a37f4",
46
+ "@blocklet/meta": "1.16.25-beta-44800645",
47
47
  "@blocklet/ui-react": "^2.9.54",
48
48
  "@blocklet/uploader": "^0.0.74",
49
49
  "@emotion/react": "^11.10.4",
@@ -107,7 +107,7 @@
107
107
  "jest": "^29.7.0",
108
108
  "jest-environment-jsdom": "^29.7.0"
109
109
  },
110
- "gitHead": "cd99ea556cdd402ecc12e017d79f13e8e8bb83c7",
110
+ "gitHead": "1352ebbd41c052c8d369f95570e97b30ecb5f4f0",
111
111
  "exports": {
112
112
  ".": {
113
113
  "import": "./es/index.js",