@trionesdev/antd-taro-react 0.0.2-beta.7 → 0.0.2-beta.9
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/dist/ActionSheet/ActionSheet.d.ts +25 -0
- package/dist/ActionSheet/ActionSheet.js +77 -0
- package/dist/ActionSheet/index.d.ts +1 -1
- package/dist/ActionSheet/index.js +1 -1
- package/dist/ActionSheet/style.scss +52 -0
- package/dist/Calendar/calendar-grid.js +0 -1
- package/dist/Calendar/calendar.js +5 -5
- package/dist/CalendarDatetimePicker/CalendarDatetimePicker.d.ts +4 -4
- package/dist/CalendarDatetimePicker/CalendarDatetimePicker.js +42 -159
- package/dist/CalendarDatetimePicker/style.scss +13 -51
- package/dist/CalendarDatetimePicker/types.d.ts +0 -4
- package/dist/CalendarDatetimePicker/types.js +1 -6
- package/dist/CalendarDatetimePopup/CalendarDatetimePopup.d.ts +10 -0
- package/dist/CalendarDatetimePopup/CalendarDatetimePopup.js +163 -0
- package/dist/CalendarDatetimePopup/index.d.ts +3 -0
- package/dist/CalendarDatetimePopup/index.js +2 -0
- package/dist/CalendarDatetimePopup/style.scss +62 -0
- package/dist/CalendarDatetimePopup/types.d.ts +5 -0
- package/dist/CalendarDatetimePopup/types.js +6 -0
- package/dist/CalendarPopup/CalendarPopup.d.ts +4 -0
- package/dist/{CalendarPicker/calendar-picker.js → CalendarPopup/CalendarPopup.js} +4 -3
- package/dist/CalendarPopup/CalendarRangePopup.d.ts +4 -0
- package/dist/{CalendarPicker/calendar-range-picker.js → CalendarPopup/CalendarRangePopup.js} +5 -4
- package/dist/CalendarPopup/index.d.ts +8 -0
- package/dist/CalendarPopup/index.js +5 -0
- package/dist/{CalendarPicker → CalendarPopup}/style.scss +4 -3
- package/dist/{CalendarPicker → CalendarPopup}/types.d.ts +3 -2
- package/dist/CalendarPopup/types.js +1 -0
- package/dist/CascaderPicker/CascaderPicker.d.ts +25 -0
- package/dist/CascaderPicker/CascaderPicker.js +78 -0
- package/dist/CascaderPicker/index.d.ts +1 -1
- package/dist/CascaderPicker/index.js +1 -1
- package/dist/CascaderPicker/style.scss +24 -0
- package/dist/CascaderPopup/cascader-popup.d.ts +27 -0
- package/dist/CascaderPopup/cascader-popup.js +90 -0
- package/dist/CascaderPopup/index.d.ts +3 -0
- package/dist/CascaderPopup/index.js +2 -0
- package/dist/CascaderPopup/style.scss +45 -0
- package/dist/DatePicker/DatePicker.d.ts +15 -0
- package/dist/DatePicker/DatePicker.js +85 -0
- package/dist/DatePicker/DatePickerPopup.d.ts +18 -0
- package/dist/DatePicker/DatePickerPopup.js +329 -0
- package/dist/DatePicker/index.d.ts +3 -0
- package/dist/DatePicker/index.js +3 -0
- package/dist/DatePicker/style.scss +64 -0
- package/dist/DatePicker/types.d.ts +1 -0
- package/dist/ImagesPreview/ImagesPreview.js +2 -2
- package/dist/Overlay/Overlay.d.ts +16 -0
- package/dist/Overlay/Overlay.js +95 -0
- package/dist/Overlay/index.d.ts +4 -0
- package/dist/Overlay/index.js +3 -0
- package/dist/Overlay/style.scss +20 -0
- package/dist/Picker/Picker.d.ts +19 -0
- package/dist/Picker/Picker.js +75 -0
- package/dist/Picker/index.d.ts +1 -1
- package/dist/Picker/index.js +1 -1
- package/dist/Picker/style.scss +41 -0
- package/dist/PickerView/PickerView.d.ts +4 -0
- package/dist/PickerView/PickerView.js +71 -0
- package/dist/PickerView/index.d.ts +2 -2
- package/dist/PickerView/index.js +1 -1
- package/dist/PickerView/style.scss +13 -0
- package/dist/PickerView/types.d.ts +15 -0
- package/dist/PickerView/types.js +1 -0
- package/dist/Popup/Popup.d.ts +29 -1
- package/dist/Popup/Popup.js +76 -18
- package/dist/Popup/index.d.ts +2 -2
- package/dist/Popup/index.js +1 -0
- package/dist/Popup/style.scss +125 -0
- package/dist/SideBar/side-bar.js +3 -2
- package/dist/Toast/Toast.d.ts +18 -0
- package/dist/Toast/Toast.js +112 -0
- package/dist/Toast/index.d.ts +1 -1
- package/dist/Toast/index.js +1 -1
- package/dist/Toast/style.scss +63 -0
- package/dist/index.d.ts +9 -4
- package/dist/index.js +5 -2
- package/package.json +8 -9
- package/dist/CalendarPicker/calendar-picker.d.ts +0 -4
- package/dist/CalendarPicker/calendar-range-picker.d.ts +0 -4
- package/dist/CalendarPicker/index.d.ts +0 -9
- package/dist/CalendarPicker/index.js +0 -5
- package/dist/Mask/index.d.ts +0 -3
- package/dist/Mask/index.js +0 -2
- /package/dist/{CalendarDatetimePicker → CalendarDatetimePopup}/DateTimeSwitch.d.ts +0 -0
- /package/dist/{CalendarDatetimePicker → CalendarDatetimePopup}/DateTimeSwitch.js +0 -0
- /package/dist/{CalendarPicker → DatePicker}/types.js +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { isEqual } from 'lodash-es';
|
|
3
|
+
import React, { useEffect, useRef } from 'react';
|
|
4
|
+
import CascaderView from "../CascaderView";
|
|
5
|
+
import ConfigProvider from "../ConfigProvider";
|
|
6
|
+
import Popup from "../Popup";
|
|
7
|
+
import "./style.scss";
|
|
8
|
+
var cascaderPopupCls = 'triones-antm-cascader-popup';
|
|
9
|
+
export var CascaderPopup = /*#__PURE__*/React.memo(function (_ref) {
|
|
10
|
+
var className = _ref.className,
|
|
11
|
+
style = _ref.style,
|
|
12
|
+
_ref$open = _ref.open,
|
|
13
|
+
open = _ref$open === void 0 ? false : _ref$open,
|
|
14
|
+
afterOpenChange = _ref.afterOpenChange,
|
|
15
|
+
title = _ref.title,
|
|
16
|
+
options = _ref.options,
|
|
17
|
+
_ref$labelInValue = _ref.labelInValue,
|
|
18
|
+
labelInValue = _ref$labelInValue === void 0 ? false : _ref$labelInValue,
|
|
19
|
+
fieldNames = _ref.fieldNames,
|
|
20
|
+
columnsCount = _ref.columnsCount,
|
|
21
|
+
value = _ref.value,
|
|
22
|
+
onOk = _ref.onOk,
|
|
23
|
+
onCancel = _ref.onCancel,
|
|
24
|
+
onClose = _ref.onClose,
|
|
25
|
+
asyncRequest = _ref.asyncRequest;
|
|
26
|
+
var _ConfigProvider$useCo = ConfigProvider.useConfig(),
|
|
27
|
+
locale = _ConfigProvider$useCo.locale;
|
|
28
|
+
var internalValueRf = useRef(value);
|
|
29
|
+
var handleClose = function handleClose() {
|
|
30
|
+
onClose === null || onClose === void 0 || onClose();
|
|
31
|
+
};
|
|
32
|
+
var handleOk = function handleOk() {
|
|
33
|
+
onOk === null || onOk === void 0 || onOk(internalValueRf.current);
|
|
34
|
+
};
|
|
35
|
+
var handelCancel = function handelCancel() {
|
|
36
|
+
onCancel === null || onCancel === void 0 || onCancel();
|
|
37
|
+
handleClose();
|
|
38
|
+
};
|
|
39
|
+
useEffect(function () {
|
|
40
|
+
if (value === undefined) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (isEqual(value, internalValueRf.current)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
internalValueRf.current = value;
|
|
47
|
+
}, [value]);
|
|
48
|
+
return /*#__PURE__*/React.createElement(Popup, {
|
|
49
|
+
open: open,
|
|
50
|
+
round: true,
|
|
51
|
+
onClose: handleClose,
|
|
52
|
+
overlayClosable: true,
|
|
53
|
+
styles: {
|
|
54
|
+
body: {
|
|
55
|
+
borderTopLeftRadius: 6,
|
|
56
|
+
borderTopRightRadius: 6
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
60
|
+
className: classNames(cascaderPopupCls, className),
|
|
61
|
+
style: style
|
|
62
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
className: classNames("".concat(cascaderPopupCls, "-header"))
|
|
64
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
65
|
+
className: classNames("".concat(cascaderPopupCls, "-header-button"), "".concat(cascaderPopupCls, "-header-button-cancel")),
|
|
66
|
+
onClick: handelCancel
|
|
67
|
+
}, locale.common.cancel), title && /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: classNames("".concat(cascaderPopupCls, "-header-title"))
|
|
69
|
+
}, title), /*#__PURE__*/React.createElement("a", {
|
|
70
|
+
className: classNames("".concat(cascaderPopupCls, "-header-button"), "".concat(cascaderPopupCls, "-header-button-ok")),
|
|
71
|
+
onClick: handleOk
|
|
72
|
+
}, locale.common.confirm)), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: classNames("".concat(cascaderPopupCls, "-body"))
|
|
74
|
+
}, /*#__PURE__*/React.createElement(CascaderView
|
|
75
|
+
// open={ open}
|
|
76
|
+
, {
|
|
77
|
+
fieldNames: fieldNames,
|
|
78
|
+
options: options,
|
|
79
|
+
labelInValue: labelInValue,
|
|
80
|
+
columnsCount: columnsCount,
|
|
81
|
+
value: value,
|
|
82
|
+
onChange: function onChange(newVal) {
|
|
83
|
+
internalValueRf.current = newVal;
|
|
84
|
+
},
|
|
85
|
+
asyncRequest: asyncRequest,
|
|
86
|
+
style: {
|
|
87
|
+
height: '100%'
|
|
88
|
+
}
|
|
89
|
+
}))));
|
|
90
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@use "../style/variable" as variable;
|
|
2
|
+
$cascaderPopupCls: 'triones-antm-cascader-popup';
|
|
3
|
+
|
|
4
|
+
.#{$cascaderPopupCls} {
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 300Px;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
position: relative;
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
|
|
12
|
+
&-header {
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: space-between;
|
|
15
|
+
align-items: center;
|
|
16
|
+
border-bottom: 1Px solid variable.$trionesBorderColor;
|
|
17
|
+
padding: 4Px;
|
|
18
|
+
|
|
19
|
+
&-button {
|
|
20
|
+
|
|
21
|
+
padding: 8Px;
|
|
22
|
+
font-size: 12Px;
|
|
23
|
+
&-cancel{
|
|
24
|
+
color: variable.$trionesColorTextSecondary;
|
|
25
|
+
}
|
|
26
|
+
&-ok{
|
|
27
|
+
color: variable.$trionesColorPrimary;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&-title {
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&-body {
|
|
36
|
+
flex: 1 1;
|
|
37
|
+
width: 100%;
|
|
38
|
+
pointer-events: unset;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
}
|
|
41
|
+
&-view{
|
|
42
|
+
--height: 100%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import { Mode } from "./types";
|
|
4
|
+
export type DatePickerPops = {
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
value?: dayjs.Dayjs;
|
|
7
|
+
format?: string;
|
|
8
|
+
onChange?: (value?: dayjs.Dayjs) => void;
|
|
9
|
+
align?: 'left' | 'right' | 'center';
|
|
10
|
+
mode?: Mode;
|
|
11
|
+
showTime?: boolean;
|
|
12
|
+
minDate?: dayjs.Dayjs;
|
|
13
|
+
maxDate?: dayjs.Dayjs;
|
|
14
|
+
};
|
|
15
|
+
export declare const DatePicker: FC<DatePickerPops>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
4
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
+
import React, { useEffect, useMemo, useState } from "react";
|
|
12
|
+
import classNames from "classnames";
|
|
13
|
+
import { cls } from "../CalendarDatetimePicker/types";
|
|
14
|
+
import dayjs from "dayjs";
|
|
15
|
+
import DatePickerPopup from "./DatePickerPopup";
|
|
16
|
+
export var DatePicker = function DatePicker(_ref) {
|
|
17
|
+
var placeholder = _ref.placeholder,
|
|
18
|
+
value = _ref.value,
|
|
19
|
+
format = _ref.format,
|
|
20
|
+
onChange = _ref.onChange,
|
|
21
|
+
_ref$align = _ref.align,
|
|
22
|
+
align = _ref$align === void 0 ? 'left' : _ref$align,
|
|
23
|
+
_ref$mode = _ref.mode,
|
|
24
|
+
mode = _ref$mode === void 0 ? 'date' : _ref$mode,
|
|
25
|
+
_ref$showTime = _ref.showTime,
|
|
26
|
+
showTime = _ref$showTime === void 0 ? false : _ref$showTime,
|
|
27
|
+
minDate = _ref.minDate,
|
|
28
|
+
maxDate = _ref.maxDate;
|
|
29
|
+
var _React$useState = React.useState(false),
|
|
30
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
31
|
+
innerOpen = _React$useState2[0],
|
|
32
|
+
setInnerOpen = _React$useState2[1];
|
|
33
|
+
var _useState = useState(value),
|
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
+
internalValue = _useState2[0],
|
|
36
|
+
setInternalValue = _useState2[1];
|
|
37
|
+
var renderFormat = useMemo(function () {
|
|
38
|
+
if (format) {
|
|
39
|
+
return format;
|
|
40
|
+
}
|
|
41
|
+
if (mode === 'date') {
|
|
42
|
+
return showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';
|
|
43
|
+
} else if (mode === 'time') {
|
|
44
|
+
return 'HH:mm:ss';
|
|
45
|
+
}
|
|
46
|
+
return 'YYYY-MM-DD';
|
|
47
|
+
}, [mode, format, showTime]);
|
|
48
|
+
var handleValueRender = function handleValueRender() {
|
|
49
|
+
if (internalValue) {
|
|
50
|
+
return dayjs(internalValue).format(renderFormat);
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
};
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
if (value === undefined) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (value !== internalValue) {
|
|
59
|
+
setInternalValue(value);
|
|
60
|
+
}
|
|
61
|
+
}, [value]);
|
|
62
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DatePickerPopup, {
|
|
63
|
+
open: innerOpen,
|
|
64
|
+
onClose: function onClose() {
|
|
65
|
+
setInnerOpen(false);
|
|
66
|
+
},
|
|
67
|
+
mode: mode,
|
|
68
|
+
format: format,
|
|
69
|
+
showTime: showTime,
|
|
70
|
+
minDate: minDate,
|
|
71
|
+
maxDate: maxDate,
|
|
72
|
+
value: internalValue,
|
|
73
|
+
onOk: function onOk(value) {
|
|
74
|
+
setInternalValue(value);
|
|
75
|
+
onChange === null || onChange === void 0 || onChange(value);
|
|
76
|
+
}
|
|
77
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
78
|
+
className: classNames(cls, _defineProperty({}, "".concat(cls, "-").concat(align), true)),
|
|
79
|
+
onClick: function onClick() {
|
|
80
|
+
setInnerOpen(true);
|
|
81
|
+
}
|
|
82
|
+
}, !internalValue ? /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: "".concat(cls, "-placeholder")
|
|
84
|
+
}, placeholder) : /*#__PURE__*/React.createElement("div", null, handleValueRender())));
|
|
85
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Mode } from "./types";
|
|
4
|
+
import dayjs from "dayjs";
|
|
5
|
+
type DatePickerPopupPops = {
|
|
6
|
+
open?: boolean;
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
title?: React.ReactNode;
|
|
9
|
+
mode?: Mode;
|
|
10
|
+
format?: string;
|
|
11
|
+
showTime?: boolean;
|
|
12
|
+
value?: dayjs.Dayjs;
|
|
13
|
+
onOk?: (value: dayjs.Dayjs) => void;
|
|
14
|
+
minDate?: dayjs.Dayjs;
|
|
15
|
+
maxDate?: dayjs.Dayjs;
|
|
16
|
+
};
|
|
17
|
+
declare const DatePickerPopup: FC<DatePickerPopupPops>;
|
|
18
|
+
export default DatePickerPopup;
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import { useEffect, useMemo, useState } from "react";
|
|
14
|
+
import Popup from "../Popup";
|
|
15
|
+
import PickerView from "../PickerView";
|
|
16
|
+
import React from "react";
|
|
17
|
+
import classNames from "classnames";
|
|
18
|
+
import ConfigProvider from "../ConfigProvider";
|
|
19
|
+
import { isEqual } from "lodash-es";
|
|
20
|
+
import dayjs from "dayjs";
|
|
21
|
+
var cls = 'triones-antm-date-picker-popup';
|
|
22
|
+
var DatePickerPopup = function DatePickerPopup(_ref) {
|
|
23
|
+
var open = _ref.open,
|
|
24
|
+
onClose = _ref.onClose,
|
|
25
|
+
title = _ref.title,
|
|
26
|
+
_ref$mode = _ref.mode,
|
|
27
|
+
mode = _ref$mode === void 0 ? 'date' : _ref$mode,
|
|
28
|
+
format = _ref.format,
|
|
29
|
+
showTime = _ref.showTime,
|
|
30
|
+
value = _ref.value,
|
|
31
|
+
onOk = _ref.onOk,
|
|
32
|
+
minDate = _ref.minDate,
|
|
33
|
+
maxDate = _ref.maxDate;
|
|
34
|
+
var cleanFormat = format === null || format === void 0 ? void 0 : format.replace(/\[([^\]]+)\]/g, '');
|
|
35
|
+
var hasYear = cleanFormat === null || cleanFormat === void 0 ? void 0 : cleanFormat.includes('Y');
|
|
36
|
+
var hasMouth = cleanFormat === null || cleanFormat === void 0 ? void 0 : cleanFormat.includes('M');
|
|
37
|
+
var hasDate = cleanFormat === null || cleanFormat === void 0 ? void 0 : cleanFormat.includes('D');
|
|
38
|
+
var hasHour = cleanFormat === null || cleanFormat === void 0 ? void 0 : cleanFormat.includes('H');
|
|
39
|
+
var hasMinute = cleanFormat === null || cleanFormat === void 0 ? void 0 : cleanFormat.includes('m');
|
|
40
|
+
var hasSecond = cleanFormat === null || cleanFormat === void 0 ? void 0 : cleanFormat.includes('s');
|
|
41
|
+
var _ConfigProvider$useCo = ConfigProvider.useConfig(),
|
|
42
|
+
locale = _ConfigProvider$useCo.locale;
|
|
43
|
+
var _useState = useState({
|
|
44
|
+
year: (value === null || value === void 0 ? void 0 : value.year()) || dayjs().year(),
|
|
45
|
+
mouth: ((value === null || value === void 0 ? void 0 : value.month()) || dayjs().month()) + 1,
|
|
46
|
+
date: (value === null || value === void 0 ? void 0 : value.date()) || dayjs().date(),
|
|
47
|
+
hour: (value === null || value === void 0 ? void 0 : value.hour()) || dayjs().hour(),
|
|
48
|
+
minute: (value === null || value === void 0 ? void 0 : value.minute()) || dayjs().minute(),
|
|
49
|
+
second: (value === null || value === void 0 ? void 0 : value.second()) || dayjs().second()
|
|
50
|
+
}),
|
|
51
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
52
|
+
internalValue = _useState2[0],
|
|
53
|
+
setInternalValue = _useState2[1];
|
|
54
|
+
var years = useMemo(function () {
|
|
55
|
+
if (minDate && maxDate) {
|
|
56
|
+
return Array.from({
|
|
57
|
+
length: maxDate.year() - minDate.year() + 1
|
|
58
|
+
}, function (_, i) {
|
|
59
|
+
return minDate.year() + i;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (minDate) {
|
|
63
|
+
return Array.from({
|
|
64
|
+
length: dayjs().year() - minDate.year() + 1
|
|
65
|
+
}, function (_, i) {
|
|
66
|
+
return minDate.year() + i;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (maxDate) {
|
|
70
|
+
return Array.from({
|
|
71
|
+
length: maxDate.year() - dayjs().year() + 1
|
|
72
|
+
}, function (_, i) {
|
|
73
|
+
return dayjs().year() + i;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
var startYear = dayjs().year() + 30 - 100;
|
|
77
|
+
return Array.from({
|
|
78
|
+
length: 100
|
|
79
|
+
}, function (_, i) {
|
|
80
|
+
return startYear + i;
|
|
81
|
+
});
|
|
82
|
+
}, [internalValue.year, minDate, maxDate]);
|
|
83
|
+
var mouths = useMemo(function () {
|
|
84
|
+
var start = 0;
|
|
85
|
+
var end = 11;
|
|
86
|
+
if (minDate && minDate.year() === internalValue.year) {
|
|
87
|
+
start = minDate.month();
|
|
88
|
+
}
|
|
89
|
+
if (maxDate && maxDate.year() === internalValue.year) {
|
|
90
|
+
end = maxDate.month();
|
|
91
|
+
}
|
|
92
|
+
return Array.from({
|
|
93
|
+
length: end - start + 1
|
|
94
|
+
}, function (_, i) {
|
|
95
|
+
return start + i + 1;
|
|
96
|
+
});
|
|
97
|
+
}, [internalValue.year, minDate, maxDate]);
|
|
98
|
+
var days = useMemo(function () {
|
|
99
|
+
var start = 1;
|
|
100
|
+
var end = dayjs().year(internalValue.year || dayjs().year()).month((internalValue.mouth || 1) - 1).daysInMonth();
|
|
101
|
+
if (minDate && minDate.year() === internalValue.year && minDate.month() + 1 === internalValue.mouth) {
|
|
102
|
+
start = minDate.date();
|
|
103
|
+
}
|
|
104
|
+
if (maxDate && maxDate.year() === internalValue.year && maxDate.month() + 1 === internalValue.mouth) {
|
|
105
|
+
end = maxDate.date();
|
|
106
|
+
}
|
|
107
|
+
return Array.from({
|
|
108
|
+
length: end - start + 1
|
|
109
|
+
}, function (_, i) {
|
|
110
|
+
return start + i;
|
|
111
|
+
});
|
|
112
|
+
}, [internalValue.year, internalValue.mouth, minDate, maxDate]);
|
|
113
|
+
var hours = Array.from({
|
|
114
|
+
length: 24
|
|
115
|
+
}, function (_, i) {
|
|
116
|
+
return i;
|
|
117
|
+
});
|
|
118
|
+
var minutes = Array.from({
|
|
119
|
+
length: 60
|
|
120
|
+
}, function (_, i) {
|
|
121
|
+
return i;
|
|
122
|
+
});
|
|
123
|
+
var seconds = Array.from({
|
|
124
|
+
length: 60
|
|
125
|
+
}, function (_, i) {
|
|
126
|
+
return i;
|
|
127
|
+
});
|
|
128
|
+
var columns = useMemo(function () {
|
|
129
|
+
if (mode === 'date') {
|
|
130
|
+
var dateColumns = [];
|
|
131
|
+
if (!format) {
|
|
132
|
+
dateColumns.push(years.map(function (v) {
|
|
133
|
+
return {
|
|
134
|
+
label: "".concat(v, "\u5E74"),
|
|
135
|
+
value: v
|
|
136
|
+
};
|
|
137
|
+
}), mouths.map(function (v) {
|
|
138
|
+
return {
|
|
139
|
+
label: "".concat(v, "\u6708"),
|
|
140
|
+
value: v
|
|
141
|
+
};
|
|
142
|
+
}), days.map(function (v) {
|
|
143
|
+
return {
|
|
144
|
+
label: "".concat(v, "\u65E5"),
|
|
145
|
+
value: v
|
|
146
|
+
};
|
|
147
|
+
}));
|
|
148
|
+
} else {
|
|
149
|
+
if (hasYear) {
|
|
150
|
+
dateColumns.push(years.map(function (v) {
|
|
151
|
+
return {
|
|
152
|
+
label: "".concat(v, "\u5E74"),
|
|
153
|
+
value: v
|
|
154
|
+
};
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
if (hasMouth) {
|
|
158
|
+
dateColumns.push(mouths.map(function (v) {
|
|
159
|
+
return {
|
|
160
|
+
label: "".concat(v, "\u6708"),
|
|
161
|
+
value: v
|
|
162
|
+
};
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
if (hasDate) {
|
|
166
|
+
dateColumns.push(days.map(function (v) {
|
|
167
|
+
return {
|
|
168
|
+
label: "".concat(v, "\u65E5"),
|
|
169
|
+
value: v
|
|
170
|
+
};
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (showTime) {
|
|
175
|
+
if (hasHour) {
|
|
176
|
+
dateColumns.push(hours.map(function (v) {
|
|
177
|
+
return {
|
|
178
|
+
label: "".concat(v, "\u65F6"),
|
|
179
|
+
value: v
|
|
180
|
+
};
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
183
|
+
if (hasMinute) {
|
|
184
|
+
dateColumns.push(minutes.map(function (v) {
|
|
185
|
+
return {
|
|
186
|
+
label: "".concat(v, "\u5206"),
|
|
187
|
+
value: v
|
|
188
|
+
};
|
|
189
|
+
}));
|
|
190
|
+
}
|
|
191
|
+
if (hasSecond) {
|
|
192
|
+
dateColumns.push(seconds.map(function (v) {
|
|
193
|
+
return {
|
|
194
|
+
label: "".concat(v, "\u79D2"),
|
|
195
|
+
value: v
|
|
196
|
+
};
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return dateColumns;
|
|
201
|
+
} else if (mode === 'time') {
|
|
202
|
+
var timeColumns = [];
|
|
203
|
+
if (!format) {
|
|
204
|
+
timeColumns.push(hours.map(function (v) {
|
|
205
|
+
return {
|
|
206
|
+
label: "".concat(v, "\u65F6"),
|
|
207
|
+
value: v
|
|
208
|
+
};
|
|
209
|
+
}), minutes.map(function (v) {
|
|
210
|
+
return {
|
|
211
|
+
label: "".concat(v, "\u5206"),
|
|
212
|
+
value: v
|
|
213
|
+
};
|
|
214
|
+
}), seconds.map(function (v) {
|
|
215
|
+
return {
|
|
216
|
+
label: "".concat(v, "\u79D2"),
|
|
217
|
+
value: v
|
|
218
|
+
};
|
|
219
|
+
}));
|
|
220
|
+
} else {
|
|
221
|
+
if (hasHour) {
|
|
222
|
+
timeColumns.push(hours.map(function (v) {
|
|
223
|
+
return {
|
|
224
|
+
label: "".concat(v, "\u65F6"),
|
|
225
|
+
value: v
|
|
226
|
+
};
|
|
227
|
+
}));
|
|
228
|
+
}
|
|
229
|
+
if (hasMinute) {
|
|
230
|
+
timeColumns.push(minutes.map(function (v) {
|
|
231
|
+
return {
|
|
232
|
+
label: "".concat(v, "\u5206"),
|
|
233
|
+
value: v
|
|
234
|
+
};
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
if (hasSecond) {
|
|
238
|
+
timeColumns.push(seconds.map(function (v) {
|
|
239
|
+
return {
|
|
240
|
+
label: "".concat(v, "\u79D2"),
|
|
241
|
+
value: v
|
|
242
|
+
};
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return timeColumns;
|
|
247
|
+
}
|
|
248
|
+
return [];
|
|
249
|
+
}, [mode, showTime, years, days]);
|
|
250
|
+
var handleOk = function handleOk() {
|
|
251
|
+
var now = dayjs();
|
|
252
|
+
onOk === null || onOk === void 0 || onOk(dayjs(new Date(internalValue.year || now.year(), (internalValue.mouth || now.month()) - 1, internalValue.date || now.date(), internalValue.hour || now.hour(), internalValue.minute || now.minute())));
|
|
253
|
+
onClose === null || onClose === void 0 || onClose();
|
|
254
|
+
};
|
|
255
|
+
var handelCancel = function handelCancel() {
|
|
256
|
+
onClose === null || onClose === void 0 || onClose();
|
|
257
|
+
};
|
|
258
|
+
var handleValueChange = function handleValueChange(value) {
|
|
259
|
+
var changedValue = _objectSpread({}, internalValue);
|
|
260
|
+
if (mode === 'date') {
|
|
261
|
+
changedValue.year = value[0];
|
|
262
|
+
changedValue.mouth = value[1];
|
|
263
|
+
changedValue.date = value[2];
|
|
264
|
+
if (showTime) {
|
|
265
|
+
changedValue.hour = value[3];
|
|
266
|
+
changedValue.minute = value[4];
|
|
267
|
+
}
|
|
268
|
+
} else if (mode === 'time') {
|
|
269
|
+
changedValue.hour = value[0];
|
|
270
|
+
changedValue.minute = value[1];
|
|
271
|
+
}
|
|
272
|
+
if (!isEqual(internalValue, changedValue)) {
|
|
273
|
+
setInternalValue(changedValue);
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
useEffect(function () {
|
|
277
|
+
if (value === undefined) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
if (value.year() !== internalValue.year || value.month() + 1 !== internalValue.mouth || value.date() !== internalValue.date || value.hour() !== internalValue.hour || value.minute() !== internalValue.minute || value.second() !== internalValue.second) {
|
|
281
|
+
setInternalValue({
|
|
282
|
+
year: value.year(),
|
|
283
|
+
mouth: value.month() + 1,
|
|
284
|
+
date: value.date(),
|
|
285
|
+
hour: value.hour(),
|
|
286
|
+
minute: value.minute(),
|
|
287
|
+
second: value.second()
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}, [value]);
|
|
291
|
+
var pickerValue = useMemo(function () {
|
|
292
|
+
if (mode === 'time') {
|
|
293
|
+
return [internalValue.hour, internalValue.minute, internalValue.second];
|
|
294
|
+
} else if (mode === 'date') {
|
|
295
|
+
if (showTime) {
|
|
296
|
+
return [internalValue.year, internalValue.mouth, internalValue.date, internalValue.hour, internalValue.minute, internalValue.second];
|
|
297
|
+
} else {
|
|
298
|
+
return [internalValue.year, internalValue.mouth, internalValue.date];
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}, [internalValue]);
|
|
302
|
+
return /*#__PURE__*/React.createElement(Popup, {
|
|
303
|
+
open: open,
|
|
304
|
+
onClose: onClose,
|
|
305
|
+
round: true
|
|
306
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
307
|
+
className: classNames("".concat(cls))
|
|
308
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
309
|
+
className: classNames("".concat(cls, "-header"))
|
|
310
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
311
|
+
className: classNames("".concat(cls, "-header-button"), "".concat(cls, "-header-button-cancel")),
|
|
312
|
+
onClick: handelCancel
|
|
313
|
+
}, locale.common.cancel), title && /*#__PURE__*/React.createElement("div", {
|
|
314
|
+
className: classNames("".concat(cls, "-header-title"))
|
|
315
|
+
}, title), /*#__PURE__*/React.createElement("a", {
|
|
316
|
+
className: classNames("".concat(cls, "-header-button"), "".concat(cls, "-header-button-ok")),
|
|
317
|
+
onClick: handleOk
|
|
318
|
+
}, locale.common.confirm)), /*#__PURE__*/React.createElement("div", {
|
|
319
|
+
className: classNames("".concat(cls, "-body"))
|
|
320
|
+
}, /*#__PURE__*/React.createElement(PickerView, {
|
|
321
|
+
columns: columns,
|
|
322
|
+
value: pickerValue,
|
|
323
|
+
onChange: function onChange(v) {
|
|
324
|
+
console.log(v);
|
|
325
|
+
handleValueChange(v);
|
|
326
|
+
}
|
|
327
|
+
}))));
|
|
328
|
+
};
|
|
329
|
+
export default DatePickerPopup;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
@use "../style/variable" as variable;
|
|
2
|
+
$datePickerCls: 'triones-antm-date-picker';
|
|
3
|
+
|
|
4
|
+
.#{$datePickerCls} {
|
|
5
|
+
width: 100%;
|
|
6
|
+
line-height: 1.4;
|
|
7
|
+
display: flex;
|
|
8
|
+
|
|
9
|
+
&-left {
|
|
10
|
+
justify-content: flex-start;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&-center {
|
|
14
|
+
justify-content: center;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-right {
|
|
18
|
+
justify-content: flex-end;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&-placeholder {
|
|
22
|
+
color: variable.$trionesColorTextPlaceholder;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
$datePickerPopupCls: 'triones-antm-date-picker-popup';
|
|
27
|
+
|
|
28
|
+
.#{$datePickerPopupCls} {
|
|
29
|
+
border-top-left-radius: variable.$trionesBorderRadius;
|
|
30
|
+
border-top-right-radius: variable.$trionesBorderRadius;
|
|
31
|
+
|
|
32
|
+
&-header {
|
|
33
|
+
display: flex;
|
|
34
|
+
justify-content: space-between;
|
|
35
|
+
align-items: center;
|
|
36
|
+
padding: 4Px;
|
|
37
|
+
border-bottom: 1Px solid variable.$trionesBorderColor;
|
|
38
|
+
&-title {
|
|
39
|
+
font-size: 16Px;
|
|
40
|
+
padding: 8Px;
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&-button {
|
|
45
|
+
padding: 8Px 12Px;
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
&-cancel{
|
|
48
|
+
color: variable.$trionesColorTextSecondary;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&-body {
|
|
54
|
+
.time-picker {
|
|
55
|
+
.time-item {
|
|
56
|
+
flex-shrink: 0;
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
height: 32Px;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Mode = 'date' | 'time';
|