tdesign-react 0.35.0-alpha.1 → 0.35.0-alpha.2
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/tdesign.css +70 -53
- package/dist/tdesign.css.map +1 -1
- package/dist/tdesign.js +1681 -1041
- package/dist/tdesign.js.map +1 -1
- package/dist/tdesign.min.css +1 -1
- package/dist/tdesign.min.css.map +1 -1
- package/dist/tdesign.min.js +4 -4
- package/dist/tdesign.min.js.map +1 -1
- package/{esm/_chunks/dep-22976878.js → es/_chunks/dep-2ed7eef7.js} +2 -2
- package/{esm/_chunks/dep-22976878.js.map → es/_chunks/dep-2ed7eef7.js.map} +1 -1
- package/es/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
- package/es/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
- package/es/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
- package/es/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
- package/es/addon/Addon.js +1 -1
- package/es/addon/Addon.js.map +1 -1
- package/es/calendar/Calendar.js +1 -1
- package/es/calendar/index.js +1 -1
- package/es/card/Card.js +1 -1
- package/es/card/Card.js.map +1 -1
- package/es/cascader/Cascader.js +1 -1
- package/es/cascader/components/Item.js +1 -1
- package/es/cascader/components/Panel.js +1 -1
- package/es/cascader/index.js +1 -1
- package/es/checkbox/Checkbox.js +1 -1
- package/es/checkbox/CheckboxGroup.js +1 -1
- package/es/checkbox/index.js +1 -1
- package/es/color-picker/ColorPicker.js +1 -1
- package/es/color-picker/ColorPickerPanel.js +1 -1
- package/es/color-picker/components/panel/header.js +1 -1
- package/es/color-picker/components/panel/index.js +1 -1
- package/es/color-picker/index.js +1 -1
- package/es/comment/Comment.js +1 -1
- package/es/comment/Comment.js.map +1 -1
- package/es/common/Check.js +1 -1
- package/es/common/Check.js.map +1 -1
- package/es/date-picker/DatePicker.js +23 -30
- package/es/date-picker/DatePicker.js.map +1 -1
- package/es/date-picker/DatePickerPanel.d.ts +7 -0
- package/es/date-picker/DatePickerPanel.js +349 -0
- package/es/date-picker/DatePickerPanel.js.map +1 -0
- package/es/date-picker/DateRangePicker.js +22 -15
- package/es/date-picker/DateRangePicker.js.map +1 -1
- package/es/date-picker/DateRangePickerPanel.d.ts +7 -0
- package/es/date-picker/DateRangePickerPanel.js +457 -0
- package/es/date-picker/DateRangePickerPanel.js.map +1 -0
- package/es/date-picker/base/Cell.d.ts +1 -1
- package/es/date-picker/base/Cell.js +5 -5
- package/es/date-picker/base/Cell.js.map +1 -1
- package/es/date-picker/base/Footer.js +3 -2
- package/es/date-picker/base/Footer.js.map +1 -1
- package/es/date-picker/base/Header.js +2 -2
- package/es/date-picker/base/Header.js.map +1 -1
- package/es/date-picker/base/Table.d.ts +3 -3
- package/es/date-picker/base/Table.js +2 -2
- package/es/date-picker/base/Table.js.map +1 -1
- package/es/date-picker/defaultProps.js +0 -2
- package/es/date-picker/defaultProps.js.map +1 -1
- package/es/date-picker/hooks/useFormat.d.ts +4 -1
- package/es/date-picker/hooks/useFormat.js +31 -19
- package/es/date-picker/hooks/useFormat.js.map +1 -1
- package/es/date-picker/hooks/useRange.d.ts +2 -2
- package/es/date-picker/hooks/useRange.js +52 -113
- package/es/date-picker/hooks/useRange.js.map +1 -1
- package/es/date-picker/hooks/useRangeValue.d.ts +24 -0
- package/es/date-picker/hooks/useRangeValue.js +156 -0
- package/es/date-picker/hooks/useRangeValue.js.map +1 -0
- package/es/date-picker/hooks/useSingle.d.ts +6 -10
- package/es/date-picker/hooks/useSingle.js +52 -72
- package/es/date-picker/hooks/useSingle.js.map +1 -1
- package/es/date-picker/hooks/useSingleValue.d.ts +14 -0
- package/es/date-picker/hooks/useSingleValue.js +101 -0
- package/es/date-picker/hooks/useSingleValue.js.map +1 -0
- package/es/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
- package/es/date-picker/{panel → hooks}/useTableData.js +0 -0
- package/es/date-picker/hooks/useTableData.js.map +1 -0
- package/es/date-picker/index.d.ts +4 -20
- package/es/date-picker/index.js +19 -15
- package/es/date-picker/index.js.map +1 -1
- package/es/date-picker/panel/ExtraContent.d.ts +2 -2
- package/es/date-picker/panel/ExtraContent.js +1 -1
- package/es/date-picker/panel/ExtraContent.js.map +1 -1
- package/es/date-picker/panel/PanelContent.d.ts +17 -17
- package/es/date-picker/panel/PanelContent.js +7 -6
- package/es/date-picker/panel/PanelContent.js.map +1 -1
- package/{lib/date-picker/panel/DateRangePickerPanel.d.ts → es/date-picker/panel/RangePanel.d.ts} +4 -12
- package/es/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
- package/es/date-picker/panel/RangePanel.js.map +1 -0
- package/es/date-picker/panel/{DatePickerPanel.d.ts → SinglePanel.d.ts} +5 -13
- package/es/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
- package/es/date-picker/panel/SinglePanel.js.map +1 -0
- package/es/date-picker/style/index.css +4 -4
- package/es/date-picker/type.d.ts +138 -9
- package/es/dialog/Dialog.js +1 -0
- package/es/dialog/Dialog.js.map +1 -1
- package/es/dialog/RenderDialog.js +44 -34
- package/es/dialog/RenderDialog.js.map +1 -1
- package/es/dialog/index.js +1 -0
- package/es/dialog/index.js.map +1 -1
- package/es/dialog/plugin.js +1 -0
- package/es/dialog/plugin.js.map +1 -1
- package/es/dialog/style/index.css +34 -23
- package/es/form/Form.js +6 -5
- package/es/form/Form.js.map +1 -1
- package/es/form/FormItem.js +5 -4
- package/es/form/FormItem.js.map +1 -1
- package/es/form/hooks/useFormItemStyle.js +5 -4
- package/es/form/hooks/useFormItemStyle.js.map +1 -1
- package/es/form/index.js +5 -4
- package/es/form/index.js.map +1 -1
- package/es/form/useInitialData.js +4 -3
- package/es/form/useInitialData.js.map +1 -1
- package/es/index.js +11 -6
- package/es/index.js.map +1 -1
- package/es/input/Input.js +1 -1
- package/es/input/Input.js.map +1 -1
- package/es/input/InputGroup.js +1 -1
- package/es/input/InputGroup.js.map +1 -1
- package/es/input-number/InputNumber.js +1 -1
- package/es/input-number/InputNumber.js.map +1 -1
- package/es/input-number/style/index.css +26 -26
- package/es/list/List.js +1 -1
- package/es/list/List.js.map +1 -1
- package/es/list/ListItem.js +1 -1
- package/es/list/ListItem.js.map +1 -1
- package/es/menu/HeadMenu.js +1 -1
- package/es/menu/HeadMenu.js.map +1 -1
- package/es/menu/Menu.js +1 -1
- package/es/menu/Menu.js.map +1 -1
- package/es/menu/MenuItem.js +1 -1
- package/es/menu/MenuItem.js.map +1 -1
- package/es/menu/SubMenu.js +2 -2
- package/es/menu/SubMenu.js.map +1 -1
- package/es/radio/Radio.js +1 -1
- package/es/radio/RadioGroup.js +1 -1
- package/es/radio/index.js +1 -1
- package/es/slider/Slider.js +1 -1
- package/es/slider/Slider.js.map +1 -1
- package/es/table/BaseTable.js +1 -0
- package/es/table/BaseTable.js.map +1 -1
- package/es/table/EnhancedTable.js +3 -2
- package/es/table/EnhancedTable.js.map +1 -1
- package/es/table/FilterController.js +2 -2
- package/es/table/PrimaryTable.js +3 -2
- package/es/table/PrimaryTable.js.map +1 -1
- package/es/table/TBody.js +6 -23
- package/es/table/TBody.js.map +1 -1
- package/es/table/TR.d.ts +2 -2
- package/es/table/TR.js +4 -14
- package/es/table/TR.js.map +1 -1
- package/es/table/hooks/useColumnController.js +1 -1
- package/es/table/hooks/useFilter.js +2 -2
- package/es/table/hooks/useRowSelect.js +2 -2
- package/es/table/hooks/useRowspanAndColspan.d.ts +10 -0
- package/es/table/hooks/useRowspanAndColspan.js +74 -0
- package/es/table/hooks/useRowspanAndColspan.js.map +1 -0
- package/es/table/index.js +3 -2
- package/es/table/index.js.map +1 -1
- package/es/table/style/index.css +6 -0
- package/es/textarea/Textarea.js +2 -2
- package/es/textarea/Textarea.js.map +1 -1
- package/es/transfer/Transfer.js +1 -1
- package/es/transfer/TransferList.js +1 -1
- package/es/transfer/index.js +1 -1
- package/es/tree/Tree.js +1 -1
- package/es/tree/TreeItem.js +1 -1
- package/es/tree/index.js +1 -1
- package/es/tree-select/TreeSelect.js +1 -1
- package/es/tree-select/index.js +1 -1
- package/es/upload/index.js +1 -0
- package/es/upload/index.js.map +1 -1
- package/es/upload/themes/image-card.js +1 -0
- package/es/upload/themes/image-card.js.map +1 -1
- package/es/upload/upload.js +1 -0
- package/es/upload/upload.js.map +1 -1
- package/{es/_chunks/dep-6e402ba5.js → esm/_chunks/dep-04427594.js} +2 -2
- package/{es/_chunks/dep-6e402ba5.js.map → esm/_chunks/dep-04427594.js.map} +1 -1
- package/esm/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
- package/esm/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
- package/esm/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
- package/esm/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
- package/esm/_common/style/web/components/date-picker-new/_index.less +4 -4
- package/esm/_common/style/web/components/dialog/_index.less +36 -23
- package/esm/_common/style/web/components/input-number/_index.less +4 -4
- package/esm/_common/style/web/components/table/_index.less +7 -0
- package/esm/addon/Addon.js +1 -1
- package/esm/addon/Addon.js.map +1 -1
- package/esm/calendar/Calendar.js +1 -1
- package/esm/calendar/index.js +1 -1
- package/esm/card/Card.js +1 -1
- package/esm/card/Card.js.map +1 -1
- package/esm/cascader/Cascader.js +1 -1
- package/esm/cascader/components/Item.js +1 -1
- package/esm/cascader/components/Panel.js +1 -1
- package/esm/cascader/index.js +1 -1
- package/esm/checkbox/Checkbox.js +1 -1
- package/esm/checkbox/CheckboxGroup.js +1 -1
- package/esm/checkbox/index.js +1 -1
- package/esm/color-picker/ColorPicker.js +1 -1
- package/esm/color-picker/ColorPickerPanel.js +1 -1
- package/esm/color-picker/components/panel/header.js +1 -1
- package/esm/color-picker/components/panel/index.js +1 -1
- package/esm/color-picker/index.js +1 -1
- package/esm/comment/Comment.js +1 -1
- package/esm/comment/Comment.js.map +1 -1
- package/esm/common/Check.js +1 -1
- package/esm/common/Check.js.map +1 -1
- package/esm/date-picker/DatePicker.js +23 -30
- package/esm/date-picker/DatePicker.js.map +1 -1
- package/esm/date-picker/DatePickerPanel.d.ts +7 -0
- package/esm/date-picker/DatePickerPanel.js +356 -0
- package/esm/date-picker/DatePickerPanel.js.map +1 -0
- package/esm/date-picker/DateRangePicker.js +22 -15
- package/esm/date-picker/DateRangePicker.js.map +1 -1
- package/esm/date-picker/DateRangePickerPanel.d.ts +7 -0
- package/esm/date-picker/DateRangePickerPanel.js +464 -0
- package/esm/date-picker/DateRangePickerPanel.js.map +1 -0
- package/esm/date-picker/base/Cell.d.ts +1 -1
- package/esm/date-picker/base/Cell.js +5 -5
- package/esm/date-picker/base/Cell.js.map +1 -1
- package/esm/date-picker/base/Footer.js +3 -2
- package/esm/date-picker/base/Footer.js.map +1 -1
- package/esm/date-picker/base/Header.js +2 -2
- package/esm/date-picker/base/Header.js.map +1 -1
- package/esm/date-picker/base/Table.d.ts +3 -3
- package/esm/date-picker/base/Table.js +2 -2
- package/esm/date-picker/base/Table.js.map +1 -1
- package/esm/date-picker/defaultProps.js +0 -2
- package/esm/date-picker/defaultProps.js.map +1 -1
- package/esm/date-picker/hooks/useFormat.d.ts +4 -1
- package/esm/date-picker/hooks/useFormat.js +31 -19
- package/esm/date-picker/hooks/useFormat.js.map +1 -1
- package/esm/date-picker/hooks/useRange.d.ts +2 -2
- package/esm/date-picker/hooks/useRange.js +52 -113
- package/esm/date-picker/hooks/useRange.js.map +1 -1
- package/esm/date-picker/hooks/useRangeValue.d.ts +24 -0
- package/esm/date-picker/hooks/useRangeValue.js +156 -0
- package/esm/date-picker/hooks/useRangeValue.js.map +1 -0
- package/esm/date-picker/hooks/useSingle.d.ts +6 -10
- package/esm/date-picker/hooks/useSingle.js +52 -72
- package/esm/date-picker/hooks/useSingle.js.map +1 -1
- package/esm/date-picker/hooks/useSingleValue.d.ts +14 -0
- package/esm/date-picker/hooks/useSingleValue.js +101 -0
- package/esm/date-picker/hooks/useSingleValue.js.map +1 -0
- package/esm/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
- package/esm/date-picker/{panel → hooks}/useTableData.js +0 -0
- package/esm/date-picker/hooks/useTableData.js.map +1 -0
- package/esm/date-picker/index.d.ts +4 -20
- package/esm/date-picker/index.js +20 -16
- package/esm/date-picker/index.js.map +1 -1
- package/esm/date-picker/panel/ExtraContent.d.ts +2 -2
- package/esm/date-picker/panel/ExtraContent.js +1 -1
- package/esm/date-picker/panel/ExtraContent.js.map +1 -1
- package/esm/date-picker/panel/PanelContent.d.ts +17 -17
- package/esm/date-picker/panel/PanelContent.js +7 -6
- package/esm/date-picker/panel/PanelContent.js.map +1 -1
- package/{es/date-picker/panel/DateRangePickerPanel.d.ts → esm/date-picker/panel/RangePanel.d.ts} +4 -12
- package/esm/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
- package/esm/date-picker/panel/RangePanel.js.map +1 -0
- package/{lib/date-picker/panel/DatePickerPanel.d.ts → esm/date-picker/panel/SinglePanel.d.ts} +5 -13
- package/esm/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
- package/esm/date-picker/panel/SinglePanel.js.map +1 -0
- package/esm/date-picker/type.d.ts +138 -9
- package/esm/dialog/Dialog.js +1 -0
- package/esm/dialog/Dialog.js.map +1 -1
- package/esm/dialog/RenderDialog.js +44 -34
- package/esm/dialog/RenderDialog.js.map +1 -1
- package/esm/dialog/index.js +1 -0
- package/esm/dialog/index.js.map +1 -1
- package/esm/dialog/plugin.js +1 -0
- package/esm/dialog/plugin.js.map +1 -1
- package/esm/form/Form.js +6 -5
- package/esm/form/Form.js.map +1 -1
- package/esm/form/FormItem.js +5 -4
- package/esm/form/FormItem.js.map +1 -1
- package/esm/form/hooks/useFormItemStyle.js +5 -4
- package/esm/form/hooks/useFormItemStyle.js.map +1 -1
- package/esm/form/index.js +5 -4
- package/esm/form/index.js.map +1 -1
- package/esm/form/useInitialData.js +4 -3
- package/esm/form/useInitialData.js.map +1 -1
- package/esm/index.js +11 -6
- package/esm/index.js.map +1 -1
- package/esm/input/Input.js +1 -1
- package/esm/input/Input.js.map +1 -1
- package/esm/input/InputGroup.js +1 -1
- package/esm/input/InputGroup.js.map +1 -1
- package/esm/input-number/InputNumber.js +1 -1
- package/esm/input-number/InputNumber.js.map +1 -1
- package/esm/list/List.js +1 -1
- package/esm/list/List.js.map +1 -1
- package/esm/list/ListItem.js +1 -1
- package/esm/list/ListItem.js.map +1 -1
- package/esm/menu/HeadMenu.js +1 -1
- package/esm/menu/HeadMenu.js.map +1 -1
- package/esm/menu/Menu.js +1 -1
- package/esm/menu/Menu.js.map +1 -1
- package/esm/menu/MenuItem.js +1 -1
- package/esm/menu/MenuItem.js.map +1 -1
- package/esm/menu/SubMenu.js +2 -2
- package/esm/menu/SubMenu.js.map +1 -1
- package/esm/radio/Radio.js +1 -1
- package/esm/radio/RadioGroup.js +1 -1
- package/esm/radio/index.js +1 -1
- package/esm/slider/Slider.js +1 -1
- package/esm/slider/Slider.js.map +1 -1
- package/esm/table/BaseTable.js +1 -0
- package/esm/table/BaseTable.js.map +1 -1
- package/esm/table/EnhancedTable.js +3 -2
- package/esm/table/EnhancedTable.js.map +1 -1
- package/esm/table/FilterController.js +2 -2
- package/esm/table/PrimaryTable.js +3 -2
- package/esm/table/PrimaryTable.js.map +1 -1
- package/esm/table/TBody.js +6 -23
- package/esm/table/TBody.js.map +1 -1
- package/esm/table/TR.d.ts +2 -2
- package/esm/table/TR.js +4 -14
- package/esm/table/TR.js.map +1 -1
- package/esm/table/hooks/useColumnController.js +1 -1
- package/esm/table/hooks/useFilter.js +2 -2
- package/esm/table/hooks/useRowSelect.js +2 -2
- package/esm/table/hooks/useRowspanAndColspan.d.ts +10 -0
- package/esm/table/hooks/useRowspanAndColspan.js +74 -0
- package/esm/table/hooks/useRowspanAndColspan.js.map +1 -0
- package/esm/table/index.js +3 -2
- package/esm/table/index.js.map +1 -1
- package/esm/textarea/Textarea.js +2 -2
- package/esm/textarea/Textarea.js.map +1 -1
- package/esm/transfer/Transfer.js +1 -1
- package/esm/transfer/TransferList.js +1 -1
- package/esm/transfer/index.js +1 -1
- package/esm/tree/Tree.js +1 -1
- package/esm/tree/TreeItem.js +1 -1
- package/esm/tree/index.js +1 -1
- package/esm/tree-select/TreeSelect.js +1 -1
- package/esm/tree-select/index.js +1 -1
- package/esm/upload/index.js +1 -0
- package/esm/upload/index.js.map +1 -1
- package/esm/upload/themes/image-card.js +1 -0
- package/esm/upload/themes/image-card.js.map +1 -1
- package/esm/upload/upload.js +1 -0
- package/esm/upload/upload.js.map +1 -1
- package/lib/_chunks/{dep-6f4603f8.js → dep-92e2ca45.js} +2 -2
- package/lib/_chunks/{dep-6f4603f8.js.map → dep-92e2ca45.js.map} +1 -1
- package/lib/_chunks/{dep-1b0236bc.js → dep-b8f2445b.js} +1 -1
- package/lib/_chunks/{dep-1b0236bc.js.map → dep-b8f2445b.js.map} +1 -1
- package/lib/_chunks/{dep-202d2d2a.js → dep-cd7ea040.js} +1 -1
- package/lib/_chunks/{dep-202d2d2a.js.map → dep-cd7ea040.js.map} +1 -1
- package/lib/addon/Addon.js +1 -1
- package/lib/addon/Addon.js.map +1 -1
- package/lib/calendar/Calendar.js +1 -1
- package/lib/calendar/index.js +1 -1
- package/lib/card/Card.js +1 -1
- package/lib/card/Card.js.map +1 -1
- package/lib/cascader/Cascader.js +1 -1
- package/lib/cascader/components/Item.js +1 -1
- package/lib/cascader/components/Panel.js +1 -1
- package/lib/cascader/index.js +1 -1
- package/lib/checkbox/Checkbox.js +1 -1
- package/lib/checkbox/CheckboxGroup.js +1 -1
- package/lib/checkbox/index.js +1 -1
- package/lib/color-picker/ColorPicker.js +1 -1
- package/lib/color-picker/ColorPickerPanel.js +1 -1
- package/lib/color-picker/components/panel/header.js +1 -1
- package/lib/color-picker/components/panel/index.js +1 -1
- package/lib/color-picker/index.js +1 -1
- package/lib/comment/Comment.js +1 -1
- package/lib/comment/Comment.js.map +1 -1
- package/lib/common/Check.js +1 -1
- package/lib/common/Check.js.map +1 -1
- package/lib/date-picker/DatePicker.js +21 -28
- package/lib/date-picker/DatePicker.js.map +1 -1
- package/lib/date-picker/DatePickerPanel.d.ts +7 -0
- package/lib/date-picker/DatePickerPanel.js +343 -0
- package/lib/date-picker/DatePickerPanel.js.map +1 -0
- package/lib/date-picker/DateRangePicker.js +22 -15
- package/lib/date-picker/DateRangePicker.js.map +1 -1
- package/lib/date-picker/DateRangePickerPanel.d.ts +7 -0
- package/lib/date-picker/DateRangePickerPanel.js +451 -0
- package/lib/date-picker/DateRangePickerPanel.js.map +1 -0
- package/lib/date-picker/base/Cell.d.ts +1 -1
- package/lib/date-picker/base/Cell.js +5 -5
- package/lib/date-picker/base/Cell.js.map +1 -1
- package/lib/date-picker/base/Footer.js +3 -2
- package/lib/date-picker/base/Footer.js.map +1 -1
- package/lib/date-picker/base/Header.js +2 -2
- package/lib/date-picker/base/Header.js.map +1 -1
- package/lib/date-picker/base/Table.d.ts +3 -3
- package/lib/date-picker/base/Table.js +2 -2
- package/lib/date-picker/base/Table.js.map +1 -1
- package/lib/date-picker/defaultProps.js +0 -2
- package/lib/date-picker/defaultProps.js.map +1 -1
- package/lib/date-picker/hooks/useFormat.d.ts +4 -1
- package/lib/date-picker/hooks/useFormat.js +31 -19
- package/lib/date-picker/hooks/useFormat.js.map +1 -1
- package/lib/date-picker/hooks/useRange.d.ts +2 -2
- package/lib/date-picker/hooks/useRange.js +52 -113
- package/lib/date-picker/hooks/useRange.js.map +1 -1
- package/lib/date-picker/hooks/useRangeValue.d.ts +24 -0
- package/lib/date-picker/hooks/useRangeValue.js +162 -0
- package/lib/date-picker/hooks/useRangeValue.js.map +1 -0
- package/lib/date-picker/hooks/useSingle.d.ts +6 -10
- package/lib/date-picker/hooks/useSingle.js +52 -72
- package/lib/date-picker/hooks/useSingle.js.map +1 -1
- package/lib/date-picker/hooks/useSingleValue.d.ts +14 -0
- package/lib/date-picker/hooks/useSingleValue.js +106 -0
- package/lib/date-picker/hooks/useSingleValue.js.map +1 -0
- package/lib/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
- package/lib/date-picker/{panel → hooks}/useTableData.js +0 -0
- package/lib/date-picker/hooks/useTableData.js.map +1 -0
- package/lib/date-picker/index.d.ts +4 -20
- package/lib/date-picker/index.js +20 -16
- package/lib/date-picker/index.js.map +1 -1
- package/lib/date-picker/panel/ExtraContent.d.ts +2 -2
- package/lib/date-picker/panel/ExtraContent.js +1 -1
- package/lib/date-picker/panel/ExtraContent.js.map +1 -1
- package/lib/date-picker/panel/PanelContent.d.ts +17 -17
- package/lib/date-picker/panel/PanelContent.js +7 -6
- package/lib/date-picker/panel/PanelContent.js.map +1 -1
- package/{esm/date-picker/panel/DateRangePickerPanel.d.ts → lib/date-picker/panel/RangePanel.d.ts} +4 -12
- package/lib/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +24 -18
- package/lib/date-picker/panel/RangePanel.js.map +1 -0
- package/{esm/date-picker/panel/DatePickerPanel.d.ts → lib/date-picker/panel/SinglePanel.d.ts} +5 -13
- package/lib/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
- package/lib/date-picker/panel/SinglePanel.js.map +1 -0
- package/lib/date-picker/type.d.ts +138 -9
- package/lib/dialog/Dialog.js +1 -0
- package/lib/dialog/Dialog.js.map +1 -1
- package/lib/dialog/RenderDialog.js +43 -33
- package/lib/dialog/RenderDialog.js.map +1 -1
- package/lib/dialog/index.js +1 -0
- package/lib/dialog/index.js.map +1 -1
- package/lib/dialog/plugin.js +1 -0
- package/lib/dialog/plugin.js.map +1 -1
- package/lib/form/Form.js +6 -5
- package/lib/form/Form.js.map +1 -1
- package/lib/form/FormItem.js +5 -4
- package/lib/form/FormItem.js.map +1 -1
- package/lib/form/hooks/useFormItemStyle.js +5 -4
- package/lib/form/hooks/useFormItemStyle.js.map +1 -1
- package/lib/form/index.js +5 -4
- package/lib/form/index.js.map +1 -1
- package/lib/form/useInitialData.js +4 -3
- package/lib/form/useInitialData.js.map +1 -1
- package/lib/index-lib.js +11 -6
- package/lib/index-lib.js.map +1 -1
- package/lib/index.js +11 -6
- package/lib/index.js.map +1 -1
- package/lib/input/Input.js +1 -1
- package/lib/input/Input.js.map +1 -1
- package/lib/input/InputGroup.js +1 -1
- package/lib/input/InputGroup.js.map +1 -1
- package/lib/input-number/InputNumber.js +1 -1
- package/lib/input-number/InputNumber.js.map +1 -1
- package/lib/list/List.js +1 -1
- package/lib/list/List.js.map +1 -1
- package/lib/list/ListItem.js +1 -1
- package/lib/list/ListItem.js.map +1 -1
- package/lib/menu/HeadMenu.js +1 -1
- package/lib/menu/HeadMenu.js.map +1 -1
- package/lib/menu/Menu.js +1 -1
- package/lib/menu/Menu.js.map +1 -1
- package/lib/menu/MenuItem.js +1 -1
- package/lib/menu/MenuItem.js.map +1 -1
- package/lib/menu/SubMenu.js +2 -2
- package/lib/menu/SubMenu.js.map +1 -1
- package/lib/radio/Radio.js +1 -1
- package/lib/radio/RadioGroup.js +1 -1
- package/lib/radio/index.js +1 -1
- package/lib/slider/Slider.js +1 -1
- package/lib/slider/Slider.js.map +1 -1
- package/lib/table/BaseTable.js +1 -0
- package/lib/table/BaseTable.js.map +1 -1
- package/lib/table/EnhancedTable.js +3 -2
- package/lib/table/EnhancedTable.js.map +1 -1
- package/lib/table/FilterController.js +2 -2
- package/lib/table/PrimaryTable.js +3 -2
- package/lib/table/PrimaryTable.js.map +1 -1
- package/lib/table/TBody.js +6 -23
- package/lib/table/TBody.js.map +1 -1
- package/lib/table/TR.d.ts +2 -2
- package/lib/table/TR.js +4 -14
- package/lib/table/TR.js.map +1 -1
- package/lib/table/hooks/useColumnController.js +1 -1
- package/lib/table/hooks/useFilter.js +2 -2
- package/lib/table/hooks/useRowSelect.js +2 -2
- package/lib/table/hooks/useRowspanAndColspan.d.ts +10 -0
- package/lib/table/hooks/useRowspanAndColspan.js +78 -0
- package/lib/table/hooks/useRowspanAndColspan.js.map +1 -0
- package/lib/table/index.js +3 -2
- package/lib/table/index.js.map +1 -1
- package/lib/textarea/Textarea.js +2 -2
- package/lib/textarea/Textarea.js.map +1 -1
- package/lib/transfer/Transfer.js +1 -1
- package/lib/transfer/TransferList.js +1 -1
- package/lib/transfer/index.js +1 -1
- package/lib/tree/Tree.js +1 -1
- package/lib/tree/TreeItem.js +1 -1
- package/lib/tree/index.js +1 -1
- package/lib/tree-select/TreeSelect.js +1 -1
- package/lib/tree-select/index.js +1 -1
- package/lib/upload/index.js +1 -0
- package/lib/upload/index.js.map +1 -1
- package/lib/upload/themes/image-card.js +1 -0
- package/lib/upload/themes/image-card.js.map +1 -1
- package/lib/upload/upload.js +1 -0
- package/lib/upload/upload.js.map +1 -1
- package/package.json +1 -1
- package/es/date-picker/panel/DatePickerPanel.js.map +0 -1
- package/es/date-picker/panel/DateRangePickerPanel.js.map +0 -1
- package/es/date-picker/panel/useTableData.js.map +0 -1
- package/esm/date-picker/panel/DatePickerPanel.js.map +0 -1
- package/esm/date-picker/panel/DateRangePickerPanel.js.map +0 -1
- package/esm/date-picker/panel/useTableData.js.map +0 -1
- package/lib/date-picker/panel/DatePickerPanel.js.map +0 -1
- package/lib/date-picker/panel/DateRangePickerPanel.js.map +0 -1
- package/lib/date-picker/panel/useTableData.js.map +0 -1
package/lib/slider/Slider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sources":["../../src/slider/Slider.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport { TdSliderProps } from './type';\nimport useConfig from '../_util/useConfig';\nimport useControlled from '../hooks/useControlled';\nimport { numberToPercent } from './utils/handleNumber';\nimport { StyledProps, TNode } from '../common';\nimport InputNumber from '../input-number/InputNumber';\nimport SliderHandleButton from './SliderHandleButton';\nimport { accAdd } from '../_util/number';\nimport { sliderDefaultProps } from './defaultProps';\n\nexport type SliderProps = TdSliderProps & StyledProps;\n\nconst LEFT_NODE = 0;\nconst RIGHT_NODE = 1;\ntype SliderHandleNode = typeof LEFT_NODE | typeof RIGHT_NODE;\n\nconst Slider = forwardRef((props: SliderProps, ref: React.Ref<HTMLDivElement>) => {\n const { classPrefix } = useConfig();\n const { disabled, inputNumberProps, label, layout, marks, max, min, range, step, tooltipProps, className, style } =\n props;\n\n const sliderRef = useRef<HTMLDivElement>();\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const isVertical = layout === 'vertical';\n\n const renderValue = Array.isArray(value) ? value : [min, value];\n const start = (renderValue[LEFT_NODE] - min) / (max - min);\n const width = (renderValue[RIGHT_NODE] - renderValue[LEFT_NODE]) / (max - min);\n const end = start + width;\n\n const dots: { value: number; label: TNode; position: number }[] = useMemo(() => {\n // 当 marks 为数字数组\n if (Array.isArray(marks)) {\n if (marks.some((mark) => typeof mark !== 'number')) {\n console.warn('The props \"marks\" only support number!');\n return [];\n }\n return marks.map((mark) => ({\n value: mark,\n position: (mark - min) / (max - min),\n label: mark,\n }));\n }\n // 当 marks 为对象\n if (marks && typeof marks === 'object') {\n const result = [];\n Object.keys(marks).forEach((key) => {\n const numberKey = Number(key);\n if (typeof numberKey !== 'number') {\n console.warn('The props \"marks\" key only support number!');\n } else {\n result.push({\n value: numberKey,\n label: marks[numberKey],\n position: (numberKey - min) / max,\n });\n }\n });\n return result;\n }\n return [];\n }, [max, min, marks]);\n\n const allDots = useMemo(() => {\n // 默认\n const result = [];\n for (let i = min; i <= max; i = accAdd(i, step)) {\n result.push({\n value: i,\n position: (i - min) / (max - min),\n });\n }\n return result;\n }, [max, min, step]);\n\n const startDirection = isVertical ? 'bottom' : 'left';\n const stepDirection = isVertical ? 'top' : 'left';\n const sizeKey = isVertical ? 'height' : 'width';\n const renderDots = isVertical ? dots.map((item) => ({ ...item, position: 1 - item.position })) : dots;\n\n const handleInputChange = (newValue: number, nodeIndex: SliderHandleNode) => {\n const safeValue = Number(newValue.toFixed(32));\n let resultValue = Math.max(Math.min(max, safeValue), min);\n // 判断是否出现左值大于右值\n if (nodeIndex === LEFT_NODE && safeValue > value[RIGHT_NODE]) resultValue = value[RIGHT_NODE];\n // 判断是否出现右值大于左值\n if (nodeIndex === RIGHT_NODE && safeValue < value[LEFT_NODE]) resultValue = value[LEFT_NODE];\n if (Array.isArray(value)) {\n const arrValue = value.slice();\n arrValue[nodeIndex] = resultValue;\n onChange(arrValue);\n } else {\n onChange(resultValue);\n }\n };\n\n const createInput = (nodeIndex: SliderHandleNode) => {\n const inputProps = typeof inputNumberProps === 'object' ? inputNumberProps : {};\n const currentValue = renderValue[nodeIndex];\n\n return (\n <InputNumber\n value={currentValue}\n onChange={(v: number) => {\n if (typeof v !== 'undefined') {\n handleInputChange(Number(v), nodeIndex);\n }\n }}\n className={classNames(`${classPrefix}-slider-input`, {\n 'is-vertical': isVertical,\n })}\n disabled={disabled}\n {...inputProps}\n theme=\"column\"\n />\n );\n };\n\n const nearbyValueChange = (value: number) => {\n const buttonBias =\n Math.abs(value - renderValue[LEFT_NODE]) > Math.abs(value - renderValue[RIGHT_NODE]) ? RIGHT_NODE : LEFT_NODE;\n handleInputChange(value, buttonBias);\n };\n\n const setPosition = (position: number, nodeIndex?: SliderHandleNode) => {\n let index = 0;\n let minDistance = 1;\n for (let i = 0; i < allDots.length; i++) {\n const diff = Math.abs(allDots[i].position - position);\n if (minDistance > diff) {\n index = i;\n minDistance = diff;\n }\n }\n const { value } = allDots[index];\n if (nodeIndex === undefined && range) {\n nearbyValueChange(value);\n } else {\n handleInputChange(value, nodeIndex);\n }\n };\n\n const onSliderChange = (event: React.MouseEvent | MouseEvent, nodeIndex?: SliderHandleNode) => {\n if (disabled) return;\n const clientKey = isVertical ? 'clientY' : 'clientX';\n const sliderPositionInfo = sliderRef.current.getBoundingClientRect();\n const sliderOffset = sliderPositionInfo[startDirection];\n const position = ((event[clientKey] - sliderOffset) / sliderPositionInfo[sizeKey]) * (isVertical ? -1 : 1);\n setPosition(position, nodeIndex);\n };\n\n const handleClickMarks = (event: React.MouseEvent, value: number) => {\n event.stopPropagation();\n nearbyValueChange(value);\n };\n\n const createHandleButton = (nodeIndex: SliderHandleNode, style: React.CSSProperties) => {\n const currentValue = renderValue[nodeIndex];\n // 模板替换\n let tipLabel: React.ReactNode = currentValue;\n if (isFunction(label))\n tipLabel = label({ value: currentValue, position: nodeIndex === LEFT_NODE ? 'start' : 'end' });\n if (isString(label)) tipLabel = label.replace(/\\$\\{value\\}/g, currentValue.toString());\n\n return (\n <SliderHandleButton\n toolTipProps={{\n content: tipLabel,\n ...tooltipProps,\n }}\n hideTips={label === false}\n classPrefix={classPrefix}\n style={style}\n onChange={(e) => onSliderChange(e, nodeIndex)}\n />\n );\n };\n\n return (\n <div\n style={{ ...style }}\n className={classNames(`${classPrefix}-slider__container`, {\n 'is-vertical': isVertical,\n })}\n ref={ref}\n >\n <div\n ref={sliderRef}\n className={classNames(className, `${classPrefix}-slider`, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-slider--vertical`]: isVertical,\n [`${classPrefix}-slider--with-input`]: inputNumberProps,\n })}\n onClick={onSliderChange}\n >\n <div className={classNames(`${classPrefix}-slider__rail`)}>\n <div\n style={{ [startDirection]: numberToPercent(start), [sizeKey]: numberToPercent(width) }}\n className={classNames(`${classPrefix}-slider__track`)}\n ></div>\n {range ? createHandleButton(LEFT_NODE, { [startDirection]: numberToPercent(start) }) : null}\n {createHandleButton(RIGHT_NODE, { [startDirection]: numberToPercent(end) })}\n <div>\n {renderDots.map(({ position, value }) => (\n <div\n key={value}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__stop`)}\n ></div>\n ))}\n </div>\n <div className={classNames(`${classPrefix}-slider__mark`)}>\n {renderDots.map(({ position, value, label }) => (\n <div\n key={value}\n onClick={(event) => handleClickMarks(event, value)}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__mark-text`)}\n >\n {label}\n </div>\n ))}\n </div>\n </div>\n </div>\n {inputNumberProps ? (\n <div\n className={classNames(`${classPrefix}-slider__input-container`, {\n 'is-vertical': isVertical,\n })}\n >\n {range && createInput(LEFT_NODE)}\n {range && <div className={`${classPrefix}-slider__center-line`}></div>}\n {createInput(RIGHT_NODE)}\n </div>\n ) : null}\n </div>\n );\n});\n\nSlider.displayName = 'Slider';\nSlider.defaultProps = sliderDefaultProps;\n\nexport default Slider;\n"],"names":["LEFT_NODE","RIGHT_NODE","Slider","forwardRef","props","ref","useConfig","classPrefix","disabled","inputNumberProps","label","layout","marks","max","min","range","step","tooltipProps","className","style","sliderRef","useRef","useControlled","onChange","_slicedToArray","value","isVertical","renderValue","Array","isArray","start","width","end","dots","useMemo","some","mark","console","warn","map","position","_typeof","result","Object","keys","forEach","key","numberKey","Number","push","allDots","i","accAdd","startDirection","stepDirection","sizeKey","renderDots","item","handleInputChange","newValue","nodeIndex","safeValue","toFixed","resultValue","Math","arrValue","slice","createInput","inputProps","currentValue","React","createElement","InputNumber","v","classNames","theme","nearbyValueChange","value2","buttonBias","abs","setPosition","index","minDistance","length","diff","onSliderChange","event","clientKey","sliderPositionInfo","current","getBoundingClientRect","sliderOffset","handleClickMarks","stopPropagation","createHandleButton","style2","tipLabel","isFunction","isString","replace","toString","SliderHandleButton","toolTipProps","content","hideTips","e","_defineProperty","onClick","numberToPercent","label2","displayName","defaultProps","sliderDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../src/slider/Slider.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport { TdSliderProps } from './type';\nimport useConfig from '../_util/useConfig';\nimport useControlled from '../hooks/useControlled';\nimport { numberToPercent } from './utils/handleNumber';\nimport { StyledProps, TNode } from '../common';\nimport InputNumber from '../input-number/InputNumber';\nimport SliderHandleButton from './SliderHandleButton';\nimport { accAdd } from '../_util/number';\nimport { sliderDefaultProps } from './defaultProps';\n\nexport type SliderProps = TdSliderProps & StyledProps;\n\nconst LEFT_NODE = 0;\nconst RIGHT_NODE = 1;\ntype SliderHandleNode = typeof LEFT_NODE | typeof RIGHT_NODE;\n\nconst Slider = forwardRef((props: SliderProps, ref: React.Ref<HTMLDivElement>) => {\n const { classPrefix } = useConfig();\n const { disabled, inputNumberProps, label, layout, marks, max, min, range, step, tooltipProps, className, style } =\n props;\n\n const sliderRef = useRef<HTMLDivElement>();\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const isVertical = layout === 'vertical';\n\n const renderValue = Array.isArray(value) ? value : [min, value];\n const start = (renderValue[LEFT_NODE] - min) / (max - min);\n const width = (renderValue[RIGHT_NODE] - renderValue[LEFT_NODE]) / (max - min);\n const end = start + width;\n\n const dots: { value: number; label: TNode; position: number }[] = useMemo(() => {\n // 当 marks 为数字数组\n if (Array.isArray(marks)) {\n if (marks.some((mark) => typeof mark !== 'number')) {\n console.warn('The props \"marks\" only support number!');\n return [];\n }\n return marks.map((mark) => ({\n value: mark,\n position: (mark - min) / (max - min),\n label: mark,\n }));\n }\n // 当 marks 为对象\n if (marks && typeof marks === 'object') {\n const result = [];\n Object.keys(marks).forEach((key) => {\n const numberKey = Number(key);\n if (typeof numberKey !== 'number') {\n console.warn('The props \"marks\" key only support number!');\n } else {\n result.push({\n value: numberKey,\n label: marks[numberKey],\n position: (numberKey - min) / max,\n });\n }\n });\n return result;\n }\n return [];\n }, [max, min, marks]);\n\n const allDots = useMemo(() => {\n // 默认\n const result = [];\n for (let i = min; i <= max; i = accAdd(i, step)) {\n result.push({\n value: i,\n position: (i - min) / (max - min),\n });\n }\n return result;\n }, [max, min, step]);\n\n const startDirection = isVertical ? 'bottom' : 'left';\n const stepDirection = isVertical ? 'top' : 'left';\n const sizeKey = isVertical ? 'height' : 'width';\n const renderDots = isVertical ? dots.map((item) => ({ ...item, position: 1 - item.position })) : dots;\n\n const handleInputChange = (newValue: number, nodeIndex: SliderHandleNode) => {\n const safeValue = Number(newValue.toFixed(32));\n let resultValue = Math.max(Math.min(max, safeValue), min);\n // 判断是否出现左值大于右值\n if (nodeIndex === LEFT_NODE && safeValue > value[RIGHT_NODE]) resultValue = value[RIGHT_NODE];\n // 判断是否出现右值大于左值\n if (nodeIndex === RIGHT_NODE && safeValue < value[LEFT_NODE]) resultValue = value[LEFT_NODE];\n if (Array.isArray(value)) {\n const arrValue = value.slice();\n arrValue[nodeIndex] = resultValue;\n onChange(arrValue);\n } else {\n onChange(resultValue);\n }\n };\n\n const createInput = (nodeIndex: SliderHandleNode) => {\n const inputProps = typeof inputNumberProps === 'object' ? inputNumberProps : {};\n const currentValue = renderValue[nodeIndex];\n\n return (\n <InputNumber\n value={currentValue}\n onChange={(v: number) => {\n if (typeof v !== 'undefined') {\n handleInputChange(Number(v), nodeIndex);\n }\n }}\n className={classNames(`${classPrefix}-slider-input`, {\n 'is-vertical': isVertical,\n })}\n disabled={disabled}\n {...inputProps}\n theme=\"column\"\n />\n );\n };\n\n const nearbyValueChange = (value: number) => {\n const buttonBias =\n Math.abs(value - renderValue[LEFT_NODE]) > Math.abs(value - renderValue[RIGHT_NODE]) ? RIGHT_NODE : LEFT_NODE;\n handleInputChange(value, buttonBias);\n };\n\n const setPosition = (position: number, nodeIndex?: SliderHandleNode) => {\n let index = 0;\n let minDistance = 1;\n for (let i = 0; i < allDots.length; i++) {\n const diff = Math.abs(allDots[i].position - position);\n if (minDistance > diff) {\n index = i;\n minDistance = diff;\n }\n }\n const { value } = allDots[index];\n if (nodeIndex === undefined && range) {\n nearbyValueChange(value);\n } else {\n handleInputChange(value, nodeIndex);\n }\n };\n\n const onSliderChange = (event: React.MouseEvent | MouseEvent, nodeIndex?: SliderHandleNode) => {\n if (disabled) return;\n const clientKey = isVertical ? 'clientY' : 'clientX';\n const sliderPositionInfo = sliderRef.current.getBoundingClientRect();\n const sliderOffset = sliderPositionInfo[startDirection];\n const position = ((event[clientKey] - sliderOffset) / sliderPositionInfo[sizeKey]) * (isVertical ? -1 : 1);\n setPosition(position, nodeIndex);\n };\n\n const handleClickMarks = (event: React.MouseEvent, value: number) => {\n event.stopPropagation();\n nearbyValueChange(value);\n };\n\n const createHandleButton = (nodeIndex: SliderHandleNode, style: React.CSSProperties) => {\n const currentValue = renderValue[nodeIndex];\n // 模板替换\n let tipLabel: React.ReactNode = currentValue;\n if (isFunction(label))\n tipLabel = label({ value: currentValue, position: nodeIndex === LEFT_NODE ? 'start' : 'end' });\n if (isString(label)) tipLabel = label.replace(/\\$\\{value\\}/g, currentValue.toString());\n\n return (\n <SliderHandleButton\n toolTipProps={{\n content: tipLabel,\n ...tooltipProps,\n }}\n hideTips={label === false}\n classPrefix={classPrefix}\n style={style}\n onChange={(e) => onSliderChange(e, nodeIndex)}\n />\n );\n };\n\n return (\n <div\n style={{ ...style }}\n className={classNames(`${classPrefix}-slider__container`, {\n 'is-vertical': isVertical,\n })}\n ref={ref}\n >\n <div\n ref={sliderRef}\n className={classNames(`${classPrefix}-slider`, className, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-slider--vertical`]: isVertical,\n [`${classPrefix}-slider--with-input`]: inputNumberProps,\n })}\n onClick={onSliderChange}\n >\n <div className={classNames(`${classPrefix}-slider__rail`)}>\n <div\n style={{ [startDirection]: numberToPercent(start), [sizeKey]: numberToPercent(width) }}\n className={classNames(`${classPrefix}-slider__track`)}\n ></div>\n {range ? createHandleButton(LEFT_NODE, { [startDirection]: numberToPercent(start) }) : null}\n {createHandleButton(RIGHT_NODE, { [startDirection]: numberToPercent(end) })}\n <div>\n {renderDots.map(({ position, value }) => (\n <div\n key={value}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__stop`)}\n ></div>\n ))}\n </div>\n <div className={classNames(`${classPrefix}-slider__mark`)}>\n {renderDots.map(({ position, value, label }) => (\n <div\n key={value}\n onClick={(event) => handleClickMarks(event, value)}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__mark-text`)}\n >\n {label}\n </div>\n ))}\n </div>\n </div>\n </div>\n {inputNumberProps ? (\n <div\n className={classNames(`${classPrefix}-slider__input-container`, {\n 'is-vertical': isVertical,\n })}\n >\n {range && createInput(LEFT_NODE)}\n {range && <div className={`${classPrefix}-slider__center-line`}></div>}\n {createInput(RIGHT_NODE)}\n </div>\n ) : null}\n </div>\n );\n});\n\nSlider.displayName = 'Slider';\nSlider.defaultProps = sliderDefaultProps;\n\nexport default Slider;\n"],"names":["LEFT_NODE","RIGHT_NODE","Slider","forwardRef","props","ref","useConfig","classPrefix","disabled","inputNumberProps","label","layout","marks","max","min","range","step","tooltipProps","className","style","sliderRef","useRef","useControlled","onChange","_slicedToArray","value","isVertical","renderValue","Array","isArray","start","width","end","dots","useMemo","some","mark","console","warn","map","position","_typeof","result","Object","keys","forEach","key","numberKey","Number","push","allDots","i","accAdd","startDirection","stepDirection","sizeKey","renderDots","item","handleInputChange","newValue","nodeIndex","safeValue","toFixed","resultValue","Math","arrValue","slice","createInput","inputProps","currentValue","React","createElement","InputNumber","v","classNames","theme","nearbyValueChange","value2","buttonBias","abs","setPosition","index","minDistance","length","diff","onSliderChange","event","clientKey","sliderPositionInfo","current","getBoundingClientRect","sliderOffset","handleClickMarks","stopPropagation","createHandleButton","style2","tipLabel","isFunction","isString","replace","toString","SliderHandleButton","toolTipProps","content","hideTips","e","_defineProperty","onClick","numberToPercent","label2","displayName","defaultProps","sliderDefaultProps"],"mappings":"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"}
|
package/lib/table/BaseTable.js
CHANGED
|
@@ -76,6 +76,7 @@ require('../_chunks/dep-d4a0b3f0.js');
|
|
|
76
76
|
require('../_chunks/dep-6dfb2577.js');
|
|
77
77
|
require('../_chunks/dep-3181fd9f.js');
|
|
78
78
|
require('../locale/LocalReceiver.js');
|
|
79
|
+
require('./hooks/useRowspanAndColspan.js');
|
|
79
80
|
require('../affix/Affix.js');
|
|
80
81
|
require('../affix/defaultProps.js');
|
|
81
82
|
require('./utils.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.js","sources":["../../src/table/BaseTable.tsx"],"sourcesContent":["import React, { useRef, useMemo, useImperativeHandle, forwardRef } from 'react';\nimport pick from 'lodash/pick';\nimport classNames from 'classnames';\n\nimport Loading from '../loading';\nimport TBody, { extendTableProps } from './TBody';\nimport { Affix } from '../affix';\nimport { ROW_LISTENERS } from './TR';\nimport THead from './THead';\nimport TFoot from './TFoot';\n\nimport useTableHeader from './hooks/useTableHeader';\nimport useFixed from './hooks/useFixed';\nimport usePagination from './hooks/usePagination';\nimport { BaseTableProps } from './interface';\nimport useStyle, { formatCSSUnit } from './hooks/useStyle';\nimport useClassName from './hooks/useClassName';\n\nimport { StyledProps } from '../common';\n\nexport const BASE_TABLE_EVENTS = ['page-change', 'cell-click', 'scroll', 'scrollX', 'scrollY'];\nexport const BASE_TABLE_ALL_EVENTS = ROW_LISTENERS.map((t) => `row-${t}`).concat(BASE_TABLE_EVENTS);\n\nexport interface TableListeners {\n [key: string]: Function;\n}\n\nexport interface TBaseTableProps extends BaseTableProps, StyledProps {}\n\nconst BaseTable = forwardRef((props: TBaseTableProps, ref) => {\n const { tableLayout, height, data, columns, style } = props;\n const tableRef = useRef<HTMLDivElement>();\n const tableElmRef = useRef<HTMLTableElement>();\n const { tableLayoutClasses, tableBaseClass, tableColFixedClasses } = useClassName();\n // 表格基础样式类\n const { tableClasses, tableContentStyles, tableElementStyles } = useStyle(props);\n // const [global] = useLocaleReceiver('table');\n // 固定表头和固定列逻辑\n const {\n affixHeaderRef,\n scrollbarWidth,\n // virtualScrollHeaderPos,\n tableWidth,\n tableContentRef,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n thWidthList,\n showColumnShadow,\n showAffixHeader,\n rowAndColFixedPosition,\n // refreshTable,\n onTableContentScroll,\n updateHeaderScroll,\n } = useFixed(props);\n const { isMultipleHeader, spansAndLeafNodes, thList } = useTableHeader({ columns: props.columns });\n const { dataSource, isPaginateData, renderPagination } = usePagination(props);\n\n const dynamicBaseTableClasses = classNames(\n tableClasses.concat({\n [tableBaseClass.headerFixed]: isFixedHeader,\n [tableBaseClass.columnFixed]: isFixedColumn,\n [tableBaseClass.widthOverflow]: isWidthOverflow,\n [tableBaseClass.multipleHeader]: isMultipleHeader,\n [tableColFixedClasses.leftShadow]: showColumnShadow.left,\n [tableColFixedClasses.rightShadow]: showColumnShadow.right,\n }),\n );\n\n const tableElmClasses = classNames([\n [tableLayoutClasses[tableLayout || 'fixed']],\n { [tableBaseClass.fullHeight]: height },\n ]);\n\n // const isVirtual = computed(() => type === 'virtual' && props.data?.length > (props.scroll?.threshold || 100));\n\n const showRightDivider = useMemo(\n () => props.bordered && isFixedHeader && ((isMultipleHeader && isWidthOverflow) || !isMultipleHeader),\n [isFixedHeader, isMultipleHeader, isWidthOverflow, props.bordered],\n );\n\n useImperativeHandle(ref, () => ({\n tableElement: tableRef.current,\n tableHtmlElement: tableElmRef.current,\n tableContentElement: tableContentRef.current,\n }));\n\n const onFixedChange = () => {\n const timer = setTimeout(() => {\n updateHeaderScroll();\n clearTimeout(timer);\n }, 0);\n };\n\n // const { type, rowHeight, bufferSize = 20, isFixedRowHeight = false } = props.scroll || {};\n // const { data } = toRefs<any>(props);\n\n // let lastScrollY = -1;\n const onInnerScroll = onTableContentScroll;\n\n const newData = isPaginateData ? dataSource : data;\n\n const defaultColWidth = props.tableLayout === 'fixed' && isWidthOverflow ? '100px' : undefined;\n const colgroup = (\n <colgroup>\n {(spansAndLeafNodes?.leafColumns || columns).map((col, index) => (\n <col key={col.colKey || index} style={{ width: formatCSSUnit(col.width) || defaultColWidth }}></col>\n ))}\n </colgroup>\n );\n\n const affixedHeader = Boolean(props.headerAffixedTop && tableWidth) && (\n <div\n ref={affixHeaderRef}\n style={{ width: `${tableWidth}px`, opacity: Number(showAffixHeader) }}\n className={classNames({ [tableBaseClass.affixedHeaderElm]: props.headerAffixedTop })}\n >\n <table className={classNames(tableElmClasses)} style={{ ...tableElementStyles, width: `${tableWidth}px` }}>\n {colgroup}\n <THead\n isFixedHeader={isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n isMultipleHeader={isMultipleHeader}\n bordered={props.bordered}\n spansAndLeafNodes={spansAndLeafNodes}\n thList={thList}\n thWidthList={thWidthList}\n />\n </table>\n </div>\n );\n\n // const translate = `translate(0, ${this.scrollHeight}px)`;\n // const virtualStyle = {\n // transform: translate,\n // '-ms-transform': translate,\n // '-moz-transform': translate,\n // '-webkit-transform': translate,\n // };\n const tableBodyProps = {\n rowAndColFixedPosition,\n showColumnShadow,\n // data: isVirtual ? visibleData : data,\n data: newData,\n columns: spansAndLeafNodes.leafColumns,\n scroll: props.scroll,\n tableElm: tableRef.current,\n tableContentElm: tableContentRef.current,\n tableWidth,\n isWidthOverflow,\n rowKey: props.rowKey || 'id',\n // 虚拟滚动相关属性\n // isVirtual,\n // translateY: translateY,\n // scrollType: scrollType,\n // rowHeight: rowHeight,\n // trs: trs,\n // bufferSize: bufferSize,\n // handleRowMounted: handleRowMounted,\n renderExpandedRow: props.renderExpandedRow,\n ...pick(props, extendTableProps),\n };\n const tableContent = (\n <div ref={tableContentRef} className={tableBaseClass.content} style={tableContentStyles} onScroll={onInnerScroll}>\n {/* {this.isVirtual && <div className={this.virtualScrollClasses.cursor} style={virtualStyle} />} */}\n <table ref={tableElmRef} className={classNames(tableElmClasses)} style={tableElementStyles}>\n {colgroup}\n <THead\n isFixedHeader={isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n isMultipleHeader={isMultipleHeader}\n bordered={props.bordered}\n spansAndLeafNodes={spansAndLeafNodes}\n thList={thList}\n />\n <TBody {...tableBodyProps} />\n <TFoot\n rowKey={props.rowKey}\n isFixedHeader={isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n footData={props.footData}\n columns={columns}\n rowAttributes={props.rowAttributes}\n rowClassName={props.rowClassName}\n ></TFoot>\n </table>\n </div>\n );\n\n const { loading, loadingProps } = props;\n const customLoadingText = loading;\n const loadingContent = loading !== undefined && (\n <Loading\n loading={!!loading}\n text={customLoadingText}\n attach={() => tableRef.current}\n showOverlay\n {...loadingProps}\n ></Loading>\n );\n\n const { topContent, bottomContent } = props;\n return (\n <div ref={tableRef} className={classNames(dynamicBaseTableClasses)} style={{ position: 'relative', ...style }}>\n {!!topContent && <div className={tableBaseClass.topContent}>{topContent}</div>}\n {!!props.headerAffixedTop &&\n (props.headerAffixedTop ? (\n <Affix offsetTop={0} {...props.headerAffixProps} onFixedChange={onFixedChange}>\n {affixedHeader}\n </Affix>\n ) : (\n isFixedHeader && affixedHeader\n ))}\n {tableContent}\n {loadingContent}\n {showRightDivider && (\n <div\n className={tableBaseClass.scrollbarDivider}\n style={{ right: `${scrollbarWidth}px`, height: `${tableContentRef.current?.offsetHeight}px` }}\n ></div>\n )}\n {!!bottomContent && <div className={tableBaseClass.bottomContent}>{bottomContent}</div>}\n {renderPagination()}\n </div>\n );\n});\n\nBaseTable.displayName = 'BaseTable';\n\nexport default BaseTable;\n"],"names":["BASE_TABLE_EVENTS","BASE_TABLE_ALL_EVENTS","ROW_LISTENERS","map","t","concat","BaseTable","forwardRef","props","ref","tableLayout","height","data","columns","style","tableRef","useRef","tableElmRef","useClassName","tableLayoutClasses","tableBaseClass","tableColFixedClasses","useStyle","tableClasses","tableContentStyles","tableElementStyles","useFixed","affixHeaderRef","scrollbarWidth","tableWidth","tableContentRef","isFixedHeader","isWidthOverflow","isFixedColumn","thWidthList","showColumnShadow","showAffixHeader","rowAndColFixedPosition","onTableContentScroll","updateHeaderScroll","useTableHeader","isMultipleHeader","spansAndLeafNodes","thList","usePagination","dataSource","isPaginateData","renderPagination","dynamicBaseTableClasses","classNames","headerFixed","_defineProperty","columnFixed","widthOverflow","multipleHeader","leftShadow","left","rightShadow","right","tableElmClasses","fullHeight","showRightDivider","useMemo","bordered","useImperativeHandle","tableElement","current","tableHtmlElement","tableContentElement","onFixedChange","timer","setTimeout","clearTimeout","onInnerScroll","newData","defaultColWidth","colgroup","React","createElement","leafColumns","col","index","key","colKey","width","formatCSSUnit","affixedHeader","Boolean","headerAffixedTop","opacity","Number","className","affixedHeaderElm","THead","tableBodyProps","scroll","tableElm","tableContentElm","rowKey","renderExpandedRow","pick","extendTableProps","tableContent","content","onScroll","TBody","TFoot","footData","rowAttributes","rowClassName","loading","loadingProps","customLoadingText","loadingContent","Loading","text","attach","showOverlay","topContent","bottomContent","position","Affix","offsetTop","headerAffixProps","scrollbarDivider","offsetHeight","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseTable.js","sources":["../../src/table/BaseTable.tsx"],"sourcesContent":["import React, { useRef, useMemo, useImperativeHandle, forwardRef } from 'react';\nimport pick from 'lodash/pick';\nimport classNames from 'classnames';\n\nimport Loading from '../loading';\nimport TBody, { extendTableProps } from './TBody';\nimport { Affix } from '../affix';\nimport { ROW_LISTENERS } from './TR';\nimport THead from './THead';\nimport TFoot from './TFoot';\n\nimport useTableHeader from './hooks/useTableHeader';\nimport useFixed from './hooks/useFixed';\nimport usePagination from './hooks/usePagination';\nimport { BaseTableProps } from './interface';\nimport useStyle, { formatCSSUnit } from './hooks/useStyle';\nimport useClassName from './hooks/useClassName';\n\nimport { StyledProps } from '../common';\n\nexport const BASE_TABLE_EVENTS = ['page-change', 'cell-click', 'scroll', 'scrollX', 'scrollY'];\nexport const BASE_TABLE_ALL_EVENTS = ROW_LISTENERS.map((t) => `row-${t}`).concat(BASE_TABLE_EVENTS);\n\nexport interface TableListeners {\n [key: string]: Function;\n}\n\nexport interface TBaseTableProps extends BaseTableProps, StyledProps {}\n\nconst BaseTable = forwardRef((props: TBaseTableProps, ref) => {\n const { tableLayout, height, data, columns, style } = props;\n const tableRef = useRef<HTMLDivElement>();\n const tableElmRef = useRef<HTMLTableElement>();\n const { tableLayoutClasses, tableBaseClass, tableColFixedClasses } = useClassName();\n // 表格基础样式类\n const { tableClasses, tableContentStyles, tableElementStyles } = useStyle(props);\n // const [global] = useLocaleReceiver('table');\n // 固定表头和固定列逻辑\n const {\n affixHeaderRef,\n scrollbarWidth,\n // virtualScrollHeaderPos,\n tableWidth,\n tableContentRef,\n isFixedHeader,\n isWidthOverflow,\n isFixedColumn,\n thWidthList,\n showColumnShadow,\n showAffixHeader,\n rowAndColFixedPosition,\n // refreshTable,\n onTableContentScroll,\n updateHeaderScroll,\n } = useFixed(props);\n const { isMultipleHeader, spansAndLeafNodes, thList } = useTableHeader({ columns: props.columns });\n const { dataSource, isPaginateData, renderPagination } = usePagination(props);\n\n const dynamicBaseTableClasses = classNames(\n tableClasses.concat({\n [tableBaseClass.headerFixed]: isFixedHeader,\n [tableBaseClass.columnFixed]: isFixedColumn,\n [tableBaseClass.widthOverflow]: isWidthOverflow,\n [tableBaseClass.multipleHeader]: isMultipleHeader,\n [tableColFixedClasses.leftShadow]: showColumnShadow.left,\n [tableColFixedClasses.rightShadow]: showColumnShadow.right,\n }),\n );\n\n const tableElmClasses = classNames([\n [tableLayoutClasses[tableLayout || 'fixed']],\n { [tableBaseClass.fullHeight]: height },\n ]);\n\n // const isVirtual = computed(() => type === 'virtual' && props.data?.length > (props.scroll?.threshold || 100));\n\n const showRightDivider = useMemo(\n () => props.bordered && isFixedHeader && ((isMultipleHeader && isWidthOverflow) || !isMultipleHeader),\n [isFixedHeader, isMultipleHeader, isWidthOverflow, props.bordered],\n );\n\n useImperativeHandle(ref, () => ({\n tableElement: tableRef.current,\n tableHtmlElement: tableElmRef.current,\n tableContentElement: tableContentRef.current,\n }));\n\n const onFixedChange = () => {\n const timer = setTimeout(() => {\n updateHeaderScroll();\n clearTimeout(timer);\n }, 0);\n };\n\n // const { type, rowHeight, bufferSize = 20, isFixedRowHeight = false } = props.scroll || {};\n // const { data } = toRefs<any>(props);\n\n // let lastScrollY = -1;\n const onInnerScroll = onTableContentScroll;\n\n const newData = isPaginateData ? dataSource : data;\n\n const defaultColWidth = props.tableLayout === 'fixed' && isWidthOverflow ? '100px' : undefined;\n const colgroup = (\n <colgroup>\n {(spansAndLeafNodes?.leafColumns || columns).map((col, index) => (\n <col key={col.colKey || index} style={{ width: formatCSSUnit(col.width) || defaultColWidth }}></col>\n ))}\n </colgroup>\n );\n\n const affixedHeader = Boolean(props.headerAffixedTop && tableWidth) && (\n <div\n ref={affixHeaderRef}\n style={{ width: `${tableWidth}px`, opacity: Number(showAffixHeader) }}\n className={classNames({ [tableBaseClass.affixedHeaderElm]: props.headerAffixedTop })}\n >\n <table className={classNames(tableElmClasses)} style={{ ...tableElementStyles, width: `${tableWidth}px` }}>\n {colgroup}\n <THead\n isFixedHeader={isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n isMultipleHeader={isMultipleHeader}\n bordered={props.bordered}\n spansAndLeafNodes={spansAndLeafNodes}\n thList={thList}\n thWidthList={thWidthList}\n />\n </table>\n </div>\n );\n\n // const translate = `translate(0, ${this.scrollHeight}px)`;\n // const virtualStyle = {\n // transform: translate,\n // '-ms-transform': translate,\n // '-moz-transform': translate,\n // '-webkit-transform': translate,\n // };\n const tableBodyProps = {\n rowAndColFixedPosition,\n showColumnShadow,\n // data: isVirtual ? visibleData : data,\n data: newData,\n columns: spansAndLeafNodes.leafColumns,\n scroll: props.scroll,\n tableElm: tableRef.current,\n tableContentElm: tableContentRef.current,\n tableWidth,\n isWidthOverflow,\n rowKey: props.rowKey || 'id',\n // 虚拟滚动相关属性\n // isVirtual,\n // translateY: translateY,\n // scrollType: scrollType,\n // rowHeight: rowHeight,\n // trs: trs,\n // bufferSize: bufferSize,\n // handleRowMounted: handleRowMounted,\n renderExpandedRow: props.renderExpandedRow,\n ...pick(props, extendTableProps),\n };\n const tableContent = (\n <div ref={tableContentRef} className={tableBaseClass.content} style={tableContentStyles} onScroll={onInnerScroll}>\n {/* {this.isVirtual && <div className={this.virtualScrollClasses.cursor} style={virtualStyle} />} */}\n <table ref={tableElmRef} className={classNames(tableElmClasses)} style={tableElementStyles}>\n {colgroup}\n <THead\n isFixedHeader={isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n isMultipleHeader={isMultipleHeader}\n bordered={props.bordered}\n spansAndLeafNodes={spansAndLeafNodes}\n thList={thList}\n />\n <TBody {...tableBodyProps} />\n <TFoot\n rowKey={props.rowKey}\n isFixedHeader={isFixedHeader}\n rowAndColFixedPosition={rowAndColFixedPosition}\n footData={props.footData}\n columns={columns}\n rowAttributes={props.rowAttributes}\n rowClassName={props.rowClassName}\n ></TFoot>\n </table>\n </div>\n );\n\n const { loading, loadingProps } = props;\n const customLoadingText = loading;\n const loadingContent = loading !== undefined && (\n <Loading\n loading={!!loading}\n text={customLoadingText}\n attach={() => tableRef.current}\n showOverlay\n {...loadingProps}\n ></Loading>\n );\n\n const { topContent, bottomContent } = props;\n return (\n <div ref={tableRef} className={classNames(dynamicBaseTableClasses)} style={{ position: 'relative', ...style }}>\n {!!topContent && <div className={tableBaseClass.topContent}>{topContent}</div>}\n {!!props.headerAffixedTop &&\n (props.headerAffixedTop ? (\n <Affix offsetTop={0} {...props.headerAffixProps} onFixedChange={onFixedChange}>\n {affixedHeader}\n </Affix>\n ) : (\n isFixedHeader && affixedHeader\n ))}\n {tableContent}\n {loadingContent}\n {showRightDivider && (\n <div\n className={tableBaseClass.scrollbarDivider}\n style={{ right: `${scrollbarWidth}px`, height: `${tableContentRef.current?.offsetHeight}px` }}\n ></div>\n )}\n {!!bottomContent && <div className={tableBaseClass.bottomContent}>{bottomContent}</div>}\n {renderPagination()}\n </div>\n );\n});\n\nBaseTable.displayName = 'BaseTable';\n\nexport default BaseTable;\n"],"names":["BASE_TABLE_EVENTS","BASE_TABLE_ALL_EVENTS","ROW_LISTENERS","map","t","concat","BaseTable","forwardRef","props","ref","tableLayout","height","data","columns","style","tableRef","useRef","tableElmRef","useClassName","tableLayoutClasses","tableBaseClass","tableColFixedClasses","useStyle","tableClasses","tableContentStyles","tableElementStyles","useFixed","affixHeaderRef","scrollbarWidth","tableWidth","tableContentRef","isFixedHeader","isWidthOverflow","isFixedColumn","thWidthList","showColumnShadow","showAffixHeader","rowAndColFixedPosition","onTableContentScroll","updateHeaderScroll","useTableHeader","isMultipleHeader","spansAndLeafNodes","thList","usePagination","dataSource","isPaginateData","renderPagination","dynamicBaseTableClasses","classNames","headerFixed","_defineProperty","columnFixed","widthOverflow","multipleHeader","leftShadow","left","rightShadow","right","tableElmClasses","fullHeight","showRightDivider","useMemo","bordered","useImperativeHandle","tableElement","current","tableHtmlElement","tableContentElement","onFixedChange","timer","setTimeout","clearTimeout","onInnerScroll","newData","defaultColWidth","colgroup","React","createElement","leafColumns","col","index","key","colKey","width","formatCSSUnit","affixedHeader","Boolean","headerAffixedTop","opacity","Number","className","affixedHeaderElm","THead","tableBodyProps","scroll","tableElm","tableContentElm","rowKey","renderExpandedRow","pick","extendTableProps","tableContent","content","onScroll","TBody","TFoot","footData","rowAttributes","rowClassName","loading","loadingProps","customLoadingText","loadingContent","Loading","text","attach","showOverlay","topContent","bottomContent","position","Affix","offsetTop","headerAffixProps","scrollbarDivider","offsetHeight","displayName"],"mappings":"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"}
|
|
@@ -96,6 +96,7 @@ require('../popup/defaultProps.js');
|
|
|
96
96
|
require('./hooks/useLazyLoad.js');
|
|
97
97
|
require('../_common/js/utils/observe.js');
|
|
98
98
|
require('../locale/LocalReceiver.js');
|
|
99
|
+
require('./hooks/useRowspanAndColspan.js');
|
|
99
100
|
require('../affix/index.js');
|
|
100
101
|
require('../affix/Affix.js');
|
|
101
102
|
require('../affix/defaultProps.js');
|
|
@@ -172,7 +173,7 @@ require('../_chunks/dep-3f9b5113.js');
|
|
|
172
173
|
require('../_chunks/dep-afd8013f.js');
|
|
173
174
|
require('../_chunks/dep-bb21921b.js');
|
|
174
175
|
require('../checkbox/index.js');
|
|
175
|
-
require('../_chunks/dep-
|
|
176
|
+
require('../_chunks/dep-cd7ea040.js');
|
|
176
177
|
require('../common/Check.js');
|
|
177
178
|
require('../checkbox/defaultProps.js');
|
|
178
179
|
require('../dialog/plugin.js');
|
|
@@ -184,7 +185,7 @@ require('../_util/useSetState.js');
|
|
|
184
185
|
require('./hooks/useRowExpand.js');
|
|
185
186
|
require('./hooks/useRowSelect.js');
|
|
186
187
|
require('../radio/index.js');
|
|
187
|
-
require('../_chunks/dep-
|
|
188
|
+
require('../_chunks/dep-b8f2445b.js');
|
|
188
189
|
require('../radio/defaultProps.js');
|
|
189
190
|
require('./hooks/useSorter.js');
|
|
190
191
|
require('./SorterButton.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnhancedTable.js","sources":["../../src/table/EnhancedTable.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle } from 'react';\nimport PrimaryTable from './PrimaryTable';\nimport { PrimaryTableCol, TableRowData, DragSortContext } from './type';\nimport useTreeData from './hooks/useTreeData';\nimport useTreeSelect from './hooks/useTreeSelect';\nimport { EnhancedTableProps, PrimaryTableProps } from './interface';\n\nimport { StyledProps } from '../common';\n\nexport interface TEnhancedTableProps extends EnhancedTableProps, StyledProps {}\n\nconst EnhancedTable = forwardRef((props: TEnhancedTableProps, ref) => {\n const { tree, columns, style, className } = props;\n\n // treeInstanceFunctions 属于对外暴露的 Ref 方法\n const { store, dataSource, formatTreeColumn, swapData, ...treeInstanceFunctions } = useTreeData(props);\n\n const treeDataMap = store?.treeDataMap;\n\n const { onInnerSelectChange } = useTreeSelect(props, treeDataMap);\n\n // 影响列和单元格内容的因素有:树形节点需要添加操作符 [+] [-]\n const getColumns = (columns: PrimaryTableCol<TableRowData>[]) => {\n const arr: PrimaryTableCol<TableRowData>[] = [];\n for (let i = 0, len = columns.length; i < len; i++) {\n let item = { ...columns[i] };\n item = formatTreeColumn(item);\n if (item.children?.length) {\n item.children = getColumns(item.children);\n }\n // 多级表头和自定义列配置特殊逻辑:要么子节点不存在,要么子节点长度大于 1,方便做自定义列配置\n if (!item.children || item.children?.length) {\n arr.push(item);\n }\n }\n return arr;\n };\n\n const tColumns = (() => {\n // 暂时只有树形结构需要处理 column.cell\n const isTreeData = !tree || !Object.keys(tree).length;\n return isTreeData ? columns : getColumns(columns);\n })();\n\n useImperativeHandle(ref, () => ({ ...treeInstanceFunctions }));\n\n const onDragSortChange = (params: DragSortContext<TableRowData>) => {\n if (props.beforeDragSort && !props.beforeDragSort(params)) return;\n swapData({\n data: params.data,\n current: params.current,\n target: params.target,\n currentIndex: params.currentIndex,\n targetIndex: params.targetIndex,\n });\n props.onDragSort?.(params);\n };\n\n const primaryTableProps: PrimaryTableProps = {\n ...props,\n data: dataSource,\n columns: tColumns,\n // 树形结构不允许本地数据分页\n disableDataPage: Boolean(tree && Object.keys(tree).length),\n onSelectChange: onInnerSelectChange,\n onDragSort: onDragSortChange,\n style,\n className,\n };\n return <PrimaryTable {...primaryTableProps} />;\n});\n\nEnhancedTable.displayName = 'EnhancedTable';\n\nexport default EnhancedTable;\n"],"names":["EnhancedTable","forwardRef","props","ref","tree","columns","style","className","useTreeData","store","dataSource","formatTreeColumn","swapData","treeInstanceFunctions","_objectWithoutProperties","treeDataMap","useTreeSelect","onInnerSelectChange","getColumns","columns2","arr","i","len","length","item","children","push","tColumns","isTreeData","Object","keys","useImperativeHandle","onDragSortChange","params","beforeDragSort","data","current","target","currentIndex","targetIndex","onDragSort","primaryTableProps","disableDataPage","Boolean","onSelectChange","React","createElement","PrimaryTable","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EnhancedTable.js","sources":["../../src/table/EnhancedTable.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle } from 'react';\nimport PrimaryTable from './PrimaryTable';\nimport { PrimaryTableCol, TableRowData, DragSortContext } from './type';\nimport useTreeData from './hooks/useTreeData';\nimport useTreeSelect from './hooks/useTreeSelect';\nimport { EnhancedTableProps, PrimaryTableProps } from './interface';\n\nimport { StyledProps } from '../common';\n\nexport interface TEnhancedTableProps extends EnhancedTableProps, StyledProps {}\n\nconst EnhancedTable = forwardRef((props: TEnhancedTableProps, ref) => {\n const { tree, columns, style, className } = props;\n\n // treeInstanceFunctions 属于对外暴露的 Ref 方法\n const { store, dataSource, formatTreeColumn, swapData, ...treeInstanceFunctions } = useTreeData(props);\n\n const treeDataMap = store?.treeDataMap;\n\n const { onInnerSelectChange } = useTreeSelect(props, treeDataMap);\n\n // 影响列和单元格内容的因素有:树形节点需要添加操作符 [+] [-]\n const getColumns = (columns: PrimaryTableCol<TableRowData>[]) => {\n const arr: PrimaryTableCol<TableRowData>[] = [];\n for (let i = 0, len = columns.length; i < len; i++) {\n let item = { ...columns[i] };\n item = formatTreeColumn(item);\n if (item.children?.length) {\n item.children = getColumns(item.children);\n }\n // 多级表头和自定义列配置特殊逻辑:要么子节点不存在,要么子节点长度大于 1,方便做自定义列配置\n if (!item.children || item.children?.length) {\n arr.push(item);\n }\n }\n return arr;\n };\n\n const tColumns = (() => {\n // 暂时只有树形结构需要处理 column.cell\n const isTreeData = !tree || !Object.keys(tree).length;\n return isTreeData ? columns : getColumns(columns);\n })();\n\n useImperativeHandle(ref, () => ({ ...treeInstanceFunctions }));\n\n const onDragSortChange = (params: DragSortContext<TableRowData>) => {\n if (props.beforeDragSort && !props.beforeDragSort(params)) return;\n swapData({\n data: params.data,\n current: params.current,\n target: params.target,\n currentIndex: params.currentIndex,\n targetIndex: params.targetIndex,\n });\n props.onDragSort?.(params);\n };\n\n const primaryTableProps: PrimaryTableProps = {\n ...props,\n data: dataSource,\n columns: tColumns,\n // 树形结构不允许本地数据分页\n disableDataPage: Boolean(tree && Object.keys(tree).length),\n onSelectChange: onInnerSelectChange,\n onDragSort: onDragSortChange,\n style,\n className,\n };\n return <PrimaryTable {...primaryTableProps} />;\n});\n\nEnhancedTable.displayName = 'EnhancedTable';\n\nexport default EnhancedTable;\n"],"names":["EnhancedTable","forwardRef","props","ref","tree","columns","style","className","useTreeData","store","dataSource","formatTreeColumn","swapData","treeInstanceFunctions","_objectWithoutProperties","treeDataMap","useTreeSelect","onInnerSelectChange","getColumns","columns2","arr","i","len","length","item","children","push","tColumns","isTreeData","Object","keys","useImperativeHandle","onDragSortChange","params","beforeDragSort","data","current","target","currentIndex","targetIndex","onDragSort","primaryTableProps","disableDataPage","Boolean","onSelectChange","React","createElement","PrimaryTable","displayName"],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ require('../_chunks/dep-85b3eaa4.js');
|
|
|
71
71
|
require('../_chunks/dep-e19f22f6.js');
|
|
72
72
|
require('../_util/useWindowSize.js');
|
|
73
73
|
require('../popup/defaultProps.js');
|
|
74
|
-
require('../_chunks/dep-
|
|
74
|
+
require('../_chunks/dep-cd7ea040.js');
|
|
75
75
|
require('../_util/forwardRefWithStatics.js');
|
|
76
76
|
require('hoist-non-react-statics');
|
|
77
77
|
require('../common/Check.js');
|
|
@@ -80,7 +80,7 @@ require('../_util/helper.js');
|
|
|
80
80
|
require('../_chunks/dep-e3db5727.js');
|
|
81
81
|
require('../_chunks/dep-bc80a1a5.js');
|
|
82
82
|
require('../checkbox/defaultProps.js');
|
|
83
|
-
require('../_chunks/dep-
|
|
83
|
+
require('../_chunks/dep-b8f2445b.js');
|
|
84
84
|
require('../_util/useCommonClassName.js');
|
|
85
85
|
require('../radio/defaultProps.js');
|
|
86
86
|
require('../input/Input.js');
|
|
@@ -102,6 +102,7 @@ require('../popup/defaultProps.js');
|
|
|
102
102
|
require('./hooks/useLazyLoad.js');
|
|
103
103
|
require('../_common/js/utils/observe.js');
|
|
104
104
|
require('../locale/LocalReceiver.js');
|
|
105
|
+
require('./hooks/useRowspanAndColspan.js');
|
|
105
106
|
require('../affix/index.js');
|
|
106
107
|
require('../affix/Affix.js');
|
|
107
108
|
require('../affix/defaultProps.js');
|
|
@@ -176,7 +177,7 @@ require('../_chunks/dep-3f9b5113.js');
|
|
|
176
177
|
require('../_chunks/dep-afd8013f.js');
|
|
177
178
|
require('../_chunks/dep-bb21921b.js');
|
|
178
179
|
require('../checkbox/index.js');
|
|
179
|
-
require('../_chunks/dep-
|
|
180
|
+
require('../_chunks/dep-cd7ea040.js');
|
|
180
181
|
require('../common/Check.js');
|
|
181
182
|
require('../checkbox/defaultProps.js');
|
|
182
183
|
require('../dialog/plugin.js');
|
|
@@ -186,7 +187,7 @@ require('../_util/useDialogEsc.js');
|
|
|
186
187
|
require('../dialog/defaultProps.js');
|
|
187
188
|
require('../_util/useSetState.js');
|
|
188
189
|
require('../radio/index.js');
|
|
189
|
-
require('../_chunks/dep-
|
|
190
|
+
require('../_chunks/dep-b8f2445b.js');
|
|
190
191
|
require('../radio/defaultProps.js');
|
|
191
192
|
require('./SorterButton.js');
|
|
192
193
|
require('../tooltip/index.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimaryTable.js","sources":["../../src/table/PrimaryTable.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport get from 'lodash/get';\nimport classNames from 'classnames';\nimport BaseTable from './BaseTable';\nimport useColumnController from './hooks/useColumnController';\nimport useRowExpand from './hooks/useRowExpand';\nimport useTableHeader, { renderTitle } from './hooks/useTableHeader';\nimport useRowSelect from './hooks/useRowSelect';\nimport { TdPrimaryTableProps, PrimaryTableCol, TableRowData, PrimaryTableCellParams } from './type';\nimport useSorter from './hooks/useSorter';\nimport useFilter from './hooks/useFilter';\nimport useDragSort from './hooks/useDragSort';\nimport useAsyncLoading from './hooks/useAsyncLoading';\nimport { PageInfo } from '../pagination';\nimport useClassName from './hooks/useClassName';\nimport { BaseTableProps, PrimaryTableProps } from './interface';\nimport EditableCell from './EditableCell';\n\nimport { StyledProps } from '../common';\n\nexport { BASE_TABLE_ALL_EVENTS } from './BaseTable';\n\nexport interface TPrimaryTableProps extends PrimaryTableProps, StyledProps {}\nexport default function PrimaryTable(props: TPrimaryTableProps) {\n const { columns, columnController, style, className } = props;\n const primaryTableRef = useRef(null);\n const { tableDraggableClasses, tableBaseClass } = useClassName();\n // 自定义列配置功能\n const { tDisplayColumns, renderColumnController } = useColumnController(props);\n // 展开/收起行功能\n const { showExpandedRow, showExpandIconColumn, getExpandColumn, renderExpandedRow, onInnerExpandRowClick } =\n useRowExpand(props);\n // 排序功能\n const { renderSortIcon } = useSorter(props);\n // 行选中功能\n const { formatToRowSelectColumn, selectedRowClassNames } = useRowSelect(props);\n // 过滤功能\n const { hasEmptyCondition, isTableOverflowHidden, renderFilterIcon, renderFirstFilterRow } = useFilter(\n props,\n primaryTableRef,\n );\n // 拖拽排序功能\n const { isRowHandlerDraggable, isRowDraggable, isColDraggable } = useDragSort(props, primaryTableRef);\n\n const { renderTitleWidthIcon } = useTableHeader({ columns: props.columns });\n const { renderAsyncLoading } = useAsyncLoading(props);\n const primaryTableClasses = {\n [tableDraggableClasses.colDraggable]: isColDraggable,\n [tableDraggableClasses.rowHandlerDraggable]: isRowHandlerDraggable,\n [tableDraggableClasses.rowDraggable]: isRowDraggable,\n [tableBaseClass.overflowVisible]: isTableOverflowHidden === false,\n };\n\n // 如果想给 TR 添加类名,请在这里补充,不要透传更多额外 Props 到 BaseTable\n const tRowClassNames = (() => {\n const tClassNames = [props.rowClassName, selectedRowClassNames];\n return tClassNames.filter((v) => v);\n })();\n\n // 如果想给 TR 添加属性,请在这里补充,不要透传更多额外 Props 到 BaseTable\n const tRowAttributes = (() => {\n const tAttributes = [props.rowAttributes];\n if (isRowHandlerDraggable || isRowDraggable) {\n tAttributes.push(({ row }) => ({ 'data-id': get(row, props.rowKey || 'id') }));\n }\n return tAttributes.filter((v) => v);\n })();\n\n // 1. 影响列数量的因素有:自定义列配置、展开/收起行、多级表头;2. 影响表头内容的因素有:排序图标、筛选图标\n const getColumns = (columns: PrimaryTableCol<TableRowData>[]) => {\n const arr: PrimaryTableCol<TableRowData>[] = [];\n for (let i = 0, len = columns.length; i < len; i++) {\n let item = { ...columns[i] };\n // 自定义列显示控制\n const isDisplayColumn = item.children?.length || tDisplayColumns?.includes(item.colKey);\n if (!isDisplayColumn && props.columnController && tDisplayColumns) continue;\n item = formatToRowSelectColumn(item);\n // 添加排序图标和过滤图标\n if (item.sorter || item.filter) {\n const titleContent = renderTitle(item, i);\n const { ellipsisTitle } = item;\n item.title = (p) => {\n const sortIcon = item.sorter ? renderSortIcon(p) : null;\n const filterIcon = item.filter ? renderFilterIcon(p) : null;\n const attach = primaryTableRef.current?.tableContentRef;\n return renderTitleWidthIcon([titleContent, sortIcon, filterIcon], p.col, p.colIndex, ellipsisTitle, attach);\n };\n item.ellipsisTitle = false;\n }\n // 如果是单元格可编辑状态\n if (item.edit?.component) {\n const oldCell = item.cell;\n item.cell = (p: PrimaryTableCellParams<TableRowData>) => <EditableCell {...p} oldCell={oldCell} />;\n }\n if (item.children?.length) {\n item.children = getColumns(item.children);\n }\n // 多级表头和自定义列配置特殊逻辑:要么子节点不存在,要么子节点长度大于 1,方便做自定义列配置\n if (!item.children || item.children?.length) {\n arr.push(item);\n }\n }\n return arr;\n };\n\n const tColumns = (() => {\n const cols = getColumns(columns);\n if (showExpandIconColumn) {\n cols.unshift(getExpandColumn());\n }\n return cols;\n })();\n\n const onInnerPageChange = (pageInfo: PageInfo, newData: Array<TableRowData>) => {\n props.onPageChange?.(pageInfo, newData);\n const changeParams: Parameters<TdPrimaryTableProps['onChange']> = [\n { pagination: pageInfo },\n { trigger: 'pagination', currentData: newData },\n ];\n props.onChange?.(...changeParams);\n };\n\n function formatNode(api: string, renderInnerNode: Function, condition: boolean, extra?: { reverse?: boolean }) {\n if (!condition) return props[api];\n const innerNode = renderInnerNode();\n const propsNode = props[api];\n if (innerNode && !propsNode) return innerNode;\n if (propsNode && !innerNode) return propsNode;\n if (innerNode && propsNode) {\n return extra?.reverse ? (\n <div>\n {innerNode}\n {propsNode}\n </div>\n ) : (\n <div>\n {propsNode}\n {innerNode}\n </div>\n );\n }\n return null;\n }\n\n const isColumnController = !!(columnController && Object.keys(columnController).length);\n const placement = isColumnController ? columnController.placement || 'top-right' : '';\n const isBottomController = isColumnController && placement?.indexOf('bottom') !== -1;\n const topContent = formatNode('topContent', renderColumnController, isColumnController && !isBottomController);\n const bottomContent = formatNode('bottomContent', renderColumnController, isBottomController, {\n reverse: true,\n });\n const firstFullRow = formatNode('firstFullRow', renderFirstFilterRow, !hasEmptyCondition);\n const lastFullRow = formatNode('lastFullRow', renderAsyncLoading, !!props.asyncLoading);\n\n const baseTableProps = {\n ...props,\n rowClassName: tRowClassNames,\n rowAttributes: tRowAttributes,\n columns: tColumns,\n topContent,\n bottomContent,\n firstFullRow,\n lastFullRow,\n onPageChange: onInnerPageChange,\n renderExpandedRow: showExpandedRow ? renderExpandedRow : undefined,\n } as BaseTableProps;\n\n if (props.expandOnRowClick) {\n baseTableProps.onRowClick = onInnerExpandRowClick;\n }\n\n return (\n <BaseTable\n ref={primaryTableRef}\n {...baseTableProps}\n className={classNames(primaryTableClasses, className)}\n style={style}\n />\n );\n}\n\nPrimaryTable.displayName = 'PrimaryTable';\n"],"names":["PrimaryTable","props","columns","columnController","style","className","primaryTableRef","useRef","useClassName","tableDraggableClasses","tableBaseClass","useColumnController","tDisplayColumns","renderColumnController","useRowExpand","showExpandedRow","showExpandIconColumn","getExpandColumn","renderExpandedRow","onInnerExpandRowClick","useSorter","renderSortIcon","useRowSelect","formatToRowSelectColumn","selectedRowClassNames","useFilter","hasEmptyCondition","isTableOverflowHidden","renderFilterIcon","renderFirstFilterRow","useDragSort","isRowHandlerDraggable","isRowDraggable","isColDraggable","useTableHeader","renderTitleWidthIcon","useAsyncLoading","renderAsyncLoading","primaryTableClasses","colDraggable","rowHandlerDraggable","rowDraggable","overflowVisible","tRowClassNames","tClassNames","rowClassName","filter","v","tRowAttributes","tAttributes","rowAttributes","push","row","get","rowKey","getColumns","columns2","arr","i","len","item","isDisplayColumn","children","length","includes","colKey","sorter","titleContent","renderTitle","ellipsisTitle","title","p","sortIcon","filterIcon","attach","current","tableContentRef","col","colIndex","edit","component","oldCell","cell","React","createElement","EditableCell","tColumns","cols","unshift","onInnerPageChange","pageInfo","newData","onPageChange","changeParams","pagination","trigger","currentData","onChange","formatNode","api","renderInnerNode","condition","extra","innerNode","propsNode","reverse","isColumnController","Object","keys","placement","isBottomController","indexOf","topContent","bottomContent","firstFullRow","lastFullRow","asyncLoading","baseTableProps","expandOnRowClick","onRowClick","BaseTable","ref","classNames","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAee,SAASA,YAAT,CAAsBC,KAAtB,EAA6B;AAAA,EAAA,IAAA,oBAAA,CAAA;;AAC1C,EAAA,IAAQC,OAAR,GAAwDD,KAAxD,CAAQC,OAAR;AAAA,MAAiBC,gBAAjB,GAAwDF,KAAxD,CAAiBE,gBAAjB;AAAA,MAAmCC,KAAnC,GAAwDH,KAAxD,CAAmCG,KAAnC;AAAA,MAA0CC,SAA1C,GAAwDJ,KAAxD,CAA0CI,SAA1C,CAAA;AACA,EAAA,IAAMC,eAAe,GAAGC,YAAM,CAAC,IAAD,CAA9B,CAAA;;AACA,EAAA,IAAA,aAAA,GAAkDC,mCAAY,EAA9D;MAAQC,qBAAR,iBAAQA,qBAAR;MAA+BC,cAA/B,iBAA+BA,cAA/B,CAAA;;EACA,IAAoDC,oBAAAA,GAAAA,0CAAmB,CAACV,KAAD,CAAvE;MAAQW,eAAR,wBAAQA,eAAR;MAAyBC,sBAAzB,wBAAyBA,sBAAzB,CAAA;;EACA,IAA6GC,aAAAA,GAAAA,mCAAY,CAACb,KAAD,CAAzH;MAAQc,eAAR,iBAAQA,eAAR;MAAyBC,oBAAzB,iBAAyBA,oBAAzB;MAA+CC,eAA/C,iBAA+CA,eAA/C;MAAgEC,iBAAhE,iBAAgEA,iBAAhE;MAAmFC,qBAAnF,iBAAmFA,qBAAnF,CAAA;;EACA,IAA2BC,UAAAA,GAAAA,gCAAS,CAACnB,KAAD,CAApC;MAAQoB,cAAR,cAAQA,cAAR,CAAA;;EACA,IAA2DC,aAAAA,GAAAA,mCAAY,CAACrB,KAAD,CAAvE;MAAQsB,uBAAR,iBAAQA,uBAAR;MAAiCC,qBAAjC,iBAAiCA,qBAAjC,CAAA;;AACA,EAAA,IAAA,UAAA,GAA6FC,gCAAS,CAACxB,KAAD,EAAQK,eAAR,CAAtG;MAAQoB,iBAAR,cAAQA,iBAAR;MAA2BC,qBAA3B,cAA2BA,qBAA3B;MAAkDC,gBAAlD,cAAkDA,gBAAlD;MAAoEC,oBAApE,cAAoEA,oBAApE,CAAA;;AACA,EAAA,IAAA,YAAA,GAAkEC,kCAAW,CAAC7B,KAAD,EAAQK,eAAR,CAA7E;MAAQyB,qBAAR,gBAAQA,qBAAR;MAA+BC,cAA/B,gBAA+BA,cAA/B;MAA+CC,cAA/C,gBAA+CA,cAA/C,CAAA;;AACA,EAAA,IAAA,eAAA,GAAiCC,qCAAc,CAAC;IAAEhC,OAAO,EAAED,KAAK,CAACC,OAAAA;AAAjB,GAAD,CAA/C;MAAQiC,oBAAR,mBAAQA,oBAAR,CAAA;;EACA,IAA+BC,gBAAAA,GAAAA,sCAAe,CAACnC,KAAD,CAA9C;MAAQoC,kBAAR,oBAAQA,kBAAR,CAAA;;EACA,IAAMC,mBAAmB,IACtB7B,oBAAAA,GAAAA,EAAAA,EAAAA,8BAAAA,CAAAA,oBAAAA,EAAAA,qBAAqB,CAAC8B,YADA,EACeN,cADf,CAEtBxB,EAAAA,8BAAAA,CAAAA,oBAAAA,EAAAA,qBAAqB,CAAC+B,mBAFA,EAEsBT,qBAFtB,CAGtBtB,EAAAA,8BAAAA,CAAAA,oBAAAA,EAAAA,qBAAqB,CAACgC,YAHA,EAGeT,cAHf,CAItBtB,EAAAA,8BAAAA,CAAAA,oBAAAA,EAAAA,cAAc,CAACgC,eAJO,EAIWf,qBAAqB,KAAK,KAJrC,CAAzB,EAAA,oBAAA,CAAA,CAAA;;EAMA,IAAMgB,cAAc,GAAI,YAAM;IAC5B,IAAMC,WAAW,GAAG,CAAC3C,KAAK,CAAC4C,YAAP,EAAqBrB,qBAArB,CAApB,CAAA;AACA,IAAA,OAAOoB,WAAW,CAACE,MAAZ,CAAmB,UAACC,CAAD,EAAA;AAAA,MAAA,OAAOA,CAAP,CAAA;AAAA,KAAnB,CAAP,CAAA;AACD,GAHsB,EAAvB,CAAA;;EAIA,IAAMC,cAAc,GAAI,YAAM;AAC5B,IAAA,IAAMC,WAAW,GAAG,CAAChD,KAAK,CAACiD,aAAP,CAApB,CAAA;;IACA,IAAInB,qBAAqB,IAAIC,cAA7B,EAA6C;MAC3CiB,WAAW,CAACE,IAAZ,CAAiB,UAAA,IAAA,EAAA;QAAA,IAAGC,GAAH,QAAGA,GAAH,CAAA;QAAA,OAAc;UAAE,SAAWC,EAAAA,SAAG,CAACD,GAAD,EAAMnD,KAAK,CAACqD,MAAN,IAAgB,IAAtB,CAAA;SAA9B,CAAA;OAAjB,CAAA,CAAA;AACD,KAAA;;AACD,IAAA,OAAOL,WAAW,CAACH,MAAZ,CAAmB,UAACC,CAAD,EAAA;AAAA,MAAA,OAAOA,CAAP,CAAA;AAAA,KAAnB,CAAP,CAAA;AACD,GANsB,EAAvB,CAAA;;AAOA,EAAA,IAAMQ,UAAU,GAAG,SAAbA,UAAa,CAACC,QAAD,EAAc;IAC/B,IAAMC,GAAG,GAAG,EAAZ,CAAA;;IAD+B,IAEtBC,KAAAA,GAAAA,SAAAA,KAAAA,CAAAA,CAFsB,EAEfC,GAFe,EAAA;AAAA,MAAA,IAAA,cAAA,EAAA,UAAA,EAAA,eAAA,EAAA,eAAA,CAAA;;AAG7B,MAAA,IAAIC,IAAI,GAAQJ,aAAAA,CAAAA,EAAAA,EAAAA,QAAQ,CAACE,CAAD,CAAhB,CAAR,CAAA;;MACA,IAAMG,eAAe,GAAG,CAAAD,CAAAA,cAAAA,GAAAA,IAAI,CAACE,QAAL,MAAA,IAAA,IAAA,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAeC,MAAf,MAAyBnD,eAAzB,aAAyBA,eAAzB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAyBA,eAAe,CAAEoD,QAAjB,CAA0BJ,IAAI,CAACK,MAA/B,CAAzB,CAAxB,CAAA;MACA,IAAI,CAACJ,eAAD,IAAoB5D,KAAK,CAACE,gBAA1B,IAA8CS,eAAlD,EACE,OAAA,UAAA,CAAA;AACFgD,MAAAA,IAAI,GAAGrC,uBAAuB,CAACqC,IAAD,CAA9B,CAAA;;AACA,MAAA,IAAIA,IAAI,CAACM,MAAL,IAAeN,IAAI,CAACd,MAAxB,EAAgC;AAC9B,QAAA,IAAMqB,YAAY,GAAGC,sCAAW,CAACR,IAAD,EAAOF,CAAP,CAAhC,CAAA;AACA,QAAA,IAAA,KAAA,GAA0BE,IAA1B;YAAQS,aAAR,SAAQA,aAAR,CAAA;;AACAT,QAAAA,IAAI,CAACU,KAAL,GAAa,UAACC,CAAD,EAAO;AAAA,UAAA,IAAA,qBAAA,CAAA;;UAClB,IAAMC,QAAQ,GAAGZ,IAAI,CAACM,MAAL,GAAc7C,cAAc,CAACkD,CAAD,CAA5B,GAAkC,IAAnD,CAAA;UACA,IAAME,UAAU,GAAGb,IAAI,CAACd,MAAL,GAAclB,gBAAgB,CAAC2C,CAAD,CAA9B,GAAoC,IAAvD,CAAA;AACA,UAAA,IAAMG,MAAM,GAAGpE,CAAAA,qBAAAA,GAAAA,eAAe,CAACqE,OAAnB,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,sBAAyBC,eAAxC,CAAA;UACA,OAAOzC,oBAAoB,CAAC,CAACgC,YAAD,EAAeK,QAAf,EAAyBC,UAAzB,CAAD,EAAuCF,CAAC,CAACM,GAAzC,EAA8CN,CAAC,CAACO,QAAhD,EAA0DT,aAA1D,EAAyEK,MAAzE,CAA3B,CAAA;SAJF,CAAA;;QAMAd,IAAI,CAACS,aAAL,GAAqB,KAArB,CAAA;AACD,OAAA;;AACD,MAAA,IAAA,CAAA,UAAA,GAAIT,IAAI,CAACmB,IAAT,MAAI,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,IAAA,UAAA,CAAWC,SAAf,EAA0B;AACxB,QAAA,IAAMC,OAAO,GAAGrB,IAAI,CAACsB,IAArB,CAAA;;AACAtB,QAAAA,IAAI,CAACsB,IAAL,GAAY,UAACX,CAAD,EAAA;AAAA,UAAA,sBAAuBY,yBAAK,CAACC,aAAN,CAAoBC,6BAApB,kCAC9Bd,CAD8B,CAAA,EAAA,EAAA,EAAA;AAEjCU,YAAAA,OAAO,EAAPA,OAAAA;WAFU,CAAA,CAAA,CAAA;SAAZ,CAAA;AAID,OAAA;;AACD,MAAA,IAAA,CAAA,eAAA,GAAIrB,IAAI,CAACE,QAAT,MAAI,IAAA,IAAA,eAAA,KAAA,KAAA,CAAA,IAAA,eAAA,CAAeC,MAAnB,EAA2B;QACzBH,IAAI,CAACE,QAAL,GAAgBP,UAAU,CAACK,IAAI,CAACE,QAAN,CAA1B,CAAA;AACD,OAAA;;MACD,IAAI,CAACF,IAAI,CAACE,QAAN,IAAA,CAAA,eAAA,GAAkBF,IAAI,CAACE,QAAvB,MAAA,IAAA,IAAA,eAAA,KAAA,KAAA,CAAA,IAAkB,eAAeC,CAAAA,MAArC,EAA6C;QAC3CN,GAAG,CAACN,IAAJ,CAASS,IAAT,CAAA,CAAA;AACD,OAAA;AA/B4B,KAAA,CAAA;;AAE/B,IAAA,KAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGH,QAAQ,CAACO,MAA/B,EAAuCL,CAAC,GAAGC,GAA3C,EAAgDD,CAAC,EAAjD,EAAqD;MAAA,IAA5CA,IAAAA,GAAAA,KAAAA,CAAAA,CAA4C,CAAA,CAAA;;MAAA,IAIjD,IAAA,KAAA,UAAA,EAAA,SAAA;AA0BH,KAAA;;AACD,IAAA,OAAOD,GAAP,CAAA;GAjCF,CAAA;;EAmCA,IAAM6B,QAAQ,GAAI,YAAM;AACtB,IAAA,IAAMC,IAAI,GAAGhC,UAAU,CAACrD,OAAD,CAAvB,CAAA;;AACA,IAAA,IAAIc,oBAAJ,EAA0B;AACxBuE,MAAAA,IAAI,CAACC,OAAL,CAAavE,eAAe,EAA5B,CAAA,CAAA;AACD,KAAA;;AACD,IAAA,OAAOsE,IAAP,CAAA;AACD,GANgB,EAAjB,CAAA;;EAOA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD,EAAWC,OAAX,EAAuB;AAAA,IAAA,IAAA,mBAAA,EAAA,eAAA,CAAA;;IAC/C,CAAA1F,mBAAAA,GAAAA,KAAK,CAAC2F,YAAN,MAAA,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,mBAAA,CAAA,IAAA,CAAA3F,KAAK,EAAgByF,QAAhB,EAA0BC,OAA1B,CAAL,CAAA;IACA,IAAME,YAAY,GAAG,CACnB;AAAEC,MAAAA,UAAU,EAAEJ,QAAAA;AAAd,KADmB,EAEnB;AAAEK,MAAAA,OAAO,EAAE,YAAX;AAAyBC,MAAAA,WAAW,EAAEL,OAAAA;AAAtC,KAFmB,CAArB,CAAA;AAIA,IAAA,CAAA,eAAA,GAAA1F,KAAK,CAACgG,QAAN,iGAAAhG,KAAK,CAAA,CAAA,MAAL,CAAoB4F,YAApB,CAAA,CAAA,CAAA;GANF,CAAA;;EAQA,SAASK,UAAT,CAAoBC,GAApB,EAAyBC,eAAzB,EAA0CC,SAA1C,EAAqDC,KAArD,EAA4D;AAC1D,IAAA,IAAI,CAACD,SAAL,EACE,OAAOpG,KAAK,CAACkG,GAAD,CAAZ,CAAA;IACF,IAAMI,SAAS,GAAGH,eAAe,EAAjC,CAAA;AACA,IAAA,IAAMI,SAAS,GAAGvG,KAAK,CAACkG,GAAD,CAAvB,CAAA;AACA,IAAA,IAAII,SAAS,IAAI,CAACC,SAAlB,EACE,OAAOD,SAAP,CAAA;AACF,IAAA,IAAIC,SAAS,IAAI,CAACD,SAAlB,EACE,OAAOC,SAAP,CAAA;;IACF,IAAID,SAAS,IAAIC,SAAjB,EAA4B;AAC1B,MAAA,OAAOF,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAA,KAAA,CAAL,IAAAA,KAAK,CAAEG,OAAP,kBAAiCtB,yBAAK,CAACC,aAAN,CAAoB,KAApB,EAA2B,IAA3B,EAAiCmB,SAAjC,EAA4CC,SAA5C,CAAjC,kBAA0GrB,yBAAK,CAACC,aAAN,CAAoB,KAApB,EAA2B,IAA3B,EAAiCoB,SAAjC,EAA4CD,SAA5C,CAAjH,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAMG,kBAAkB,GAAG,CAAC,EAAEvG,gBAAgB,IAAIwG,MAAM,CAACC,IAAP,CAAYzG,gBAAZ,CAAA,CAA8B4D,MAApD,CAA5B,CAAA;EACA,IAAM8C,SAAS,GAAGH,kBAAkB,GAAGvG,gBAAgB,CAAC0G,SAAjB,IAA8B,WAAjC,GAA+C,EAAnF,CAAA;AACA,EAAA,IAAMC,kBAAkB,GAAGJ,kBAAkB,IAAI,CAAAG,SAAS,SAAT,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEE,OAAX,CAAmB,QAAnB,CAAA,MAAiC,CAAC,CAAnF,CAAA;AACA,EAAA,IAAMC,UAAU,GAAGd,UAAU,CAAC,YAAD,EAAerF,sBAAf,EAAuC6F,kBAAkB,IAAI,CAACI,kBAA9D,CAA7B,CAAA;EACA,IAAMG,aAAa,GAAGf,UAAU,CAAC,eAAD,EAAkBrF,sBAAlB,EAA0CiG,kBAA1C,EAA8D;AAC5FL,IAAAA,OAAO,EAAE,IAAA;AADmF,GAA9D,CAAhC,CAAA;EAGA,IAAMS,YAAY,GAAGhB,UAAU,CAAC,cAAD,EAAiBrE,oBAAjB,EAAuC,CAACH,iBAAxC,CAA/B,CAAA;AACA,EAAA,IAAMyF,WAAW,GAAGjB,UAAU,CAAC,aAAD,EAAgB7D,kBAAhB,EAAoC,CAAC,CAACpC,KAAK,CAACmH,YAA5C,CAA9B,CAAA;;EACA,IAAMC,cAAc,mCACfpH,KADe,CAAA,EAAA,EAAA,EAAA;AAElB4C,IAAAA,YAAY,EAAEF,cAFI;AAGlBO,IAAAA,aAAa,EAAEF,cAHG;AAIlB9C,IAAAA,OAAO,EAAEoF,QAJS;AAKlB0B,IAAAA,UAAU,EAAVA,UALkB;AAMlBC,IAAAA,aAAa,EAAbA,aANkB;AAOlBC,IAAAA,YAAY,EAAZA,YAPkB;AAQlBC,IAAAA,WAAW,EAAXA,WARkB;AASlBvB,IAAAA,YAAY,EAAEH,iBATI;AAUlBvE,IAAAA,iBAAiB,EAAEH,eAAe,GAAGG,iBAAH,GAAuB,KAAK,CAAA;GAVhE,CAAA,CAAA;;EAYA,IAAIjB,KAAK,CAACqH,gBAAV,EAA4B;IAC1BD,cAAc,CAACE,UAAf,GAA4BpG,qBAA5B,CAAA;AACD,GAAA;;AACD,EAAA,sBAAuBgE,yBAAK,CAACC,aAAN,CAAoBoC,0BAApB,EAAA,aAAA,CAAA,aAAA,CAAA;AACrBC,IAAAA,GAAG,EAAEnH,eAAAA;AADgB,GAAA,EAElB+G,cAFkB,CAAA,EAAA,EAAA,EAAA;AAGrBhH,IAAAA,SAAS,EAAEqH,8BAAU,CAACpF,mBAAD,EAAsBjC,SAAtB,CAHA;AAIrBD,IAAAA,KAAK,EAALA,KAAAA;GAJF,CAAA,CAAA,CAAA;AAMD,CAAA;AACDJ,YAAY,CAAC2H,WAAb,GAA2B,cAA3B;;;;;"}
|
|
1
|
+
{"version":3,"file":"PrimaryTable.js","sources":["../../src/table/PrimaryTable.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport get from 'lodash/get';\nimport classNames from 'classnames';\nimport BaseTable from './BaseTable';\nimport useColumnController from './hooks/useColumnController';\nimport useRowExpand from './hooks/useRowExpand';\nimport useTableHeader, { renderTitle } from './hooks/useTableHeader';\nimport useRowSelect from './hooks/useRowSelect';\nimport { TdPrimaryTableProps, PrimaryTableCol, TableRowData, PrimaryTableCellParams } from './type';\nimport useSorter from './hooks/useSorter';\nimport useFilter from './hooks/useFilter';\nimport useDragSort from './hooks/useDragSort';\nimport useAsyncLoading from './hooks/useAsyncLoading';\nimport { PageInfo } from '../pagination';\nimport useClassName from './hooks/useClassName';\nimport { BaseTableProps, PrimaryTableProps } from './interface';\nimport EditableCell from './EditableCell';\n\nimport { StyledProps } from '../common';\n\nexport { BASE_TABLE_ALL_EVENTS } from './BaseTable';\n\nexport interface TPrimaryTableProps extends PrimaryTableProps, StyledProps {}\nexport default function PrimaryTable(props: TPrimaryTableProps) {\n const { columns, columnController, style, className } = props;\n const primaryTableRef = useRef(null);\n const { tableDraggableClasses, tableBaseClass } = useClassName();\n // 自定义列配置功能\n const { tDisplayColumns, renderColumnController } = useColumnController(props);\n // 展开/收起行功能\n const { showExpandedRow, showExpandIconColumn, getExpandColumn, renderExpandedRow, onInnerExpandRowClick } =\n useRowExpand(props);\n // 排序功能\n const { renderSortIcon } = useSorter(props);\n // 行选中功能\n const { formatToRowSelectColumn, selectedRowClassNames } = useRowSelect(props);\n // 过滤功能\n const { hasEmptyCondition, isTableOverflowHidden, renderFilterIcon, renderFirstFilterRow } = useFilter(\n props,\n primaryTableRef,\n );\n // 拖拽排序功能\n const { isRowHandlerDraggable, isRowDraggable, isColDraggable } = useDragSort(props, primaryTableRef);\n\n const { renderTitleWidthIcon } = useTableHeader({ columns: props.columns });\n const { renderAsyncLoading } = useAsyncLoading(props);\n const primaryTableClasses = {\n [tableDraggableClasses.colDraggable]: isColDraggable,\n [tableDraggableClasses.rowHandlerDraggable]: isRowHandlerDraggable,\n [tableDraggableClasses.rowDraggable]: isRowDraggable,\n [tableBaseClass.overflowVisible]: isTableOverflowHidden === false,\n };\n\n // 如果想给 TR 添加类名,请在这里补充,不要透传更多额外 Props 到 BaseTable\n const tRowClassNames = (() => {\n const tClassNames = [props.rowClassName, selectedRowClassNames];\n return tClassNames.filter((v) => v);\n })();\n\n // 如果想给 TR 添加属性,请在这里补充,不要透传更多额外 Props 到 BaseTable\n const tRowAttributes = (() => {\n const tAttributes = [props.rowAttributes];\n if (isRowHandlerDraggable || isRowDraggable) {\n tAttributes.push(({ row }) => ({ 'data-id': get(row, props.rowKey || 'id') }));\n }\n return tAttributes.filter((v) => v);\n })();\n\n // 1. 影响列数量的因素有:自定义列配置、展开/收起行、多级表头;2. 影响表头内容的因素有:排序图标、筛选图标\n const getColumns = (columns: PrimaryTableCol<TableRowData>[]) => {\n const arr: PrimaryTableCol<TableRowData>[] = [];\n for (let i = 0, len = columns.length; i < len; i++) {\n let item = { ...columns[i] };\n // 自定义列显示控制\n const isDisplayColumn = item.children?.length || tDisplayColumns?.includes(item.colKey);\n if (!isDisplayColumn && props.columnController && tDisplayColumns) continue;\n item = formatToRowSelectColumn(item);\n // 添加排序图标和过滤图标\n if (item.sorter || item.filter) {\n const titleContent = renderTitle(item, i);\n const { ellipsisTitle } = item;\n item.title = (p) => {\n const sortIcon = item.sorter ? renderSortIcon(p) : null;\n const filterIcon = item.filter ? renderFilterIcon(p) : null;\n const attach = primaryTableRef.current?.tableContentRef;\n return renderTitleWidthIcon([titleContent, sortIcon, filterIcon], p.col, p.colIndex, ellipsisTitle, attach);\n };\n item.ellipsisTitle = false;\n }\n // 如果是单元格可编辑状态\n if (item.edit?.component) {\n const oldCell = item.cell;\n item.cell = (p: PrimaryTableCellParams<TableRowData>) => <EditableCell {...p} oldCell={oldCell} />;\n }\n if (item.children?.length) {\n item.children = getColumns(item.children);\n }\n // 多级表头和自定义列配置特殊逻辑:要么子节点不存在,要么子节点长度大于 1,方便做自定义列配置\n if (!item.children || item.children?.length) {\n arr.push(item);\n }\n }\n return arr;\n };\n\n const tColumns = (() => {\n const cols = getColumns(columns);\n if (showExpandIconColumn) {\n cols.unshift(getExpandColumn());\n }\n return cols;\n })();\n\n const onInnerPageChange = (pageInfo: PageInfo, newData: Array<TableRowData>) => {\n props.onPageChange?.(pageInfo, newData);\n const changeParams: Parameters<TdPrimaryTableProps['onChange']> = [\n { pagination: pageInfo },\n { trigger: 'pagination', currentData: newData },\n ];\n props.onChange?.(...changeParams);\n };\n\n function formatNode(api: string, renderInnerNode: Function, condition: boolean, extra?: { reverse?: boolean }) {\n if (!condition) return props[api];\n const innerNode = renderInnerNode();\n const propsNode = props[api];\n if (innerNode && !propsNode) return innerNode;\n if (propsNode && !innerNode) return propsNode;\n if (innerNode && propsNode) {\n return extra?.reverse ? (\n <div>\n {innerNode}\n {propsNode}\n </div>\n ) : (\n <div>\n {propsNode}\n {innerNode}\n </div>\n );\n }\n return null;\n }\n\n const isColumnController = !!(columnController && Object.keys(columnController).length);\n const placement = isColumnController ? columnController.placement || 'top-right' : '';\n const isBottomController = isColumnController && placement?.indexOf('bottom') !== -1;\n const topContent = formatNode('topContent', renderColumnController, isColumnController && !isBottomController);\n const bottomContent = formatNode('bottomContent', renderColumnController, isBottomController, {\n reverse: true,\n });\n const firstFullRow = formatNode('firstFullRow', renderFirstFilterRow, !hasEmptyCondition);\n const lastFullRow = formatNode('lastFullRow', renderAsyncLoading, !!props.asyncLoading);\n\n const baseTableProps = {\n ...props,\n rowClassName: tRowClassNames,\n rowAttributes: tRowAttributes,\n columns: tColumns,\n topContent,\n bottomContent,\n firstFullRow,\n lastFullRow,\n onPageChange: onInnerPageChange,\n renderExpandedRow: showExpandedRow ? renderExpandedRow : undefined,\n } as BaseTableProps;\n\n if (props.expandOnRowClick) {\n baseTableProps.onRowClick = onInnerExpandRowClick;\n }\n\n return (\n <BaseTable\n ref={primaryTableRef}\n {...baseTableProps}\n className={classNames(primaryTableClasses, className)}\n style={style}\n />\n );\n}\n\nPrimaryTable.displayName = 'PrimaryTable';\n"],"names":["PrimaryTable","props","columns","columnController","style","className","primaryTableRef","useRef","useClassName","tableDraggableClasses","tableBaseClass","useColumnController","tDisplayColumns","renderColumnController","useRowExpand","showExpandedRow","showExpandIconColumn","getExpandColumn","renderExpandedRow","onInnerExpandRowClick","useSorter","renderSortIcon","useRowSelect","formatToRowSelectColumn","selectedRowClassNames","useFilter","hasEmptyCondition","isTableOverflowHidden","renderFilterIcon","renderFirstFilterRow","useDragSort","isRowHandlerDraggable","isRowDraggable","isColDraggable","useTableHeader","renderTitleWidthIcon","useAsyncLoading","renderAsyncLoading","primaryTableClasses","colDraggable","rowHandlerDraggable","rowDraggable","overflowVisible","tRowClassNames","tClassNames","rowClassName","filter","v","tRowAttributes","tAttributes","rowAttributes","push","row","get","rowKey","getColumns","columns2","arr","i","len","item","isDisplayColumn","children","length","includes","colKey","sorter","titleContent","renderTitle","ellipsisTitle","title","p","sortIcon","filterIcon","attach","current","tableContentRef","col","colIndex","edit","component","oldCell","cell","React","createElement","EditableCell","tColumns","cols","unshift","onInnerPageChange","pageInfo","newData","onPageChange","changeParams","pagination","trigger","currentData","onChange","formatNode","api","renderInnerNode","condition","extra","innerNode","propsNode","reverse","isColumnController","Object","keys","placement","isBottomController","indexOf","topContent","bottomContent","firstFullRow","lastFullRow","asyncLoading","baseTableProps","expandOnRowClick","onRowClick","BaseTable","ref","classNames","displayName"],"mappings":"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"}
|
package/lib/table/TBody.js
CHANGED
|
@@ -18,6 +18,7 @@ var classNames = require('classnames');
|
|
|
18
18
|
var table_TR = require('./TR.js');
|
|
19
19
|
var locale_LocalReceiver = require('../locale/LocalReceiver.js');
|
|
20
20
|
var table_hooks_useClassName = require('./hooks/useClassName.js');
|
|
21
|
+
var table_hooks_useRowspanAndColspan = require('./hooks/useRowspanAndColspan.js');
|
|
21
22
|
require('../_chunks/dep-19841e1d.js');
|
|
22
23
|
require('../_chunks/dep-86abec96.js');
|
|
23
24
|
require('../_chunks/dep-fcf32c81.js');
|
|
@@ -106,6 +107,9 @@ function TBody(props) {
|
|
|
106
107
|
tableFullRowClasses = _useClassName.tableFullRowClasses,
|
|
107
108
|
tableBaseClass = _useClassName.tableBaseClass;
|
|
108
109
|
|
|
110
|
+
var _useRowspanAndColspan = table_hooks_useRowspanAndColspan["default"](data, columns, props.rowspanAndColspan),
|
|
111
|
+
skipSpansMap = _useRowspanAndColspan.skipSpansMap;
|
|
112
|
+
|
|
109
113
|
var tbodyClasses = React.useMemo(function () {
|
|
110
114
|
return [tableBaseClass.body];
|
|
111
115
|
}, [tableBaseClass.body]);
|
|
@@ -148,40 +152,19 @@ function TBody(props) {
|
|
|
148
152
|
}, fullRowNode))));
|
|
149
153
|
};
|
|
150
154
|
|
|
151
|
-
var skipSpansMap = /* @__PURE__ */new Map();
|
|
152
|
-
|
|
153
|
-
var onTrRowspanOrColspan = function onTrRowspanOrColspan(params, cellSpans) {
|
|
154
|
-
var rowIndex = params.rowIndex,
|
|
155
|
-
colIndex = params.colIndex;
|
|
156
|
-
if (!cellSpans.rowspan && !cellSpans.colspan) return;
|
|
157
|
-
var maxRowIndex = rowIndex + (cellSpans.rowspan || 1);
|
|
158
|
-
var maxColIndex = colIndex + (cellSpans.colspan || 1);
|
|
159
|
-
|
|
160
|
-
for (var i = rowIndex; i < maxRowIndex; i++) {
|
|
161
|
-
for (var j = colIndex; j < maxColIndex; j++) {
|
|
162
|
-
if (i !== rowIndex || j !== colIndex) {
|
|
163
|
-
skipSpansMap.set([i, j].join(), true);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
|
|
169
155
|
var columnLength = columns.length;
|
|
170
156
|
var dataLength = data.length;
|
|
171
157
|
var trNodeList = [];
|
|
172
|
-
skipSpansMap = /* @__PURE__ */new Map();
|
|
173
158
|
var properties = ["rowAndColFixedPosition", "scroll", "tableElm", "tableContentElm", "trs", "bufferSize", "isVirtual", "rowHeight", "scrollType"];
|
|
174
159
|
data === null || data === void 0 ? void 0 : data.forEach(function (row, rowIndex) {
|
|
175
|
-
var trProps = _objectSpread(_objectSpread(
|
|
160
|
+
var trProps = _objectSpread(_objectSpread({}, pick.pick_1(props, table_TR.TABLE_PROPS)), {}, {
|
|
176
161
|
rowKey: props.rowKey || "id",
|
|
177
162
|
row: row,
|
|
178
163
|
columns: columns,
|
|
179
164
|
rowIndex: rowIndex,
|
|
180
165
|
dataLength: dataLength,
|
|
181
166
|
skipSpansMap: skipSpansMap
|
|
182
|
-
}, pick.pick_1(props, properties))
|
|
183
|
-
onTrRowspanOrColspan: onTrRowspanOrColspan
|
|
184
|
-
});
|
|
167
|
+
}, pick.pick_1(props, properties));
|
|
185
168
|
|
|
186
169
|
if (props.onCellClick) {
|
|
187
170
|
trProps.onCellClick = props.onCellClick;
|
package/lib/table/TBody.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TBody.js","sources":["../../src/table/TBody.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport camelCase from 'lodash/camelCase';\nimport get from 'lodash/get';\nimport pick from 'lodash/pick';\nimport classNames from 'classnames';\nimport TR, { ROW_LISTENERS, TABLE_PROPS } from './TR';\nimport { useLocaleReceiver } from '../locale/LocalReceiver';\nimport { RowspanColspan, TableRowData, BaseTableCellParams } from './type';\nimport { BaseTableProps } from './interface';\nimport { RowAndColFixedPosition } from './hooks/useFixed';\nimport useClassName from './hooks/useClassName';\n\nexport const ROW_AND_TD_LISTENERS = ROW_LISTENERS.concat('cell-click');\nexport interface TableBodyProps extends BaseTableProps {\n // 固定列 left/right 具体值\n rowAndColFixedPosition?: RowAndColFixedPosition;\n showColumnShadow?: { left: boolean; right: boolean };\n tableElm?: HTMLDivElement;\n tableContentElm?: HTMLDivElement;\n tableWidth?: number;\n isWidthOverflow?: boolean;\n\n // 以下内容为虚拟滚动所需参数\n translateY?: number;\n scrollType?: string;\n isVirtual?: boolean;\n rowHeight?: number;\n trs?: Map<number, object>;\n bufferSize?: number;\n handleRowMounted?: () => void;\n}\n\n// table 到 body 的相同属性\nexport const extendTableProps = [\n 'rowKey',\n 'rowClassName',\n 'rowAttributes',\n 'loading',\n 'empty',\n 'fixedRows',\n 'firstFullRow',\n 'lastFullRow',\n 'rowspanAndColspan',\n 'scroll',\n 'onCellClick',\n 'onPageChange',\n 'onRowClick',\n 'onRowDblclick',\n 'onRowMouseover',\n 'onRowMousedown',\n 'onRowMouseenter',\n 'onRowMouseleave',\n 'onRowMouseup',\n 'onScroll',\n 'onScrollX',\n 'onScrollY',\n];\n\nexport default function TBody(props: TableBodyProps) {\n // 如果不是变量复用,没必要对每一个参数进行解构(解构过程需要单独的内存空间存储临时变量)\n const { data, columns } = props;\n const [global, t] = useLocaleReceiver('table');\n const { tableFullRowClasses, tableBaseClass } = useClassName();\n\n const tbodyClasses = useMemo(() => [tableBaseClass.body], [tableBaseClass.body]);\n\n const renderEmpty = (columns: TableBodyProps['columns']) => (\n <tr className={classNames([tableBaseClass.emptyRow, { [tableFullRowClasses.base]: props.isWidthOverflow }])}>\n <td colSpan={columns.length}>\n <div\n className={classNames([tableBaseClass.empty, { [tableFullRowClasses.innerFullRow]: props.isWidthOverflow }])}\n style={props.isWidthOverflow ? { width: `${props.tableWidth}px` } : {}}\n >\n {props.empty || t(global.empty)}\n </div>\n </td>\n </tr>\n );\n\n const getFullRow = (columnLength: number, type: 'first-full-row' | 'last-full-row') => {\n const tType = camelCase(type);\n const fullRowNode = {\n 'first-full-row': props.firstFullRow,\n 'last-full-row': props.lastFullRow,\n }[type];\n if (!fullRowNode) return null;\n const isFixedToLeft = props.isWidthOverflow && columns.find((col) => col.fixed === 'left');\n const classes = [tableFullRowClasses.base, tableFullRowClasses[tType]];\n /** innerFullRow 和 innerFullElement 同时存在,是为了保证 固定列时,当前行不随内容进行横向滚动 */\n return (\n <tr className={classNames(classes)}>\n <td colSpan={columnLength}>\n <div\n className={classNames({ [tableFullRowClasses.innerFullRow]: isFixedToLeft })}\n style={isFixedToLeft ? { width: `${props.tableWidth}px` } : {}}\n >\n <div className={tableFullRowClasses.innerFullElement}>{fullRowNode}</div>\n </div>\n </td>\n </tr>\n );\n };\n\n // 受合并单元格影响,部分单元格不显示\n let skipSpansMap = new Map<any, boolean>();\n\n const onTrRowspanOrColspan = (params: BaseTableCellParams<TableRowData>, cellSpans: RowspanColspan) => {\n const { rowIndex, colIndex } = params;\n if (!cellSpans.rowspan && !cellSpans.colspan) return;\n const maxRowIndex = rowIndex + (cellSpans.rowspan || 1);\n const maxColIndex = colIndex + (cellSpans.colspan || 1);\n for (let i = rowIndex; i < maxRowIndex; i++) {\n for (let j = colIndex; j < maxColIndex; j++) {\n if (i !== rowIndex || j !== colIndex) {\n skipSpansMap.set([i, j].join(), true);\n }\n }\n }\n };\n\n const columnLength = columns.length;\n const dataLength = data.length;\n const trNodeList = [];\n // 每次渲染清空合并单元格信息\n skipSpansMap = new Map<any, boolean>();\n\n const properties = [\n 'rowAndColFixedPosition',\n 'scroll',\n 'tableElm',\n 'tableContentElm',\n 'trs',\n 'bufferSize',\n 'isVirtual',\n 'rowHeight',\n 'scrollType',\n ];\n data?.forEach((row, rowIndex) => {\n const trProps = {\n ...pick(props, TABLE_PROPS),\n rowKey: props.rowKey || 'id',\n row,\n columns,\n rowIndex,\n dataLength,\n skipSpansMap,\n ...pick(props, properties),\n // 遍历的同时,计算后面的节点,是否会因为合并单元格跳过渲染\n onTrRowspanOrColspan,\n };\n if (props.onCellClick) {\n trProps.onCellClick = props.onCellClick;\n }\n\n const trNode = (\n <TR key={get(row, props.rowKey || 'id') || rowIndex} {...trProps} onRowMounted={props.handleRowMounted}></TR>\n );\n trNodeList.push(trNode);\n\n // 执行展开行渲染\n if (props.renderExpandedRow) {\n const p = {\n row,\n index: rowIndex,\n columns,\n tableWidth: props.tableWidth,\n isWidthOverflow: props.isWidthOverflow,\n };\n const expandedContent = props.renderExpandedRow(p);\n expandedContent && trNodeList.push(expandedContent);\n }\n });\n\n const list = (\n <>\n {getFullRow(columnLength, 'first-full-row')}\n {trNodeList}\n {getFullRow(columnLength, 'last-full-row')}\n </>\n );\n const isEmpty = !data?.length && !props.loading;\n\n const translate = `translate(0, ${props.translateY}px)`;\n const posStyle = {\n transform: translate,\n '-ms-transform': translate,\n '-moz-transform': translate,\n '-webkit-transform': translate,\n };\n\n return (\n <tbody className={classNames(tbodyClasses)} style={props.isVirtual && { ...posStyle }}>\n {isEmpty ? renderEmpty(columns) : list}\n </tbody>\n );\n}\n\nTBody.displayName = 'TBody';\n"],"names":["ROW_AND_TD_LISTENERS","ROW_LISTENERS","concat","extendTableProps","TBody","props","data","columns","useLocaleReceiver","_slicedToArray","global","t","useClassName","tableFullRowClasses","tableBaseClass","tbodyClasses","useMemo","body","renderEmpty","columns2","React","createElement","className","classNames","emptyRow","base","isWidthOverflow","colSpan","length","empty","_defineProperty","innerFullRow","style","width","tableWidth","getFullRow","columnLength2","type","tType","camelCase","fullRowNode","firstFullRow","lastFullRow","isFixedToLeft","find","col","fixed","classes","innerFullElement","skipSpansMap","Map","onTrRowspanOrColspan","params","cellSpans","rowIndex","colIndex","rowspan","colspan","maxRowIndex","maxColIndex","i","j","set","join","columnLength","dataLength","trNodeList","properties","forEach","row","trProps","pick","TABLE_PROPS","rowKey","onCellClick","trNode","TR","key","get","onRowMounted","handleRowMounted","push","renderExpandedRow","p","index","expandedContent","list","Fragment","isEmpty","loading","translate","translateY","posStyle","transform","isVirtual","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TBody.js","sources":["../../src/table/TBody.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport camelCase from 'lodash/camelCase';\nimport get from 'lodash/get';\nimport pick from 'lodash/pick';\nimport classNames from 'classnames';\nimport TR, { ROW_LISTENERS, TABLE_PROPS } from './TR';\nimport { useLocaleReceiver } from '../locale/LocalReceiver';\nimport { BaseTableProps } from './interface';\nimport { RowAndColFixedPosition } from './hooks/useFixed';\nimport useClassName from './hooks/useClassName';\nimport useRowspanAndColspan from './hooks/useRowspanAndColspan';\n\nexport const ROW_AND_TD_LISTENERS = ROW_LISTENERS.concat('cell-click');\nexport interface TableBodyProps extends BaseTableProps {\n // 固定列 left/right 具体值\n rowAndColFixedPosition?: RowAndColFixedPosition;\n showColumnShadow?: { left: boolean; right: boolean };\n tableElm?: HTMLDivElement;\n tableContentElm?: HTMLDivElement;\n tableWidth?: number;\n isWidthOverflow?: boolean;\n\n // 以下内容为虚拟滚动所需参数\n translateY?: number;\n scrollType?: string;\n isVirtual?: boolean;\n rowHeight?: number;\n trs?: Map<number, object>;\n bufferSize?: number;\n handleRowMounted?: () => void;\n}\n\n// table 到 body 的相同属性\nexport const extendTableProps = [\n 'rowKey',\n 'rowClassName',\n 'rowAttributes',\n 'loading',\n 'empty',\n 'fixedRows',\n 'firstFullRow',\n 'lastFullRow',\n 'rowspanAndColspan',\n 'scroll',\n 'onCellClick',\n 'onPageChange',\n 'onRowClick',\n 'onRowDblclick',\n 'onRowMouseover',\n 'onRowMousedown',\n 'onRowMouseenter',\n 'onRowMouseleave',\n 'onRowMouseup',\n 'onScroll',\n 'onScrollX',\n 'onScrollY',\n];\n\nexport default function TBody(props: TableBodyProps) {\n // 如果不是变量复用,没必要对每一个参数进行解构(解构过程需要单独的内存空间存储临时变量)\n const { data, columns } = props;\n const [global, t] = useLocaleReceiver('table');\n const { tableFullRowClasses, tableBaseClass } = useClassName();\n const { skipSpansMap } = useRowspanAndColspan(data, columns, props.rowspanAndColspan);\n\n const tbodyClasses = useMemo(() => [tableBaseClass.body], [tableBaseClass.body]);\n\n const renderEmpty = (columns: TableBodyProps['columns']) => (\n <tr className={classNames([tableBaseClass.emptyRow, { [tableFullRowClasses.base]: props.isWidthOverflow }])}>\n <td colSpan={columns.length}>\n <div\n className={classNames([tableBaseClass.empty, { [tableFullRowClasses.innerFullRow]: props.isWidthOverflow }])}\n style={props.isWidthOverflow ? { width: `${props.tableWidth}px` } : {}}\n >\n {props.empty || t(global.empty)}\n </div>\n </td>\n </tr>\n );\n\n const getFullRow = (columnLength: number, type: 'first-full-row' | 'last-full-row') => {\n const tType = camelCase(type);\n const fullRowNode = {\n 'first-full-row': props.firstFullRow,\n 'last-full-row': props.lastFullRow,\n }[type];\n if (!fullRowNode) return null;\n const isFixedToLeft = props.isWidthOverflow && columns.find((col) => col.fixed === 'left');\n const classes = [tableFullRowClasses.base, tableFullRowClasses[tType]];\n /** innerFullRow 和 innerFullElement 同时存在,是为了保证 固定列时,当前行不随内容进行横向滚动 */\n return (\n <tr className={classNames(classes)}>\n <td colSpan={columnLength}>\n <div\n className={classNames({ [tableFullRowClasses.innerFullRow]: isFixedToLeft })}\n style={isFixedToLeft ? { width: `${props.tableWidth}px` } : {}}\n >\n <div className={tableFullRowClasses.innerFullElement}>{fullRowNode}</div>\n </div>\n </td>\n </tr>\n );\n };\n\n const columnLength = columns.length;\n const dataLength = data.length;\n const trNodeList = [];\n\n const properties = [\n 'rowAndColFixedPosition',\n 'scroll',\n 'tableElm',\n 'tableContentElm',\n 'trs',\n 'bufferSize',\n 'isVirtual',\n 'rowHeight',\n 'scrollType',\n ];\n data?.forEach((row, rowIndex) => {\n const trProps = {\n ...pick(props, TABLE_PROPS),\n rowKey: props.rowKey || 'id',\n row,\n columns,\n rowIndex,\n dataLength,\n skipSpansMap,\n ...pick(props, properties),\n };\n if (props.onCellClick) {\n trProps.onCellClick = props.onCellClick;\n }\n\n const trNode = (\n <TR key={get(row, props.rowKey || 'id') || rowIndex} {...trProps} onRowMounted={props.handleRowMounted}></TR>\n );\n trNodeList.push(trNode);\n\n // 执行展开行渲染\n if (props.renderExpandedRow) {\n const p = {\n row,\n index: rowIndex,\n columns,\n tableWidth: props.tableWidth,\n isWidthOverflow: props.isWidthOverflow,\n };\n const expandedContent = props.renderExpandedRow(p);\n expandedContent && trNodeList.push(expandedContent);\n }\n });\n\n const list = (\n <>\n {getFullRow(columnLength, 'first-full-row')}\n {trNodeList}\n {getFullRow(columnLength, 'last-full-row')}\n </>\n );\n const isEmpty = !data?.length && !props.loading;\n\n const translate = `translate(0, ${props.translateY}px)`;\n const posStyle = {\n transform: translate,\n '-ms-transform': translate,\n '-moz-transform': translate,\n '-webkit-transform': translate,\n };\n\n return (\n <tbody className={classNames(tbodyClasses)} style={props.isVirtual && { ...posStyle }}>\n {isEmpty ? renderEmpty(columns) : list}\n </tbody>\n );\n}\n\nTBody.displayName = 'TBody';\n"],"names":["ROW_AND_TD_LISTENERS","ROW_LISTENERS","concat","extendTableProps","TBody","props","data","columns","useLocaleReceiver","_slicedToArray","global","t","useClassName","tableFullRowClasses","tableBaseClass","useRowspanAndColspan","rowspanAndColspan","skipSpansMap","tbodyClasses","useMemo","body","renderEmpty","columns2","React","createElement","className","classNames","emptyRow","base","isWidthOverflow","colSpan","length","empty","_defineProperty","innerFullRow","style","width","tableWidth","getFullRow","columnLength2","type","tType","camelCase","fullRowNode","firstFullRow","lastFullRow","isFixedToLeft","find","col","fixed","classes","innerFullElement","columnLength","dataLength","trNodeList","properties","forEach","row","rowIndex","trProps","pick","TABLE_PROPS","rowKey","onCellClick","trNode","TR","key","get","onRowMounted","handleRowMounted","push","renderExpandedRow","p","index","expandedContent","list","Fragment","isEmpty","loading","translate","translateY","posStyle","transform","isVirtual","displayName"],"mappings":"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"}
|
package/lib/table/TR.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { RowAndColFixedPosition } from './hooks/useFixed';
|
|
3
3
|
import { BaseTableCellParams, TableRowData, RowspanColspan, TdBaseTableProps, TableScroll } from './type';
|
|
4
|
+
import { SkipSpansValue } from './hooks/useRowspanAndColspan';
|
|
4
5
|
export interface RenderTdExtra {
|
|
5
6
|
rowAndColFixedPosition: RowAndColFixedPosition;
|
|
6
7
|
columnLength: number;
|
|
@@ -19,7 +20,7 @@ export interface TrProps extends TrCommonProps {
|
|
|
19
20
|
rowIndex?: number;
|
|
20
21
|
dataLength?: number;
|
|
21
22
|
rowAndColFixedPosition?: RowAndColFixedPosition;
|
|
22
|
-
skipSpansMap?: Map<
|
|
23
|
+
skipSpansMap?: Map<string, SkipSpansValue>;
|
|
23
24
|
scrollType?: string;
|
|
24
25
|
isVirtual?: boolean;
|
|
25
26
|
rowHeight?: number;
|
|
@@ -29,7 +30,6 @@ export interface TrProps extends TrCommonProps {
|
|
|
29
30
|
tableElm?: HTMLDivElement;
|
|
30
31
|
tableContentElm?: HTMLDivElement;
|
|
31
32
|
onRowMounted?: () => void;
|
|
32
|
-
onTrRowspanOrColspan?: (params: BaseTableCellParams<TableRowData>, cellSpans: RowspanColspan) => void;
|
|
33
33
|
}
|
|
34
34
|
export declare const ROW_LISTENERS: string[];
|
|
35
35
|
export declare function renderCell(params: BaseTableCellParams<TableRowData>): any;
|
package/lib/table/TR.js
CHANGED
|
@@ -210,8 +210,6 @@ function TR(props) {
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
var columnVNodeList = (_props$columns = props.columns) === null || _props$columns === void 0 ? void 0 : _props$columns.map(function (col, colIndex) {
|
|
213
|
-
var _props$skipSpansMap;
|
|
214
|
-
|
|
215
213
|
var cellSpans = {};
|
|
216
214
|
var params = {
|
|
217
215
|
row: row,
|
|
@@ -219,18 +217,10 @@ function TR(props) {
|
|
|
219
217
|
rowIndex: rowIndex,
|
|
220
218
|
colIndex: colIndex
|
|
221
219
|
};
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
var o = props.rowspanAndColspan(params);
|
|
227
|
-
(o === null || o === void 0 ? void 0 : o.rowspan) > 1 && (cellSpans.rowspan = o.rowspan);
|
|
228
|
-
(o === null || o === void 0 ? void 0 : o.colspan) > 1 && (cellSpans.colspan = o.colspan);
|
|
229
|
-
(_props$onTrRowspanOrC = props.onTrRowspanOrColspan) === null || _props$onTrRowspanOrC === void 0 ? void 0 : _props$onTrRowspanOrC.call(props, params, cellSpans);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
var skipped = (_props$skipSpansMap = props.skipSpansMap) === null || _props$skipSpansMap === void 0 ? void 0 : _props$skipSpansMap.get([rowIndex, colIndex].join());
|
|
233
|
-
if (skipped) return null;
|
|
220
|
+
var spanState = props.skipSpansMap.get([rowIndex, colIndex].join()) || {};
|
|
221
|
+
(spanState === null || spanState === void 0 ? void 0 : spanState.rowspan) > 1 && (cellSpans.rowspan = spanState.rowspan);
|
|
222
|
+
(spanState === null || spanState === void 0 ? void 0 : spanState.colspan) > 1 && (cellSpans.colspan = spanState.colspan);
|
|
223
|
+
if (spanState.skipped) return null;
|
|
234
224
|
return renderTd(params, {
|
|
235
225
|
dataLength: dataLength,
|
|
236
226
|
rowAndColFixedPosition: rowAndColFixedPosition,
|