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