naive-ui 2.23.2 → 2.24.0
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/README.zh-CN.md +1 -1
- package/es/_internal/icons/Switcher.js +2 -3
- package/es/_internal/selection/src/styles/index.cssr.js +1 -1
- package/es/_internal/selection/styles/_common.js +1 -1
- package/es/auto-complete/src/AutoComplete.d.ts +12 -12
- package/es/auto-complete/src/AutoComplete.js +13 -15
- package/es/back-top/src/BackTop.d.ts +3 -3
- package/es/calendar/src/Calendar.d.ts +5 -1
- package/es/calendar/src/Calendar.js +16 -4
- package/es/calendar/src/interface.d.ts +4 -0
- package/es/carousel/index.d.ts +1 -0
- package/es/carousel/index.js +1 -0
- package/es/carousel/src/Carousel.d.ts +235 -19
- package/es/carousel/src/Carousel.js +683 -229
- package/es/carousel/src/CarouselArrow.d.ts +9 -0
- package/es/carousel/src/CarouselArrow.js +43 -0
- package/es/carousel/src/CarouselDots.d.ts +66 -0
- package/es/carousel/src/CarouselDots.js +118 -0
- package/es/carousel/src/CarouselItem.d.ts +11 -0
- package/es/carousel/src/CarouselItem.js +72 -0
- package/es/carousel/src/interface.d.ts +28 -0
- package/es/carousel/src/interface.js +2 -0
- package/es/carousel/src/styles/index.cssr.js +141 -38
- package/es/carousel/src/utils.d.ts +12 -0
- package/es/carousel/src/utils.js +58 -0
- package/es/carousel/styles/light.d.ts +3 -0
- package/es/carousel/styles/light.js +5 -2
- package/es/cascader/src/Cascader.d.ts +6 -2
- package/es/cascader/src/Cascader.js +2 -1
- package/es/cascader/src/CascaderOption.d.ts +1 -0
- package/es/cascader/src/CascaderOption.js +7 -4
- package/es/cascader/src/interface.d.ts +2 -1
- package/es/checkbox/src/styles/index.cssr.js +1 -1
- package/es/code/src/Code.d.ts +5 -0
- package/es/code/src/Code.js +6 -3
- package/es/code/src/styles/index.cssr.js +2 -2
- package/es/color-picker/src/ColorInputUnit.js +2 -2
- package/es/color-picker/src/ColorPicker.d.ts +13 -5
- package/es/color-picker/src/ColorPicker.js +19 -10
- package/es/color-picker/src/ColorPickerTrigger.d.ts +1 -1
- package/es/color-picker/src/ColorPickerTrigger.js +23 -17
- package/es/color-picker/src/interface.d.ts +2 -0
- package/es/color-picker/src/styles/index.cssr.js +1 -0
- package/es/config-provider/src/ConfigProvider.d.ts +27 -0
- package/es/data-table/src/DataTable.d.ts +10 -55
- package/es/data-table/src/DataTable.js +23 -49
- package/es/data-table/src/interface.d.ts +1 -1
- package/es/data-table/src/styles/index.cssr.js +4 -1
- package/es/data-table/src/utils.js +4 -1
- package/es/date-picker/src/DatePicker.d.ts +26 -22
- package/es/date-picker/src/DatePicker.js +99 -49
- package/es/date-picker/src/interface.d.ts +17 -2
- package/es/date-picker/src/panel/use-calendar.js +2 -2
- package/es/drawer/src/Drawer.d.ts +18 -58
- package/es/drawer/src/Drawer.js +32 -49
- package/es/drawer/src/DrawerBodyWrapper.js +21 -13
- package/es/drawer/src/DrawerContent.js +6 -6
- package/es/dropdown/src/Dropdown.d.ts +5 -0
- package/es/form/src/Feedbacks.js +4 -1
- package/es/form/src/Form.d.ts +7 -7
- package/es/form/src/Form.js +17 -8
- package/es/form/src/FormItem.d.ts +12 -7
- package/es/form/src/FormItem.js +24 -12
- package/es/form/src/FormItemCol.d.ts +8 -4
- package/es/form/src/FormItemGridItem.d.ts +8 -4
- package/es/form/src/FormItemRow.d.ts +7 -3
- package/es/form/src/interface.d.ts +6 -2
- package/es/form/src/styles/form-item.cssr.js +2 -0
- package/es/form/src/utils.d.ts +2 -2
- package/es/form/src/utils.js +29 -18
- package/es/image/src/Image.d.ts +279 -10
- package/es/image/src/Image.js +4 -17
- package/es/image/src/ImageGroup.d.ts +272 -2
- package/es/image/src/ImageGroup.js +5 -8
- package/es/image/src/ImagePreview.d.ts +195 -7
- package/es/image/src/ImagePreview.js +50 -31
- package/es/image/src/interface.d.ts +94 -0
- package/es/image/src/interface.js +2 -1
- package/es/image/src/styles/index.cssr.js +8 -4
- package/es/image/styles/dark.js +8 -1
- package/es/image/styles/light.d.ts +32 -3
- package/es/image/styles/light.js +8 -1
- package/es/input-number/src/utils.js +2 -2
- package/es/locales/common/deDE.js +10 -0
- package/es/locales/common/enUS.d.ts +9 -0
- package/es/locales/common/enUS.js +10 -0
- package/es/locales/common/frFR.js +10 -0
- package/es/locales/common/idID.js +10 -0
- package/es/locales/common/jaJP.js +10 -0
- package/es/locales/common/nbNO.js +10 -0
- package/es/locales/common/ruRU.js +10 -0
- package/es/locales/common/ukUA.js +10 -0
- package/es/locales/common/zhCN.js +9 -0
- package/es/locales/common/zhTW.js +10 -0
- package/es/mention/src/utils.js +0 -1
- package/es/message/index.d.ts +2 -1
- package/es/message/src/Message.d.ts +191 -19
- package/es/message/src/Message.js +13 -11
- package/es/message/src/MessageEnvironment.d.ts +3 -3
- package/es/message/src/MessageProvider.d.ts +5 -10
- package/es/message/src/MessageProvider.js +1 -1
- package/es/message/src/message-props.d.ts +5 -2
- package/es/message/src/types.d.ts +15 -0
- package/es/message/src/types.js +1 -0
- package/es/modal/src/Modal.d.ts +5 -0
- package/es/modal/src/Modal.js +2 -1
- package/es/page-header/index.d.ts +1 -1
- package/es/page-header/src/PageHeader.d.ts +1 -1
- package/es/pagination/index.d.ts +1 -1
- package/es/pagination/src/Pagination.d.ts +8 -4
- package/es/pagination/src/Pagination.js +66 -19
- package/es/pagination/src/interface.d.ts +10 -1
- package/es/pagination/src/utils.d.ts +2 -2
- package/es/pagination/src/utils.js +2 -4
- package/es/popconfirm/src/Popconfirm.d.ts +5 -0
- package/es/popover/src/Popover.d.ts +7 -0
- package/es/popover/src/Popover.js +24 -1
- package/es/popover/src/PopoverBody.d.ts +5 -0
- package/es/popover/src/PopoverBody.js +28 -46
- package/es/popover/src/styles/index.cssr.js +9 -8
- package/es/popselect/src/Popselect.d.ts +62 -73
- package/es/popselect/src/Popselect.js +2 -2
- package/es/progress/src/Circle.d.ts +7 -0
- package/es/progress/src/Circle.js +8 -1
- package/es/progress/src/Line.d.ts +2 -2
- package/es/progress/src/Line.js +4 -1
- package/es/progress/src/Progress.d.ts +6 -2
- package/es/progress/src/Progress.js +2 -2
- package/es/progress/src/styles/index.cssr.js +16 -16
- package/es/radio/src/styles/radio.cssr.js +4 -1
- package/es/result/src/Result.js +9 -10
- package/es/result/src/styles/index.cssr.js +7 -7
- package/es/select/src/Select.d.ts +8 -27
- package/es/select/src/Select.js +16 -24
- package/es/slider/src/Slider.d.ts +2 -4
- package/es/tabs/index.d.ts +1 -0
- package/es/tabs/src/Tabs.d.ts +2 -2
- package/es/tabs/src/Tabs.js +25 -22
- package/es/tabs/src/interface.d.ts +3 -0
- package/es/time-picker/src/TimePicker.d.ts +22 -2
- package/es/time-picker/src/TimePicker.js +59 -29
- package/es/time-picker/src/interface.d.ts +4 -2
- package/es/tooltip/src/Tooltip.d.ts +5 -0
- package/es/tree/src/Tree.d.ts +5 -1
- package/es/tree/src/Tree.js +4 -2
- package/es/tree/src/TreeNodeSwitcher.d.ts +1 -1
- package/es/tree/src/TreeNodeSwitcher.js +25 -14
- package/es/tree/src/interface.d.ts +2 -0
- package/es/tree/src/styles/index.cssr.js +4 -2
- package/es/upload/src/Upload.d.ts +15 -6
- package/es/upload/src/Upload.js +18 -9
- package/es/upload/src/UploadFile.d.ts +5 -5
- package/es/upload/src/UploadFileList.js +2 -2
- package/es/upload/src/interface.d.ts +11 -4
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_internal/icons/Switcher.js +2 -3
- package/lib/_internal/selection/src/styles/index.cssr.js +1 -1
- package/lib/_internal/selection/styles/_common.js +1 -1
- package/lib/auto-complete/src/AutoComplete.d.ts +12 -12
- package/lib/auto-complete/src/AutoComplete.js +14 -16
- package/lib/back-top/src/BackTop.d.ts +3 -3
- package/lib/calendar/src/Calendar.d.ts +5 -1
- package/lib/calendar/src/Calendar.js +15 -3
- package/lib/calendar/src/interface.d.ts +4 -0
- package/lib/carousel/index.d.ts +1 -0
- package/lib/carousel/index.js +3 -1
- package/lib/carousel/src/Carousel.d.ts +235 -19
- package/lib/carousel/src/Carousel.js +681 -227
- package/lib/carousel/src/CarouselArrow.d.ts +9 -0
- package/lib/carousel/src/CarouselArrow.js +45 -0
- package/lib/carousel/src/CarouselDots.d.ts +66 -0
- package/lib/carousel/src/CarouselDots.js +120 -0
- package/lib/carousel/src/CarouselItem.d.ts +11 -0
- package/lib/carousel/src/CarouselItem.js +74 -0
- package/lib/carousel/src/interface.d.ts +28 -0
- package/lib/carousel/src/interface.js +6 -0
- package/lib/carousel/src/styles/index.cssr.js +141 -38
- package/lib/carousel/src/utils.d.ts +12 -0
- package/lib/carousel/src/utils.js +69 -0
- package/lib/carousel/styles/light.d.ts +3 -0
- package/lib/carousel/styles/light.js +5 -2
- package/lib/cascader/src/Cascader.d.ts +6 -2
- package/lib/cascader/src/Cascader.js +2 -1
- package/lib/cascader/src/CascaderOption.d.ts +1 -0
- package/lib/cascader/src/CascaderOption.js +7 -4
- package/lib/cascader/src/interface.d.ts +2 -1
- package/lib/checkbox/src/styles/index.cssr.js +1 -1
- package/lib/code/src/Code.d.ts +5 -0
- package/lib/code/src/Code.js +6 -3
- package/lib/code/src/styles/index.cssr.js +1 -1
- package/lib/color-picker/src/ColorInputUnit.js +1 -1
- package/lib/color-picker/src/ColorPicker.d.ts +13 -5
- package/lib/color-picker/src/ColorPicker.js +19 -10
- package/lib/color-picker/src/ColorPickerTrigger.d.ts +1 -1
- package/lib/color-picker/src/ColorPickerTrigger.js +22 -16
- package/lib/color-picker/src/interface.d.ts +2 -0
- package/lib/color-picker/src/styles/index.cssr.js +1 -0
- package/lib/config-provider/src/ConfigProvider.d.ts +27 -0
- package/lib/data-table/src/DataTable.d.ts +10 -55
- package/lib/data-table/src/DataTable.js +21 -47
- package/lib/data-table/src/interface.d.ts +1 -1
- package/lib/data-table/src/styles/index.cssr.js +4 -1
- package/lib/data-table/src/utils.js +3 -0
- package/lib/date-picker/src/DatePicker.d.ts +26 -22
- package/lib/date-picker/src/DatePicker.js +98 -48
- package/lib/date-picker/src/interface.d.ts +17 -2
- package/lib/date-picker/src/panel/use-calendar.js +2 -2
- package/lib/drawer/src/Drawer.d.ts +18 -58
- package/lib/drawer/src/Drawer.js +30 -47
- package/lib/drawer/src/DrawerBodyWrapper.js +21 -13
- package/lib/drawer/src/DrawerContent.js +6 -6
- package/lib/dropdown/src/Dropdown.d.ts +5 -0
- package/lib/form/src/Feedbacks.js +4 -1
- package/lib/form/src/Form.d.ts +7 -7
- package/lib/form/src/Form.js +16 -7
- package/lib/form/src/FormItem.d.ts +12 -7
- package/lib/form/src/FormItem.js +23 -11
- package/lib/form/src/FormItemCol.d.ts +8 -4
- package/lib/form/src/FormItemGridItem.d.ts +8 -4
- package/lib/form/src/FormItemRow.d.ts +7 -3
- package/lib/form/src/interface.d.ts +6 -2
- package/lib/form/src/styles/form-item.cssr.js +2 -0
- package/lib/form/src/utils.d.ts +2 -2
- package/lib/form/src/utils.js +29 -18
- package/lib/image/src/Image.d.ts +279 -10
- package/lib/image/src/Image.js +4 -17
- package/lib/image/src/ImageGroup.d.ts +272 -2
- package/lib/image/src/ImageGroup.js +4 -7
- package/lib/image/src/ImagePreview.d.ts +195 -7
- package/lib/image/src/ImagePreview.js +49 -30
- package/lib/image/src/interface.d.ts +94 -0
- package/lib/image/src/interface.js +3 -0
- package/lib/image/src/styles/index.cssr.js +8 -4
- package/lib/image/styles/dark.js +8 -1
- package/lib/image/styles/light.d.ts +32 -3
- package/lib/image/styles/light.js +8 -1
- package/lib/input-number/src/utils.js +2 -2
- package/lib/locales/common/deDE.js +10 -0
- package/lib/locales/common/enUS.d.ts +9 -0
- package/lib/locales/common/enUS.js +10 -0
- package/lib/locales/common/frFR.js +10 -0
- package/lib/locales/common/idID.js +10 -0
- package/lib/locales/common/jaJP.js +10 -0
- package/lib/locales/common/nbNO.js +10 -0
- package/lib/locales/common/ruRU.js +10 -0
- package/lib/locales/common/ukUA.js +10 -0
- package/lib/locales/common/zhCN.js +9 -0
- package/lib/locales/common/zhTW.js +10 -0
- package/lib/mention/src/utils.js +0 -1
- package/lib/message/index.d.ts +2 -1
- package/lib/message/src/Message.d.ts +191 -19
- package/lib/message/src/Message.js +13 -11
- package/lib/message/src/MessageEnvironment.d.ts +3 -3
- package/lib/message/src/MessageProvider.d.ts +5 -10
- package/lib/message/src/MessageProvider.js +1 -1
- package/lib/message/src/message-props.d.ts +5 -2
- package/lib/message/src/types.d.ts +15 -0
- package/lib/message/src/types.js +2 -0
- package/lib/modal/src/Modal.d.ts +5 -0
- package/lib/modal/src/Modal.js +2 -1
- package/lib/page-header/index.d.ts +1 -1
- package/lib/page-header/src/PageHeader.d.ts +1 -1
- package/lib/pagination/index.d.ts +1 -1
- package/lib/pagination/src/Pagination.d.ts +8 -4
- package/lib/pagination/src/Pagination.js +65 -18
- package/lib/pagination/src/interface.d.ts +10 -1
- package/lib/pagination/src/utils.d.ts +2 -2
- package/lib/pagination/src/utils.js +2 -4
- package/lib/popconfirm/src/Popconfirm.d.ts +5 -0
- package/lib/popover/src/Popover.d.ts +7 -0
- package/lib/popover/src/Popover.js +23 -0
- package/lib/popover/src/PopoverBody.d.ts +5 -0
- package/lib/popover/src/PopoverBody.js +27 -45
- package/lib/popover/src/styles/index.cssr.js +9 -8
- package/lib/popselect/src/Popselect.d.ts +62 -73
- package/lib/popselect/src/Popselect.js +2 -2
- package/lib/progress/src/Circle.d.ts +7 -0
- package/lib/progress/src/Circle.js +8 -1
- package/lib/progress/src/Line.d.ts +2 -2
- package/lib/progress/src/Line.js +4 -1
- package/lib/progress/src/Progress.d.ts +6 -2
- package/lib/progress/src/Progress.js +2 -2
- package/lib/progress/src/styles/index.cssr.js +16 -16
- package/lib/radio/src/styles/radio.cssr.js +4 -1
- package/lib/result/src/Result.js +8 -9
- package/lib/result/src/styles/index.cssr.js +6 -6
- package/lib/select/src/Select.d.ts +8 -27
- package/lib/select/src/Select.js +14 -22
- package/lib/slider/src/Slider.d.ts +2 -4
- package/lib/tabs/index.d.ts +1 -0
- package/lib/tabs/src/Tabs.d.ts +2 -2
- package/lib/tabs/src/Tabs.js +25 -22
- package/lib/tabs/src/interface.d.ts +3 -0
- package/lib/time-picker/src/TimePicker.d.ts +22 -2
- package/lib/time-picker/src/TimePicker.js +59 -29
- package/lib/time-picker/src/interface.d.ts +4 -2
- package/lib/tooltip/src/Tooltip.d.ts +5 -0
- package/lib/tree/src/Tree.d.ts +5 -1
- package/lib/tree/src/Tree.js +4 -2
- package/lib/tree/src/TreeNodeSwitcher.d.ts +1 -1
- package/lib/tree/src/TreeNodeSwitcher.js +24 -13
- package/lib/tree/src/interface.d.ts +2 -0
- package/lib/tree/src/styles/index.cssr.js +4 -2
- package/lib/upload/src/Upload.d.ts +15 -6
- package/lib/upload/src/Upload.js +18 -9
- package/lib/upload/src/UploadFile.d.ts +5 -5
- package/lib/upload/src/UploadFileList.js +2 -2
- package/lib/upload/src/interface.d.ts +11 -4
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +21 -13
- package/web-types.json +413 -31
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { h, computed, defineComponent, ref, provide, toRef, Transition } from 'vue';
|
|
1
|
+
import { h, computed, defineComponent, ref, provide, toRef, Transition, watchEffect } from 'vue';
|
|
2
2
|
import { createId } from 'seemly';
|
|
3
3
|
import { useConfig, useLocale, useTheme } from '../../_mixins';
|
|
4
4
|
import { NBaseLoading } from '../../_internal';
|
|
5
5
|
import { NPagination } from '../../pagination';
|
|
6
|
-
import {
|
|
6
|
+
import { createKey, warnOnce } from '../../_utils';
|
|
7
7
|
import { dataTableLight } from '../styles';
|
|
8
8
|
import MainTable from './MainTable';
|
|
9
9
|
import { useCheck } from './use-check';
|
|
10
10
|
import { useTableData } from './use-table-data';
|
|
11
11
|
import { useScroll } from './use-scroll';
|
|
12
12
|
import { dataTableInjectionKey } from './interface';
|
|
13
|
-
import style from './styles/index.cssr';
|
|
14
13
|
import { useGroupHeader } from './use-group-header';
|
|
15
14
|
import { useExpand } from './use-expand';
|
|
15
|
+
import style from './styles/index.cssr';
|
|
16
16
|
export const dataTableProps = Object.assign(Object.assign({}, useTheme.props), { pagination: {
|
|
17
17
|
type: [Object, Boolean],
|
|
18
18
|
default: false
|
|
@@ -56,57 +56,31 @@ export const dataTableProps = Object.assign(Object.assign({}, useTheme.props), {
|
|
|
56
56
|
default: 16
|
|
57
57
|
}, flexHeight: Boolean, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], 'onUpdate:sorter': [Function, Array], onUpdateSorter: [Function, Array], 'onUpdate:filters': [Function, Array], onUpdateFilters: [Function, Array], 'onUpdate:checkedRowKeys': [Function, Array], onUpdateCheckedRowKeys: [Function, Array], 'onUpdate:expandedRowKeys': [Function, Array], onUpdateExpandedRowKeys: [Function, Array],
|
|
58
58
|
// deprecated
|
|
59
|
-
onPageChange:
|
|
60
|
-
type: [Function, Array],
|
|
61
|
-
validator: () => {
|
|
62
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
63
|
-
warn('data-table', '`on-page-change` is deprecated, please use `on-update:page` instead.');
|
|
64
|
-
}
|
|
65
|
-
return true;
|
|
66
|
-
},
|
|
67
|
-
default: undefined
|
|
68
|
-
}, onPageSizeChange: {
|
|
69
|
-
type: [Function, Array],
|
|
70
|
-
validator: () => {
|
|
71
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
72
|
-
warn('data-table', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
},
|
|
76
|
-
default: undefined
|
|
77
|
-
}, onSorterChange: {
|
|
78
|
-
type: [Function, Array],
|
|
79
|
-
validator: () => {
|
|
80
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
81
|
-
warn('data-table', '`on-sorter-change` is deprecated, please use `on-update:sorter` instead.');
|
|
82
|
-
}
|
|
83
|
-
return true;
|
|
84
|
-
},
|
|
85
|
-
default: undefined
|
|
86
|
-
}, onFiltersChange: {
|
|
87
|
-
type: [Function, Array],
|
|
88
|
-
validator: () => {
|
|
89
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
90
|
-
warn('data-table', '`on-filters-change` is deprecated, please use `on-update:filters` instead.');
|
|
91
|
-
}
|
|
92
|
-
return true;
|
|
93
|
-
},
|
|
94
|
-
default: undefined
|
|
95
|
-
}, onCheckedRowKeysChange: {
|
|
96
|
-
type: [Function, Array],
|
|
97
|
-
validator: () => {
|
|
98
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
99
|
-
warn('data-table', '`on-checked-row-keys-change` is deprecated, please use `on-update:checked-row-keys` instead.');
|
|
100
|
-
}
|
|
101
|
-
return true;
|
|
102
|
-
},
|
|
103
|
-
default: undefined
|
|
104
|
-
} });
|
|
59
|
+
onPageChange: [Function, Array], onPageSizeChange: [Function, Array], onSorterChange: [Function, Array], onFiltersChange: [Function, Array], onCheckedRowKeysChange: [Function, Array] });
|
|
105
60
|
export default defineComponent({
|
|
106
61
|
name: 'DataTable',
|
|
107
62
|
alias: ['AdvancedTable'],
|
|
108
63
|
props: dataTableProps,
|
|
109
64
|
setup(props, { slots }) {
|
|
65
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
66
|
+
watchEffect(() => {
|
|
67
|
+
if (props.onPageChange !== undefined) {
|
|
68
|
+
warnOnce('data-table', '`on-page-change` is deprecated, please use `on-update:page` instead.');
|
|
69
|
+
}
|
|
70
|
+
if (props.onPageSizeChange !== undefined) {
|
|
71
|
+
warnOnce('data-table', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');
|
|
72
|
+
}
|
|
73
|
+
if (props.onSorterChange !== undefined) {
|
|
74
|
+
warnOnce('data-table', '`on-sorter-change` is deprecated, please use `on-update:sorter` instead.');
|
|
75
|
+
}
|
|
76
|
+
if (props.onFiltersChange !== undefined) {
|
|
77
|
+
warnOnce('data-table', '`on-filters-change` is deprecated, please use `on-update:filters` instead.');
|
|
78
|
+
}
|
|
79
|
+
if (props.onCheckedRowKeysChange !== undefined) {
|
|
80
|
+
warnOnce('data-table', '`on-checked-row-keys-change` is deprecated, please use `on-update:checked-row-keys` instead.');
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
110
84
|
const { mergedBorderedRef, mergedClsPrefixRef } = useConfig(props);
|
|
111
85
|
const mergedBottomBorderedRef = computed(() => {
|
|
112
86
|
const { bottomBordered } = props;
|
|
@@ -33,7 +33,7 @@ export declare type SortOrder = 'ascend' | 'descend' | false;
|
|
|
33
33
|
export declare type Ellipsis = boolean | EllipsisProps;
|
|
34
34
|
export interface CommonColumnInfo {
|
|
35
35
|
fixed?: 'left' | 'right';
|
|
36
|
-
width?: number;
|
|
36
|
+
width?: number | string;
|
|
37
37
|
className?: string;
|
|
38
38
|
align?: 'left' | 'center' | 'right';
|
|
39
39
|
ellipsis?: Ellipsis;
|
|
@@ -225,7 +225,10 @@ c('&::after', {
|
|
|
225
225
|
border-top-left-radius: var(--n-border-radius);
|
|
226
226
|
border-top-right-radius: var(--n-border-radius);
|
|
227
227
|
line-height: var(--n-line-height);
|
|
228
|
-
`), cM('loading', [cB('data-table-wrapper',
|
|
228
|
+
`), cM('loading', [cB('data-table-wrapper', `
|
|
229
|
+
opacity: var(--n-opacity-loading);
|
|
230
|
+
pointer-events: none;
|
|
231
|
+
`)]), cM('single-column', [cB('data-table-td', {
|
|
229
232
|
borderBottom: '0 solid var(--n-merged-border-color)'
|
|
230
233
|
}, [c('&::after, &::before', {
|
|
231
234
|
bottom: '0 !important'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { pxfy } from 'seemly';
|
|
1
|
+
import { depx, pxfy } from 'seemly';
|
|
2
2
|
export const selectionColWidth = 40;
|
|
3
3
|
export const expandColWidth = 40;
|
|
4
4
|
export function getColWidth(col) {
|
|
@@ -8,6 +8,9 @@ export function getColWidth(col) {
|
|
|
8
8
|
return expandColWidth;
|
|
9
9
|
if ('children' in col)
|
|
10
10
|
return undefined;
|
|
11
|
+
if (typeof col.width === 'string') {
|
|
12
|
+
return depx(col.width);
|
|
13
|
+
}
|
|
11
14
|
return col.width;
|
|
12
15
|
}
|
|
13
16
|
export function getColKey(col) {
|
|
@@ -2,7 +2,7 @@ import { PropType, ExtractPropTypes, Ref } from 'vue';
|
|
|
2
2
|
import { FollowerPlacement } from 'vueuc';
|
|
3
3
|
import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
|
|
4
4
|
import { DatePickerType } from './config';
|
|
5
|
-
import type { OnUpdateValue, Value, IsDateDisabled, IsTimeDisabled, Shortcuts, FirstDayOfWeek, DefaultTime } from './interface';
|
|
5
|
+
import type { OnUpdateValue, Value, IsDateDisabled, IsTimeDisabled, Shortcuts, FirstDayOfWeek, DefaultTime, FormattedValue, OnUpdateFormattedValue } from './interface';
|
|
6
6
|
declare const datePickerProps: {
|
|
7
7
|
readonly to: {
|
|
8
8
|
type: PropType<string | boolean | HTMLElement>;
|
|
@@ -14,10 +14,8 @@ declare const datePickerProps: {
|
|
|
14
14
|
};
|
|
15
15
|
readonly clearable: BooleanConstructor;
|
|
16
16
|
readonly updateValueOnClose: BooleanConstructor;
|
|
17
|
-
readonly defaultValue:
|
|
18
|
-
|
|
19
|
-
readonly default: null;
|
|
20
|
-
};
|
|
17
|
+
readonly defaultValue: PropType<Value | null>;
|
|
18
|
+
readonly defaultFormattedValue: PropType<FormattedValue | null>;
|
|
21
19
|
readonly defaultTime: PropType<DefaultTime>;
|
|
22
20
|
readonly disabled: {
|
|
23
21
|
readonly type: PropType<boolean | undefined>;
|
|
@@ -28,11 +26,13 @@ declare const datePickerProps: {
|
|
|
28
26
|
readonly default: "bottom-start";
|
|
29
27
|
};
|
|
30
28
|
readonly value: PropType<Value | null>;
|
|
29
|
+
readonly formattedValue: PropType<FormattedValue | null>;
|
|
31
30
|
readonly size: PropType<"small" | "medium" | "large">;
|
|
32
31
|
readonly type: {
|
|
33
32
|
readonly type: PropType<DatePickerType>;
|
|
34
33
|
readonly default: "date";
|
|
35
34
|
};
|
|
35
|
+
readonly valueFormat: StringConstructor;
|
|
36
36
|
readonly separator: StringConstructor;
|
|
37
37
|
readonly placeholder: StringConstructor;
|
|
38
38
|
readonly startPlaceholder: StringConstructor;
|
|
@@ -54,15 +54,13 @@ declare const datePickerProps: {
|
|
|
54
54
|
readonly closeOnSelect: BooleanConstructor;
|
|
55
55
|
readonly 'onUpdate:show': PropType<MaybeArray<(show: boolean) => void>>;
|
|
56
56
|
readonly onUpdateShow: PropType<MaybeArray<(show: boolean) => void>>;
|
|
57
|
+
readonly 'onUpdate:formattedValue': PropType<MaybeArray<OnUpdateFormattedValue>>;
|
|
58
|
+
readonly onUpdateFormattedValue: PropType<MaybeArray<OnUpdateFormattedValue>>;
|
|
57
59
|
readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
|
|
58
60
|
readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
|
|
59
61
|
readonly onFocus: PropType<(e: FocusEvent) => void>;
|
|
60
62
|
readonly onBlur: PropType<(e: FocusEvent) => void>;
|
|
61
|
-
readonly onChange:
|
|
62
|
-
readonly type: PropType<MaybeArray<OnUpdateValue>>;
|
|
63
|
-
readonly validator: () => boolean;
|
|
64
|
-
readonly default: undefined;
|
|
65
|
-
};
|
|
63
|
+
readonly onChange: PropType<MaybeArray<OnUpdateValue>>;
|
|
66
64
|
readonly theme: PropType<import("../../_mixins").Theme<"DatePicker", {
|
|
67
65
|
itemFontSize: string;
|
|
68
66
|
calendarDaysFontSize: string;
|
|
@@ -1910,10 +1908,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1910
1908
|
};
|
|
1911
1909
|
readonly clearable: BooleanConstructor;
|
|
1912
1910
|
readonly updateValueOnClose: BooleanConstructor;
|
|
1913
|
-
readonly defaultValue:
|
|
1914
|
-
|
|
1915
|
-
readonly default: null;
|
|
1916
|
-
};
|
|
1911
|
+
readonly defaultValue: PropType<Value | null>;
|
|
1912
|
+
readonly defaultFormattedValue: PropType<FormattedValue | null>;
|
|
1917
1913
|
readonly defaultTime: PropType<DefaultTime>;
|
|
1918
1914
|
readonly disabled: {
|
|
1919
1915
|
readonly type: PropType<boolean | undefined>;
|
|
@@ -1924,11 +1920,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1924
1920
|
readonly default: "bottom-start";
|
|
1925
1921
|
};
|
|
1926
1922
|
readonly value: PropType<Value | null>;
|
|
1923
|
+
readonly formattedValue: PropType<FormattedValue | null>;
|
|
1927
1924
|
readonly size: PropType<"small" | "medium" | "large">;
|
|
1928
1925
|
readonly type: {
|
|
1929
1926
|
readonly type: PropType<DatePickerType>;
|
|
1930
1927
|
readonly default: "date";
|
|
1931
1928
|
};
|
|
1929
|
+
readonly valueFormat: StringConstructor;
|
|
1932
1930
|
readonly separator: StringConstructor;
|
|
1933
1931
|
readonly placeholder: StringConstructor;
|
|
1934
1932
|
readonly startPlaceholder: StringConstructor;
|
|
@@ -1950,15 +1948,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1950
1948
|
readonly closeOnSelect: BooleanConstructor;
|
|
1951
1949
|
readonly 'onUpdate:show': PropType<MaybeArray<(show: boolean) => void>>;
|
|
1952
1950
|
readonly onUpdateShow: PropType<MaybeArray<(show: boolean) => void>>;
|
|
1951
|
+
readonly 'onUpdate:formattedValue': PropType<MaybeArray<OnUpdateFormattedValue>>;
|
|
1952
|
+
readonly onUpdateFormattedValue: PropType<MaybeArray<OnUpdateFormattedValue>>;
|
|
1953
1953
|
readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
|
|
1954
1954
|
readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
|
|
1955
1955
|
readonly onFocus: PropType<(e: FocusEvent) => void>;
|
|
1956
1956
|
readonly onBlur: PropType<(e: FocusEvent) => void>;
|
|
1957
|
-
readonly onChange:
|
|
1958
|
-
readonly type: PropType<MaybeArray<OnUpdateValue>>;
|
|
1959
|
-
readonly validator: () => boolean;
|
|
1960
|
-
readonly default: undefined;
|
|
1961
|
-
};
|
|
1957
|
+
readonly onChange: PropType<MaybeArray<OnUpdateValue>>;
|
|
1962
1958
|
readonly theme: PropType<import("../../_mixins").Theme<"DatePicker", {
|
|
1963
1959
|
itemFontSize: string;
|
|
1964
1960
|
calendarDaysFontSize: string;
|
|
@@ -4916,12 +4912,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4916
4912
|
readonly clearable?: unknown;
|
|
4917
4913
|
readonly updateValueOnClose?: unknown;
|
|
4918
4914
|
readonly defaultValue?: unknown;
|
|
4915
|
+
readonly defaultFormattedValue?: unknown;
|
|
4919
4916
|
readonly defaultTime?: unknown;
|
|
4920
4917
|
readonly disabled?: unknown;
|
|
4921
4918
|
readonly placement?: unknown;
|
|
4922
4919
|
readonly value?: unknown;
|
|
4920
|
+
readonly formattedValue?: unknown;
|
|
4923
4921
|
readonly size?: unknown;
|
|
4924
4922
|
readonly type?: unknown;
|
|
4923
|
+
readonly valueFormat?: unknown;
|
|
4925
4924
|
readonly separator?: unknown;
|
|
4926
4925
|
readonly placeholder?: unknown;
|
|
4927
4926
|
readonly startPlaceholder?: unknown;
|
|
@@ -4940,6 +4939,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4940
4939
|
readonly closeOnSelect?: unknown;
|
|
4941
4940
|
readonly 'onUpdate:show'?: unknown;
|
|
4942
4941
|
readonly onUpdateShow?: unknown;
|
|
4942
|
+
readonly 'onUpdate:formattedValue'?: unknown;
|
|
4943
|
+
readonly onUpdateFormattedValue?: unknown;
|
|
4943
4944
|
readonly 'onUpdate:value'?: unknown;
|
|
4944
4945
|
readonly onUpdateValue?: unknown;
|
|
4945
4946
|
readonly onFocus?: unknown;
|
|
@@ -4952,7 +4953,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4952
4953
|
type: DatePickerType;
|
|
4953
4954
|
placement: FollowerPlacement;
|
|
4954
4955
|
clearable: boolean;
|
|
4955
|
-
defaultValue: Value | null;
|
|
4956
4956
|
updateValueOnClose: boolean;
|
|
4957
4957
|
inputReadonly: boolean;
|
|
4958
4958
|
closeOnSelect: boolean;
|
|
@@ -6806,27 +6806,31 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
6806
6806
|
bordered?: boolean | undefined;
|
|
6807
6807
|
"onUpdate:show"?: MaybeArray<(show: boolean) => void> | undefined;
|
|
6808
6808
|
onUpdateShow?: MaybeArray<(show: boolean) => void> | undefined;
|
|
6809
|
+
defaultValue?: Value | null | undefined;
|
|
6809
6810
|
"onUpdate:value"?: MaybeArray<OnUpdateValue> | undefined;
|
|
6810
6811
|
onUpdateValue?: MaybeArray<OnUpdateValue> | undefined;
|
|
6811
6812
|
isDateDisabled?: IsDateDisabled | undefined;
|
|
6812
6813
|
actions?: ("clear" | "confirm" | "now")[] | undefined;
|
|
6814
|
+
defaultFormattedValue?: FormattedValue | null | undefined;
|
|
6813
6815
|
defaultTime?: DefaultTime | undefined;
|
|
6816
|
+
formattedValue?: FormattedValue | null | undefined;
|
|
6817
|
+
valueFormat?: string | undefined;
|
|
6814
6818
|
startPlaceholder?: string | undefined;
|
|
6815
6819
|
endPlaceholder?: string | undefined;
|
|
6816
6820
|
timeFormat?: string | undefined;
|
|
6817
6821
|
shortcuts?: Shortcuts | undefined;
|
|
6818
6822
|
isTimeDisabled?: IsTimeDisabled | undefined;
|
|
6819
6823
|
ranges?: Record<string, [number, number]> | undefined;
|
|
6824
|
+
"onUpdate:formattedValue"?: MaybeArray<OnUpdateFormattedValue> | undefined;
|
|
6825
|
+
onUpdateFormattedValue?: MaybeArray<OnUpdateFormattedValue> | undefined;
|
|
6820
6826
|
}>, {
|
|
6821
6827
|
type: DatePickerType;
|
|
6822
6828
|
show: boolean | undefined;
|
|
6823
6829
|
disabled: boolean | undefined;
|
|
6824
|
-
onChange: MaybeArray<OnUpdateValue>;
|
|
6825
6830
|
to: string | boolean | HTMLElement;
|
|
6826
6831
|
placement: FollowerPlacement;
|
|
6827
6832
|
bordered: boolean | undefined;
|
|
6828
6833
|
clearable: boolean;
|
|
6829
|
-
defaultValue: Value | null;
|
|
6830
6834
|
updateValueOnClose: boolean;
|
|
6831
6835
|
inputReadonly: boolean;
|
|
6832
6836
|
closeOnSelect: boolean;
|
|
@@ -8,7 +8,7 @@ import { NInput } from '../../input';
|
|
|
8
8
|
import { NBaseIcon } from '../../_internal';
|
|
9
9
|
import { useFormItem, useTheme, useConfig, useLocale } from '../../_mixins';
|
|
10
10
|
import { DateIcon, ToIcon } from '../../_internal/icons';
|
|
11
|
-
import { warn, call, useAdjustedTo, createKey } from '../../_utils';
|
|
11
|
+
import { warn, call, useAdjustedTo, createKey, warnOnce } from '../../_utils';
|
|
12
12
|
import { datePickerLight } from '../styles';
|
|
13
13
|
import { strictParse } from './utils';
|
|
14
14
|
import { uniCalendarValidation, dualCalendarValidation } from './validation-utils';
|
|
@@ -23,37 +23,33 @@ import style from './styles/index.cssr';
|
|
|
23
23
|
const datePickerProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, bordered: {
|
|
24
24
|
type: Boolean,
|
|
25
25
|
default: undefined
|
|
26
|
-
}, clearable: Boolean, updateValueOnClose: Boolean, defaultValue: {
|
|
27
|
-
type: [Number, Array],
|
|
28
|
-
default: null
|
|
29
|
-
}, defaultTime: [Number, String, Array], disabled: {
|
|
26
|
+
}, clearable: Boolean, updateValueOnClose: Boolean, defaultValue: [Number, Array], defaultFormattedValue: [String, Array], defaultTime: [Number, String, Array], disabled: {
|
|
30
27
|
type: Boolean,
|
|
31
28
|
default: undefined
|
|
32
29
|
}, placement: {
|
|
33
30
|
type: String,
|
|
34
31
|
default: 'bottom-start'
|
|
35
|
-
}, value: [Number, Array], size: String, type: {
|
|
32
|
+
}, value: [Number, Array], formattedValue: [String, Array], size: String, type: {
|
|
36
33
|
type: String,
|
|
37
34
|
default: 'date'
|
|
38
|
-
}, separator: String, placeholder: String, startPlaceholder: String, endPlaceholder: String, format: String, dateFormat: String, timeFormat: String, actions: Array, shortcuts: Object, isDateDisabled: Function, isTimeDisabled: Function, show: {
|
|
35
|
+
}, valueFormat: String, separator: String, placeholder: String, startPlaceholder: String, endPlaceholder: String, format: String, dateFormat: String, timeFormat: String, actions: Array, shortcuts: Object, isDateDisabled: Function, isTimeDisabled: Function, show: {
|
|
39
36
|
type: Boolean,
|
|
40
37
|
default: undefined
|
|
41
|
-
}, ranges: Object, firstDayOfWeek: Number, inputReadonly: Boolean, closeOnSelect: Boolean, 'onUpdate:show': [Function, Array], onUpdateShow: [Function, Array], 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array], onFocus: [Function, Array], onBlur: [Function, Array],
|
|
38
|
+
}, ranges: Object, firstDayOfWeek: Number, inputReadonly: Boolean, closeOnSelect: Boolean, 'onUpdate:show': [Function, Array], onUpdateShow: [Function, Array], 'onUpdate:formattedValue': [Function, Array], onUpdateFormattedValue: [Function, Array], 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array], onFocus: [Function, Array], onBlur: [Function, Array],
|
|
42
39
|
// deprecated
|
|
43
|
-
onChange:
|
|
44
|
-
type: [Function, Array],
|
|
45
|
-
validator: () => {
|
|
46
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
47
|
-
warn('data-picker', '`on-change` is deprecated, please use `on-update:value` instead.');
|
|
48
|
-
}
|
|
49
|
-
return true;
|
|
50
|
-
},
|
|
51
|
-
default: undefined
|
|
52
|
-
} });
|
|
40
|
+
onChange: [Function, Array] });
|
|
53
41
|
export default defineComponent({
|
|
54
42
|
name: 'DatePicker',
|
|
55
43
|
props: datePickerProps,
|
|
56
44
|
setup(props, { slots }) {
|
|
45
|
+
var _a;
|
|
46
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
47
|
+
watchEffect(() => {
|
|
48
|
+
if (props.onChange !== undefined) {
|
|
49
|
+
warnOnce('data-picker', '`on-change` is deprecated, please use `on-update:value` instead.');
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
57
53
|
const { localeRef, dateLocaleRef } = useLocale('DatePicker');
|
|
58
54
|
const formItem = useFormItem(props);
|
|
59
55
|
const { mergedSizeRef, mergedDisabledRef } = formItem;
|
|
@@ -64,8 +60,58 @@ export default defineComponent({
|
|
|
64
60
|
const uncontrolledShowRef = ref(false);
|
|
65
61
|
const controlledShowRef = toRef(props, 'show');
|
|
66
62
|
const mergedShowRef = useMergedState(controlledShowRef, uncontrolledShowRef);
|
|
67
|
-
const
|
|
68
|
-
|
|
63
|
+
const dateFnsOptionsRef = computed(() => {
|
|
64
|
+
return {
|
|
65
|
+
locale: dateLocaleRef.value.locale
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
const mergedFormatRef = computed(() => {
|
|
69
|
+
const { format } = props;
|
|
70
|
+
if (format)
|
|
71
|
+
return format;
|
|
72
|
+
switch (props.type) {
|
|
73
|
+
case 'date':
|
|
74
|
+
case 'daterange':
|
|
75
|
+
return localeRef.value.dateFormat;
|
|
76
|
+
case 'datetime':
|
|
77
|
+
case 'datetimerange':
|
|
78
|
+
return localeRef.value.dateTimeFormat;
|
|
79
|
+
case 'year':
|
|
80
|
+
return localeRef.value.yearTypeFormat;
|
|
81
|
+
case 'month':
|
|
82
|
+
return localeRef.value.monthTypeFormat;
|
|
83
|
+
case 'quarter':
|
|
84
|
+
return localeRef.value.quarterFormat;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
const mergedValueFormatRef = computed(() => {
|
|
88
|
+
var _a;
|
|
89
|
+
return (_a = props.valueFormat) !== null && _a !== void 0 ? _a : mergedFormatRef.value;
|
|
90
|
+
});
|
|
91
|
+
function getTimestampValue(value) {
|
|
92
|
+
if (value === null)
|
|
93
|
+
return null;
|
|
94
|
+
const { value: mergedValueFormat } = mergedValueFormatRef;
|
|
95
|
+
const { value: dateFnsOptions } = dateFnsOptionsRef;
|
|
96
|
+
if (Array.isArray(value)) {
|
|
97
|
+
return [
|
|
98
|
+
strictParse(value[0], mergedValueFormat, new Date(), dateFnsOptions).getTime(),
|
|
99
|
+
strictParse(value[1], mergedValueFormat, new Date(), dateFnsOptions).getTime()
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
return strictParse(value, mergedValueFormat, new Date(), dateFnsOptions).getTime();
|
|
103
|
+
}
|
|
104
|
+
const { defaultFormattedValue, defaultValue } = props;
|
|
105
|
+
const uncontrolledValueRef = ref((_a = (defaultFormattedValue !== undefined
|
|
106
|
+
? getTimestampValue(defaultFormattedValue)
|
|
107
|
+
: defaultValue)) !== null && _a !== void 0 ? _a : null);
|
|
108
|
+
const controlledValueRef = computed(() => {
|
|
109
|
+
const { formattedValue } = props;
|
|
110
|
+
if (formattedValue !== undefined) {
|
|
111
|
+
return getTimestampValue(formattedValue);
|
|
112
|
+
}
|
|
113
|
+
return props.value;
|
|
114
|
+
});
|
|
69
115
|
const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef);
|
|
70
116
|
// We don't change value unless blur or confirm is called
|
|
71
117
|
const pendingValueRef = ref(null);
|
|
@@ -76,11 +122,6 @@ export default defineComponent({
|
|
|
76
122
|
const rangeStartInputValueRef = ref('');
|
|
77
123
|
const rangeEndInputValueRef = ref('');
|
|
78
124
|
const themeRef = useTheme('DatePicker', 'DatePicker', style, datePickerLight, props, mergedClsPrefixRef);
|
|
79
|
-
const dateFnsOptionsRef = computed(() => {
|
|
80
|
-
return {
|
|
81
|
-
locale: dateLocaleRef.value.locale
|
|
82
|
-
};
|
|
83
|
-
});
|
|
84
125
|
const timePickerSizeRef = computed(() => {
|
|
85
126
|
var _a, _b;
|
|
86
127
|
return (((_b = (_a = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DatePicker) === null || _b === void 0 ? void 0 : _b.timePickerSize) || 'small');
|
|
@@ -139,25 +180,6 @@ export default defineComponent({
|
|
|
139
180
|
return props.endPlaceholder;
|
|
140
181
|
}
|
|
141
182
|
});
|
|
142
|
-
const mergedFormatRef = computed(() => {
|
|
143
|
-
const { format } = props;
|
|
144
|
-
if (format)
|
|
145
|
-
return format;
|
|
146
|
-
switch (props.type) {
|
|
147
|
-
case 'date':
|
|
148
|
-
case 'daterange':
|
|
149
|
-
return localeRef.value.dateFormat;
|
|
150
|
-
case 'datetime':
|
|
151
|
-
case 'datetimerange':
|
|
152
|
-
return localeRef.value.dateTimeFormat;
|
|
153
|
-
case 'year':
|
|
154
|
-
return localeRef.value.yearTypeFormat;
|
|
155
|
-
case 'month':
|
|
156
|
-
return localeRef.value.monthTypeFormat;
|
|
157
|
-
case 'quarter':
|
|
158
|
-
return localeRef.value.quarterFormat;
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
183
|
const mergedActionsRef = computed(() => {
|
|
162
184
|
const { actions, type } = props;
|
|
163
185
|
if (actions !== undefined)
|
|
@@ -190,19 +212,47 @@ export default defineComponent({
|
|
|
190
212
|
}
|
|
191
213
|
}
|
|
192
214
|
});
|
|
215
|
+
function getFormattedValue(value) {
|
|
216
|
+
if (value === null)
|
|
217
|
+
return null;
|
|
218
|
+
if (Array.isArray(value)) {
|
|
219
|
+
const { value: mergedValueFormat } = mergedValueFormatRef;
|
|
220
|
+
const { value: dateFnsOptions } = dateFnsOptionsRef;
|
|
221
|
+
return [
|
|
222
|
+
format(value[0], mergedValueFormat, dateFnsOptions),
|
|
223
|
+
format(value[1], mergedValueFormat, dateFnsOptionsRef.value)
|
|
224
|
+
];
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
return format(value, mergedValueFormatRef.value, dateFnsOptionsRef.value);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
193
230
|
function doUpdatePendingValue(value) {
|
|
194
231
|
pendingValueRef.value = value;
|
|
195
232
|
}
|
|
233
|
+
function doUpdateFormattedValue(value, timestampValue) {
|
|
234
|
+
const { 'onUpdate:formattedValue': _onUpdateFormattedValue, onUpdateFormattedValue } = props;
|
|
235
|
+
if (_onUpdateFormattedValue) {
|
|
236
|
+
call(_onUpdateFormattedValue, value, timestampValue);
|
|
237
|
+
}
|
|
238
|
+
if (onUpdateFormattedValue) {
|
|
239
|
+
call(onUpdateFormattedValue, value, timestampValue);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
196
242
|
function doUpdateValue(value) {
|
|
197
243
|
const { 'onUpdate:value': _onUpdateValue, onUpdateValue, onChange } = props;
|
|
198
244
|
const { nTriggerFormChange, nTriggerFormInput } = formItem;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
245
|
+
const formattedValue = getFormattedValue(value);
|
|
246
|
+
if (onUpdateValue) {
|
|
247
|
+
call(onUpdateValue, value, formattedValue);
|
|
248
|
+
}
|
|
249
|
+
if (_onUpdateValue) {
|
|
250
|
+
call(_onUpdateValue, value, formattedValue);
|
|
251
|
+
}
|
|
203
252
|
if (onChange)
|
|
204
|
-
call(onChange, value);
|
|
253
|
+
call(onChange, value, formattedValue);
|
|
205
254
|
uncontrolledValueRef.value = value;
|
|
255
|
+
doUpdateFormattedValue(formattedValue, value);
|
|
206
256
|
nTriggerFormChange();
|
|
207
257
|
nTriggerFormInput();
|
|
208
258
|
}
|
|
@@ -8,9 +8,24 @@ import { DatePickerTheme } from '../styles/light';
|
|
|
8
8
|
import { uniCalendarValidation, dualCalendarValidation } from './validation-utils';
|
|
9
9
|
export declare type Value = number | [number, number];
|
|
10
10
|
export declare type DefaultTime = string | [string | undefined, string | undefined];
|
|
11
|
+
export declare type FormattedValue = string | [string, string];
|
|
11
12
|
export declare type Shortcuts = Record<string, number | (() => number)> | Record<string, [number, number] | (() => [number, number])>;
|
|
12
|
-
export declare type OnUpdateValue = (value: number & (number | null) & [
|
|
13
|
-
|
|
13
|
+
export declare type OnUpdateValue = (value: number & (number | null) & [
|
|
14
|
+
number,
|
|
15
|
+
number
|
|
16
|
+
] & ([number, number] | null), formattedValue: string & (string | null) & [
|
|
17
|
+
string,
|
|
18
|
+
string
|
|
19
|
+
] & ([string, string] | null)) => void;
|
|
20
|
+
export declare type OnUpdateFormattedValue = (value: string & (string | null) & [
|
|
21
|
+
string,
|
|
22
|
+
string
|
|
23
|
+
] & ([string, string] | null), timestampValue: number & (number | null) & [
|
|
24
|
+
number,
|
|
25
|
+
number
|
|
26
|
+
] & ([number, number] | null)) => void;
|
|
27
|
+
export declare type OnUpdateFormattedValueImpl = (value: string | [string, string] | null, timestampValue: number | [number, number] | null) => void;
|
|
28
|
+
export declare type OnUpdateValueImpl = (value: Value | null, formattedValue: string | [string, string] | null) => void;
|
|
14
29
|
export declare type OnPanelUpdateValue = (value: number & (number | null) & [
|
|
15
30
|
number,
|
|
16
31
|
number
|
|
@@ -44,7 +44,7 @@ function useCalendar(props, type) {
|
|
|
44
44
|
const yearArrayRef = computed(() => {
|
|
45
45
|
return yearArray(calendarValueRef.value, props.value, nowRef.value);
|
|
46
46
|
});
|
|
47
|
-
const
|
|
47
|
+
const quarterArrayRef = computed(() => {
|
|
48
48
|
return quarterArray(calendarValueRef.value, props.value, nowRef.value);
|
|
49
49
|
});
|
|
50
50
|
const weekdaysRef = computed(() => {
|
|
@@ -246,7 +246,7 @@ function useCalendar(props, type) {
|
|
|
246
246
|
panelCommon.clearPendingValue();
|
|
247
247
|
handleConfirmClick();
|
|
248
248
|
}
|
|
249
|
-
return Object.assign(Object.assign(Object.assign({ dateArray: dateArrayRef, monthArray: monthArrayRef, yearArray: yearArrayRef, quarterArray:
|
|
249
|
+
return Object.assign(Object.assign(Object.assign({ dateArray: dateArrayRef, monthArray: monthArrayRef, yearArray: yearArrayRef, quarterArray: quarterArrayRef, calendarYear: calendarYearRef, calendarMonth: calendarMonthRef, weekdays: weekdaysRef, mergedIsDateDisabled,
|
|
250
250
|
nextYear,
|
|
251
251
|
prevYear,
|
|
252
252
|
nextMonth,
|