@pisell/materials 6.0.10 → 6.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -15
- package/build/lowcode/assets-dev.json +2 -6
- package/build/lowcode/assets-prod.json +11 -15
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +7 -7
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +22 -22
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +22 -22
- package/dist/umd/materials.min.css +1 -0
- package/dist/umd/materials.min.js +1 -0
- package/dist/umd/static/DotsSix.57d66266.svg +1 -0
- package/dist/umd/static/arrow-left.e542294f.svg +1 -0
- package/dist/umd/static/arrow-right.763f03e0.svg +1 -0
- package/dist/umd/static/filter-lines.04a54ae9.svg +1 -0
- package/dist/umd/static/help-circle.31c9be40.svg +1 -0
- package/dist/umd/static/switch-vertical-01.7ebe3ba8.svg +1 -0
- package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +94 -3
- package/es/components/dataSourceComponents/dataSourceForm/submitButton/index.js +7 -6
- package/es/components/dataSourceComponents/dataSourceForm/type.d.ts +8 -0
- package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -0
- package/es/components/dataSourceComponents/dataSourceForm/utils.js +120 -38
- package/es/components/dataSourceComponents/dataSourceMenu/index.d.ts +2 -0
- package/es/components/dataSourceComponents/dataSourceMenu/index.js +19 -0
- package/es/components/dataSourceComponents/dataSourceTable/BaseTable.js +46 -8
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
- package/es/components/dataSourceComponents/fields/Input/index.d.ts +4 -0
- package/es/components/dataSourceComponents/fields/Input/index.js +5 -1
- package/es/components/dataSourceComponents/fields/Input.Mobile/ReadPretty.d.ts +5 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/ReadPretty.js +28 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/ReadPretty.less +11 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +10 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/WithMode.js +212 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/index.d.ts +3 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/index.js +14 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/serve.d.ts +24 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/serve.js +59 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/type.d.ts +5 -0
- package/es/components/dataSourceComponents/fields/Input.Mobile/type.js +1 -0
- package/es/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +2 -3
- package/es/components/dataSourceComponents/fields/Input.Phone/WithMode.js +76 -19
- package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +5 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.js +13 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.less +11 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/WithMode.d.ts +13 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/WithMode.js +206 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +12 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/index.js +4 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/serve.d.ts +11 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/serve.js +63 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/type.d.ts +5 -0
- package/es/components/dataSourceComponents/fields/Input.Subdomain/type.js +1 -0
- package/es/components/dataSourceComponents/fields/Translation/BaseTranslation.js +15 -4
- package/es/components/dataSourceComponents/fields/Translation/type.d.ts +1 -0
- package/es/components/dataSourceComponents/fields/Upload/BaseUpload.js +17 -13
- package/es/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/Upload/ReadPretty.js +4 -2
- package/es/components/dataSourceComponents/fields/Upload/WithMode.js +5 -4
- package/es/components/dataSourceComponents/fields/Upload/index.less +1 -1
- package/es/components/dataSourceComponents/fields/Upload/serve.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/Upload/serve.js +5 -5
- package/es/components/dataSourceComponents/fields/Upload/type.d.ts +8 -0
- package/es/components/dataSourceComponents/fields/index.d.ts +25 -2
- package/es/components/dataSourceComponents/fields/index.js +1 -0
- package/es/components/dataSourceComponents/fields/type.d.ts +1 -0
- package/es/components/dataSourceComponents/fields/utils.js +1 -0
- package/es/components/dataSourceComponents/provider/actions/ActionsContext.d.ts +6 -1
- package/es/components/dataSourceComponents/provider/actions/ActionsProvider.d.ts +4 -1
- package/es/components/dataSourceComponents/provider/actions/ActionsProvider.js +0 -1
- package/es/components/form/index.js +12 -0
- package/es/components/iconfont/index.js +1 -1
- package/es/components/pisellDraggable/components/Action/Action.d.ts +10 -0
- package/es/components/pisellDraggable/components/Action/Action.js +31 -0
- package/es/components/pisellDraggable/components/Action/Action.less +50 -0
- package/es/components/pisellDraggable/components/Action/index.d.ts +2 -0
- package/es/components/pisellDraggable/components/Action/index.js +1 -0
- package/es/components/pisellDraggable/components/Handle/Handle.d.ts +3 -0
- package/es/components/pisellDraggable/components/Handle/Handle.js +15 -0
- package/es/components/pisellDraggable/components/Handle/index.d.ts +1 -0
- package/es/components/pisellDraggable/components/Handle/index.js +1 -0
- package/es/components/pisellDraggable/components/Remove/Remove.d.ts +3 -0
- package/es/components/pisellDraggable/components/Remove/Remove.js +17 -0
- package/es/components/pisellDraggable/components/Remove/index.d.ts +1 -0
- package/es/components/pisellDraggable/components/Remove/index.js +1 -0
- package/es/components/pisellDraggable/components/TreeItem/SortableTreeItem.d.ts +8 -0
- package/es/components/pisellDraggable/components/TreeItem/SortableTreeItem.js +51 -0
- package/es/components/pisellDraggable/components/TreeItem/TreeItem.d.ts +21 -0
- package/es/components/pisellDraggable/components/TreeItem/TreeItem.js +57 -0
- package/es/components/pisellDraggable/components/TreeItem/TreeItem.less +128 -0
- package/es/components/pisellDraggable/components/TreeItem/index.d.ts +2 -0
- package/es/components/pisellDraggable/components/TreeItem/index.js +2 -0
- package/es/components/pisellDraggable/components/index.d.ts +4 -0
- package/es/components/pisellDraggable/components/index.js +4 -0
- package/es/components/pisellDraggable/index.d.ts +27 -0
- package/es/components/pisellDraggable/index.js +380 -0
- package/es/components/pisellDraggable/types.d.ts +17 -0
- package/es/components/pisellDraggable/types.js +1 -0
- package/es/components/pisellDraggable/utilities.d.ts +17 -0
- package/es/components/pisellDraggable/utilities.js +230 -0
- package/es/components/pisellLayout/content.d.ts +8 -0
- package/es/components/pisellLayout/content.js +29 -0
- package/es/components/pisellLayout/footer.d.ts +7 -0
- package/es/components/pisellLayout/footer.js +12 -0
- package/es/components/pisellLayout/header.d.ts +7 -0
- package/es/components/pisellLayout/header.js +12 -0
- package/es/components/pisellLayout/index.d.ts +14 -0
- package/es/components/pisellLayout/index.js +15 -0
- package/es/components/pisellLayout/sider.d.ts +7 -0
- package/es/components/pisellLayout/sider.js +12 -0
- package/es/components/pisellMenu/PisellMenu.d.ts +5 -0
- package/es/components/pisellMenu/PisellMenu.js +55 -0
- package/es/components/pisellMenu/PisellMenu.less +53 -0
- package/es/components/pisellMenu/index.d.ts +3 -0
- package/es/components/pisellMenu/index.js +2 -0
- package/es/components/pisellMenu/types.d.ts +30 -0
- package/es/components/pisellMenu/types.js +1 -0
- package/es/components/pisellModal/components/functions/index.less +3 -0
- package/es/components/table/Table/utils.d.ts +1 -1
- package/es/components/versionModal/index.d.ts +15 -0
- package/es/components/versionModal/index.js +192 -0
- package/es/components/versionModal/index.less +3 -0
- package/es/index.d.ts +92 -120
- package/es/index.js +92 -144
- package/es/locales/en-US.d.ts +22 -0
- package/es/locales/en-US.js +24 -1
- package/es/locales/zh-CN.d.ts +21 -0
- package/es/locales/zh-CN.js +24 -2
- package/es/locales/zh-TW.d.ts +20 -0
- package/es/locales/zh-TW.js +23 -2
- package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +77 -4
- package/lib/components/dataSourceComponents/dataSourceForm/submitButton/index.js +1 -0
- package/lib/components/dataSourceComponents/dataSourceForm/type.d.ts +8 -0
- package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -0
- package/lib/components/dataSourceComponents/dataSourceForm/utils.js +138 -41
- package/lib/components/dataSourceComponents/dataSourceMenu/index.d.ts +2 -0
- package/lib/components/dataSourceComponents/dataSourceMenu/index.js +45 -0
- package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.js +14 -2
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
- package/lib/components/dataSourceComponents/fields/Input/index.d.ts +4 -0
- package/lib/components/dataSourceComponents/fields/Input/index.js +4 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/ReadPretty.d.ts +5 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/ReadPretty.js +58 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/ReadPretty.less +11 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +10 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/WithMode.js +171 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/index.d.ts +3 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/index.js +48 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/serve.d.ts +24 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/serve.js +55 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/type.d.ts +5 -0
- package/lib/components/dataSourceComponents/fields/Input.Mobile/type.js +17 -0
- package/lib/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +2 -3
- package/lib/components/dataSourceComponents/fields/Input.Phone/WithMode.js +36 -17
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +5 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.js +50 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.less +11 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/WithMode.d.ts +13 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/WithMode.js +167 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +12 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.js +38 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/serve.d.ts +11 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/serve.js +65 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/type.d.ts +5 -0
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/type.js +17 -0
- package/lib/components/dataSourceComponents/fields/Translation/BaseTranslation.js +15 -4
- package/lib/components/dataSourceComponents/fields/Translation/type.d.ts +1 -0
- package/lib/components/dataSourceComponents/fields/Upload/BaseUpload.js +5 -3
- package/lib/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/Upload/ReadPretty.js +2 -2
- package/lib/components/dataSourceComponents/fields/Upload/WithMode.js +4 -4
- package/lib/components/dataSourceComponents/fields/Upload/index.less +1 -1
- package/lib/components/dataSourceComponents/fields/Upload/serve.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/Upload/serve.js +5 -5
- package/lib/components/dataSourceComponents/fields/Upload/type.d.ts +8 -0
- package/lib/components/dataSourceComponents/fields/index.d.ts +25 -2
- package/lib/components/dataSourceComponents/fields/index.js +1 -0
- package/lib/components/dataSourceComponents/fields/type.d.ts +1 -0
- package/lib/components/dataSourceComponents/fields/utils.js +1 -0
- package/lib/components/dataSourceComponents/provider/actions/ActionsContext.d.ts +6 -1
- package/lib/components/dataSourceComponents/provider/actions/ActionsProvider.d.ts +4 -1
- package/lib/components/form/index.js +10 -1
- package/lib/components/iconfont/index.js +1 -1
- package/lib/components/pisellDraggable/components/Action/Action.d.ts +10 -0
- package/lib/components/pisellDraggable/components/Action/Action.js +60 -0
- package/lib/components/pisellDraggable/components/Action/Action.less +50 -0
- package/lib/components/pisellDraggable/components/Action/index.d.ts +2 -0
- package/lib/components/pisellDraggable/components/Action/index.js +29 -0
- package/lib/components/pisellDraggable/components/Handle/Handle.d.ts +3 -0
- package/lib/components/pisellDraggable/components/Handle/Handle.js +54 -0
- package/lib/components/pisellDraggable/components/Handle/index.d.ts +1 -0
- package/lib/components/pisellDraggable/components/Handle/index.js +29 -0
- package/lib/components/pisellDraggable/components/Remove/Remove.d.ts +3 -0
- package/lib/components/pisellDraggable/components/Remove/Remove.js +53 -0
- package/lib/components/pisellDraggable/components/Remove/index.d.ts +1 -0
- package/lib/components/pisellDraggable/components/Remove/index.js +29 -0
- package/lib/components/pisellDraggable/components/TreeItem/SortableTreeItem.d.ts +8 -0
- package/lib/components/pisellDraggable/components/TreeItem/SortableTreeItem.js +83 -0
- package/lib/components/pisellDraggable/components/TreeItem/TreeItem.d.ts +21 -0
- package/lib/components/pisellDraggable/components/TreeItem/TreeItem.js +93 -0
- package/lib/components/pisellDraggable/components/TreeItem/TreeItem.less +128 -0
- package/lib/components/pisellDraggable/components/TreeItem/index.d.ts +2 -0
- package/lib/components/pisellDraggable/components/TreeItem/index.js +32 -0
- package/lib/components/pisellDraggable/components/index.d.ts +4 -0
- package/lib/components/pisellDraggable/components/index.js +40 -0
- package/lib/components/pisellDraggable/index.d.ts +27 -0
- package/lib/components/pisellDraggable/index.js +271 -0
- package/lib/components/pisellDraggable/types.d.ts +17 -0
- package/lib/components/pisellDraggable/types.js +17 -0
- package/lib/components/pisellDraggable/utilities.d.ts +17 -0
- package/lib/components/pisellDraggable/utilities.js +190 -0
- package/lib/components/pisellLayout/content.d.ts +8 -0
- package/lib/components/pisellLayout/content.js +50 -0
- package/lib/components/pisellLayout/footer.d.ts +7 -0
- package/lib/components/pisellLayout/footer.js +42 -0
- package/lib/components/pisellLayout/header.d.ts +7 -0
- package/lib/components/pisellLayout/header.js +42 -0
- package/lib/components/pisellLayout/index.d.ts +14 -0
- package/lib/components/pisellLayout/index.js +45 -0
- package/lib/components/pisellLayout/sider.d.ts +7 -0
- package/lib/components/pisellLayout/sider.js +42 -0
- package/lib/components/pisellMenu/PisellMenu.d.ts +5 -0
- package/lib/components/pisellMenu/PisellMenu.js +91 -0
- package/lib/components/pisellMenu/PisellMenu.less +53 -0
- package/lib/components/pisellMenu/index.d.ts +3 -0
- package/lib/components/pisellMenu/index.js +36 -0
- package/lib/components/pisellMenu/types.d.ts +30 -0
- package/lib/components/pisellMenu/types.js +17 -0
- package/lib/components/pisellModal/components/functions/index.less +3 -0
- package/lib/components/table/Table/utils.d.ts +1 -1
- package/lib/components/versionModal/index.d.ts +15 -0
- package/lib/components/versionModal/index.js +219 -0
- package/lib/components/versionModal/index.less +3 -0
- package/lib/index.d.ts +92 -120
- package/lib/index.js +146 -157
- package/lib/locales/en-US.d.ts +22 -0
- package/lib/locales/en-US.js +24 -1
- package/lib/locales/zh-CN.d.ts +21 -0
- package/lib/locales/zh-CN.js +24 -2
- package/lib/locales/zh-TW.d.ts +20 -0
- package/lib/locales/zh-TW.js +23 -2
- package/lowcode/_utils/defaultSchema.ts +23 -2
- package/lowcode/button/meta.ts +4 -20
- package/lowcode/data-source-form/constants.ts +4 -0
- package/lowcode/data-source-form/meta.ts +138 -1
- package/lowcode/data-source-form/snippets.ts +54 -0
- package/lowcode/data-source-form/utils.ts +5 -1
- package/lowcode/data-source-menu/meta.ts +122 -0
- package/lowcode/data-source-table/meta.ts +32 -27
- package/lowcode/data-source-table/utils.tsx +33 -1
- package/lowcode/data-source-wrapper/meta.ts +6 -2
- package/lowcode/form-group/meta.ts +5 -1
- package/lowcode/form-item-input.mobile/__screenshots__/mobile.png +0 -0
- package/lowcode/form-item-input.mobile/meta.ts +301 -0
- package/lowcode/form-item-input.mobile/snippets.ts +27 -0
- package/lowcode/form-item-input.phone/meta.ts +9 -43
- package/lowcode/form-item-input.phone/snippets.ts +8 -2
- package/lowcode/form-item-input.subdomain/__screenshots__/subdomain.png +0 -0
- package/lowcode/form-item-input.subdomain/meta.ts +318 -0
- package/lowcode/form-item-input.subdomain/snippets.ts +27 -0
- package/lowcode/form.item/meta.ts +48 -0
- package/lowcode/pisell-content/meta.ts +86 -0
- package/lowcode/pisell-draggable/meta.ts +190 -0
- package/lowcode/pisell-footer/meta.ts +81 -0
- package/lowcode/pisell-header/meta.ts +83 -0
- package/lowcode/pisell-layout/meta.ts +174 -0
- package/lowcode/pisell-menu/meta.ts +112 -0
- package/lowcode/pisell-sider/meta.ts +142 -0
- package/lowcode/pisell-text/meta.ts +9 -8080
- package/package.json +1 -1
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
var _excluded = ["onBlur", "onChange", "rootDomain", "customDomain", "value", "tenantId", "fieldKey"];
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
8
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
9
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
10
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
11
|
+
import React, { useCallback, useState, useEffect, useMemo } from 'react';
|
|
12
|
+
import { Input as AntInput } from 'antd';
|
|
13
|
+
import { useTenantData } from "./serve";
|
|
14
|
+
import ReadPretty from "./ReadPretty";
|
|
15
|
+
import { withMode } from "../../dataSourceForm/utils";
|
|
16
|
+
import useDataSource from "../../hooks/useDataSource";
|
|
17
|
+
import useEngineContext from "../../../../hooks/useEngineContext";
|
|
18
|
+
|
|
19
|
+
// 定义组件的属性类型
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 子域名输入组件
|
|
23
|
+
*
|
|
24
|
+
* 校验规则:
|
|
25
|
+
* 1. 长度限制:
|
|
26
|
+
* - 最小长度:2个字符
|
|
27
|
+
* - 最大长度:60个字符
|
|
28
|
+
*
|
|
29
|
+
* 2. 字符限制:
|
|
30
|
+
* - 只允许小写字母、数字和连字符(-)
|
|
31
|
+
* - 不能全为数字
|
|
32
|
+
* - 不能以连字符开头或结尾
|
|
33
|
+
* - 不能包含连续的连字符(--)
|
|
34
|
+
*
|
|
35
|
+
* 格式示例:
|
|
36
|
+
* - 有效:my-subdomain
|
|
37
|
+
* - 有效:web123
|
|
38
|
+
* - 无效:123 (全数字)
|
|
39
|
+
* - 无效:-subdomain (以连字符开头)
|
|
40
|
+
* - 无效:subdomain- (以连字符结尾)
|
|
41
|
+
* - 无效:sub--domain (包含连续连字符)
|
|
42
|
+
*
|
|
43
|
+
* 使用方式:
|
|
44
|
+
* <Subdomain
|
|
45
|
+
* name="subdomain"
|
|
46
|
+
* label="子域名"
|
|
47
|
+
* typeobj={{
|
|
48
|
+
* type: 'subdomain',
|
|
49
|
+
* enabled: true
|
|
50
|
+
* }}
|
|
51
|
+
* />
|
|
52
|
+
*/
|
|
53
|
+
var Subdomain = function Subdomain(props) {
|
|
54
|
+
var _coreData$tenant;
|
|
55
|
+
var propsOnBlur = props.onBlur,
|
|
56
|
+
propsOnChange = props.onChange,
|
|
57
|
+
_props$rootDomain = props.rootDomain,
|
|
58
|
+
rootDomain = _props$rootDomain === void 0 ? 'xzero' : _props$rootDomain,
|
|
59
|
+
customDomain = props.customDomain,
|
|
60
|
+
value = props.value,
|
|
61
|
+
tenantId = props.tenantId,
|
|
62
|
+
fieldKey = props.fieldKey,
|
|
63
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
64
|
+
|
|
65
|
+
// 1. 所有的 hooks 调用放在最前面
|
|
66
|
+
var _useDataSource = useDataSource(),
|
|
67
|
+
__designMode = _useDataSource.__designMode;
|
|
68
|
+
var context = useEngineContext();
|
|
69
|
+
var _useState = useState(''),
|
|
70
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
71
|
+
subdomain = _useState2[0],
|
|
72
|
+
setSubdomain = _useState2[1];
|
|
73
|
+
var _useState3 = useState(''),
|
|
74
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
75
|
+
suffix = _useState4[0],
|
|
76
|
+
setSuffix = _useState4[1];
|
|
77
|
+
|
|
78
|
+
// 2. 获取 coreData
|
|
79
|
+
var coreData = useMemo(function () {
|
|
80
|
+
var _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4, _context$appHelper$ut5, _context$appHelper$ut6, _context$appHelper$ut7, _context$appHelper$ut8;
|
|
81
|
+
return (_context$appHelper$ut = context.appHelper.utils) === null || _context$appHelper$ut === void 0 ? void 0 : (_context$appHelper$ut2 = _context$appHelper$ut.getApp) === null || _context$appHelper$ut2 === void 0 ? void 0 : (_context$appHelper$ut3 = _context$appHelper$ut2.call(_context$appHelper$ut)) === null || _context$appHelper$ut3 === void 0 ? void 0 : (_context$appHelper$ut4 = _context$appHelper$ut3.data) === null || _context$appHelper$ut4 === void 0 ? void 0 : (_context$appHelper$ut5 = _context$appHelper$ut4.store) === null || _context$appHelper$ut5 === void 0 ? void 0 : (_context$appHelper$ut6 = _context$appHelper$ut5.getStore) === null || _context$appHelper$ut6 === void 0 ? void 0 : (_context$appHelper$ut7 = _context$appHelper$ut6.call(_context$appHelper$ut5)) === null || _context$appHelper$ut7 === void 0 ? void 0 : (_context$appHelper$ut8 = _context$appHelper$ut7.getDataByModel) === null || _context$appHelper$ut8 === void 0 ? void 0 : _context$appHelper$ut8.call(_context$appHelper$ut7, 'core', 'core');
|
|
82
|
+
}, [context]);
|
|
83
|
+
// 3. 获取 tenantData
|
|
84
|
+
var tenantData = useTenantData(rootDomain, coreData === null || coreData === void 0 ? void 0 : (_coreData$tenant = coreData.tenant) === null || _coreData$tenant === void 0 ? void 0 : _coreData$tenant.id);
|
|
85
|
+
|
|
86
|
+
// 4. parseExternalValue 函数
|
|
87
|
+
var parseExternalValue = function parseExternalValue(val) {
|
|
88
|
+
// 如果值为空或只有空格或只有点号,返回默认值
|
|
89
|
+
if (!val || !val.trim() || val.trim() === '.') {
|
|
90
|
+
return {
|
|
91
|
+
subdomain: '',
|
|
92
|
+
suffix: suffixEmpty()
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
// 将连续的点替换为单个点
|
|
97
|
+
var normalizedVal = val.replace(/\.+/g, '.');
|
|
98
|
+
var parts = normalizedVal.split('.');
|
|
99
|
+
|
|
100
|
+
// 如果第一部分为空(以点号开头),且有后续部分
|
|
101
|
+
if (parts[0] === '' && parts.length > 1) {
|
|
102
|
+
return {
|
|
103
|
+
subdomain: '',
|
|
104
|
+
suffix: ".".concat(parts.slice(1).join('.'))
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// 如果只有一个部分,作为子域名
|
|
109
|
+
if (parts.length === 1) {
|
|
110
|
+
return {
|
|
111
|
+
subdomain: parts[0].trim(),
|
|
112
|
+
suffix: suffixEmpty()
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// 有多个部分,第一个作为子域名,其余作为后缀
|
|
117
|
+
return {
|
|
118
|
+
subdomain: parts[0].trim(),
|
|
119
|
+
suffix: ".".concat(parts.slice(1).join('.'))
|
|
120
|
+
};
|
|
121
|
+
} catch (error) {
|
|
122
|
+
console.error('Error parsing value:', error);
|
|
123
|
+
return {
|
|
124
|
+
subdomain: '',
|
|
125
|
+
suffix: suffixEmpty()
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
// 5. 处理 value 和 domain 变化
|
|
131
|
+
useEffect(function () {
|
|
132
|
+
try {
|
|
133
|
+
if (value) {
|
|
134
|
+
var _parseExternalValue = parseExternalValue(value),
|
|
135
|
+
newSubdomain = _parseExternalValue.subdomain,
|
|
136
|
+
newSuffix = _parseExternalValue.suffix;
|
|
137
|
+
setSubdomain(newSubdomain);
|
|
138
|
+
setSuffix(newSuffix);
|
|
139
|
+
} else {
|
|
140
|
+
var _newSuffix = '';
|
|
141
|
+
switch (rootDomain) {
|
|
142
|
+
case 'xzero':
|
|
143
|
+
_newSuffix = coreData !== null && coreData !== void 0 && coreData.tenant_domain ? ".".concat(coreData.tenant_domain) : suffixEmpty();
|
|
144
|
+
break;
|
|
145
|
+
case 'saas':
|
|
146
|
+
_newSuffix = tenantData ? ".".concat(tenantData['saas.domain']) : suffixEmpty();
|
|
147
|
+
break;
|
|
148
|
+
case 'custom':
|
|
149
|
+
if (customDomain) {
|
|
150
|
+
var normalizedDomain = customDomain.replace(/\.+/g, '.');
|
|
151
|
+
_newSuffix = normalizedDomain.startsWith('.') ? normalizedDomain : ".".concat(normalizedDomain);
|
|
152
|
+
} else {
|
|
153
|
+
_newSuffix = suffixEmpty();
|
|
154
|
+
}
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
_newSuffix = suffixEmpty();
|
|
158
|
+
}
|
|
159
|
+
setSuffix(_newSuffix);
|
|
160
|
+
}
|
|
161
|
+
} catch (error) {
|
|
162
|
+
console.error('Error updating domain:', error);
|
|
163
|
+
setSuffix(suffixEmpty());
|
|
164
|
+
}
|
|
165
|
+
}, [value, rootDomain, customDomain, tenantData, coreData]);
|
|
166
|
+
|
|
167
|
+
// 6. 处理输入变化
|
|
168
|
+
var handleChange = useCallback(function (e) {
|
|
169
|
+
try {
|
|
170
|
+
var inputValue = e.target.value.toLowerCase();
|
|
171
|
+
var _parseExternalValue2 = parseExternalValue(inputValue),
|
|
172
|
+
newSubdomain = _parseExternalValue2.subdomain;
|
|
173
|
+
setSubdomain(newSubdomain);
|
|
174
|
+
propsOnChange === null || propsOnChange === void 0 ? void 0 : propsOnChange(newSubdomain + suffix);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
console.error('Error handling change:', error);
|
|
177
|
+
}
|
|
178
|
+
}, [suffix, propsOnChange, parseExternalValue]);
|
|
179
|
+
|
|
180
|
+
// 7. 处理失焦
|
|
181
|
+
var onBlur = useCallback(function (e) {
|
|
182
|
+
try {
|
|
183
|
+
propsOnBlur === null || propsOnBlur === void 0 ? void 0 : propsOnBlur(e);
|
|
184
|
+
propsOnChange === null || propsOnChange === void 0 ? void 0 : propsOnChange(subdomain + suffix);
|
|
185
|
+
} catch (error) {
|
|
186
|
+
console.error('Error handling blur:', error);
|
|
187
|
+
}
|
|
188
|
+
}, [propsOnBlur, propsOnChange, subdomain, suffix]);
|
|
189
|
+
var suffixEmpty = function suffixEmpty() {
|
|
190
|
+
if (__designMode === 'design') {
|
|
191
|
+
return '.root-domain.example';
|
|
192
|
+
} else {
|
|
193
|
+
return 'error';
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
return /*#__PURE__*/React.createElement(AntInput, _extends({}, rest, {
|
|
197
|
+
value: subdomain,
|
|
198
|
+
onChange: handleChange,
|
|
199
|
+
onBlur: onBlur,
|
|
200
|
+
addonAfter: suffix
|
|
201
|
+
}));
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
// 使用 withMode 高阶组件包装 Subdomain 组件
|
|
205
|
+
var SubdomainlWithMode = withMode(Subdomain, ReadPretty);
|
|
206
|
+
export default SubdomainlWithMode; // 导出组件
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const Subdomain: React.FC<import("antd").InputProps & {
|
|
3
|
+
onChange: (value: string) => void;
|
|
4
|
+
onBlur?: ((e: React.FocusEvent<HTMLInputElement, Element>) => void) | undefined;
|
|
5
|
+
rootDomain: "custom" | "saas" | "xzero";
|
|
6
|
+
customDomain?: string | undefined;
|
|
7
|
+
value?: string | undefined;
|
|
8
|
+
tenantId: string;
|
|
9
|
+
name?: string | undefined;
|
|
10
|
+
fieldKey?: string | undefined;
|
|
11
|
+
} & import("../../dataSourceForm/utils").WithModeProps & import("../../dataSourceForm/utils").WithFormItemProps>;
|
|
12
|
+
export default Subdomain;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取nocobase数据列表 获取域名后缀
|
|
3
|
+
*/
|
|
4
|
+
export declare const getTenantData: (id: string) => Promise<TenantData>;
|
|
5
|
+
export interface TenantData {
|
|
6
|
+
'saas.domain': string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 自定义 Hook,用于获取租户数据
|
|
10
|
+
*/
|
|
11
|
+
export declare const useTenantData: (rootDomain: string, tenantId?: string) => TenantData | undefined;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
+
import { useRequest } from 'ahooks';
|
|
6
|
+
import { request } from "../../../table/utils";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 获取nocobase数据列表 获取域名后缀
|
|
10
|
+
*/
|
|
11
|
+
export var getTenantData = /*#__PURE__*/function () {
|
|
12
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(id) {
|
|
13
|
+
var _yield$request$getReq, data;
|
|
14
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
15
|
+
while (1) switch (_context.prev = _context.next) {
|
|
16
|
+
case 0:
|
|
17
|
+
_context.prev = 0;
|
|
18
|
+
_context.next = 3;
|
|
19
|
+
return request.getRequest().get("/tenant/core/meta/tenant/".concat(id, "/saas"), {}, {
|
|
20
|
+
isNocobase: false,
|
|
21
|
+
fullResult: true,
|
|
22
|
+
headers: {
|
|
23
|
+
"x-data-source": "pisell2"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
case 3:
|
|
27
|
+
_yield$request$getReq = _context.sent;
|
|
28
|
+
data = _yield$request$getReq.data;
|
|
29
|
+
return _context.abrupt("return", data);
|
|
30
|
+
case 8:
|
|
31
|
+
_context.prev = 8;
|
|
32
|
+
_context.t0 = _context["catch"](0);
|
|
33
|
+
console.error("Failed to fetch tenant data:", _context.t0);
|
|
34
|
+
throw _context.t0;
|
|
35
|
+
case 12:
|
|
36
|
+
case "end":
|
|
37
|
+
return _context.stop();
|
|
38
|
+
}
|
|
39
|
+
}, _callee, null, [[0, 8]]);
|
|
40
|
+
}));
|
|
41
|
+
return function getTenantData(_x) {
|
|
42
|
+
return _ref.apply(this, arguments);
|
|
43
|
+
};
|
|
44
|
+
}();
|
|
45
|
+
/**
|
|
46
|
+
* 自定义 Hook,用于获取租户数据
|
|
47
|
+
*/
|
|
48
|
+
export var useTenantData = function useTenantData(rootDomain, tenantId) {
|
|
49
|
+
var _useRequest = useRequest(function () {
|
|
50
|
+
// 只有在 saas 模式且有 tenantId 时才发起请求
|
|
51
|
+
if (rootDomain === 'saas' && tenantId) {
|
|
52
|
+
return getTenantData(tenantId);
|
|
53
|
+
}
|
|
54
|
+
return Promise.resolve(undefined);
|
|
55
|
+
}, {
|
|
56
|
+
cacheKey: "tenant-data-".concat(tenantId),
|
|
57
|
+
staleTime: 1000 * 60 * 5,
|
|
58
|
+
// 5分钟后数据过期
|
|
59
|
+
cacheTime: 1000 * 60 * 60 // 1小时后清除缓存
|
|
60
|
+
}),
|
|
61
|
+
data = _useRequest.data;
|
|
62
|
+
return data;
|
|
63
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -39,11 +39,22 @@ var Translation = function Translation(_ref) {
|
|
|
39
39
|
value = _ref$value === void 0 ? defaultValue : _ref$value,
|
|
40
40
|
onChange = _ref.onChange,
|
|
41
41
|
placeholder = _ref.placeholder,
|
|
42
|
-
disabled = _ref.disabled
|
|
42
|
+
disabled = _ref.disabled,
|
|
43
|
+
_ref$type = _ref.type,
|
|
44
|
+
type = _ref$type === void 0 ? 'text' : _ref$type;
|
|
43
45
|
var _useState = useState(false),
|
|
44
46
|
_useState2 = _slicedToArray(_useState, 2),
|
|
45
47
|
open = _useState2[0],
|
|
46
48
|
setOpen = _useState2[1];
|
|
49
|
+
var getInputComponent = useCallback(function () {
|
|
50
|
+
switch (type) {
|
|
51
|
+
case 'textarea':
|
|
52
|
+
return Input.TextArea;
|
|
53
|
+
default:
|
|
54
|
+
return Input;
|
|
55
|
+
}
|
|
56
|
+
}, [type]);
|
|
57
|
+
var InputComponent = getInputComponent();
|
|
47
58
|
var hasAnyTranslation = useCallback(function () {
|
|
48
59
|
if (!value) {
|
|
49
60
|
return false;
|
|
@@ -77,7 +88,7 @@ var Translation = function Translation(_ref) {
|
|
|
77
88
|
className: "translation-field"
|
|
78
89
|
}, /*#__PURE__*/React.createElement("div", {
|
|
79
90
|
className: "translation-label"
|
|
80
|
-
}, label), /*#__PURE__*/React.createElement(
|
|
91
|
+
}, label), /*#__PURE__*/React.createElement(InputComponent, {
|
|
81
92
|
value: (value === null || value === void 0 ? void 0 : value[key]) || "",
|
|
82
93
|
onChange: handleInputChange(key),
|
|
83
94
|
allowClear: true
|
|
@@ -85,7 +96,7 @@ var Translation = function Translation(_ref) {
|
|
|
85
96
|
})));
|
|
86
97
|
return /*#__PURE__*/React.createElement("div", {
|
|
87
98
|
className: "translation-wrapper"
|
|
88
|
-
}, /*#__PURE__*/React.createElement(
|
|
99
|
+
}, /*#__PURE__*/React.createElement(InputComponent, {
|
|
89
100
|
value: (value === null || value === void 0 ? void 0 : value.original) || "",
|
|
90
101
|
onChange: handleInputChange('original'),
|
|
91
102
|
placeholder: placeholder,
|
|
@@ -101,7 +112,7 @@ var Translation = function Translation(_ref) {
|
|
|
101
112
|
}
|
|
102
113
|
setOpen(open);
|
|
103
114
|
},
|
|
104
|
-
placement: "
|
|
115
|
+
placement: "bottom"
|
|
105
116
|
}, /*#__PURE__*/React.createElement("div", {
|
|
106
117
|
className: "translation-icon-wrapper ".concat(hasAnyTranslation() ? 'has-translation' : '', " ").concat(disabled ? 'disabled' : '')
|
|
107
118
|
}, /*#__PURE__*/React.createElement(GlobalOutlined, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
-
var _excluded = ["renderMode", "maxSize", "minCount", "maxCount", "multiple", "presetType", "customType", "enablePresetType", "enableCustomType", "allowPreview", "value", "typeMaxSizeMap", "enableMultilingual", "onChange"],
|
|
2
|
+
var _excluded = ["renderMode", "maxSize", "minCount", "maxCount", "multiple", "presetType", "customType", "enablePresetType", "enableCustomType", "allowPreview", "value", "typeMaxSizeMap", "enableMultilingual", "onChange", "mediaUploadUrl", "getHeaders"],
|
|
3
3
|
_excluded2 = ["cover"];
|
|
4
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
5
5
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
@@ -35,6 +35,8 @@ import useEngineContext from "../../../../hooks/useEngineContext";
|
|
|
35
35
|
import { getText } from "../../../../locales";
|
|
36
36
|
import { DEFAULT_MAX_COUNT, SUPPORTED_LANGUAGES } from "./constants";
|
|
37
37
|
import { getPointSuffix, checkFileCount, getFileType, getMediaMetadata, getFileMetadataParams, getDefaultFileList, createMultilingualData, createMultilingualFileList, isValueEqual } from "./utils";
|
|
38
|
+
|
|
39
|
+
// @ts-ignore
|
|
38
40
|
import fallback from "./fallback.png";
|
|
39
41
|
import "./index.less";
|
|
40
42
|
var BaseUpload = function BaseUpload(props) {
|
|
@@ -52,6 +54,8 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
52
54
|
typeMaxSizeMap = props.typeMaxSizeMap,
|
|
53
55
|
enableMultilingual = props.enableMultilingual,
|
|
54
56
|
onChange = props.onChange,
|
|
57
|
+
propsMediaUploadUrl = props.mediaUploadUrl,
|
|
58
|
+
propsGetHeaders = props.getHeaders,
|
|
55
59
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
56
60
|
var _useState = useState([]),
|
|
57
61
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -83,9 +87,9 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
83
87
|
}, [fileList]);
|
|
84
88
|
var _useEngineContext = useEngineContext(),
|
|
85
89
|
appHelper = _useEngineContext.appHelper;
|
|
86
|
-
var
|
|
87
|
-
mediaUploadUrl =
|
|
88
|
-
getHeaders =
|
|
90
|
+
var _ref = (appHelper === null || appHelper === void 0 ? void 0 : appHelper.constants) || {},
|
|
91
|
+
mediaUploadUrl = _ref.mediaUploadUrl,
|
|
92
|
+
getHeaders = _ref.getHeaders;
|
|
89
93
|
var handleImageError = useCallback(function (file) {
|
|
90
94
|
setErrorImageMap(function (prev) {
|
|
91
95
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, file.uid, true));
|
|
@@ -104,7 +108,7 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
104
108
|
});
|
|
105
109
|
}, []);
|
|
106
110
|
var getItemUrl = useCallback( /*#__PURE__*/function () {
|
|
107
|
-
var
|
|
111
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
|
|
108
112
|
var _file$response, _file$response$data;
|
|
109
113
|
var url, isValid;
|
|
110
114
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -149,7 +153,7 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
149
153
|
}, _callee, null, [[5, 15]]);
|
|
150
154
|
}));
|
|
151
155
|
return function (_x2) {
|
|
152
|
-
return
|
|
156
|
+
return _ref2.apply(this, arguments);
|
|
153
157
|
};
|
|
154
158
|
}(), [errorImageMap]);
|
|
155
159
|
useEffect(function () {
|
|
@@ -222,10 +226,10 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
222
226
|
});
|
|
223
227
|
});
|
|
224
228
|
});
|
|
225
|
-
var handleChange = useCallback(function (
|
|
229
|
+
var handleChange = useCallback(function (_ref3) {
|
|
226
230
|
var _file$response4, _file$response7, _file$response8;
|
|
227
|
-
var file =
|
|
228
|
-
newFileList =
|
|
231
|
+
var file = _ref3.file,
|
|
232
|
+
newFileList = _ref3.fileList;
|
|
229
233
|
var updatedFileList = newFileList.map(function (item) {
|
|
230
234
|
var _item$response3;
|
|
231
235
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
@@ -376,7 +380,7 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
376
380
|
setOpen(false);
|
|
377
381
|
}, []);
|
|
378
382
|
var beforeUpload = useCallback( /*#__PURE__*/function () {
|
|
379
|
-
var
|
|
383
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(file, newFileList) {
|
|
380
384
|
var currentFileCount, fileType, typeMaxSize, _maxSize, pointSuffix, _checkFileCount, success, message, metadata, cover, restMetadata;
|
|
381
385
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
382
386
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -443,7 +447,7 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
443
447
|
}, _callee2, null, [[16, 23]]);
|
|
444
448
|
}));
|
|
445
449
|
return function (_x3, _x4) {
|
|
446
|
-
return
|
|
450
|
+
return _ref4.apply(this, arguments);
|
|
447
451
|
};
|
|
448
452
|
}(), [accept, fileList.length, maxSize, minCount, maxCount, multiple, typeMaxSizeMap]);
|
|
449
453
|
var renderUploadButton = useCallback(function (showGlobeIcon) {
|
|
@@ -513,7 +517,7 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
513
517
|
},
|
|
514
518
|
listType: 'picture-card',
|
|
515
519
|
onChange: handleChange,
|
|
516
|
-
action: mediaUploadUrl,
|
|
520
|
+
action: propsMediaUploadUrl || mediaUploadUrl,
|
|
517
521
|
method: 'post',
|
|
518
522
|
accept: accept,
|
|
519
523
|
name: 'file',
|
|
@@ -525,7 +529,7 @@ var BaseUpload = function BaseUpload(props) {
|
|
|
525
529
|
group_id: 0
|
|
526
530
|
}, getFileMetadataParams(file));
|
|
527
531
|
},
|
|
528
|
-
headers: getHeaders === null || getHeaders === void 0 ? void 0 : getHeaders(),
|
|
532
|
+
headers: (propsGetHeaders === null || propsGetHeaders === void 0 ? void 0 : propsGetHeaders()) || (getHeaders === null || getHeaders === void 0 ? void 0 : getHeaders()),
|
|
529
533
|
beforeUpload: beforeUpload,
|
|
530
534
|
className: 'pisell-data-source-upload'
|
|
531
535
|
// itemRender: (originNode: React.ReactElement, file: UploadFile) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { UploadProps } from './type';
|
|
3
3
|
import './ReadPretty.less';
|
|
4
|
-
declare const UploadReadPretty: (props: UploadProps) => React.JSX.Element
|
|
4
|
+
declare const UploadReadPretty: (props: UploadProps) => React.JSX.Element | null;
|
|
5
5
|
export default UploadReadPretty;
|
|
@@ -2,6 +2,8 @@ import React, { useMemo } from 'react';
|
|
|
2
2
|
import { Image } from 'antd';
|
|
3
3
|
import { isArr, isString } from '@pisell/utils';
|
|
4
4
|
import useTranslationOriginal from "../../../../hooks/useTranslationOriginal";
|
|
5
|
+
|
|
6
|
+
// @ts-ignore
|
|
5
7
|
import fallback from "./fallback.png";
|
|
6
8
|
import "./ReadPretty.less";
|
|
7
9
|
var UploadReadPretty = function UploadReadPretty(props) {
|
|
@@ -27,7 +29,7 @@ var UploadReadPretty = function UploadReadPretty(props) {
|
|
|
27
29
|
if (!normalizedValue.length) {
|
|
28
30
|
return null;
|
|
29
31
|
}
|
|
30
|
-
return normalizedValue.map(function (item, index) {
|
|
32
|
+
return /*#__PURE__*/React.createElement("div", null, normalizedValue.map(function (item, index) {
|
|
31
33
|
return /*#__PURE__*/React.createElement(Image, {
|
|
32
34
|
key: "".concat(String(item), "-").concat(index),
|
|
33
35
|
className: "pisell-upload-read-pretty",
|
|
@@ -39,6 +41,6 @@ var UploadReadPretty = function UploadReadPretty(props) {
|
|
|
39
41
|
maskClassName: 'pisell-upload-read-pretty-mask'
|
|
40
42
|
}
|
|
41
43
|
});
|
|
42
|
-
});
|
|
44
|
+
}));
|
|
43
45
|
};
|
|
44
46
|
export default UploadReadPretty;
|
|
@@ -6,14 +6,15 @@ import BaseUpload from "./BaseUpload";
|
|
|
6
6
|
import { useMediaTypes, useMediaConfig } from "./serve";
|
|
7
7
|
import { isNumber } from '@pisell/utils';
|
|
8
8
|
var Upload = function Upload(props) {
|
|
9
|
-
var presetType = props.presetType
|
|
9
|
+
var presetType = props.presetType,
|
|
10
|
+
propsMediaConfig = props.mediaConfig;
|
|
10
11
|
var _useMediaTypes = useMediaTypes(),
|
|
11
12
|
getExtensionsByIds = _useMediaTypes.getExtensionsByIds,
|
|
12
13
|
getMaxSizeByIds = _useMediaTypes.getMaxSizeByIds;
|
|
13
|
-
var _useMediaConfig = useMediaConfig(),
|
|
14
|
+
var _useMediaConfig = useMediaConfig(propsMediaConfig),
|
|
14
15
|
mediaConfig = _useMediaConfig.data;
|
|
15
|
-
var presetTypeString = getExtensionsByIds(presetType);
|
|
16
|
-
var maxSizeMap = getMaxSizeByIds(presetType);
|
|
16
|
+
var presetTypeString = getExtensionsByIds(presetType || []);
|
|
17
|
+
var maxSizeMap = getMaxSizeByIds(presetType || []);
|
|
17
18
|
var maxCount = useMemo(function () {
|
|
18
19
|
var minArr = [];
|
|
19
20
|
if (isNumber(mediaConfig === null || mediaConfig === void 0 ? void 0 : mediaConfig.upload_onetime_limit)) {
|
|
@@ -44,14 +44,14 @@ export var getMediaTypeList = /*#__PURE__*/function () {
|
|
|
44
44
|
return _ref.apply(this, arguments);
|
|
45
45
|
};
|
|
46
46
|
}();
|
|
47
|
-
export var useMediaConfig = function useMediaConfig() {
|
|
48
|
-
var _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4, _context$appHelper$ut5, _context$appHelper$ut6, _context$appHelper$ut7, _context$appHelper$ut8;
|
|
47
|
+
export var useMediaConfig = function useMediaConfig(mediaConfig) {
|
|
48
|
+
var _context$appHelper, _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4, _context$appHelper$ut5, _context$appHelper$ut6, _context$appHelper$ut7, _context$appHelper$ut8;
|
|
49
49
|
var context = useEngineContext();
|
|
50
|
-
var data = (_context$appHelper
|
|
50
|
+
var data = (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : (_context$appHelper$ut = _context$appHelper.utils) === null || _context$appHelper$ut === void 0 ? void 0 : (_context$appHelper$ut2 = _context$appHelper$ut.getApp) === null || _context$appHelper$ut2 === void 0 ? void 0 : (_context$appHelper$ut3 = _context$appHelper$ut2.call(_context$appHelper$ut)) === null || _context$appHelper$ut3 === void 0 ? void 0 : (_context$appHelper$ut4 = _context$appHelper$ut3.data) === null || _context$appHelper$ut4 === void 0 ? void 0 : (_context$appHelper$ut5 = _context$appHelper$ut4.store) === null || _context$appHelper$ut5 === void 0 ? void 0 : (_context$appHelper$ut6 = _context$appHelper$ut5.getStore) === null || _context$appHelper$ut6 === void 0 ? void 0 : (_context$appHelper$ut7 = _context$appHelper$ut6.call(_context$appHelper$ut5)) === null || _context$appHelper$ut7 === void 0 ? void 0 : (_context$appHelper$ut8 = _context$appHelper$ut7.getDataByModel) === null || _context$appHelper$ut8 === void 0 ? void 0 : _context$appHelper$ut8.call(_context$appHelper$ut7, 'core', 'core');
|
|
51
51
|
return {
|
|
52
52
|
data: {
|
|
53
|
-
upload_onetime_limit: data === null || data === void 0 ? void 0 : data.media_upload_onetime_limit,
|
|
54
|
-
upload_maxsize: data === null || data === void 0 ? void 0 : data.media_upload_maxsize
|
|
53
|
+
upload_onetime_limit: (mediaConfig === null || mediaConfig === void 0 ? void 0 : mediaConfig.upload_onetime_limit) || (data === null || data === void 0 ? void 0 : data.media_upload_onetime_limit),
|
|
54
|
+
upload_maxsize: (mediaConfig === null || mediaConfig === void 0 ? void 0 : mediaConfig.upload_maxsize) || (data === null || data === void 0 ? void 0 : data.media_upload_maxsize)
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
};
|
|
@@ -24,4 +24,12 @@ export interface UploadProps {
|
|
|
24
24
|
enableMultilingual?: boolean;
|
|
25
25
|
onChange?: UploadChangeHandler;
|
|
26
26
|
disabled?: boolean;
|
|
27
|
+
mediaUploadUrl?: string;
|
|
28
|
+
getHeaders?: () => Record<string, string>;
|
|
29
|
+
mediaConfig?: {
|
|
30
|
+
data: {
|
|
31
|
+
upload_onetime_limit: number;
|
|
32
|
+
upload_maxsize: number;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
27
35
|
}
|