@hanwenbo/x-web-pro-components 0.0.1
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/LICENSE +21 -0
- package/es/blocks/index.d.ts +1 -0
- package/es/blocks/index.js +2 -0
- package/es/blocks/shared.d.ts +24 -0
- package/es/blocks/shared.js +77 -0
- package/es/components/card/index.d.ts +82 -0
- package/es/components/card/index.js +361 -0
- package/es/components/descriptions/index.d.ts +31 -0
- package/es/components/descriptions/index.js +434 -0
- package/es/components/field/index.d.ts +75 -0
- package/es/components/field/index.js +761 -0
- package/es/components/form/captcha.d.ts +19 -0
- package/es/components/form/captcha.js +165 -0
- package/es/components/form/colorPicker.d.ts +7 -0
- package/es/components/form/colorPicker.js +73 -0
- package/es/components/form/fieldControls.d.ts +43 -0
- package/es/components/form/fieldControls.js +282 -0
- package/es/components/form/index.d.ts +285 -0
- package/es/components/form/index.js +2268 -0
- package/es/components/form/loginForm.d.ts +22 -0
- package/es/components/form/loginForm.js +159 -0
- package/es/components/form/schemaForm.d.ts +30 -0
- package/es/components/form/schemaForm.js +644 -0
- package/es/components/form/stepsForm.d.ts +26 -0
- package/es/components/form/stepsForm.js +183 -0
- package/es/components/form/uploadButton.d.ts +20 -0
- package/es/components/form/uploadButton.js +134 -0
- package/es/components/form/uploadDragger.d.ts +13 -0
- package/es/components/form/uploadDragger.js +144 -0
- package/es/components/index.d.ts +9 -0
- package/es/components/index.js +9 -0
- package/es/components/layout/components/Help/index.d.ts +72 -0
- package/es/components/layout/components/Help/index.js +350 -0
- package/es/components/layout/index.d.ts +182 -0
- package/es/components/layout/index.js +892 -0
- package/es/components/list/index.d.ts +80 -0
- package/es/components/list/index.js +431 -0
- package/es/components/provider/context.d.ts +7 -0
- package/es/components/provider/context.js +21 -0
- package/es/components/provider/index.d.ts +28 -0
- package/es/components/provider/index.js +117 -0
- package/es/components/provider/intl.d.ts +38 -0
- package/es/components/provider/intl.js +112 -0
- package/es/components/provider/types.d.ts +37 -0
- package/es/components/provider/types.js +1 -0
- package/es/components/provider/useStyle/index.d.ts +28 -0
- package/es/components/provider/useStyle/index.js +208 -0
- package/es/components/skeleton/index.d.ts +61 -0
- package/es/components/skeleton/index.js +388 -0
- package/es/components/table/dragSortTable.d.ts +8 -0
- package/es/components/table/dragSortTable.js +229 -0
- package/es/components/table/editableTable.d.ts +31 -0
- package/es/components/table/editableTable.js +507 -0
- package/es/components/table/index.d.ts +52 -0
- package/es/components/table/index.js +1554 -0
- package/es/components/table/listToolBar.d.ts +48 -0
- package/es/components/table/listToolBar.js +194 -0
- package/es/components/table/search.d.ts +5 -0
- package/es/components/table/search.js +13 -0
- package/es/index.d.ts +4 -0
- package/es/index.js +4 -0
- package/es/types.d.ts +219 -0
- package/es/types.js +1 -0
- package/es/utils/attachPropertiesToComponent.d.ts +1 -0
- package/es/utils/attachPropertiesToComponent.js +6 -0
- package/es/utils/getRequestParams.d.ts +19 -0
- package/es/utils/getRequestParams.js +57 -0
- package/es/utils/getTableListColumns.d.ts +20 -0
- package/es/utils/getTableListColumns.js +36 -0
- package/es/utils/index.d.ts +4 -0
- package/es/utils/index.js +4 -0
- package/es/utils/loading.d.ts +3 -0
- package/es/utils/loading.js +25 -0
- package/es/version.d.ts +2 -0
- package/es/version.js +2 -0
- package/lib/blocks/index.d.ts +1 -0
- package/lib/blocks/index.js +5 -0
- package/lib/blocks/shared.d.ts +24 -0
- package/lib/blocks/shared.js +83 -0
- package/lib/components/card/index.d.ts +82 -0
- package/lib/components/card/index.js +368 -0
- package/lib/components/descriptions/index.d.ts +31 -0
- package/lib/components/descriptions/index.js +440 -0
- package/lib/components/field/index.d.ts +75 -0
- package/lib/components/field/index.js +767 -0
- package/lib/components/form/captcha.d.ts +19 -0
- package/lib/components/form/captcha.js +172 -0
- package/lib/components/form/colorPicker.d.ts +7 -0
- package/lib/components/form/colorPicker.js +79 -0
- package/lib/components/form/fieldControls.d.ts +43 -0
- package/lib/components/form/fieldControls.js +288 -0
- package/lib/components/form/index.d.ts +285 -0
- package/lib/components/form/index.js +2332 -0
- package/lib/components/form/loginForm.d.ts +22 -0
- package/lib/components/form/loginForm.js +165 -0
- package/lib/components/form/schemaForm.d.ts +30 -0
- package/lib/components/form/schemaForm.js +651 -0
- package/lib/components/form/stepsForm.d.ts +26 -0
- package/lib/components/form/stepsForm.js +189 -0
- package/lib/components/form/uploadButton.d.ts +20 -0
- package/lib/components/form/uploadButton.js +141 -0
- package/lib/components/form/uploadDragger.d.ts +13 -0
- package/lib/components/form/uploadDragger.js +151 -0
- package/lib/components/index.d.ts +9 -0
- package/lib/components/index.js +104 -0
- package/lib/components/layout/components/Help/index.d.ts +72 -0
- package/lib/components/layout/components/Help/index.js +356 -0
- package/lib/components/layout/index.d.ts +182 -0
- package/lib/components/layout/index.js +930 -0
- package/lib/components/list/index.d.ts +80 -0
- package/lib/components/list/index.js +438 -0
- package/lib/components/provider/context.d.ts +7 -0
- package/lib/components/provider/context.js +27 -0
- package/lib/components/provider/index.d.ts +28 -0
- package/lib/components/provider/index.js +174 -0
- package/lib/components/provider/intl.d.ts +38 -0
- package/lib/components/provider/intl.js +118 -0
- package/lib/components/provider/types.d.ts +37 -0
- package/lib/components/provider/types.js +5 -0
- package/lib/components/provider/useStyle/index.d.ts +28 -0
- package/lib/components/provider/useStyle/index.js +217 -0
- package/lib/components/skeleton/index.d.ts +61 -0
- package/lib/components/skeleton/index.js +394 -0
- package/lib/components/table/dragSortTable.d.ts +8 -0
- package/lib/components/table/dragSortTable.js +236 -0
- package/lib/components/table/editableTable.d.ts +31 -0
- package/lib/components/table/editableTable.js +514 -0
- package/lib/components/table/index.d.ts +52 -0
- package/lib/components/table/index.js +1699 -0
- package/lib/components/table/listToolBar.d.ts +48 -0
- package/lib/components/table/listToolBar.js +200 -0
- package/lib/components/table/search.d.ts +5 -0
- package/lib/components/table/search.js +20 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +49 -0
- package/lib/types.d.ts +219 -0
- package/lib/types.js +5 -0
- package/lib/utils/attachPropertiesToComponent.d.ts +1 -0
- package/lib/utils/attachPropertiesToComponent.js +12 -0
- package/lib/utils/getRequestParams.d.ts +19 -0
- package/lib/utils/getRequestParams.js +63 -0
- package/lib/utils/getTableListColumns.d.ts +20 -0
- package/lib/utils/getTableListColumns.js +42 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/index.js +49 -0
- package/lib/utils/loading.d.ts +3 -0
- package/lib/utils/loading.js +31 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.js +8 -0
- package/package.json +68 -0
|
@@ -0,0 +1,767 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.proFieldParsingValueEnumToArray = exports.isOptionLikeValueType = exports.getEffectiveValueType = exports.defaultRenderText = exports.default = exports.PureProField = exports.ProFieldBadgeColor = exports.ProField = exports.FieldTreeSelect = exports.FieldTimeRangePicker = exports.FieldTimePicker = exports.FieldTextArea = exports.FieldText = exports.FieldSwitch = exports.FieldStatus = exports.FieldSlider = exports.FieldSelect = exports.FieldSegmented = exports.FieldSecond = exports.FieldRate = exports.FieldRangePicker = exports.FieldRadio = exports.FieldProgress = exports.FieldPercent = exports.FieldPassword = exports.FieldOptions = exports.FieldMoney = exports.FieldIndexColumn = exports.FieldImage = exports.FieldFromNow = exports.FieldDigitRange = exports.FieldDigit = exports.FieldDateYearRangePicker = exports.FieldDateYearPicker = exports.FieldDateWeekRangePicker = exports.FieldDateWeekPicker = exports.FieldDateQuarterRangePicker = exports.FieldDateQuarterPicker = exports.FieldDatePicker = exports.FieldDateMonthRangePicker = exports.FieldDateMonthPicker = exports.FieldColorPicker = exports.FieldCode = exports.FieldCheckbox = exports.FieldCascader = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
+
var _advancedFormat = _interopRequireDefault(require("dayjs/plugin/advancedFormat"));
|
|
10
|
+
var _isoWeek2 = _interopRequireDefault(require("dayjs/plugin/isoWeek"));
|
|
11
|
+
var _relativeTime = _interopRequireDefault(require("dayjs/plugin/relativeTime"));
|
|
12
|
+
var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear"));
|
|
13
|
+
var _weekOfYear = _interopRequireDefault(require("dayjs/plugin/weekOfYear"));
|
|
14
|
+
var _avatar = require("@hanwenbo/x-web-ui/avatar");
|
|
15
|
+
var _checkbox = require("@hanwenbo/x-web-ui/checkbox");
|
|
16
|
+
var _image = require("@hanwenbo/x-web-ui/image");
|
|
17
|
+
var _inputItem = require("@hanwenbo/x-web-ui/inputItem");
|
|
18
|
+
var _progressBar = require("@hanwenbo/x-web-ui/progressBar");
|
|
19
|
+
var _radio = require("@hanwenbo/x-web-ui/radio");
|
|
20
|
+
var _rate = require("@hanwenbo/x-web-ui/rate");
|
|
21
|
+
var _segmented = require("@hanwenbo/x-web-ui/segmented");
|
|
22
|
+
var _select = require("@hanwenbo/x-web-ui/select");
|
|
23
|
+
var _slider = require("@hanwenbo/x-web-ui/slider");
|
|
24
|
+
var _switch = require("@hanwenbo/x-web-ui/switch");
|
|
25
|
+
var _textArea = require("@hanwenbo/x-web-ui/textArea");
|
|
26
|
+
var _treeSelect = require("@hanwenbo/x-web-ui/treeSelect");
|
|
27
|
+
var _cn = require("@hanwenbo/x-web-ui/utils/cn");
|
|
28
|
+
var _provider = require("../provider");
|
|
29
|
+
var _fieldControls = require("../form/fieldControls");
|
|
30
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
+
var _excluded = ["options"],
|
|
32
|
+
_excluded2 = ["options", "treeData"],
|
|
33
|
+
_excluded3 = ["options"],
|
|
34
|
+
_excluded4 = ["request", "params", "debounceTime", "valueEnum"],
|
|
35
|
+
_excluded5 = ["text", "valueType", "mode", "readonly", "valueEnum", "fieldProps", "placeholder", "emptyText", "render", "formItemRender", "disabled"];
|
|
36
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
38
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
39
|
+
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; }
|
|
40
|
+
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; }
|
|
41
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
42
|
+
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."); }
|
|
43
|
+
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); }
|
|
44
|
+
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; }
|
|
45
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
46
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
47
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
48
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
49
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
50
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
51
|
+
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); }
|
|
52
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
53
|
+
_dayjs.default.extend(_relativeTime.default);
|
|
54
|
+
_dayjs.default.extend(_advancedFormat.default);
|
|
55
|
+
_dayjs.default.extend(_isoWeek2.default);
|
|
56
|
+
_dayjs.default.extend(_quarterOfYear.default);
|
|
57
|
+
_dayjs.default.extend(_weekOfYear.default);
|
|
58
|
+
var STATUS_CLASS_MAP = {
|
|
59
|
+
default: 'border-border bg-muted/50 text-muted-foreground',
|
|
60
|
+
success: 'border-success/30 bg-success/10 text-success',
|
|
61
|
+
processing: 'border-primary/30 bg-primary/10 text-primary',
|
|
62
|
+
warning: 'border-warning/30 bg-warning/10 text-warning',
|
|
63
|
+
error: 'border-destructive/30 bg-destructive/10 text-destructive'
|
|
64
|
+
};
|
|
65
|
+
var OPTION_LIKE_VALUE_TYPES = new Set(['select', 'tag', 'checkbox', 'radio', 'treeSelect', 'cascader', 'segmented']);
|
|
66
|
+
var toValueEnumEntries = function toValueEnumEntries(valueEnum) {
|
|
67
|
+
if (!valueEnum) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
if (valueEnum instanceof Map) {
|
|
71
|
+
return Array.from(valueEnum.entries());
|
|
72
|
+
}
|
|
73
|
+
return Object.entries(valueEnum);
|
|
74
|
+
};
|
|
75
|
+
var normalizeValueEnumItem = function normalizeValueEnumItem(item) {
|
|
76
|
+
if (item === undefined || item === null) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
if ( /*#__PURE__*/_react.default.isValidElement(item) || _typeof(item) !== 'object' || !('text' in item)) {
|
|
80
|
+
return {
|
|
81
|
+
text: item
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
var normalizedItem = item;
|
|
85
|
+
var normalizedStatus = typeof normalizedItem.status === 'string' ? normalizedItem.status.toLowerCase() : normalizedItem.status;
|
|
86
|
+
return _objectSpread(_objectSpread({}, normalizedItem), {}, {
|
|
87
|
+
status: normalizedStatus
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
var getValueEnumItem = function getValueEnumItem(valueEnum, value) {
|
|
91
|
+
var entries = toValueEnumEntries(valueEnum);
|
|
92
|
+
var hit = entries.find(function (_ref) {
|
|
93
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
94
|
+
key = _ref2[0];
|
|
95
|
+
return String(key) === String(value);
|
|
96
|
+
});
|
|
97
|
+
return normalizeValueEnumItem(hit === null || hit === void 0 ? void 0 : hit[1]);
|
|
98
|
+
};
|
|
99
|
+
var proFieldParsingValueEnumToArray = exports.proFieldParsingValueEnumToArray = function proFieldParsingValueEnumToArray(valueEnum) {
|
|
100
|
+
return toValueEnumEntries(valueEnum).map(function (_ref3) {
|
|
101
|
+
var _normalizedItem$text;
|
|
102
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
103
|
+
value = _ref4[0],
|
|
104
|
+
item = _ref4[1];
|
|
105
|
+
var normalizedItem = normalizeValueEnumItem(item);
|
|
106
|
+
return {
|
|
107
|
+
label: (_normalizedItem$text = normalizedItem === null || normalizedItem === void 0 ? void 0 : normalizedItem.text) !== null && _normalizedItem$text !== void 0 ? _normalizedItem$text : String(value),
|
|
108
|
+
value: value,
|
|
109
|
+
disabled: normalizedItem === null || normalizedItem === void 0 ? void 0 : normalizedItem.disabled
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
var getEffectiveValueType = exports.getEffectiveValueType = function getEffectiveValueType(valueType, valueEnum) {
|
|
114
|
+
var legacyValueType = String(valueType || 'text');
|
|
115
|
+
var normalizedValueType = legacyValueType;
|
|
116
|
+
if (legacyValueType === 'number') {
|
|
117
|
+
normalizedValueType = 'digit';
|
|
118
|
+
} else if (legacyValueType === 'img') {
|
|
119
|
+
normalizedValueType = 'image';
|
|
120
|
+
} else if (legacyValueType === 'status') {
|
|
121
|
+
normalizedValueType = 'tag';
|
|
122
|
+
}
|
|
123
|
+
if ((valueType === undefined || valueType === null || legacyValueType === 'text') && toValueEnumEntries(valueEnum).length > 0) {
|
|
124
|
+
return 'select';
|
|
125
|
+
}
|
|
126
|
+
return normalizedValueType;
|
|
127
|
+
};
|
|
128
|
+
var isOptionLikeValueType = exports.isOptionLikeValueType = function isOptionLikeValueType(valueType) {
|
|
129
|
+
return OPTION_LIKE_VALUE_TYPES.has(String(valueType || 'text'));
|
|
130
|
+
};
|
|
131
|
+
var defaultRenderText = exports.defaultRenderText = function defaultRenderText(text) {
|
|
132
|
+
var emptyText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '-';
|
|
133
|
+
if (text === undefined || text === null || text === '') {
|
|
134
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
135
|
+
className: "text-muted-foreground",
|
|
136
|
+
children: emptyText
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (typeof text === 'string' || typeof text === 'number' || typeof text === 'boolean' || typeof text === 'bigint') {
|
|
140
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
141
|
+
children: String(text)
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
145
|
+
children: text
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
var getDefaultEditPlaceholder = function getDefaultEditPlaceholder(valueType, placeholder) {
|
|
149
|
+
if (placeholder !== undefined) {
|
|
150
|
+
return Array.isArray(placeholder) ? placeholder[0] : placeholder;
|
|
151
|
+
}
|
|
152
|
+
switch (valueType) {
|
|
153
|
+
case 'select':
|
|
154
|
+
case 'tag':
|
|
155
|
+
case 'treeSelect':
|
|
156
|
+
case 'cascader':
|
|
157
|
+
case 'segmented':
|
|
158
|
+
case 'date':
|
|
159
|
+
case 'dateMonth':
|
|
160
|
+
case 'dateYear':
|
|
161
|
+
case 'dateTime':
|
|
162
|
+
case 'time':
|
|
163
|
+
return '请选择';
|
|
164
|
+
default:
|
|
165
|
+
return '请输入';
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
var OptionFieldControl = function OptionFieldControl(_ref5) {
|
|
169
|
+
var valueType = _ref5.valueType,
|
|
170
|
+
fieldProps = _ref5.fieldProps,
|
|
171
|
+
valueEnum = _ref5.valueEnum,
|
|
172
|
+
placeholder = _ref5.placeholder,
|
|
173
|
+
disabled = _ref5.disabled;
|
|
174
|
+
var fallbackOptions = (0, _react.useMemo)(function () {
|
|
175
|
+
return (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options) || proFieldParsingValueEnumToArray(valueEnum);
|
|
176
|
+
}, [fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options, valueEnum]);
|
|
177
|
+
var _useState = (0, _react.useState)(fallbackOptions),
|
|
178
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
179
|
+
requestOptions = _useState2[0],
|
|
180
|
+
setRequestOptions = _useState2[1];
|
|
181
|
+
(0, _react.useEffect)(function () {
|
|
182
|
+
if (!(fieldProps !== null && fieldProps !== void 0 && fieldProps.request)) {
|
|
183
|
+
setRequestOptions(fallbackOptions);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
var active = true;
|
|
187
|
+
Promise.resolve(fieldProps.request(fieldProps.params)).then(function (result) {
|
|
188
|
+
if (!active) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
setRequestOptions(Array.isArray(result) ? result : []);
|
|
192
|
+
}).catch(function (error) {
|
|
193
|
+
console.error('ProField request options error:', error);
|
|
194
|
+
});
|
|
195
|
+
return function () {
|
|
196
|
+
active = false;
|
|
197
|
+
};
|
|
198
|
+
}, [fallbackOptions, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.params, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.request]);
|
|
199
|
+
var mergedFieldProps = _objectSpread({
|
|
200
|
+
placeholder: getDefaultEditPlaceholder(valueType, placeholder),
|
|
201
|
+
disabled: disabled
|
|
202
|
+
}, fieldProps || {});
|
|
203
|
+
var resolvedOptions = requestOptions;
|
|
204
|
+
var checkboxOptions = Array.isArray(resolvedOptions) ? resolvedOptions : [];
|
|
205
|
+
var radioOptions = Array.isArray(resolvedOptions) ? resolvedOptions : [];
|
|
206
|
+
switch (valueType) {
|
|
207
|
+
case 'select':
|
|
208
|
+
case 'tag':
|
|
209
|
+
{
|
|
210
|
+
var _ignoredOptions = mergedFieldProps.options,
|
|
211
|
+
selectFieldProps = _objectWithoutProperties(mergedFieldProps, _excluded);
|
|
212
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_select.Select, _objectSpread(_objectSpread({}, selectFieldProps), {}, {
|
|
213
|
+
options: resolvedOptions
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
216
|
+
case 'checkbox':
|
|
217
|
+
if (checkboxOptions.length > 0 || mergedFieldProps.mode === 'multiple') {
|
|
218
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.CheckboxGroup, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
219
|
+
children: checkboxOptions.map(function (option) {
|
|
220
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.Checkbox, {
|
|
221
|
+
value: option.value,
|
|
222
|
+
disabled: option.disabled,
|
|
223
|
+
children: option.label
|
|
224
|
+
}, String(option.value));
|
|
225
|
+
})
|
|
226
|
+
}));
|
|
227
|
+
}
|
|
228
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.Checkbox, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
229
|
+
children: mergedFieldProps.children || placeholder
|
|
230
|
+
}));
|
|
231
|
+
case 'radio':
|
|
232
|
+
if (radioOptions.length > 0) {
|
|
233
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.RadioGroup, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
234
|
+
children: radioOptions.map(function (option) {
|
|
235
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.Radio, {
|
|
236
|
+
value: option.value,
|
|
237
|
+
disabled: option.disabled,
|
|
238
|
+
children: option.label
|
|
239
|
+
}, String(option.value));
|
|
240
|
+
})
|
|
241
|
+
}));
|
|
242
|
+
}
|
|
243
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.Radio, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
244
|
+
children: mergedFieldProps.children || placeholder
|
|
245
|
+
}));
|
|
246
|
+
case 'treeSelect':
|
|
247
|
+
{
|
|
248
|
+
var _ignoredOptions2 = mergedFieldProps.options,
|
|
249
|
+
treeData = mergedFieldProps.treeData,
|
|
250
|
+
treeSelectFieldProps = _objectWithoutProperties(mergedFieldProps, _excluded2);
|
|
251
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_treeSelect.TreeSelect, _objectSpread(_objectSpread({}, treeSelectFieldProps), {}, {
|
|
252
|
+
treeData: treeData || resolvedOptions || []
|
|
253
|
+
}));
|
|
254
|
+
}
|
|
255
|
+
case 'cascader':
|
|
256
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.CascaderFieldControl, {
|
|
257
|
+
value: mergedFieldProps.value,
|
|
258
|
+
onChange: mergedFieldProps.onChange,
|
|
259
|
+
className: mergedFieldProps.className,
|
|
260
|
+
placeholder: mergedFieldProps.placeholder,
|
|
261
|
+
fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
262
|
+
options: resolvedOptions
|
|
263
|
+
})
|
|
264
|
+
});
|
|
265
|
+
case 'segmented':
|
|
266
|
+
{
|
|
267
|
+
var _ignoredOptions3 = mergedFieldProps.options,
|
|
268
|
+
segmentedFieldProps = _objectWithoutProperties(mergedFieldProps, _excluded3);
|
|
269
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmented.Segmented, _objectSpread(_objectSpread({}, segmentedFieldProps), {}, {
|
|
270
|
+
options: resolvedOptions
|
|
271
|
+
}));
|
|
272
|
+
}
|
|
273
|
+
default:
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
var renderTag = exports.ProFieldBadgeColor = function renderTag(text, status, color) {
|
|
278
|
+
var className = STATUS_CLASS_MAP[status || 'default'] || STATUS_CLASS_MAP.default;
|
|
279
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
280
|
+
className: (0, _cn.cn)('inline-flex shrink-0 items-center whitespace-nowrap rounded-full border px-2.5 py-1 text-xs font-medium', className),
|
|
281
|
+
style: color ? {
|
|
282
|
+
color: color,
|
|
283
|
+
borderColor: color
|
|
284
|
+
} : undefined,
|
|
285
|
+
children: text
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
var formatDateValue = function formatDateValue(text, format) {
|
|
289
|
+
if (!text) {
|
|
290
|
+
return undefined;
|
|
291
|
+
}
|
|
292
|
+
if (Array.isArray(text)) {
|
|
293
|
+
return text.map(function (item) {
|
|
294
|
+
return (0, _dayjs.default)(item).format(format);
|
|
295
|
+
}).filter(Boolean).join(' ~ ');
|
|
296
|
+
}
|
|
297
|
+
return (0, _dayjs.default)(text).format(format);
|
|
298
|
+
};
|
|
299
|
+
var formatQuarterValue = function formatQuarterValue(text) {
|
|
300
|
+
if (!text) {
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
303
|
+
var formatQuarter = function formatQuarter(value) {
|
|
304
|
+
var current = (0, _dayjs.default)(value);
|
|
305
|
+
return "".concat(current.year(), "-Q").concat(Math.floor(current.month() / 3) + 1);
|
|
306
|
+
};
|
|
307
|
+
if (Array.isArray(text)) {
|
|
308
|
+
return text.map(function (item) {
|
|
309
|
+
return formatQuarter(item);
|
|
310
|
+
}).join(' ~ ');
|
|
311
|
+
}
|
|
312
|
+
return formatQuarter(text);
|
|
313
|
+
};
|
|
314
|
+
var formatWeekValue = function formatWeekValue(text) {
|
|
315
|
+
if (!text) {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
var formatWeek = function formatWeek(value) {
|
|
319
|
+
var _ref6, _week, _week2, _ref7, _isoWeek, _ref8;
|
|
320
|
+
var current = (0, _dayjs.default)(value);
|
|
321
|
+
var weekNumber = (_ref6 = (_week = (_week2 = (_ref7 = current).week) === null || _week2 === void 0 ? void 0 : _week2.call(_ref7)) !== null && _week !== void 0 ? _week : (_isoWeek = (_ref8 = current).isoWeek) === null || _isoWeek === void 0 ? void 0 : _isoWeek.call(_ref8)) !== null && _ref6 !== void 0 ? _ref6 : 0;
|
|
322
|
+
return "".concat(current.year(), "-").concat(String(weekNumber).padStart(2, '0'));
|
|
323
|
+
};
|
|
324
|
+
if (Array.isArray(text)) {
|
|
325
|
+
return text.map(function (item) {
|
|
326
|
+
return formatWeek(item);
|
|
327
|
+
}).join(' ~ ');
|
|
328
|
+
}
|
|
329
|
+
return formatWeek(text);
|
|
330
|
+
};
|
|
331
|
+
var formatJsonCodeValue = function formatJsonCodeValue(text) {
|
|
332
|
+
if (text === undefined || text === null || text === '') {
|
|
333
|
+
return undefined;
|
|
334
|
+
}
|
|
335
|
+
if (typeof text === 'string') {
|
|
336
|
+
try {
|
|
337
|
+
return JSON.stringify(JSON.parse(text), null, 2);
|
|
338
|
+
} catch (error) {
|
|
339
|
+
return text;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
try {
|
|
343
|
+
return JSON.stringify(text, null, 2);
|
|
344
|
+
} catch (error) {
|
|
345
|
+
return String(text);
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
var renderValueEnumCollection = function renderValueEnumCollection(text, valueEnum, emptyText) {
|
|
349
|
+
if (Array.isArray(text)) {
|
|
350
|
+
if (!text.length) {
|
|
351
|
+
return defaultRenderText(undefined, emptyText);
|
|
352
|
+
}
|
|
353
|
+
var renderedItems = text.map(function (item) {
|
|
354
|
+
var _valueEnumItem$text;
|
|
355
|
+
var valueEnumItem = getValueEnumItem(valueEnum, item);
|
|
356
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
|
|
357
|
+
children: renderTag((_valueEnumItem$text = valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.text) !== null && _valueEnumItem$text !== void 0 ? _valueEnumItem$text : item, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.status, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.color)
|
|
358
|
+
}, String(item));
|
|
359
|
+
});
|
|
360
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
361
|
+
className: "flex flex-wrap items-center gap-2",
|
|
362
|
+
children: renderedItems
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
var valueEnumItem = getValueEnumItem(valueEnum, text);
|
|
366
|
+
if (valueEnumItem) {
|
|
367
|
+
return renderTag(valueEnumItem.text, valueEnumItem.status, valueEnumItem.color);
|
|
368
|
+
}
|
|
369
|
+
return defaultRenderText(text, emptyText);
|
|
370
|
+
};
|
|
371
|
+
var renderReadMode = function renderReadMode(text, valueType, valueEnum, emptyText, fieldProps, moneySymbol) {
|
|
372
|
+
var valueEnumItem = getValueEnumItem(valueEnum, text);
|
|
373
|
+
if (valueEnumItem && ['select', 'tag', 'text'].includes(valueType)) {
|
|
374
|
+
return renderTag(valueEnumItem.text, valueEnumItem.status, valueEnumItem.color);
|
|
375
|
+
}
|
|
376
|
+
switch (valueType) {
|
|
377
|
+
case 'money':
|
|
378
|
+
return defaultRenderText(text !== undefined && text !== null && text !== '' ? "".concat(moneySymbol === false ? '' : moneySymbol || '¥').concat(Number(text).toLocaleString('zh-CN')) : undefined, emptyText);
|
|
379
|
+
case 'percent':
|
|
380
|
+
return defaultRenderText(text !== undefined && text !== null && text !== '' ? "".concat(text, "%") : undefined, emptyText);
|
|
381
|
+
case 'date':
|
|
382
|
+
return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD'), emptyText);
|
|
383
|
+
case 'dateWeek':
|
|
384
|
+
return defaultRenderText(formatWeekValue(text), emptyText);
|
|
385
|
+
case 'dateMonth':
|
|
386
|
+
return defaultRenderText(formatDateValue(text, 'YYYY-MM'), emptyText);
|
|
387
|
+
case 'dateQuarter':
|
|
388
|
+
return defaultRenderText(formatQuarterValue(text), emptyText);
|
|
389
|
+
case 'dateYear':
|
|
390
|
+
return defaultRenderText(formatDateValue(text, 'YYYY'), emptyText);
|
|
391
|
+
case 'dateTime':
|
|
392
|
+
return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD HH:mm:ss'), emptyText);
|
|
393
|
+
case 'time':
|
|
394
|
+
return defaultRenderText(formatDateValue(text, 'HH:mm:ss'), emptyText);
|
|
395
|
+
case 'dateRange':
|
|
396
|
+
return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD'), emptyText);
|
|
397
|
+
case 'dateWeekRange':
|
|
398
|
+
return defaultRenderText(formatWeekValue(text), emptyText);
|
|
399
|
+
case 'dateMonthRange':
|
|
400
|
+
return defaultRenderText(formatDateValue(text, 'YYYY-MM'), emptyText);
|
|
401
|
+
case 'dateQuarterRange':
|
|
402
|
+
return defaultRenderText(formatQuarterValue(text), emptyText);
|
|
403
|
+
case 'dateTimeRange':
|
|
404
|
+
return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD HH:mm:ss'), emptyText);
|
|
405
|
+
case 'dateYearRange':
|
|
406
|
+
return defaultRenderText(formatDateValue(text, 'YYYY'), emptyText);
|
|
407
|
+
case 'timeRange':
|
|
408
|
+
return defaultRenderText(formatDateValue(text, 'HH:mm:ss'), emptyText);
|
|
409
|
+
case 'fromNow':
|
|
410
|
+
return defaultRenderText(text ? (0, _dayjs.default)(text).fromNow() : undefined, emptyText);
|
|
411
|
+
case 'second':
|
|
412
|
+
return defaultRenderText(text !== undefined && text !== null && text !== '' ? "".concat(Number(text).toLocaleString('zh-CN'), " \u79D2") : undefined, emptyText);
|
|
413
|
+
case 'password':
|
|
414
|
+
return defaultRenderText(text ? '•'.repeat(Math.max(String(text).length, 6)) : undefined, emptyText);
|
|
415
|
+
case 'textarea':
|
|
416
|
+
return text === undefined || text === null || text === '' ? defaultRenderText(undefined, emptyText) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
417
|
+
className: "whitespace-pre-wrap break-words",
|
|
418
|
+
children: String(text)
|
|
419
|
+
});
|
|
420
|
+
case 'code':
|
|
421
|
+
return text ? /*#__PURE__*/(0, _jsxRuntime.jsx)("pre", {
|
|
422
|
+
className: "bg-muted/20 overflow-auto rounded-xl border border-border p-3 font-mono text-xs text-foreground",
|
|
423
|
+
children: String(text)
|
|
424
|
+
}) : defaultRenderText(undefined, emptyText);
|
|
425
|
+
case 'jsonCode':
|
|
426
|
+
return text ? /*#__PURE__*/(0, _jsxRuntime.jsx)("pre", {
|
|
427
|
+
className: "bg-muted/20 overflow-auto rounded-xl border border-border p-3 font-mono text-xs text-foreground",
|
|
428
|
+
children: formatJsonCodeValue(text)
|
|
429
|
+
}) : defaultRenderText(undefined, emptyText);
|
|
430
|
+
case 'color':
|
|
431
|
+
return text ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
432
|
+
className: "inline-flex items-center gap-2 rounded-full border border-border bg-background px-2.5 py-1 text-xs text-foreground",
|
|
433
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
434
|
+
className: "h-3 w-3 rounded-full border border-border",
|
|
435
|
+
style: {
|
|
436
|
+
backgroundColor: String(text)
|
|
437
|
+
}
|
|
438
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
439
|
+
children: String(text)
|
|
440
|
+
})]
|
|
441
|
+
}) : defaultRenderText(undefined, emptyText);
|
|
442
|
+
case 'progress':
|
|
443
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
444
|
+
className: "min-w-[160px]",
|
|
445
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_progressBar.ProgressBar, {
|
|
446
|
+
percent: Number(text) || 0,
|
|
447
|
+
showText: true
|
|
448
|
+
})
|
|
449
|
+
});
|
|
450
|
+
case 'rate':
|
|
451
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_rate.Rate, {
|
|
452
|
+
value: Number(text) || 0,
|
|
453
|
+
readOnly: true
|
|
454
|
+
});
|
|
455
|
+
case 'switch':
|
|
456
|
+
return renderTag(Boolean(text) ? '已开启' : '已关闭', Boolean(text) ? 'success' : 'default');
|
|
457
|
+
case 'image':
|
|
458
|
+
{
|
|
459
|
+
var _fieldProps$size, _fieldProps$width, _fieldProps$height;
|
|
460
|
+
var imageSize = (_fieldProps$size = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.size) !== null && _fieldProps$size !== void 0 ? _fieldProps$size : 30;
|
|
461
|
+
return typeof text === 'string' && text ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_image.Image, {
|
|
462
|
+
src: text,
|
|
463
|
+
alt: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.alt) || 'image',
|
|
464
|
+
width: (_fieldProps$width = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.width) !== null && _fieldProps$width !== void 0 ? _fieldProps$width : imageSize,
|
|
465
|
+
height: (_fieldProps$height = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.height) !== null && _fieldProps$height !== void 0 ? _fieldProps$height : imageSize,
|
|
466
|
+
className: (0, _cn.cn)('rounded-md', fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.className),
|
|
467
|
+
style: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style
|
|
468
|
+
}) : defaultRenderText(undefined, emptyText);
|
|
469
|
+
}
|
|
470
|
+
case 'avatar':
|
|
471
|
+
return typeof text === 'string' && text.startsWith('http') ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
|
|
472
|
+
src: text,
|
|
473
|
+
alt: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.alt) || 'avatar'
|
|
474
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
|
|
475
|
+
text: String(text || ''),
|
|
476
|
+
alt: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.alt) || 'avatar'
|
|
477
|
+
});
|
|
478
|
+
case 'option':
|
|
479
|
+
if (Array.isArray(text)) {
|
|
480
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
481
|
+
className: "flex flex-wrap items-center gap-2",
|
|
482
|
+
children: text
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
return defaultRenderText(text, emptyText);
|
|
486
|
+
case 'select':
|
|
487
|
+
case 'checkbox':
|
|
488
|
+
case 'radio':
|
|
489
|
+
case 'treeSelect':
|
|
490
|
+
case 'cascader':
|
|
491
|
+
case 'segmented':
|
|
492
|
+
return renderValueEnumCollection(text, valueEnum, emptyText);
|
|
493
|
+
case 'tag':
|
|
494
|
+
return renderTag(text, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.status, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.color);
|
|
495
|
+
case 'index':
|
|
496
|
+
case 'indexBorder':
|
|
497
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
498
|
+
className: (0, _cn.cn)('inline-flex h-7 min-w-7 items-center justify-center rounded-full text-xs font-semibold', valueType === 'indexBorder' ? 'border border-border bg-background text-foreground' : 'bg-muted text-muted-foreground'),
|
|
499
|
+
children: text
|
|
500
|
+
});
|
|
501
|
+
default:
|
|
502
|
+
return defaultRenderText(text, emptyText);
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
var omitNonControlFieldProps = function omitNonControlFieldProps(fieldProps) {
|
|
506
|
+
if (!fieldProps) {
|
|
507
|
+
return {};
|
|
508
|
+
}
|
|
509
|
+
var _request = fieldProps.request,
|
|
510
|
+
_params = fieldProps.params,
|
|
511
|
+
_debounceTime = fieldProps.debounceTime,
|
|
512
|
+
_valueEnum = fieldProps.valueEnum,
|
|
513
|
+
restFieldProps = _objectWithoutProperties(fieldProps, _excluded4);
|
|
514
|
+
return restFieldProps;
|
|
515
|
+
};
|
|
516
|
+
var renderEditMode = function renderEditMode(valueType, fieldProps, placeholder, disabled, valueEnum) {
|
|
517
|
+
var effectiveValueType = getEffectiveValueType(valueType, valueEnum);
|
|
518
|
+
var sanitizedFieldProps = omitNonControlFieldProps(fieldProps);
|
|
519
|
+
var mergedFieldProps = _objectSpread({
|
|
520
|
+
placeholder: getDefaultEditPlaceholder(effectiveValueType, placeholder),
|
|
521
|
+
disabled: disabled
|
|
522
|
+
}, sanitizedFieldProps);
|
|
523
|
+
switch (effectiveValueType) {
|
|
524
|
+
case 'textarea':
|
|
525
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread({}, mergedFieldProps));
|
|
526
|
+
case 'digit':
|
|
527
|
+
case 'money':
|
|
528
|
+
case 'percent':
|
|
529
|
+
case 'second':
|
|
530
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({
|
|
531
|
+
type: "number"
|
|
532
|
+
}, mergedFieldProps));
|
|
533
|
+
case 'digitRange':
|
|
534
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DigitRangeFieldControl, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
535
|
+
placeholder: placeholder
|
|
536
|
+
}));
|
|
537
|
+
case 'date':
|
|
538
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
539
|
+
className: mergedFieldProps.className,
|
|
540
|
+
value: mergedFieldProps.value,
|
|
541
|
+
onChange: mergedFieldProps.onChange,
|
|
542
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
543
|
+
precision: sanitizedFieldProps.precision || 'day',
|
|
544
|
+
fieldProps: mergedFieldProps
|
|
545
|
+
});
|
|
546
|
+
case 'dateMonth':
|
|
547
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
548
|
+
className: mergedFieldProps.className,
|
|
549
|
+
value: mergedFieldProps.value,
|
|
550
|
+
onChange: mergedFieldProps.onChange,
|
|
551
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
552
|
+
precision: sanitizedFieldProps.precision || 'month',
|
|
553
|
+
fieldProps: mergedFieldProps
|
|
554
|
+
});
|
|
555
|
+
case 'dateWeek':
|
|
556
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
557
|
+
className: mergedFieldProps.className,
|
|
558
|
+
value: mergedFieldProps.value,
|
|
559
|
+
onChange: mergedFieldProps.onChange,
|
|
560
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
561
|
+
precision: sanitizedFieldProps.precision || 'day',
|
|
562
|
+
fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
563
|
+
picker: 'week'
|
|
564
|
+
})
|
|
565
|
+
});
|
|
566
|
+
case 'dateQuarter':
|
|
567
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
568
|
+
className: mergedFieldProps.className,
|
|
569
|
+
value: mergedFieldProps.value,
|
|
570
|
+
onChange: mergedFieldProps.onChange,
|
|
571
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
572
|
+
precision: sanitizedFieldProps.precision || 'month',
|
|
573
|
+
fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
574
|
+
picker: 'quarter'
|
|
575
|
+
})
|
|
576
|
+
});
|
|
577
|
+
case 'dateYear':
|
|
578
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
579
|
+
className: mergedFieldProps.className,
|
|
580
|
+
value: mergedFieldProps.value,
|
|
581
|
+
onChange: mergedFieldProps.onChange,
|
|
582
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
583
|
+
precision: sanitizedFieldProps.precision || 'year',
|
|
584
|
+
fieldProps: mergedFieldProps
|
|
585
|
+
});
|
|
586
|
+
case 'dateTime':
|
|
587
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
588
|
+
className: mergedFieldProps.className,
|
|
589
|
+
value: mergedFieldProps.value,
|
|
590
|
+
onChange: mergedFieldProps.onChange,
|
|
591
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
592
|
+
precision: sanitizedFieldProps.precision || 'second',
|
|
593
|
+
fieldProps: mergedFieldProps
|
|
594
|
+
});
|
|
595
|
+
case 'time':
|
|
596
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
|
|
597
|
+
className: mergedFieldProps.className,
|
|
598
|
+
value: mergedFieldProps.value,
|
|
599
|
+
onChange: mergedFieldProps.onChange,
|
|
600
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
601
|
+
precision: sanitizedFieldProps.precision || 'second',
|
|
602
|
+
fieldProps: mergedFieldProps
|
|
603
|
+
});
|
|
604
|
+
case 'dateRange':
|
|
605
|
+
case 'dateMonthRange':
|
|
606
|
+
case 'dateWeekRange':
|
|
607
|
+
case 'dateQuarterRange':
|
|
608
|
+
case 'dateTimeRange':
|
|
609
|
+
case 'dateYearRange':
|
|
610
|
+
case 'timeRange':
|
|
611
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DateRangeFieldControl, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
612
|
+
placeholder: placeholder,
|
|
613
|
+
precision: sanitizedFieldProps.precision || (valueType === 'dateTimeRange' ? 'second' : valueType === 'dateMonthRange' ? 'month' : valueType === 'dateYearRange' ? 'year' : 'day'),
|
|
614
|
+
fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
615
|
+
picker: valueType === 'dateWeekRange' ? 'week' : valueType === 'dateQuarterRange' ? 'quarter' : sanitizedFieldProps.picker
|
|
616
|
+
})
|
|
617
|
+
}));
|
|
618
|
+
case 'select':
|
|
619
|
+
case 'tag':
|
|
620
|
+
case 'checkbox':
|
|
621
|
+
case 'radio':
|
|
622
|
+
case 'treeSelect':
|
|
623
|
+
case 'cascader':
|
|
624
|
+
case 'segmented':
|
|
625
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionFieldControl, {
|
|
626
|
+
valueType: effectiveValueType,
|
|
627
|
+
fieldProps: fieldProps,
|
|
628
|
+
valueEnum: valueEnum,
|
|
629
|
+
placeholder: placeholder,
|
|
630
|
+
disabled: disabled
|
|
631
|
+
});
|
|
632
|
+
case 'password':
|
|
633
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({
|
|
634
|
+
type: "password"
|
|
635
|
+
}, mergedFieldProps));
|
|
636
|
+
case 'code':
|
|
637
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
638
|
+
className: (0, _cn.cn)('font-mono', mergedFieldProps.className)
|
|
639
|
+
}));
|
|
640
|
+
case 'jsonCode':
|
|
641
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
|
|
642
|
+
className: (0, _cn.cn)('font-mono', mergedFieldProps.className),
|
|
643
|
+
value: formatJsonCodeValue(mergedFieldProps.value)
|
|
644
|
+
}));
|
|
645
|
+
case 'color':
|
|
646
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({
|
|
647
|
+
type: "color"
|
|
648
|
+
}, mergedFieldProps));
|
|
649
|
+
case 'switch':
|
|
650
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_switch.Switch, _objectSpread({}, mergedFieldProps));
|
|
651
|
+
case 'rate':
|
|
652
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_rate.Rate, _objectSpread({}, mergedFieldProps));
|
|
653
|
+
case 'progress':
|
|
654
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_slider.Slider, _objectSpread({}, mergedFieldProps));
|
|
655
|
+
case 'image':
|
|
656
|
+
case 'avatar':
|
|
657
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({}, mergedFieldProps));
|
|
658
|
+
default:
|
|
659
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({}, mergedFieldProps));
|
|
660
|
+
}
|
|
661
|
+
};
|
|
662
|
+
var ProField = exports.ProField = function ProField(_ref9) {
|
|
663
|
+
var text = _ref9.text,
|
|
664
|
+
_ref9$valueType = _ref9.valueType,
|
|
665
|
+
valueType = _ref9$valueType === void 0 ? 'text' : _ref9$valueType,
|
|
666
|
+
_ref9$mode = _ref9.mode,
|
|
667
|
+
mode = _ref9$mode === void 0 ? 'read' : _ref9$mode,
|
|
668
|
+
readonly = _ref9.readonly,
|
|
669
|
+
valueEnum = _ref9.valueEnum,
|
|
670
|
+
fieldProps = _ref9.fieldProps,
|
|
671
|
+
placeholder = _ref9.placeholder,
|
|
672
|
+
_ref9$emptyText = _ref9.emptyText,
|
|
673
|
+
emptyText = _ref9$emptyText === void 0 ? '-' : _ref9$emptyText,
|
|
674
|
+
render = _ref9.render,
|
|
675
|
+
formItemRender = _ref9.formItemRender,
|
|
676
|
+
disabled = _ref9.disabled,
|
|
677
|
+
controlProps = _objectWithoutProperties(_ref9, _excluded5);
|
|
678
|
+
var _useProConfig = (0, _provider.useProConfig)(),
|
|
679
|
+
valueTypeMap = _useProConfig.valueTypeMap,
|
|
680
|
+
intl = _useProConfig.intl;
|
|
681
|
+
var effectiveValueType = getEffectiveValueType(valueType, valueEnum);
|
|
682
|
+
var customRenderer = valueTypeMap[effectiveValueType] || valueTypeMap[valueType];
|
|
683
|
+
var resolvedMode = readonly ? 'read' : mode;
|
|
684
|
+
var fieldText = text !== undefined ? text : controlProps.value;
|
|
685
|
+
var dom = resolvedMode === 'read' ? renderReadMode(fieldText, effectiveValueType, valueEnum, emptyText, fieldProps, controlProps.moneySymbol === undefined ? intl.getMessage('moneySymbol', '¥') : controlProps.moneySymbol) : renderEditMode(effectiveValueType, _objectSpread(_objectSpread({}, fieldProps || {}), controlProps), placeholder, disabled, valueEnum);
|
|
686
|
+
if (resolvedMode === 'read' && (render || customRenderer !== null && customRenderer !== void 0 && customRenderer.render)) {
|
|
687
|
+
var _ref10;
|
|
688
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
689
|
+
children: (_ref10 = render || (customRenderer === null || customRenderer === void 0 ? void 0 : customRenderer.render)) === null || _ref10 === void 0 ? void 0 : _ref10(fieldText, {
|
|
690
|
+
mode: resolvedMode,
|
|
691
|
+
valueType: effectiveValueType,
|
|
692
|
+
fieldProps: fieldProps,
|
|
693
|
+
valueEnum: valueEnum,
|
|
694
|
+
placeholder: placeholder,
|
|
695
|
+
emptyText: emptyText
|
|
696
|
+
}, /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
697
|
+
children: dom
|
|
698
|
+
}))
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
if (resolvedMode !== 'read' && (formItemRender || customRenderer !== null && customRenderer !== void 0 && customRenderer.formItemRender)) {
|
|
702
|
+
var _ref11;
|
|
703
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
704
|
+
children: (_ref11 = formItemRender || (customRenderer === null || customRenderer === void 0 ? void 0 : customRenderer.formItemRender)) === null || _ref11 === void 0 ? void 0 : _ref11(fieldText, {
|
|
705
|
+
mode: resolvedMode,
|
|
706
|
+
valueType: effectiveValueType,
|
|
707
|
+
fieldProps: fieldProps,
|
|
708
|
+
valueEnum: valueEnum,
|
|
709
|
+
placeholder: placeholder,
|
|
710
|
+
disabled: disabled
|
|
711
|
+
}, /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
712
|
+
children: dom
|
|
713
|
+
}))
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
717
|
+
children: dom
|
|
718
|
+
});
|
|
719
|
+
};
|
|
720
|
+
var PureProField = exports.PureProField = ProField;
|
|
721
|
+
var createFieldWithType = function createFieldWithType(valueType) {
|
|
722
|
+
var FieldComponent = function FieldComponent(props) {
|
|
723
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ProField, _objectSpread(_objectSpread({}, props), {}, {
|
|
724
|
+
valueType: props.valueType || valueType
|
|
725
|
+
}));
|
|
726
|
+
};
|
|
727
|
+
FieldComponent.displayName = "Field".concat(valueType);
|
|
728
|
+
return FieldComponent;
|
|
729
|
+
};
|
|
730
|
+
var FieldText = exports.FieldText = createFieldWithType('text');
|
|
731
|
+
var FieldTextArea = exports.FieldTextArea = createFieldWithType('textarea');
|
|
732
|
+
var FieldDigit = exports.FieldDigit = createFieldWithType('digit');
|
|
733
|
+
var FieldDigitRange = exports.FieldDigitRange = createFieldWithType('digitRange');
|
|
734
|
+
var FieldMoney = exports.FieldMoney = createFieldWithType('money');
|
|
735
|
+
var FieldPercent = exports.FieldPercent = createFieldWithType('percent');
|
|
736
|
+
var FieldDatePicker = exports.FieldDatePicker = createFieldWithType('date');
|
|
737
|
+
var FieldDateWeekPicker = exports.FieldDateWeekPicker = createFieldWithType('dateWeek');
|
|
738
|
+
var FieldDateMonthPicker = exports.FieldDateMonthPicker = createFieldWithType('dateMonth');
|
|
739
|
+
var FieldDateQuarterPicker = exports.FieldDateQuarterPicker = createFieldWithType('dateQuarter');
|
|
740
|
+
var FieldDateYearPicker = exports.FieldDateYearPicker = createFieldWithType('dateYear');
|
|
741
|
+
var FieldTimePicker = exports.FieldTimePicker = createFieldWithType('time');
|
|
742
|
+
var FieldTimeRangePicker = exports.FieldTimeRangePicker = createFieldWithType('timeRange');
|
|
743
|
+
var FieldRangePicker = exports.FieldRangePicker = createFieldWithType('dateRange');
|
|
744
|
+
var FieldDateWeekRangePicker = exports.FieldDateWeekRangePicker = createFieldWithType('dateWeekRange');
|
|
745
|
+
var FieldDateMonthRangePicker = exports.FieldDateMonthRangePicker = createFieldWithType('dateMonthRange');
|
|
746
|
+
var FieldDateQuarterRangePicker = exports.FieldDateQuarterRangePicker = createFieldWithType('dateQuarterRange');
|
|
747
|
+
var FieldDateYearRangePicker = exports.FieldDateYearRangePicker = createFieldWithType('dateYearRange');
|
|
748
|
+
var FieldPassword = exports.FieldPassword = createFieldWithType('password');
|
|
749
|
+
var FieldFromNow = exports.FieldFromNow = createFieldWithType('fromNow');
|
|
750
|
+
var FieldSecond = exports.FieldSecond = createFieldWithType('second');
|
|
751
|
+
var FieldCode = exports.FieldCode = createFieldWithType('code');
|
|
752
|
+
var FieldColorPicker = exports.FieldColorPicker = createFieldWithType('color');
|
|
753
|
+
var FieldSelect = exports.FieldSelect = createFieldWithType('select');
|
|
754
|
+
var FieldCheckbox = exports.FieldCheckbox = createFieldWithType('checkbox');
|
|
755
|
+
var FieldRadio = exports.FieldRadio = createFieldWithType('radio');
|
|
756
|
+
var FieldTreeSelect = exports.FieldTreeSelect = createFieldWithType('treeSelect');
|
|
757
|
+
var FieldCascader = exports.FieldCascader = createFieldWithType('cascader');
|
|
758
|
+
var FieldSegmented = exports.FieldSegmented = createFieldWithType('segmented');
|
|
759
|
+
var FieldSwitch = exports.FieldSwitch = createFieldWithType('switch');
|
|
760
|
+
var FieldRate = exports.FieldRate = createFieldWithType('rate');
|
|
761
|
+
var FieldSlider = exports.FieldSlider = createFieldWithType('progress');
|
|
762
|
+
var FieldProgress = exports.FieldProgress = FieldSlider;
|
|
763
|
+
var FieldOptions = exports.FieldOptions = createFieldWithType('option');
|
|
764
|
+
var FieldImage = exports.FieldImage = createFieldWithType('image');
|
|
765
|
+
var FieldIndexColumn = exports.FieldIndexColumn = createFieldWithType('index');
|
|
766
|
+
var FieldStatus = exports.FieldStatus = createFieldWithType('status');
|
|
767
|
+
var _default = exports.default = ProField;
|