@pisell/materials 1.0.478 → 1.0.480
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 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +5 -5
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +18 -18
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +17 -17
- package/es/components/browserSelect/index.d.ts +8 -2
- package/es/components/browserSelect/index.js +32 -10
- package/es/components/browserSelect/index.less +50 -6
- package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +2 -1
- package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.d.ts +1 -0
- package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.js +2 -1
- package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.js +5 -3
- package/es/components/dataSourceComponents/dataSourceForm/type.d.ts +1 -0
- package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +4 -1
- package/es/components/dataSourceComponents/dataSourceForm/utils.js +12 -9
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useFormat.d.ts +1 -0
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useFormat.js +35 -2
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +2 -2
- package/es/components/dataSourceComponents/fields/Checkbox/index.js +3 -1
- package/es/components/dataSourceComponents/fields/ColorPicker/index.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/DatePicker/WithMode.js +2 -2
- package/es/components/dataSourceComponents/fields/DatePicker/index.js +4 -2
- package/es/components/dataSourceComponents/fields/InputNumber/index.js +4 -2
- package/es/components/dataSourceComponents/fields/Select/WithMode.js +1 -1
- package/es/components/dataSourceComponents/fields/TimePicker/WithMode.d.ts +4 -3
- package/es/components/dataSourceComponents/fields/TimePicker/WithMode.js +94 -1
- package/es/components/dataSourceComponents/fields/TimePicker/index.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/TimePicker/index.js +7 -1
- package/es/components/dataSourceComponents/fields/TimePicker/style.less +86 -0
- package/es/components/dataSourceComponents/fields/index.d.ts +2 -2
- package/es/components/dataSourceComponents/hooks/useActions.js +6 -5
- package/es/components/date-picker/datePickerCpt.d.ts +1 -0
- package/es/components/date-picker/datePickerCpt.js +7 -3
- package/es/components/date-picker/index.js +2 -2
- package/es/components/date-picker/index.less +1 -1
- package/es/components/page/index.js +6 -0
- package/es/components/select/index.d.ts +3 -3
- package/es/components/select/index.js +58 -16
- package/es/components/table/Table/utils.d.ts +1 -1
- package/es/locales/en-US.d.ts +1 -0
- package/es/locales/en-US.js +1 -0
- package/es/locales/zh-CN.d.ts +1 -0
- package/es/locales/zh-CN.js +1 -0
- package/es/locales/zh-TW.d.ts +1 -0
- package/es/locales/zh-TW.js +1 -0
- package/lib/components/browserSelect/index.d.ts +8 -2
- package/lib/components/browserSelect/index.js +16 -10
- package/lib/components/browserSelect/index.less +50 -6
- package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +2 -1
- package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.d.ts +1 -0
- package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.js +2 -1
- package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.js +4 -3
- package/lib/components/dataSourceComponents/dataSourceForm/type.d.ts +1 -0
- package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +4 -1
- package/lib/components/dataSourceComponents/dataSourceForm/utils.js +11 -10
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useFormat.d.ts +1 -0
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useFormat.js +42 -1
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +2 -2
- package/lib/components/dataSourceComponents/fields/Checkbox/index.js +3 -1
- package/lib/components/dataSourceComponents/fields/ColorPicker/index.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/DatePicker/WithMode.js +2 -2
- package/lib/components/dataSourceComponents/fields/DatePicker/index.js +4 -2
- package/lib/components/dataSourceComponents/fields/InputNumber/index.js +4 -2
- package/lib/components/dataSourceComponents/fields/Select/WithMode.js +2 -2
- package/lib/components/dataSourceComponents/fields/TimePicker/WithMode.d.ts +4 -3
- package/lib/components/dataSourceComponents/fields/TimePicker/WithMode.js +89 -3
- package/lib/components/dataSourceComponents/fields/TimePicker/index.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/TimePicker/index.js +7 -1
- package/lib/components/dataSourceComponents/fields/TimePicker/style.less +86 -0
- package/lib/components/dataSourceComponents/fields/index.d.ts +2 -2
- package/lib/components/dataSourceComponents/hooks/useActions.js +5 -5
- package/lib/components/date-picker/datePickerCpt.d.ts +1 -0
- package/lib/components/date-picker/datePickerCpt.js +5 -2
- package/lib/components/date-picker/index.js +2 -2
- package/lib/components/date-picker/index.less +1 -1
- package/lib/components/page/index.js +2 -0
- package/lib/components/select/index.d.ts +3 -3
- package/lib/components/select/index.js +62 -13
- package/lib/components/table/Table/utils.d.ts +1 -1
- package/lib/locales/en-US.d.ts +1 -0
- package/lib/locales/en-US.js +1 -0
- package/lib/locales/zh-CN.d.ts +1 -0
- package/lib/locales/zh-CN.js +1 -0
- package/lib/locales/zh-TW.d.ts +1 -0
- package/lib/locales/zh-TW.js +1 -0
- package/lowcode/data-source-form/utils.ts +11 -0
- package/lowcode/form-item-date-picker/meta.ts +265 -120
- package/lowcode/form-item-date-picker/snippets.ts +43 -40
- package/lowcode/form-item-select/meta.ts +2 -1
- package/lowcode/form-item-time-picker/meta.ts +99 -30
- package/lowcode/form-item-time-picker/snippets.ts +5 -2
- package/lowcode/select/meta.ts +17 -0
- package/package.json +3 -3
- package/es/components/browserSelect/chevron-down.png +0 -0
- package/lib/components/browserSelect/chevron-down.png +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
.pisell-h5-time-picker-wrapper {
|
|
2
|
+
position: relative;
|
|
3
|
+
width: 100%;
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
|
|
7
|
+
.pisell-h5-time-picker-suffix {
|
|
8
|
+
position: absolute;
|
|
9
|
+
right: 11px;
|
|
10
|
+
color: var(--pisell-lowcode-color-icon, #98A2B3);
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
z-index: 1;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.pisell-h5-time-picker {
|
|
18
|
+
width: 100%;
|
|
19
|
+
padding: 4px 11px;
|
|
20
|
+
color: var(--pisell-lowcode-color-text);
|
|
21
|
+
font-size: 14px;
|
|
22
|
+
line-height: 1.5714285714285714;
|
|
23
|
+
background-color: var(--pisell-lowcode-color-bg-container);
|
|
24
|
+
border: 1px solid var(--pisell-lowcode-color-border);
|
|
25
|
+
border-radius: var(--pisell-lowcode-border-radius);
|
|
26
|
+
transition: all 0.2s;
|
|
27
|
+
outline: none;
|
|
28
|
+
box-sizing: border-box;
|
|
29
|
+
|
|
30
|
+
// 让原生图标透明但保持可点击
|
|
31
|
+
&::-webkit-calendar-picker-indicator {
|
|
32
|
+
opacity: 0;
|
|
33
|
+
width: 20px;
|
|
34
|
+
height: 20px;
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
position: absolute;
|
|
37
|
+
right: 8px;
|
|
38
|
+
}
|
|
39
|
+
&::-webkit-time-picker-indicator {
|
|
40
|
+
opacity: 0;
|
|
41
|
+
width: 20px;
|
|
42
|
+
height: 20px;
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
position: absolute;
|
|
45
|
+
right: 8px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// 默认是 middle 尺寸
|
|
49
|
+
height: 32px;
|
|
50
|
+
|
|
51
|
+
&.pisell-h5-time-picker-lg {
|
|
52
|
+
padding: 7px 11px;
|
|
53
|
+
height: 40px;
|
|
54
|
+
font-size: 16px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&.pisell-h5-time-picker-sm {
|
|
58
|
+
padding: 0px 7px;
|
|
59
|
+
height: 24px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&:hover {
|
|
63
|
+
border-color: var(--pisell-lowcode-color-primary);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&:focus {
|
|
67
|
+
border-color: var(--pisell-lowcode-color-primary);
|
|
68
|
+
box-shadow: 0 0 0 2px var(--pisell-lowcode-color-primary-bg-hover);
|
|
69
|
+
outline: 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&:disabled {
|
|
73
|
+
color: var(--pisell-lowcode-color-text-disabled);
|
|
74
|
+
background-color: var(--pisell-lowcode-color-bg-container-disabled);
|
|
75
|
+
border-color: var(--pisell-lowcode-color-border);
|
|
76
|
+
box-shadow: none;
|
|
77
|
+
cursor: not-allowed;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&::placeholder {
|
|
81
|
+
color: var(--pisell-lowcode-color-text-placeholder);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// 添加右侧padding以容纳图标
|
|
85
|
+
padding-right: 30px !important;
|
|
86
|
+
}
|
|
@@ -30,7 +30,7 @@ declare const formFieldMap: {
|
|
|
30
30
|
}) => import("react").JSX.Element;
|
|
31
31
|
InputNumber: import("react").FC<any>;
|
|
32
32
|
Percent: import("react").FC<any>;
|
|
33
|
-
TimePicker: import("react").FC<import("
|
|
33
|
+
TimePicker: import("react").FC<import("./TimePicker/type").TimePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
34
34
|
'Input.JSON': import("react").FC<any>;
|
|
35
35
|
'Input.URL': import("react").FC<import("antd").InputProps & import("react").RefAttributes<import("antd").InputRef> & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
36
36
|
'Input.Password': import("react").FC<import("antd/es/input").PasswordProps & import("react").RefAttributes<import("antd").InputRef> & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
@@ -60,5 +60,5 @@ declare const getFieldComponent: (fieldComponent: string) => import("react").FC<
|
|
|
60
60
|
valueField: string;
|
|
61
61
|
} & {
|
|
62
62
|
dataSource?: any;
|
|
63
|
-
}) => import("react").JSX.Element) | import("react").FC<import("
|
|
63
|
+
}) => import("react").JSX.Element) | import("react").FC<import("./TimePicker/type").TimePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
|
|
64
64
|
export { getFieldComponent, formFieldMap };
|
|
@@ -35,7 +35,8 @@ var useActions = function useActions() {
|
|
|
35
35
|
fields: fields || []
|
|
36
36
|
}),
|
|
37
37
|
formatListResult = _useFormat.formatListResult,
|
|
38
|
-
formatListParams = _useFormat.formatListParams
|
|
38
|
+
formatListParams = _useFormat.formatListParams,
|
|
39
|
+
formatCreateUpdateParams = _useFormat.formatCreateUpdateParams;
|
|
39
40
|
var getParsedActions = useMemoizedFn(function () {
|
|
40
41
|
return parseActions(originalActions, {});
|
|
41
42
|
});
|
|
@@ -103,7 +104,7 @@ var useActions = function useActions() {
|
|
|
103
104
|
}
|
|
104
105
|
actions = getParsedActions();
|
|
105
106
|
createApi = genCustomApi(actions === null || actions === void 0 ? void 0 : actions.create);
|
|
106
|
-
return _context2.abrupt("return", createApi(values));
|
|
107
|
+
return _context2.abrupt("return", createApi(formatCreateUpdateParams(values)));
|
|
107
108
|
case 6:
|
|
108
109
|
if (name) {
|
|
109
110
|
_context2.next = 8;
|
|
@@ -113,7 +114,7 @@ var useActions = function useActions() {
|
|
|
113
114
|
case 8:
|
|
114
115
|
return _context2.abrupt("return", createNocobaseData({
|
|
115
116
|
key: name,
|
|
116
|
-
data: values,
|
|
117
|
+
data: formatCreateUpdateParams(values),
|
|
117
118
|
headers: getHeaders()
|
|
118
119
|
}));
|
|
119
120
|
case 9:
|
|
@@ -186,7 +187,7 @@ var useActions = function useActions() {
|
|
|
186
187
|
return _context4.abrupt("return", {});
|
|
187
188
|
case 4:
|
|
188
189
|
updateApi = genCustomApi(actions === null || actions === void 0 ? void 0 : actions.update);
|
|
189
|
-
return _context4.abrupt("return", updateApi(values));
|
|
190
|
+
return _context4.abrupt("return", updateApi(formatCreateUpdateParams(values)));
|
|
190
191
|
case 8:
|
|
191
192
|
id = values === null || values === void 0 ? void 0 : values.id;
|
|
192
193
|
if (!(!id || !name)) {
|
|
@@ -199,7 +200,7 @@ var useActions = function useActions() {
|
|
|
199
200
|
return _context4.abrupt("return", updateNocobaseData({
|
|
200
201
|
key: name,
|
|
201
202
|
id: id,
|
|
202
|
-
data: values,
|
|
203
|
+
data: formatCreateUpdateParams(values),
|
|
203
204
|
headers: getHeaders()
|
|
204
205
|
}));
|
|
205
206
|
case 13:
|
|
@@ -3,6 +3,7 @@ import { PickerDateProps } from 'antd/es/date-picker/generatePicker';
|
|
|
3
3
|
import { Dayjs } from 'dayjs';
|
|
4
4
|
import './index.less';
|
|
5
5
|
interface DatePickerCptProps extends PickerDateProps<Dayjs> {
|
|
6
|
+
showTime: any;
|
|
6
7
|
}
|
|
7
8
|
declare const DatePickerCpt: (props: DatePickerCptProps) => React.JSX.Element;
|
|
8
9
|
export default DatePickerCpt;
|
|
@@ -128,7 +128,7 @@ var DatePickerCpt = function DatePickerCpt(props) {
|
|
|
128
128
|
if (isFunction(propsFormat)) {
|
|
129
129
|
return propsFormat(value);
|
|
130
130
|
}
|
|
131
|
-
return propsFormat;
|
|
131
|
+
return propsFormat + (showTime !== null && showTime !== void 0 && showTime.format ? " ".concat(showTime === null || showTime === void 0 ? void 0 : showTime.format) : '');
|
|
132
132
|
}
|
|
133
133
|
var localeValue = locale === null || locale === void 0 ? void 0 : locale.locale;
|
|
134
134
|
return localeValue === 'en' || localeValue === 'en-US' ? 'DD/MM/YYYY' : 'YYYY/MM/DD';
|
|
@@ -161,8 +161,12 @@ var DatePickerCpt = function DatePickerCpt(props) {
|
|
|
161
161
|
setPopupOpen(visible);
|
|
162
162
|
};
|
|
163
163
|
var handleOk = function handleOk(val) {
|
|
164
|
-
var
|
|
165
|
-
|
|
164
|
+
var _returnValue;
|
|
165
|
+
var returnValue = val;
|
|
166
|
+
if (returnValue !== null) {
|
|
167
|
+
returnValue = returnValue || _value;
|
|
168
|
+
}
|
|
169
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(returnValue, (_returnValue = returnValue) === null || _returnValue === void 0 ? void 0 : _returnValue.format('YYYY-MM-DD'));
|
|
166
170
|
handleOpenChange(false);
|
|
167
171
|
};
|
|
168
172
|
var handleChange = function handleChange(val, valStr, isNotChange) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import { DatePicker as OriginalDatePicker } from 'antd';
|
|
1
2
|
import { withMomentProps } from "../../utils/hoc";
|
|
2
3
|
import dayjs from 'dayjs';
|
|
3
4
|
import { RangePicker, OldPisellDateRangePicker } from "@pisell/date-picker";
|
|
4
5
|
import localeData from 'dayjs/plugin/localeData';
|
|
5
6
|
import weekday from 'dayjs/plugin/weekday';
|
|
6
|
-
import DatePickerCpt from "./datePickerCpt";
|
|
7
7
|
dayjs.extend(weekday);
|
|
8
8
|
dayjs.extend(localeData);
|
|
9
9
|
|
|
10
10
|
// const OriginalRangePicker = OriginalDatePicker.RangePicker;
|
|
11
11
|
|
|
12
|
-
var DatePicker = withMomentProps(
|
|
12
|
+
var DatePicker = withMomentProps(OriginalDatePicker, ['defaultPickerValue', 'defaultValue', 'showTime.defaultValue', 'value']);
|
|
13
13
|
|
|
14
14
|
// const RangePicker = withMomentProps(OriginalRangePicker, [
|
|
15
15
|
// 'defaultPickerValue',
|
|
@@ -231,7 +231,7 @@ textarea.pisell-lowcode-picker.pisell-lowcode-mode-date-picker
|
|
|
231
231
|
color: #667085;
|
|
232
232
|
}
|
|
233
233
|
.pisell-lowcode-picker-large {
|
|
234
|
-
padding: 7px 11px 7px;
|
|
234
|
+
padding: 7px 11px 7px !important;
|
|
235
235
|
}
|
|
236
236
|
.pisell-lowcode-picker-large .pisell-lowcode-picker-input > input {
|
|
237
237
|
font-size: 16px;
|
|
@@ -60,6 +60,9 @@ var Page = function Page(props) {
|
|
|
60
60
|
if (props !== null && props !== void 0 && props.theme) {
|
|
61
61
|
var _props$theme, _props$theme$token;
|
|
62
62
|
return _objectSpread(_objectSpread({}, props.theme), {}, {
|
|
63
|
+
cssVar: {
|
|
64
|
+
key: 'app'
|
|
65
|
+
},
|
|
63
66
|
token: _objectSpread(_objectSpread({}, props.theme.token), {}, {
|
|
64
67
|
// 外部透传主题时,如果没有传入colorPrimary 默认使用主项目内主题色
|
|
65
68
|
colorPrimary: (props === null || props === void 0 ? void 0 : (_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : (_props$theme$token = _props$theme.token) === null || _props$theme$token === void 0 ? void 0 : _props$theme$token.colorPrimary) || themeColor || '#7F56D9'
|
|
@@ -67,6 +70,9 @@ var Page = function Page(props) {
|
|
|
67
70
|
});
|
|
68
71
|
}
|
|
69
72
|
return {
|
|
73
|
+
cssVar: {
|
|
74
|
+
key: 'app'
|
|
75
|
+
},
|
|
70
76
|
components: {
|
|
71
77
|
Table: {
|
|
72
78
|
colorFillContent: '#EAECF0',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
declare const Select: (props: any) =>
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.less';
|
|
3
|
+
declare const Select: (props: any) => React.JSX.Element;
|
|
4
4
|
export default Select;
|
|
@@ -5,58 +5,100 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
5
5
|
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; }
|
|
6
6
|
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; } }
|
|
7
7
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import React, { useCallback, useMemo, forwardRef, useState } from 'react';
|
|
9
|
+
import { Checkbox, Divider, Select as OriginalSelect, Input } from 'antd';
|
|
10
|
+
import { useControllableValue, useMemoizedFn } from 'ahooks';
|
|
11
|
+
import Iconfont from "../iconfont";
|
|
10
12
|
import { getText } from "../../locales";
|
|
11
13
|
import { withWrap } from "../../utils/hoc";
|
|
12
|
-
import
|
|
14
|
+
import BrowserSelect from "../browserSelect";
|
|
13
15
|
import "./index.less";
|
|
14
|
-
var prefix =
|
|
16
|
+
var prefix = 'pisell-lowcode-';
|
|
15
17
|
var SelectBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
16
18
|
var isShowDropdown = props.isShowDropdown,
|
|
17
19
|
selectAll = props.selectAll,
|
|
18
20
|
mode = props.mode,
|
|
19
21
|
options = props.options,
|
|
20
|
-
propsDropdownRender = props.dropdownRender
|
|
22
|
+
propsDropdownRender = props.dropdownRender,
|
|
23
|
+
showSearch = props.showSearch,
|
|
24
|
+
styleType = props.styleType,
|
|
25
|
+
_props$optionFilterPr = props.optionFilterProp,
|
|
26
|
+
optionFilterProp = _props$optionFilterPr === void 0 ? 'value' : _props$optionFilterPr;
|
|
21
27
|
var _useControllableValue = useControllableValue(props),
|
|
22
28
|
_useControllableValue2 = _slicedToArray(_useControllableValue, 2),
|
|
23
29
|
state = _useControllableValue2[0],
|
|
24
30
|
setState = _useControllableValue2[1];
|
|
31
|
+
var _useState = useState(''),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
searchValue = _useState2[0],
|
|
34
|
+
setSearchValue = _useState2[1];
|
|
35
|
+
var filteredOptions = useMemo(function () {
|
|
36
|
+
if (!searchValue) return options;
|
|
37
|
+
return options.filter(function (option) {
|
|
38
|
+
var _option$optionFilterP;
|
|
39
|
+
var optionValue = ((_option$optionFilterP = option[optionFilterProp]) === null || _option$optionFilterP === void 0 ? void 0 : _option$optionFilterP.toString().toLowerCase()) || '';
|
|
40
|
+
return optionValue.includes(searchValue.toLowerCase());
|
|
41
|
+
});
|
|
42
|
+
}, [options, searchValue, optionFilterProp]);
|
|
25
43
|
var onSelectAllChange = useMemoizedFn(function (e) {
|
|
26
44
|
if (e.target.checked) {
|
|
27
|
-
setState(
|
|
45
|
+
setState(filteredOptions.map(function (item) {
|
|
28
46
|
return item.value;
|
|
29
|
-
}),
|
|
47
|
+
}), filteredOptions);
|
|
30
48
|
} else {
|
|
31
49
|
setState([], []);
|
|
32
50
|
}
|
|
33
51
|
});
|
|
34
52
|
var isShowSelectAll = useMemo(function () {
|
|
35
|
-
return mode ===
|
|
53
|
+
return mode === 'multiple' && isShowDropdown && selectAll;
|
|
36
54
|
}, [mode, selectAll, isShowDropdown]);
|
|
37
55
|
var checkboxChecked = useMemo(function () {
|
|
38
|
-
if (mode !==
|
|
39
|
-
return (state === null || state === void 0 ? void 0 : state.length) === (
|
|
56
|
+
if (mode !== 'multiple') return false;
|
|
57
|
+
return (state === null || state === void 0 ? void 0 : state.length) === (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) && state.sort().join('') === filteredOptions.map(function (item) {
|
|
40
58
|
return item.value;
|
|
41
|
-
}).sort().join(
|
|
42
|
-
}, [state,
|
|
59
|
+
}).sort().join('');
|
|
60
|
+
}, [state, filteredOptions]);
|
|
43
61
|
var dropdownRender = useCallback(propsDropdownRender ? propsDropdownRender : function (originNode) {
|
|
44
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null,
|
|
62
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, showSearch && /*#__PURE__*/React.createElement(Input
|
|
63
|
+
// size="large"
|
|
64
|
+
, {
|
|
65
|
+
placeholder: getText('select-dropdown-render-search'),
|
|
66
|
+
value: searchValue,
|
|
67
|
+
onChange: function onChange(e) {
|
|
68
|
+
return setSearchValue(e.target.value);
|
|
69
|
+
},
|
|
70
|
+
style: {
|
|
71
|
+
width: '100%',
|
|
72
|
+
marginBottom: '4px'
|
|
73
|
+
},
|
|
74
|
+
bordered: false,
|
|
75
|
+
prefix: /*#__PURE__*/React.createElement(Iconfont, {
|
|
76
|
+
style: {
|
|
77
|
+
color: '#98A2B3'
|
|
78
|
+
},
|
|
79
|
+
type: "pisell2-search-lg"
|
|
80
|
+
})
|
|
81
|
+
}), originNode, isShowDropdown && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
|
|
45
82
|
className: "".concat(prefix, "select-dropdown-render-divider")
|
|
46
83
|
}), /*#__PURE__*/React.createElement("div", {
|
|
47
84
|
className: "".concat(prefix, "select-dropdown-render-options-wrap")
|
|
48
85
|
}, isShowSelectAll && /*#__PURE__*/React.createElement(Checkbox, {
|
|
49
86
|
onChange: onSelectAllChange,
|
|
50
87
|
checked: checkboxChecked
|
|
51
|
-
}, getText(
|
|
52
|
-
}, [isShowDropdown, isShowSelectAll, checkboxChecked, propsDropdownRender]);
|
|
88
|
+
}, getText('select-dropdown-render-select-all')))));
|
|
89
|
+
}, [isShowDropdown, isShowSelectAll, checkboxChecked, propsDropdownRender, searchValue, showSearch]);
|
|
90
|
+
if (styleType === 'system') {
|
|
91
|
+
return /*#__PURE__*/React.createElement(BrowserSelect, props);
|
|
92
|
+
}
|
|
53
93
|
return /*#__PURE__*/React.createElement(OriginalSelect, _extends({}, props, {
|
|
94
|
+
showSearch: false,
|
|
54
95
|
ref: ref,
|
|
55
96
|
value: state,
|
|
56
97
|
onChange: function onChange(value, option) {
|
|
57
98
|
return setState(value, option);
|
|
58
99
|
},
|
|
59
|
-
dropdownRender: dropdownRender
|
|
100
|
+
dropdownRender: dropdownRender,
|
|
101
|
+
options: filteredOptions
|
|
60
102
|
}));
|
|
61
103
|
});
|
|
62
104
|
var Select = withWrap(SelectBase);
|
|
@@ -167,7 +167,7 @@ export declare const getSettingKeyArrByMode: ({ filter, columnSetting, dataSourc
|
|
|
167
167
|
sort?: SortType | undefined;
|
|
168
168
|
mode: "" | "localStorage" | "remote";
|
|
169
169
|
currentViewMode: ModeType;
|
|
170
|
-
}) => ("
|
|
170
|
+
}) => ("view_mode" | "column_setting" | "order_by" | "group_by" | "gallery_setting" | "filter_setting")[];
|
|
171
171
|
export declare const omit: (obj: Record<string, any>, keys: string[]) => Record<string, any>;
|
|
172
172
|
export declare const stringify: (obj: Record<string, any>) => string;
|
|
173
173
|
export {};
|
package/es/locales/en-US.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ declare const _default: {
|
|
|
8
8
|
"table-pagination-next": string;
|
|
9
9
|
"table-pagination-total": (current: string, total: string) => string;
|
|
10
10
|
"select-dropdown-render-select-all": string;
|
|
11
|
+
"select-dropdown-render-search": string;
|
|
11
12
|
"sort-button-text": string;
|
|
12
13
|
"sort-oldest-to-newest": string;
|
|
13
14
|
"sort-newest-to-oldest": string;
|
package/es/locales/en-US.js
CHANGED
|
@@ -10,6 +10,7 @@ export default {
|
|
|
10
10
|
return "Page ".concat(current, " of ").concat(total);
|
|
11
11
|
},
|
|
12
12
|
"select-dropdown-render-select-all": "Select all",
|
|
13
|
+
"select-dropdown-render-search": "Search",
|
|
13
14
|
"sort-button-text": "Sort",
|
|
14
15
|
"sort-oldest-to-newest": "Oldest to newest",
|
|
15
16
|
"sort-newest-to-oldest": "Newest to oldest",
|
package/es/locales/zh-CN.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ declare const _default: {
|
|
|
8
8
|
"table-pagination-next": string;
|
|
9
9
|
"table-pagination-total": (current: string, total: string) => string;
|
|
10
10
|
"select-dropdown-render-select-all": string;
|
|
11
|
+
"select-dropdown-render-search": string;
|
|
11
12
|
"sort-button-text": string;
|
|
12
13
|
"sort-oldest-to-newest": string;
|
|
13
14
|
"sort-newest-to-oldest": string;
|
package/es/locales/zh-CN.js
CHANGED
|
@@ -10,6 +10,7 @@ export default {
|
|
|
10
10
|
return "\u7B2C".concat(current, "\u9875 \u5171").concat(total, "\u9875");
|
|
11
11
|
},
|
|
12
12
|
"select-dropdown-render-select-all": "全选",
|
|
13
|
+
"select-dropdown-render-search": "搜索",
|
|
13
14
|
"sort-button-text": "排序",
|
|
14
15
|
"sort-oldest-to-newest": "从旧到新",
|
|
15
16
|
"sort-newest-to-oldest": "从新到旧",
|
package/es/locales/zh-TW.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ declare const _default: {
|
|
|
8
8
|
"table-pagination-next": string;
|
|
9
9
|
"table-pagination-total": (current: string, total: string) => string;
|
|
10
10
|
"select-dropdown-render-select-all": string;
|
|
11
|
+
"select-dropdown-render-search": string;
|
|
11
12
|
"sort-button-text": string;
|
|
12
13
|
"sort-oldest-to-newest": string;
|
|
13
14
|
"sort-newest-to-oldest": string;
|
package/es/locales/zh-TW.js
CHANGED
|
@@ -10,6 +10,7 @@ export default {
|
|
|
10
10
|
return "\u7B2C".concat(current, "\u9801 \u5171").concat(total, "\u9801");
|
|
11
11
|
},
|
|
12
12
|
"select-dropdown-render-select-all": "全選",
|
|
13
|
+
"select-dropdown-render-search": "搜索",
|
|
13
14
|
"sort-button-text": "排序",
|
|
14
15
|
"sort-oldest-to-newest": "從舊到新",
|
|
15
16
|
"sort-newest-to-oldest": "從新到舊",
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "./index.less";
|
|
3
|
-
interface
|
|
4
|
-
|
|
3
|
+
interface Option {
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
value: string | number;
|
|
6
|
+
}
|
|
7
|
+
interface BrowserSelectProps extends Omit<React.DetailedHTMLProps<React.SelectHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>, 'value' | 'onChange'> {
|
|
8
|
+
options: Option[];
|
|
9
|
+
value?: string | number;
|
|
10
|
+
onChange?: (value: string | number, option: Option) => void;
|
|
5
11
|
}
|
|
6
12
|
/**
|
|
7
13
|
* @title: 系统级别的下拉框
|
|
@@ -34,26 +34,32 @@ __export(browserSelect_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(browserSelect_exports);
|
|
35
35
|
var import_react = __toESM(require("react"));
|
|
36
36
|
var import_classnames = __toESM(require("classnames"));
|
|
37
|
+
var import_icons = require("@ant-design/icons");
|
|
37
38
|
var import_index = require("./index.less");
|
|
38
39
|
var BrowserSelect = (props) => {
|
|
39
|
-
const { options, ...resetProps } = props;
|
|
40
|
+
const { options, onChange, value, style, ...resetProps } = props;
|
|
40
41
|
const _options = (0, import_react.useMemo)(() => {
|
|
41
|
-
return (
|
|
42
|
+
return (options || []).map((d) => {
|
|
42
43
|
return /* @__PURE__ */ import_react.default.createElement("option", { value: d.value, key: d.value }, d.label);
|
|
43
44
|
});
|
|
44
|
-
}, [
|
|
45
|
-
|
|
45
|
+
}, [options]);
|
|
46
|
+
const handleChange = (e) => {
|
|
47
|
+
e.persist();
|
|
48
|
+
const selectedValue = e.target.value;
|
|
49
|
+
const selectedOption = options.find((opt) => String(opt.value) === selectedValue);
|
|
50
|
+
if (selectedOption) {
|
|
51
|
+
onChange == null ? void 0 : onChange(selectedOption.value, selectedOption);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className: "browser-select-wrapper", style: { ...style } }, /* @__PURE__ */ import_react.default.createElement(
|
|
46
55
|
"select",
|
|
47
56
|
{
|
|
48
57
|
...resetProps,
|
|
58
|
+
value,
|
|
49
59
|
className: (0, import_classnames.default)("date-picker-pisell-browser-select", resetProps.className),
|
|
50
|
-
onChange:
|
|
51
|
-
var _a;
|
|
52
|
-
e.persist();
|
|
53
|
-
(_a = resetProps.onChange) == null ? void 0 : _a.call(resetProps, e);
|
|
54
|
-
}
|
|
60
|
+
onChange: handleChange
|
|
55
61
|
},
|
|
56
62
|
_options
|
|
57
|
-
);
|
|
63
|
+
), /* @__PURE__ */ import_react.default.createElement(import_icons.DownOutlined, { className: "browser-select-icon" }));
|
|
58
64
|
};
|
|
59
65
|
var browserSelect_default = BrowserSelect;
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
+
.browser-select-wrapper {
|
|
2
|
+
position: relative;
|
|
3
|
+
width: 100%;
|
|
4
|
+
display: inline-block;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.browser-select-icon {
|
|
8
|
+
position: absolute;
|
|
9
|
+
right: 10px;
|
|
10
|
+
top: 50%;
|
|
11
|
+
transform: translateY(-50%);
|
|
12
|
+
color: #D0D5DD;
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
font-size: 16px;
|
|
15
|
+
}
|
|
16
|
+
|
|
1
17
|
.date-picker-pisell-browser-select {
|
|
2
|
-
padding:
|
|
18
|
+
padding: 10px 16px;
|
|
19
|
+
padding-right: 30px;
|
|
3
20
|
border-radius: 8px;
|
|
4
21
|
background-color: #fff;
|
|
5
|
-
background-image: url('./chevron-down.png');
|
|
6
22
|
color: var(--Gray-true-900, #141414);
|
|
7
23
|
font-size: 16px;
|
|
8
24
|
font-style: normal;
|
|
@@ -12,7 +28,35 @@
|
|
|
12
28
|
appearance: none;
|
|
13
29
|
-webkit-appearance: none;
|
|
14
30
|
-moz-appearance: none;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
31
|
+
width: 100%;
|
|
32
|
+
|
|
33
|
+
&:hover {
|
|
34
|
+
border-color: var(--theme-color, #7F56D9);
|
|
35
|
+
& + .browser-select-icon {
|
|
36
|
+
color: var(--theme-color, #7F56D9);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&:focus {
|
|
41
|
+
border-color: var(--theme-color, #7F56D9);
|
|
42
|
+
box-shadow: 0 0 0 2px rgba(5, 145, 255, 0.1);
|
|
43
|
+
outline: none;
|
|
44
|
+
& + .browser-select-icon {
|
|
45
|
+
color: var(--theme-color, #7F56D9);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:active {
|
|
50
|
+
border-color: var(--theme-color, #7F56D9);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&:disabled {
|
|
54
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
55
|
+
border-color: #d9d9d9;
|
|
56
|
+
cursor: not-allowed;
|
|
57
|
+
color: rgba(0, 0, 0, 0.25);
|
|
58
|
+
& + .browser-select-icon {
|
|
59
|
+
color: rgba(0, 0, 0, 0.25);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -5,6 +5,7 @@ export interface FormSettingContextType {
|
|
|
5
5
|
groupInfoPosition?: 'top' | 'side';
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
currentValue?: 'server' | 'local';
|
|
8
|
+
size?: 'small' | 'middle' | 'large';
|
|
8
9
|
}
|
|
9
10
|
export declare const FormSettingContext: import("react").Context<FormSettingContextType>;
|
|
10
11
|
export default FormSettingContext;
|
|
@@ -25,7 +25,8 @@ __export(FormSettingContext_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(FormSettingContext_exports);
|
|
26
26
|
var import_react = require("react");
|
|
27
27
|
var initialContext = {
|
|
28
|
-
renderMode: "edit"
|
|
28
|
+
renderMode: "edit",
|
|
29
|
+
size: "large"
|
|
29
30
|
};
|
|
30
31
|
var FormSettingContext = (0, import_react.createContext)(initialContext);
|
|
31
32
|
var FormSettingContext_default = FormSettingContext;
|
|
@@ -35,14 +35,15 @@ module.exports = __toCommonJS(FormSettingProvider_exports);
|
|
|
35
35
|
var import_react = __toESM(require("react"));
|
|
36
36
|
var import_FormSettingContext = __toESM(require("./FormSettingContext"));
|
|
37
37
|
var FormSettingProvider = (props) => {
|
|
38
|
-
const { children, renderMode, groupInfoPosition, currentValue } = props;
|
|
38
|
+
const { children, renderMode, groupInfoPosition, currentValue, size } = props;
|
|
39
39
|
const value = import_react.default.useMemo(() => {
|
|
40
40
|
return {
|
|
41
41
|
renderMode,
|
|
42
42
|
groupInfoPosition,
|
|
43
|
-
currentValue
|
|
43
|
+
currentValue,
|
|
44
|
+
size
|
|
44
45
|
};
|
|
45
|
-
}, [renderMode, groupInfoPosition, currentValue]);
|
|
46
|
+
}, [renderMode, groupInfoPosition, currentValue, size]);
|
|
46
47
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
47
48
|
import_FormSettingContext.default.Provider,
|
|
48
49
|
{
|
|
@@ -31,7 +31,10 @@ export declare const formItemNameReverse: (name: string) => string;
|
|
|
31
31
|
* @Author: shengjie.zuo
|
|
32
32
|
* @Date: 2024-11-23 17:14:25
|
|
33
33
|
*/
|
|
34
|
-
export declare const withFormItem: <P extends object>(WrappedComponent: React.ComponentType<P>,
|
|
34
|
+
export declare const withFormItem: <P extends object>(WrappedComponent: React.ComponentType<P>, overlayProps?: {
|
|
35
|
+
otherFormItemProps?: Record<string, any>;
|
|
36
|
+
innerProps?: Record<string, any>;
|
|
37
|
+
}) => React.FC<P & WithFormItemProps>;
|
|
35
38
|
export declare const withDataSource: <P extends unknown>(WrappedComponent: React.ComponentType<P>) => (props: P & {
|
|
36
39
|
dataSource?: any;
|
|
37
40
|
}) => React.JSX.Element;
|