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