bhd-components 0.9.2 → 0.9.3
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/README.md +1 -1
- package/dist/index.esm.es5.development.css +454 -363
- package/dist/index.esm.es5.development.js +333 -325
- package/dist/index.esm.es5.production.css +1 -1
- package/dist/index.esm.es5.production.js +1 -1
- package/dist/vendor.esm.es5.development.css +119 -0
- package/dist/{a5565b8a.esm.es5.development.js → vendor.esm.es5.development.js} +8472 -7204
- package/dist/vendor.esm.es5.production.css +11 -0
- package/dist/vendor.esm.es5.production.js +485 -0
- package/es2017/bhdAppLayout/components/BhdTableSimple/index.js +1 -1
- package/es2017/bhdAppLayout/components/BhdTableSimple/index/347/232/204/345/211/257/346/234/254.js +2 -2
- package/es2017/bhdAppLayout/index.js +16 -16
- package/es2017/bhdDatePicker/index.d.ts +1 -2
- package/es2017/bhdDatePicker/index.js +253 -256
- package/es2017/bhdDatePicker/index.module.less +120 -8
- package/es2017/bhdSelect/index.js +4 -4
- package/es2017/bhdTipModal/index.js +6 -6
- package/es2017/customerService/contactsList.d.ts +2 -2
- package/es2017/customerService/contactsList.js +2 -2
- package/es2017/customerService/function.js +2 -1
- package/es2017/customerService/historyFun.d.ts +2 -2
- package/es2017/customerService/historyFun.js +2 -2
- package/es2017/customerService/index.d.ts +2 -2
- package/es2017/customerService/index.js +5 -5
- package/es2017/customerService/js-screen-shot/lib/common-methods/GetCanvasImgData.js +1 -1
- package/es2017/customerService/js-screen-shot/lib/common-methods/SaveBorderArrInfo.js +1 -1
- package/es2017/customerService/js-screen-shot/lib/common-methods/SaveCanvasToBase64.js +3 -2
- package/es2017/customerService/js-screen-shot/lib/common-methods/SaveCanvasToImage.js +2 -1
- package/es2017/customerService/js-screen-shot/lib/common-methods/ZoomCutOutBoxPosition.d.ts +3 -3
- package/es2017/customerService/js-screen-shot/lib/main-entrance/CreateDom.js +4 -3
- package/es2017/customerService/js-screen-shot/lib/main-entrance/InitData.js +2 -2
- package/es2017/customerService/js-screen-shot/lib/split-methods/DrawCutOutBox.js +6 -5
- package/es2017/customerService/js-screen-shot/lib/split-methods/SetPlugInParameters.js +15 -14
- package/es2017/customerService/js-screen-shot/lib/split-methods/ToolClickEvent.js +1 -1
- package/es2017/customerService/js-screen-shot/lib/split-methods/drawCrossImg.js +2 -1
- package/es2017/customerService/js-screen-shot/main.js +38 -35
- package/es2017/customerService/screenshotTool.d.ts +2 -2
- package/es2017/customerService/screenshotTool.js +2 -2
- package/es2017/customerService/teacherList.d.ts +2 -2
- package/es2017/customerService/teacherList.js +2 -2
- package/es2017/i18n/en_US.js +4 -1
- package/es2017/i18n/zh_CN.js +4 -1
- package/es2017/icons/index.js +2 -2
- package/es2017/index.js +14 -14
- package/es2017/provider/index.js +2 -2
- package/es2017/table/index.js +4 -4
- package/es2017/tableSelect/index.js +3 -3
- package/es2017/textTootip/index.js +1 -1
- package/es2017/titleBar/index.js +3 -3
- package/es2017/viewImage/index.js +13 -13
- package/esm/bhdAppLayout/index.js +15 -15
- package/esm/bhdDatePicker/index.d.ts +1 -2
- package/esm/bhdDatePicker/index.js +254 -257
- package/esm/bhdDatePicker/index.module.less +120 -8
- package/esm/bhdSelect/index.js +1 -1
- package/esm/bhdTipModal/index.js +1 -1
- package/esm/customerService/contactsList.d.ts +2 -2
- package/esm/customerService/contactsList.js +1 -1
- package/esm/customerService/function.js +2 -1
- package/esm/customerService/historyFun.d.ts +2 -2
- package/esm/customerService/historyFun.js +1 -1
- package/esm/customerService/index.d.ts +2 -2
- package/esm/customerService/index.js +1 -1
- package/esm/customerService/js-screen-shot/lib/common-methods/SaveCanvasToBase64.js +3 -2
- package/esm/customerService/js-screen-shot/lib/common-methods/SaveCanvasToImage.js +2 -1
- package/esm/customerService/js-screen-shot/lib/common-methods/ZoomCutOutBoxPosition.d.ts +3 -3
- package/esm/customerService/js-screen-shot/lib/main-entrance/CreateDom.js +4 -3
- package/esm/customerService/js-screen-shot/lib/split-methods/DrawCutOutBox.js +5 -4
- package/esm/customerService/js-screen-shot/lib/split-methods/SetPlugInParameters.js +15 -14
- package/esm/customerService/js-screen-shot/lib/split-methods/drawCrossImg.js +2 -1
- package/esm/customerService/js-screen-shot/main.js +31 -28
- package/esm/customerService/screenshotTool.d.ts +2 -2
- package/esm/customerService/screenshotTool.js +1 -1
- package/esm/customerService/teacherList.d.ts +2 -2
- package/esm/customerService/teacherList.js +1 -1
- package/esm/i18n/en_US.js +4 -1
- package/esm/i18n/zh_CN.js +4 -1
- package/esm/icons/index.js +1 -1
- package/esm/index.js +14 -14
- package/esm/tableSelect/index.js +1 -1
- package/esm/viewImage/index.js +3 -3
- package/package.json +1 -1
- package/dist/deb6cc9b.esm.es5.production.js +0 -485
- package/dist/vendor.esm.es5.development.esm.es5.development.css +0 -119
- package/dist/vendor.esm.es5.production.esm.es5.production.css +0 -11
- package/es2017/customerService/screenShotPlugin.esm.js +0 -6515
- package/esm/customerService/screenShotPlugin.esm.js +0 -6516
|
@@ -4,28 +4,52 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runt
|
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { useState, useEffect, useRef } from "react";
|
|
6
6
|
import styles from "./index.module.less";
|
|
7
|
-
import { Button, DatePicker } from "antd";
|
|
8
|
-
import { CustomArrow } from "../icons
|
|
9
|
-
import dayjs from "dayjs";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"一",
|
|
13
|
-
"二",
|
|
14
|
-
"三",
|
|
15
|
-
"四",
|
|
16
|
-
"五",
|
|
17
|
-
"六",
|
|
18
|
-
"七",
|
|
19
|
-
"八",
|
|
20
|
-
"九",
|
|
21
|
-
"十",
|
|
22
|
-
"十一",
|
|
23
|
-
"十二"
|
|
24
|
-
];
|
|
7
|
+
import { ConfigProvider, Button, DatePicker } from "antd";
|
|
8
|
+
import { CustomArrow } from "../icons";
|
|
9
|
+
// import dayjs from "dayjs";
|
|
10
|
+
import i18Conversion from "../i18n";
|
|
11
|
+
const { RangePicker } = DatePicker;
|
|
25
12
|
const BhdDatePicker = (props)=>{
|
|
26
|
-
|
|
13
|
+
const lang = ConfigProvider.lang === "en" ? "en_US" : "zh_CN";
|
|
14
|
+
// if (lang === "en_US") {
|
|
15
|
+
// const enUS = require("dayjs/locale/en");
|
|
16
|
+
// dayjs.locale(enUS);
|
|
17
|
+
// } else {
|
|
18
|
+
// const zhCN = require("dayjs/locale/zh-cn");
|
|
19
|
+
// dayjs.locale(zhCN);
|
|
20
|
+
// }
|
|
21
|
+
// 默认格式
|
|
22
|
+
const getDefaultFormat = ()=>{
|
|
23
|
+
if (props.format) {
|
|
24
|
+
return props.format;
|
|
25
|
+
} else {
|
|
26
|
+
let fm = props.showTime ? "YYYY-MM-DD hh:mm:ss" : "YYYY-MM-DD";
|
|
27
|
+
switch(props.picker){
|
|
28
|
+
case undefined:
|
|
29
|
+
case "date":
|
|
30
|
+
break;
|
|
31
|
+
case "week":
|
|
32
|
+
fm = "YYYY-wo";
|
|
33
|
+
break;
|
|
34
|
+
case "month":
|
|
35
|
+
fm = "YYYY-MM";
|
|
36
|
+
break;
|
|
37
|
+
case "quarter":
|
|
38
|
+
fm = "YYYY-QQ";
|
|
39
|
+
break;
|
|
40
|
+
case "year":
|
|
41
|
+
fm = "YYYY";
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
return fm;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
// 自己组件内使用的,或者自己处理的
|
|
50
|
+
let { kind = "single", extraItems, extraReadonly = false, useType = "", open = false, mode, picker, value = props.kind === "range" ? [] : "", format = getDefaultFormat(), presets = [], className, popupClassName, showTime, showNow = true, allowClear = true, onClick, onBlur, onChange, onOk, onCalendarChange, onOpenChange, onPanelChange, disabledDate, cellRender, renderExtraFooter } = props;
|
|
27
51
|
const bhdDatePickerRef = useRef(null);
|
|
28
|
-
const [
|
|
52
|
+
const [panelOpen, setPanelOpen] = useState(open);
|
|
29
53
|
const [panelMode, setPanelMode] = useState("date");
|
|
30
54
|
const [rangePanelMode, setRangePanelMode] = useState([
|
|
31
55
|
"date",
|
|
@@ -38,79 +62,110 @@ const BhdDatePicker = (props)=>{
|
|
|
38
62
|
const [selectedRangeDate, setSelectedRangeDate] = useState(value);
|
|
39
63
|
const [selectedRangeDateString, setSelectedRangeDateString] = useState([]);
|
|
40
64
|
const [rangeOpenChange, setRangeOpenChange] = useState(false); // 用于范围选择失去焦点后,判断是否关闭
|
|
41
|
-
const timer = useRef(null);
|
|
42
65
|
useEffect(()=>{
|
|
43
66
|
setDefaultMode();
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}, 0);
|
|
67
|
+
if (kind === "range") {
|
|
68
|
+
if (selectedRangeDate[0] && selectedRangeDate[1]) {
|
|
69
|
+
setSelectedRangeDateString([
|
|
70
|
+
selectedRangeDate[0].format(format),
|
|
71
|
+
selectedRangeDate[1].format(format)
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
if (selectedDate) {
|
|
76
|
+
setSelectedDateString((prevState)=>{
|
|
77
|
+
selectedDateStringRef.current = selectedDate.format(format);
|
|
78
|
+
return selectedDateStringRef.current;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
59
81
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
};
|
|
63
|
-
}, [
|
|
64
|
-
open,
|
|
65
|
-
panelMode
|
|
66
|
-
]);
|
|
82
|
+
}, []);
|
|
83
|
+
// 传给 DatePicker 的props参数
|
|
67
84
|
const getConfig = ()=>{
|
|
68
|
-
let config = _object_spread({
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
85
|
+
let config = _object_spread_props(_object_spread({
|
|
86
|
+
prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
87
|
+
style: {
|
|
88
|
+
transform: "rotate(90deg)"
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
92
|
+
style: {
|
|
93
|
+
transform: "rotate(-90deg)"
|
|
94
|
+
}
|
|
95
|
+
}),
|
|
96
|
+
superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
97
|
+
style: {
|
|
98
|
+
transform: "rotate(90deg)"
|
|
99
|
+
}
|
|
100
|
+
}),
|
|
101
|
+
superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
102
|
+
style: {
|
|
103
|
+
transform: "rotate(-90deg)"
|
|
104
|
+
}
|
|
105
|
+
})
|
|
106
|
+
}, props), {
|
|
107
|
+
//--------------- 下边是需要处理的
|
|
108
|
+
className: `${className} ${useType === "table" ? "table-date-picker" : ""}`,
|
|
109
|
+
popupClassName,
|
|
110
|
+
allowClear,
|
|
111
|
+
showTime,
|
|
112
|
+
cellRender,
|
|
113
|
+
renderExtraFooter: selfRenderExtraFooter
|
|
114
|
+
});
|
|
115
|
+
//组件支持传入,防止再次传入DatePicker,所以删掉
|
|
116
|
+
delete config.mode;
|
|
75
117
|
delete config.open;
|
|
76
118
|
delete config.onOpenChange;
|
|
77
|
-
delete config.renderExtraFooter;
|
|
78
|
-
delete config.useType;
|
|
79
|
-
delete config.showNow;
|
|
80
119
|
delete config.onClick;
|
|
81
120
|
delete config.onBlur;
|
|
82
121
|
delete config.onOk;
|
|
83
122
|
delete config.onChange;
|
|
84
|
-
delete config.
|
|
85
|
-
delete config.
|
|
86
|
-
|
|
87
|
-
|
|
123
|
+
delete config.useType; // 组件自己定义的
|
|
124
|
+
delete config.presets; // 必须删掉,因为预设由官网的左侧换到底部
|
|
125
|
+
delete config.showNow; // 必须删掉,因为官网的今天按钮有bug,不受showNow的值控制
|
|
126
|
+
if (!config.cellRender) {
|
|
127
|
+
config.cellRender = selfCellRender;
|
|
88
128
|
}
|
|
89
|
-
|
|
90
|
-
|
|
129
|
+
// 单选
|
|
130
|
+
if (kind === "single") {
|
|
131
|
+
config.popupClassName = `
|
|
132
|
+
${styles.bhdDatePickerPopup} ${styles.singlePicker} ${popupClassName || ""} ${showTime ? styles.showTime : ""} ${renderExtraFooter ? styles.showExtraFooter : ""}`;
|
|
91
133
|
}
|
|
134
|
+
// 范围选择
|
|
135
|
+
if (kind === "range") {
|
|
136
|
+
config.popupClassName = `${styles.bhdDatePickerPopup} ${styles.rangePicker} ${popupClassName || ""} ${showTime ? styles.showTime : ""} ${renderExtraFooter ? styles.showExtraFooter : ""}`;
|
|
137
|
+
}
|
|
138
|
+
// 日常安排
|
|
92
139
|
if (kind === "extra") {
|
|
93
|
-
delete config.
|
|
140
|
+
delete config.showTime; // 日程安排的时候,不允许展示时间面板
|
|
141
|
+
showTime = false; // 日程安排不选择时间
|
|
142
|
+
config.popupClassName = `${styles.bhdDatePickerPopup} ${styles.extraPicker} ${extraReadonly ? styles.readonly : ""} ${popupClassName || ""} ${showTime ? styles.showTime : ""} ${renderExtraFooter ? styles.showExtraFooter : ""}`;
|
|
143
|
+
if (extraReadonly) {
|
|
144
|
+
config.allowClear = false; // 日程安排查看时,不显示清除按钮
|
|
145
|
+
}
|
|
94
146
|
}
|
|
95
147
|
return config;
|
|
96
148
|
};
|
|
97
149
|
// 设置默认mode
|
|
98
150
|
const setDefaultMode = ()=>{
|
|
151
|
+
if (kind === "single" || kind === "extra") {
|
|
152
|
+
setPanelMode(mode || picker || "date");
|
|
153
|
+
}
|
|
99
154
|
if (kind === "range") {
|
|
155
|
+
var _mode, _mode1;
|
|
100
156
|
setRangePanelMode([
|
|
101
|
-
picker || "date",
|
|
102
|
-
picker || "date"
|
|
157
|
+
((_mode = mode) === null || _mode === void 0 ? void 0 : _mode[0]) || picker || "date",
|
|
158
|
+
((_mode1 = mode) === null || _mode1 === void 0 ? void 0 : _mode1[1]) || picker || "date"
|
|
103
159
|
]);
|
|
104
|
-
} else {
|
|
105
|
-
setPanelMode(picker || "date");
|
|
106
160
|
}
|
|
107
161
|
};
|
|
108
162
|
//单元格渲染
|
|
109
|
-
const
|
|
163
|
+
const selfCellRender = (current, info)=>{
|
|
110
164
|
if (info.type === "date") {
|
|
111
165
|
let extraItem = null;
|
|
112
166
|
if (kind === "extra") {
|
|
113
|
-
|
|
167
|
+
var _extraItems;
|
|
168
|
+
extraItem = (_extraItems = extraItems) === null || _extraItems === void 0 ? void 0 : _extraItems.find((item)=>item.date.format("YYYYMMDD") === current.format("YYYYMMDD"));
|
|
114
169
|
}
|
|
115
170
|
return /*#__PURE__*/ _jsx(_Fragment, {
|
|
116
171
|
children: /*#__PURE__*/ _jsxs("div", {
|
|
@@ -125,67 +180,97 @@ const BhdDatePicker = (props)=>{
|
|
|
125
180
|
})
|
|
126
181
|
});
|
|
127
182
|
}
|
|
183
|
+
// 月份 中文模式下显示全名称(例:一月),英文模式下显示短名称(例:Jan)
|
|
128
184
|
if (info.type === "month") {
|
|
129
185
|
return /*#__PURE__*/ _jsx("div", {
|
|
130
186
|
className: `${"bhd-picker-cell-inner"}`,
|
|
131
|
-
children:
|
|
187
|
+
children: current.format(lang === "zh_CN" ? "MMMM" : "MMM")
|
|
132
188
|
});
|
|
133
189
|
}
|
|
134
190
|
return info.originNode;
|
|
135
191
|
};
|
|
136
192
|
//日期禁用
|
|
137
|
-
const
|
|
138
|
-
//
|
|
139
|
-
|
|
140
|
-
|
|
193
|
+
const selfDisabledDate = (current)=>{
|
|
194
|
+
// 或者是传过来的
|
|
195
|
+
if (disabledDate) {
|
|
196
|
+
return disabledDate(current);
|
|
197
|
+
}
|
|
141
198
|
// 不能选择的是没有日程安排的
|
|
142
199
|
let extraItem = null;
|
|
143
200
|
if (kind === "extra") {
|
|
144
|
-
|
|
201
|
+
var _extraItems;
|
|
202
|
+
extraItem = (_extraItems = extraItems) === null || _extraItems === void 0 ? void 0 : _extraItems.find((item)=>item.date.format("YYYYMMDD") === current.format("YYYYMMDD"));
|
|
145
203
|
if (extraReadonly && extraItem) {
|
|
146
204
|
return false;
|
|
147
205
|
}
|
|
206
|
+
return !extraItem || current && extraItem.status === "noselectable";
|
|
148
207
|
}
|
|
149
|
-
return
|
|
208
|
+
return false;
|
|
150
209
|
};
|
|
151
|
-
//
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
210
|
+
// 渲染底部扩展内容(包括确定按钮、今天按钮、预设、传入的底部扩展)
|
|
211
|
+
const selfRenderExtraFooter = (mode)=>{
|
|
212
|
+
var _selectedRangeDate, _selectedRangeDate1;
|
|
213
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
155
214
|
children: [
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
children: /*#__PURE__*/ _jsx("a", {
|
|
160
|
-
className: "bhd-picker-now-btn",
|
|
161
|
-
onClick: todayClick,
|
|
162
|
-
children: showTime ? "此刻" : "今天"
|
|
163
|
-
})
|
|
215
|
+
renderExtraFooter && /*#__PURE__*/ _jsx("div", {
|
|
216
|
+
className: "bhddatepicker-picker-footer-extra-extend",
|
|
217
|
+
children: renderExtraFooter()
|
|
164
218
|
}),
|
|
165
|
-
/*#__PURE__*/ _jsx(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
219
|
+
!showTime ? /*#__PURE__*/ _jsx(_Fragment, {
|
|
220
|
+
children: /*#__PURE__*/ _jsxs("ul", {
|
|
221
|
+
className: "bhd-picker-ranges",
|
|
222
|
+
children: [
|
|
223
|
+
selfRenderPresets(),
|
|
224
|
+
renderNow(),
|
|
225
|
+
/*#__PURE__*/ _jsx("li", {
|
|
226
|
+
className: "bhd-picker-ok",
|
|
227
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
228
|
+
type: "primary",
|
|
229
|
+
disabled: kind === "range" ? !(((_selectedRangeDate = selectedRangeDate) === null || _selectedRangeDate === void 0 ? void 0 : _selectedRangeDate[0]) && ((_selectedRangeDate1 = selectedRangeDate) === null || _selectedRangeDate1 === void 0 ? void 0 : _selectedRangeDate1[1])) : !(selectedDate && selectedDateString),
|
|
230
|
+
onClick: okClick,
|
|
231
|
+
children: i18Conversion("确定")
|
|
232
|
+
})
|
|
233
|
+
})
|
|
234
|
+
]
|
|
172
235
|
})
|
|
236
|
+
}) : /*#__PURE__*/ _jsx("ul", {
|
|
237
|
+
className: `bhd-picker-ranges showPresets ${showNow ? "showNow" : ""}`,
|
|
238
|
+
children: selfRenderPresets()
|
|
173
239
|
})
|
|
174
240
|
]
|
|
175
|
-
}) : /*#__PURE__*/ _jsx("ul", {
|
|
176
|
-
className: "bhd-picker-ranges",
|
|
177
|
-
children: renderPresets()
|
|
178
241
|
});
|
|
179
242
|
};
|
|
243
|
+
// 渲染今天
|
|
244
|
+
const renderNow = ()=>{
|
|
245
|
+
// 显示now
|
|
246
|
+
if (showNow) {
|
|
247
|
+
var _extraItems;
|
|
248
|
+
// 日程安排时: extraItems中今天是否是可选或者已选择状态
|
|
249
|
+
let hasNow = ((_extraItems = extraItems) === null || _extraItems === void 0 ? void 0 : _extraItems.filter((item)=>item.status !== "noselectable").length) > 0;
|
|
250
|
+
if (kind === "single" || kind === "extra" && hasNow) {
|
|
251
|
+
if (mode === "date" || mode === undefined) {
|
|
252
|
+
return /*#__PURE__*/ _jsx("li", {
|
|
253
|
+
className: "bhd-picker-now",
|
|
254
|
+
children: /*#__PURE__*/ _jsx("a", {
|
|
255
|
+
className: "bhd-picker-now-btn",
|
|
256
|
+
onClick: todayClick,
|
|
257
|
+
children: showTime ? i18Conversion("此刻") : i18Conversion("今天")
|
|
258
|
+
})
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return null;
|
|
264
|
+
};
|
|
180
265
|
// 渲染预设
|
|
181
|
-
const
|
|
266
|
+
const selfRenderPresets = ()=>{
|
|
182
267
|
return /*#__PURE__*/ _jsx("li", {
|
|
183
268
|
className: "bhd-picker-presets",
|
|
184
269
|
children: presets.map((item, index)=>{
|
|
185
270
|
return /*#__PURE__*/ _jsx("a", {
|
|
186
271
|
className: "bhd-picker-preset-btn",
|
|
187
272
|
onClick: ()=>{
|
|
188
|
-
presetClick(item
|
|
273
|
+
presetClick(item);
|
|
189
274
|
},
|
|
190
275
|
children: item.label
|
|
191
276
|
}, index);
|
|
@@ -197,77 +282,70 @@ const BhdDatePicker = (props)=>{
|
|
|
197
282
|
if (kind === "range") {
|
|
198
283
|
if (selectedRangeDate[0] && selectedRangeDate[1] && selectedRangeDateString[0] && selectedRangeDateString[1]) {
|
|
199
284
|
onChange && onChange(selectedRangeDate, selectedRangeDateString);
|
|
200
|
-
|
|
285
|
+
setPanelOpen(false);
|
|
201
286
|
} else {
|
|
202
|
-
|
|
287
|
+
setPanelOpen(true);
|
|
203
288
|
}
|
|
204
289
|
} else {
|
|
205
290
|
if (selectedDate && selectedDateString) {
|
|
206
291
|
onChange && onChange(selectedDate, selectedDateString);
|
|
207
|
-
|
|
292
|
+
setPanelOpen(false);
|
|
208
293
|
}
|
|
209
294
|
}
|
|
210
295
|
};
|
|
296
|
+
// 今天点击
|
|
211
297
|
const todayClick = ()=>{
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
298
|
+
// var today = dayjs();
|
|
299
|
+
// var todayString = today.format(format);
|
|
300
|
+
// setSelectedDate((prevState) => {
|
|
301
|
+
// selectedDateRef.current = today;
|
|
302
|
+
// return selectedDateRef.current;
|
|
303
|
+
// });
|
|
304
|
+
// setSelectedDateString((prevState) => {
|
|
305
|
+
// selectedDateStringRef.current = todayString;
|
|
306
|
+
// return selectedDateStringRef.current;
|
|
307
|
+
// });
|
|
308
|
+
// onChange && onChange(today, todayString);
|
|
309
|
+
// setPanelOpen(false);
|
|
218
310
|
};
|
|
219
311
|
//预设点击
|
|
220
|
-
const presetClick = (
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
312
|
+
const presetClick = (info)=>{
|
|
313
|
+
console.log(typeof info.value);
|
|
314
|
+
const value = typeof info.value === "function" ? info.value() : info.value;
|
|
315
|
+
const valueString = value.format(format);
|
|
316
|
+
setSelectedDate((prevState)=>{
|
|
317
|
+
selectedDateRef.current = value;
|
|
318
|
+
return selectedDateRef.current;
|
|
319
|
+
});
|
|
320
|
+
setSelectedDateString((prevState)=>{
|
|
321
|
+
selectedDateStringRef.current = valueString;
|
|
322
|
+
return selectedDateStringRef.current;
|
|
323
|
+
});
|
|
324
|
+
onChange && onChange(value, valueString);
|
|
325
|
+
setPanelOpen(false);
|
|
226
326
|
};
|
|
227
327
|
return /*#__PURE__*/ _jsxs("span", {
|
|
228
328
|
className: `${styles.bhdDatePicker}`,
|
|
229
329
|
ref: bhdDatePickerRef,
|
|
230
330
|
children: [
|
|
231
|
-
kind === "single" && /*#__PURE__*/ _jsx(_Fragment, {
|
|
331
|
+
(kind === "single" || kind === "extra") && /*#__PURE__*/ _jsx(_Fragment, {
|
|
232
332
|
children: /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
style: {
|
|
239
|
-
transform: "rotate(90deg)"
|
|
240
|
-
}
|
|
241
|
-
}),
|
|
242
|
-
nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
243
|
-
style: {
|
|
244
|
-
transform: "rotate(-90deg)"
|
|
245
|
-
}
|
|
246
|
-
}),
|
|
247
|
-
superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
248
|
-
style: {
|
|
249
|
-
transform: "rotate(90deg)"
|
|
250
|
-
}
|
|
251
|
-
}),
|
|
252
|
-
superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
253
|
-
style: {
|
|
254
|
-
transform: "rotate(-90deg)"
|
|
255
|
-
}
|
|
256
|
-
}),
|
|
333
|
+
value: selectedDate,
|
|
334
|
+
showNow: showTime ? showNow : false,
|
|
335
|
+
mode: panelMode,
|
|
336
|
+
open: panelOpen,
|
|
337
|
+
disabledDate: selfDisabledDate,
|
|
257
338
|
onPanelChange: (value, mode)=>{
|
|
258
339
|
setPanelMode(mode);
|
|
340
|
+
onPanelChange && onPanelChange(value, mode);
|
|
259
341
|
},
|
|
260
|
-
mode: panelMode,
|
|
261
|
-
open: open,
|
|
262
342
|
onOpenChange: (value)=>{
|
|
263
343
|
// 打开设置默认mode
|
|
264
344
|
if (value) {
|
|
265
345
|
setDefaultMode();
|
|
266
346
|
}
|
|
347
|
+
onOpenChange && onOpenChange(value);
|
|
267
348
|
},
|
|
268
|
-
showNow: showTime ? showNow : false,
|
|
269
|
-
defaultPickerValue: selectedDate,
|
|
270
|
-
value: selectedDate,
|
|
271
349
|
onChange: (date, dateString)=>{
|
|
272
350
|
setSelectedDate((prevState)=>{
|
|
273
351
|
selectedDateRef.current = date;
|
|
@@ -278,149 +356,68 @@ const BhdDatePicker = (props)=>{
|
|
|
278
356
|
return selectedDateStringRef.current;
|
|
279
357
|
});
|
|
280
358
|
},
|
|
281
|
-
onOk: ()=>{
|
|
359
|
+
onOk: (date)=>{
|
|
282
360
|
if (showTime) {
|
|
283
361
|
setTimeout(()=>{
|
|
284
|
-
console.log({
|
|
285
|
-
selectedDate: selectedDateRef.current,
|
|
286
|
-
selectedDateString: selectedDateStringRef.current
|
|
287
|
-
});
|
|
288
362
|
onChange && onChange(selectedDateRef.current, selectedDateStringRef.current);
|
|
289
|
-
|
|
363
|
+
setPanelOpen(false);
|
|
290
364
|
}, 0);
|
|
291
365
|
}
|
|
292
|
-
onOk && onOk();
|
|
366
|
+
onOk && onOk(date);
|
|
293
367
|
},
|
|
294
|
-
onClick: ()=>{
|
|
295
|
-
|
|
296
|
-
onClick && onClick();
|
|
368
|
+
onClick: (e)=>{
|
|
369
|
+
setPanelOpen(true);
|
|
370
|
+
onClick && onClick(e);
|
|
297
371
|
},
|
|
298
|
-
onBlur: ()=>{
|
|
372
|
+
onBlur: (e)=>{
|
|
299
373
|
okClick();
|
|
300
|
-
|
|
301
|
-
onBlur && onBlur();
|
|
302
|
-
}
|
|
303
|
-
renderExtraFooter: renderExtraFooter
|
|
374
|
+
setPanelOpen(false);
|
|
375
|
+
onBlur && onBlur(e);
|
|
376
|
+
}
|
|
304
377
|
}))
|
|
305
378
|
}),
|
|
306
379
|
kind === "range" && /*#__PURE__*/ _jsx(_Fragment, {
|
|
307
380
|
children: /*#__PURE__*/ _jsx(RangePicker, _object_spread_props(_object_spread({}, getConfig()), {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
transform: "rotate(90deg)"
|
|
314
|
-
}
|
|
315
|
-
}),
|
|
316
|
-
nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
317
|
-
style: {
|
|
318
|
-
transform: "rotate(-90deg)"
|
|
319
|
-
}
|
|
320
|
-
}),
|
|
321
|
-
superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
322
|
-
style: {
|
|
323
|
-
transform: "rotate(90deg)"
|
|
324
|
-
}
|
|
325
|
-
}),
|
|
326
|
-
superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
327
|
-
style: {
|
|
328
|
-
transform: "rotate(-90deg)"
|
|
329
|
-
}
|
|
330
|
-
}),
|
|
381
|
+
value: selectedRangeDate,
|
|
382
|
+
showNow: false,
|
|
383
|
+
mode: rangePanelMode,
|
|
384
|
+
open: panelOpen,
|
|
385
|
+
disabledDate: selfDisabledDate,
|
|
331
386
|
onPanelChange: (value, mode)=>{
|
|
332
387
|
setRangePanelMode(mode);
|
|
388
|
+
onPanelChange && onPanelChange(value, mode);
|
|
333
389
|
},
|
|
334
|
-
mode: rangePanelMode,
|
|
335
|
-
open: open,
|
|
336
390
|
onOpenChange: (value)=>{
|
|
337
391
|
if (value) {
|
|
338
392
|
setDefaultMode();
|
|
339
393
|
}
|
|
394
|
+
if (showTime) {
|
|
395
|
+
setPanelOpen(value);
|
|
396
|
+
}
|
|
340
397
|
setRangeOpenChange(value);
|
|
398
|
+
onOpenChange && onOpenChange(value);
|
|
341
399
|
},
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
onClick: ()=>{
|
|
346
|
-
setOpen(true);
|
|
347
|
-
onClick && onClick();
|
|
400
|
+
onClick: (e)=>{
|
|
401
|
+
setPanelOpen(true);
|
|
402
|
+
onClick && onClick(e);
|
|
348
403
|
},
|
|
349
404
|
onCalendarChange: (dates, dateStrings, info)=>{
|
|
350
405
|
setSelectedRangeDate(dates);
|
|
351
406
|
setSelectedRangeDateString(dateStrings);
|
|
407
|
+
onCalendarChange && onCalendarChange(dates, dateStrings, info);
|
|
352
408
|
},
|
|
353
|
-
onBlur: ()=>{
|
|
354
|
-
|
|
409
|
+
onBlur: (e)=>{
|
|
410
|
+
var _selectedRangeDate, _selectedRangeDate1, _selectedRangeDate2, _selectedRangeDate3;
|
|
411
|
+
if (((_selectedRangeDate = selectedRangeDate) === null || _selectedRangeDate === void 0 ? void 0 : _selectedRangeDate[0]) && ((_selectedRangeDate1 = selectedRangeDate) === null || _selectedRangeDate1 === void 0 ? void 0 : _selectedRangeDate1[1])) {
|
|
355
412
|
okClick();
|
|
356
|
-
|
|
357
|
-
} else if (!(selectedRangeDate === null ||
|
|
358
|
-
|
|
413
|
+
setPanelOpen(false);
|
|
414
|
+
} else if (!((_selectedRangeDate2 = selectedRangeDate) === null || _selectedRangeDate2 === void 0 ? void 0 : _selectedRangeDate2[0]) || !((_selectedRangeDate3 = selectedRangeDate) === null || _selectedRangeDate3 === void 0 ? void 0 : _selectedRangeDate3[1])) {
|
|
415
|
+
setPanelOpen(rangeOpenChange);
|
|
359
416
|
}
|
|
360
|
-
onBlur && onBlur();
|
|
361
|
-
},
|
|
362
|
-
panelRender: (panelNode)=>{
|
|
363
|
-
return panelNode;
|
|
364
|
-
},
|
|
365
|
-
renderExtraFooter: renderExtraFooter
|
|
366
|
-
}))
|
|
367
|
-
}),
|
|
368
|
-
kind === "extra" && /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
|
|
369
|
-
className: `${className} ${useType === "table" ? "hide" : ""}`,
|
|
370
|
-
popupClassName: `${styles.bhdDatePickerPopup} ${styles.extraPicker} ${extraReadonly ? styles.readonly : ""} ${popupClassName || ""}`,
|
|
371
|
-
cellRender: cellRender,
|
|
372
|
-
prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
373
|
-
style: {
|
|
374
|
-
transform: "rotate(90deg)"
|
|
375
|
-
}
|
|
376
|
-
}),
|
|
377
|
-
nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
378
|
-
style: {
|
|
379
|
-
transform: "rotate(-90deg)"
|
|
417
|
+
onBlur && onBlur(e);
|
|
380
418
|
}
|
|
381
|
-
})
|
|
382
|
-
|
|
383
|
-
style: {
|
|
384
|
-
transform: "rotate(90deg)"
|
|
385
|
-
}
|
|
386
|
-
}),
|
|
387
|
-
superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
|
|
388
|
-
style: {
|
|
389
|
-
transform: "rotate(-90deg)"
|
|
390
|
-
}
|
|
391
|
-
}),
|
|
392
|
-
disabledDate: disabledDate,
|
|
393
|
-
allowClear: !extraReadonly,
|
|
394
|
-
onPanelChange: (value, mode)=>{
|
|
395
|
-
setPanelMode(mode);
|
|
396
|
-
},
|
|
397
|
-
mode: panelMode,
|
|
398
|
-
onOpenChange: (value)=>{
|
|
399
|
-
if (value) {
|
|
400
|
-
setDefaultMode();
|
|
401
|
-
}
|
|
402
|
-
},
|
|
403
|
-
open: open,
|
|
404
|
-
showNow: false,
|
|
405
|
-
defaultPickerValue: selectedDate,
|
|
406
|
-
value: selectedDate,
|
|
407
|
-
onChange: (date, dateString)=>{
|
|
408
|
-
setSelectedDate(date);
|
|
409
|
-
setSelectedDateString(dateString);
|
|
410
|
-
},
|
|
411
|
-
onClick: ()=>{
|
|
412
|
-
setOpen(true);
|
|
413
|
-
onClick && onClick();
|
|
414
|
-
},
|
|
415
|
-
onBlur: ()=>{
|
|
416
|
-
if (!extraReadonly) {
|
|
417
|
-
okClick();
|
|
418
|
-
}
|
|
419
|
-
setOpen(false);
|
|
420
|
-
onBlur && onBlur();
|
|
421
|
-
},
|
|
422
|
-
renderExtraFooter: extraReadonly ? null : renderExtraFooter
|
|
423
|
-
}))
|
|
419
|
+
}))
|
|
420
|
+
})
|
|
424
421
|
]
|
|
425
422
|
});
|
|
426
423
|
};
|