@zat-design/sisyphus-react 3.13.18 → 3.13.19-beta.10
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/es/FormsProvider/index.js +9 -7
- package/es/ProAction/components/CheckModalContent/index.js +14 -14
- package/es/ProAction/index.js +46 -47
- package/es/ProConfigProvider/index.js +32 -17
- package/es/ProDownload/index.js +66 -73
- package/es/ProDownload/utils.js +26 -23
- package/es/ProDrawerForm/components/ProDrawer/index.js +43 -39
- package/es/ProDrawerForm/components/ProModal/index.js +25 -23
- package/es/ProDrawerForm/components/index.js +2 -2
- package/es/ProDrawerForm/index.js +19 -21
- package/es/ProDrawerForm/utils/index.js +1 -1
- package/es/ProEditLabel/components/RenderProForm.js +30 -26
- package/es/ProEditLabel/index.js +49 -36
- package/es/ProEditLabel/utils/index.js +4 -3
- package/es/ProEditTable/components/ActionButton/index.js +83 -76
- package/es/ProEditTable/components/RcTable/BaseTable.js +24 -24
- package/es/ProEditTable/components/RcTable/DraggableTable.js +34 -41
- package/es/ProEditTable/components/RcTable/VirtualTable.js +4 -3
- package/es/ProEditTable/components/RcTable/index.js +3 -3
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +61 -58
- package/es/ProEditTable/components/RenderField/index.js +151 -145
- package/es/ProEditTable/components/RenderToolbar/index.js +37 -42
- package/es/ProEditTable/components/Summary/index.js +22 -21
- package/es/ProEditTable/components/Validator/index.js +11 -10
- package/es/ProEditTable/components/index.js +5 -5
- package/es/ProEditTable/index.d.ts +1 -1
- package/es/ProEditTable/index.js +170 -173
- package/es/ProEditTable/utils/config.js +42 -46
- package/es/ProEditTable/utils/diffOriginal.js +34 -19
- package/es/ProEditTable/utils/getDefaultProps.js +12 -13
- package/es/ProEditTable/utils/index.js +102 -99
- package/es/ProEditTable/utils/tools.js +88 -91
- package/es/ProEditTable/utils/transform.js +7 -11
- package/es/ProEditTable/utils/useEditTableError.js +22 -13
- package/es/ProEnum/components/Group.js +23 -27
- package/es/ProEnum/components/Tag.js +14 -16
- package/es/ProEnum/hooks/useEnum.js +32 -14
- package/es/ProEnum/hooks/useEnumRequest.js +42 -42
- package/es/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
- package/es/ProEnum/hooks/useFrequentEnumRequest.js +76 -0
- package/es/ProEnum/index.js +97 -97
- package/es/ProEnum/propsType.d.ts +29 -0
- package/es/ProEnum/utils/eventCenter.js +23 -32
- package/es/ProEnum/utils/frequentEnum.d.ts +40 -0
- package/es/ProEnum/utils/frequentEnum.js +91 -0
- package/es/ProEnum/utils/getEnumLabel.js +16 -21
- package/es/ProEnum/utils/index.js +12 -7
- package/es/ProForm/components/Container.js +8 -6
- package/es/ProForm/components/FormFooter/index.js +21 -19
- package/es/ProForm/components/base/Checkbox/index.js +16 -15
- package/es/ProForm/components/base/DatePicker/index.js +23 -20
- package/es/ProForm/components/base/Input/index.js +20 -18
- package/es/ProForm/components/base/InputNumber/index.js +57 -53
- package/es/ProForm/components/base/Radio/index.js +15 -15
- package/es/ProForm/components/base/RangePicker/index.js +24 -29
- package/es/ProForm/components/base/RangePicker/useDateRange.js +3 -3
- package/es/ProForm/components/base/Select/index.js +17 -15
- package/es/ProForm/components/base/Switch/index.js +16 -15
- package/es/ProForm/components/base/SwitchCheckbox/index.js +19 -18
- package/es/ProForm/components/base/TextArea/index.js +18 -17
- package/es/ProForm/components/base/TimePicker/index.js +10 -9
- package/es/ProForm/components/combination/Container/index.js +25 -23
- package/es/ProForm/components/combination/FormList/components/ActionButton.js +80 -92
- package/es/ProForm/components/combination/FormList/components/BlockFields.js +21 -19
- package/es/ProForm/components/combination/FormList/components/BlockTitle.js +7 -7
- package/es/ProForm/components/combination/FormList/components/Empty.js +21 -20
- package/es/ProForm/components/combination/FormList/components/LineFields.js +19 -18
- package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +45 -51
- package/es/ProForm/components/combination/FormList/index.js +43 -51
- package/es/ProForm/components/combination/FormList/utils.js +9 -9
- package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +8 -6
- package/es/ProForm/components/combination/Group/component/ComRender.js +33 -29
- package/es/ProForm/components/combination/Group/hooks/index.js +49 -47
- package/es/ProForm/components/combination/Group/index.js +38 -37
- package/es/ProForm/components/combination/Group/utils.js +56 -50
- package/es/ProForm/components/combination/ProCascader/index.js +81 -85
- package/es/ProForm/components/combination/ProCascader/utils/index.js +6 -6
- package/es/ProForm/components/combination/ProCombination/index.js +41 -37
- package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +31 -25
- package/es/ProForm/components/combination/ProModalSelect/index.js +166 -173
- package/es/ProForm/components/combination/ProModalSelect/utils/index.js +1 -1
- package/es/ProForm/components/combination/ProNumberRange/index.js +46 -51
- package/es/ProForm/components/combination/ProNumberRange/style/index.less +5 -0
- package/es/ProForm/components/combination/ProRangeLimit/index.js +39 -39
- package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +3 -3
- package/es/ProForm/components/combination/ProTimeLimit/index.js +43 -40
- package/es/ProForm/components/index.d.ts +1 -0
- package/es/ProForm/components/index.js +40 -35
- package/es/ProForm/components/old/EnumSelect/hooks/useRequestList.js +30 -28
- package/es/ProForm/components/old/EnumSelect/index.js +55 -62
- package/es/ProForm/components/old/InputRange/index.js +17 -16
- package/es/ProForm/components/old/InputWithSuffix/index.js +6 -5
- package/es/ProForm/components/old/ProAddress/index.js +53 -75
- package/es/ProForm/components/old/ProCertNo/index.js +17 -17
- package/es/ProForm/components/old/ProCertValidity/index.js +19 -21
- package/es/ProForm/components/old/ProRangeBox/index.js +25 -24
- package/es/ProForm/components/render/ChangedWrapper.js +34 -33
- package/es/ProForm/components/render/ConfirmWrapper.js +16 -18
- package/es/ProForm/components/render/Render.js +150 -135
- package/es/ProForm/components/render/RenderFields.js +65 -50
- package/es/ProForm/components/render/propsType.js +25 -0
- package/es/ProForm/index.js +83 -70
- package/es/ProForm/propsType.d.ts +1 -1
- package/es/ProForm/propsType.js +5 -1
- package/es/ProForm/utils/diffOriginal.js +30 -16
- package/es/ProForm/utils/getDefaultProps.js +10 -10
- package/es/ProForm/utils/index.js +105 -110
- package/es/ProForm/utils/processDependencies.js +15 -5
- package/es/ProForm/utils/rulesCreator.js +21 -22
- package/es/ProForm/utils/transformNames.js +7 -6
- package/es/ProForm/utils/transformValue.js +16 -13
- package/es/ProForm/utils/useDeepCompareMemo.js +6 -4
- package/es/ProForm/utils/useFieldProps.js +1 -3
- package/es/ProForm/utils/useForm.js +36 -34
- package/es/ProForm/utils/useRules.js +28 -31
- package/es/ProForm/utils/useShouldUpdate.js +83 -86
- package/es/ProForm/utils/useWatch.js +36 -14
- package/es/ProForm/utils/valueType.js +51 -52
- package/es/ProIcon/config/index.js +2 -0
- package/es/ProIcon/index.js +53 -49
- package/es/ProIcon/utils/index.js +8 -9
- package/es/ProLayout/components/Layout/Header/index.js +13 -11
- package/es/ProLayout/components/Layout/Icon/Icon.js +7 -7
- package/es/ProLayout/components/Layout/Icon/index.js +1 -1
- package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +42 -40
- package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +51 -52
- package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +10 -9
- package/es/ProLayout/components/Layout/Menu/index.js +20 -18
- package/es/ProLayout/components/Layout/Notice/index.js +12 -11
- package/es/ProLayout/components/Layout/index.js +4 -4
- package/es/ProLayout/components/ProCollapse/index.js +35 -32
- package/es/ProLayout/components/ProFooter/index.js +13 -15
- package/es/ProLayout/components/ProHeader/components/Copy/index.js +9 -9
- package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +8 -7
- package/es/ProLayout/components/ProHeader/components/index.js +2 -2
- package/es/ProLayout/components/ProHeader/index.js +129 -118
- package/es/ProLayout/components/ProHeader/utils/index.js +1 -1
- package/es/ProLayout/components/index.js +3 -3
- package/es/ProLayout/index.d.ts +1 -1
- package/es/ProLayout/index.js +28 -25
- package/es/ProLayout/utils/index.js +37 -35
- package/es/ProSelect/components/AdaptiveTooltip.js +10 -11
- package/es/ProSelect/index.js +87 -99
- package/es/ProSelect/utils/index.js +27 -33
- package/es/ProStep/components/Anchor/index.d.ts +1 -0
- package/es/ProStep/components/Anchor/index.js +26 -25
- package/es/ProStep/components/Item/index.d.ts +1 -0
- package/es/ProStep/components/Item/index.js +26 -22
- package/es/ProStep/components/Listener/index.js +11 -15
- package/es/ProStep/components/Step/index.js +24 -25
- package/es/ProStep/index.js +51 -53
- package/es/ProStep/utils/index.js +13 -12
- package/es/ProStepTab/index.js +59 -37
- package/es/ProTable/components/FormatColumn/index.js +106 -110
- package/es/ProTable/components/RcTable/components/BaseTable/index.js +7 -9
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +36 -50
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +24 -24
- package/es/ProTable/components/RcTable/components/DraggableTable/index.js +8 -10
- package/es/ProTable/components/RcTable/index.js +2 -2
- package/es/ProTable/components/RenderColumn/index.js +51 -51
- package/es/ProTable/components/RenderEmptyText/index.js +8 -7
- package/es/ProTable/components/RenderFooter/index.js +3 -3
- package/es/ProTable/components/RenderSummary/index.js +13 -13
- package/es/ProTable/components/RenderTableHeader/index.js +16 -14
- package/es/ProTable/components/RenderTabs/index.js +28 -33
- package/es/ProTable/components/TableResizable/index.js +17 -16
- package/es/ProTable/components/TooltipTitle/index.js +7 -6
- package/es/ProTable/components/index.js +11 -6
- package/es/ProTable/hooks/useAntdTable.js +106 -119
- package/es/ProTable/index.js +158 -176
- package/es/ProTable/utils/index.js +25 -21
- package/es/ProTabs/components/Card/index.js +15 -14
- package/es/ProTabs/components/index.js +1 -1
- package/es/ProTabs/index.js +24 -25
- package/es/ProThemeTools/component/ProTools/index.js +69 -68
- package/es/ProThemeTools/component/index.js +1 -1
- package/es/ProThemeTools/index.js +47 -33
- package/es/ProThemeTools/utils/index.js +20 -17
- package/es/ProTooltip/index.js +44 -46
- package/es/ProTree/components/AdaptiveTooltip.js +5 -7
- package/es/ProTree/components/CloseIcon.js +5 -5
- package/es/ProTree/components/List.js +22 -24
- package/es/ProTree/components/ProTree.js +84 -102
- package/es/ProTree/components/ProTreeSelect/index.js +128 -120
- package/es/ProTree/components/SearchTitle.js +10 -9
- package/es/ProTree/components/Tree.js +57 -58
- package/es/ProTree/components/index.js +4 -4
- package/es/ProTree/index.js +6 -6
- package/es/ProTree/utils.js +29 -22
- package/es/ProTreeModal/components/Cascader.js +31 -33
- package/es/ProTreeModal/components/CloseIcon.js +5 -5
- package/es/ProTreeModal/components/List.js +74 -93
- package/es/ProTreeModal/components/SearchTitle.js +5 -4
- package/es/ProTreeModal/components/SortableItem.js +14 -14
- package/es/ProTreeModal/components/Tree.js +49 -53
- package/es/ProTreeModal/components/Trigger.js +29 -28
- package/es/ProTreeModal/components/index.js +6 -6
- package/es/ProTreeModal/index.js +166 -206
- package/es/ProTreeModal/utils.js +37 -33
- package/es/ProUpload/components/ButtonRender.js +33 -36
- package/es/ProUpload/components/DragRender.js +54 -51
- package/es/ProUpload/components/DraggableUploadListItem.js +5 -4
- package/es/ProUpload/components/Example.js +13 -12
- package/es/ProUpload/components/FileItem.js +63 -58
- package/es/ProUpload/components/ImageRender.js +98 -100
- package/es/ProUpload/index.js +75 -82
- package/es/ProUpload/uitls.js +3 -3
- package/es/ProUtils/utils/index.js +10 -14
- package/es/ProViewer/index.js +29 -25
- package/es/ProViewer/propsType.js +0 -1
- package/es/ProWaterMark/index.js +5 -4
- package/es/index.d.ts +1 -1
- package/es/index.js +38 -29
- package/es/locale/index.js +7 -4
- package/es/old/ProCertValidity/index.js +19 -21
- package/es/old/ProEditableTable/index.js +156 -156
- package/es/old/ProEditableTable/utils.js +61 -63
- package/es/tokens.js +1 -0
- package/es/utils/index.js +12 -12
- package/lib/FormsProvider/index.js +11 -7
- package/lib/ProAction/components/CheckModalContent/index.js +11 -13
- package/lib/ProAction/index.js +40 -43
- package/lib/ProConfigProvider/index.js +31 -15
- package/lib/ProDownload/index.js +65 -71
- package/lib/ProDownload/utils.js +25 -22
- package/lib/ProDrawerForm/components/ProDrawer/index.js +39 -38
- package/lib/ProDrawerForm/components/ProModal/index.js +23 -22
- package/lib/ProDrawerForm/index.js +18 -18
- package/lib/ProDrawerForm/utils/index.js +3 -2
- package/lib/ProEditLabel/components/RenderProForm.js +26 -24
- package/lib/ProEditLabel/index.js +46 -35
- package/lib/ProEditLabel/utils/index.js +6 -5
- package/lib/ProEditTable/components/ActionButton/index.js +79 -74
- package/lib/ProEditTable/components/RcTable/BaseTable.js +21 -23
- package/lib/ProEditTable/components/RcTable/DraggableTable.js +32 -40
- package/lib/ProEditTable/components/RcTable/VirtualTable.js +3 -3
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +62 -60
- package/lib/ProEditTable/components/RenderField/index.js +137 -132
- package/lib/ProEditTable/components/RenderToolbar/index.js +34 -41
- package/lib/ProEditTable/components/Summary/index.js +20 -20
- package/lib/ProEditTable/components/Validator/index.js +10 -10
- package/lib/ProEditTable/index.d.ts +1 -1
- package/lib/ProEditTable/index.js +159 -164
- package/lib/ProEditTable/utils/config.js +40 -44
- package/lib/ProEditTable/utils/diffOriginal.js +36 -21
- package/lib/ProEditTable/utils/getDefaultProps.js +14 -15
- package/lib/ProEditTable/utils/index.js +97 -97
- package/lib/ProEditTable/utils/tools.js +96 -91
- package/lib/ProEditTable/utils/transform.js +7 -11
- package/lib/ProEditTable/utils/useEditTableError.js +22 -13
- package/lib/ProEnum/components/Group.js +23 -27
- package/lib/ProEnum/components/Tag.js +14 -16
- package/lib/ProEnum/hooks/useEnum.js +30 -12
- package/lib/ProEnum/hooks/useEnumRequest.js +39 -39
- package/lib/ProEnum/hooks/useFrequentEnumRequest.d.ts +14 -0
- package/lib/ProEnum/hooks/useFrequentEnumRequest.js +83 -0
- package/lib/ProEnum/index.js +85 -86
- package/lib/ProEnum/propsType.d.ts +29 -0
- package/lib/ProEnum/utils/eventCenter.js +23 -32
- package/lib/ProEnum/utils/frequentEnum.d.ts +40 -0
- package/lib/ProEnum/utils/frequentEnum.js +99 -0
- package/lib/ProEnum/utils/getEnumLabel.js +15 -21
- package/lib/ProEnum/utils/index.js +12 -7
- package/lib/ProForm/components/Container.js +7 -5
- package/lib/ProForm/components/FormFooter/index.js +19 -17
- package/lib/ProForm/components/base/Checkbox/index.js +14 -13
- package/lib/ProForm/components/base/DatePicker/index.js +20 -17
- package/lib/ProForm/components/base/Input/index.js +15 -15
- package/lib/ProForm/components/base/InputNumber/index.js +51 -48
- package/lib/ProForm/components/base/Radio/index.js +13 -13
- package/lib/ProForm/components/base/RangePicker/index.js +19 -22
- package/lib/ProForm/components/base/RangePicker/useDateRange.js +5 -4
- package/lib/ProForm/components/base/Select/index.js +14 -12
- package/lib/ProForm/components/base/Switch/index.js +11 -11
- package/lib/ProForm/components/base/SwitchCheckbox/index.js +16 -15
- package/lib/ProForm/components/base/TextArea/index.js +14 -13
- package/lib/ProForm/components/base/TimePicker/index.js +6 -5
- package/lib/ProForm/components/combination/Container/index.js +22 -21
- package/lib/ProForm/components/combination/FormList/components/ActionButton.js +77 -89
- package/lib/ProForm/components/combination/FormList/components/BlockFields.js +17 -15
- package/lib/ProForm/components/combination/FormList/components/BlockTitle.js +7 -7
- package/lib/ProForm/components/combination/FormList/components/Empty.js +17 -18
- package/lib/ProForm/components/combination/FormList/components/LineFields.js +14 -14
- package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +43 -48
- package/lib/ProForm/components/combination/FormList/index.js +35 -43
- package/lib/ProForm/components/combination/FormList/utils.js +11 -10
- package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.js +7 -5
- package/lib/ProForm/components/combination/Group/component/ComRender.js +30 -28
- package/lib/ProForm/components/combination/Group/hooks/index.js +48 -45
- package/lib/ProForm/components/combination/Group/index.js +34 -35
- package/lib/ProForm/components/combination/Group/utils.js +62 -50
- package/lib/ProForm/components/combination/ProCascader/index.js +75 -80
- package/lib/ProForm/components/combination/ProCascader/utils/index.js +8 -7
- package/lib/ProForm/components/combination/ProCombination/index.js +35 -31
- package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +30 -24
- package/lib/ProForm/components/combination/ProModalSelect/index.js +171 -180
- package/lib/ProForm/components/combination/ProModalSelect/utils/index.js +3 -2
- package/lib/ProForm/components/combination/ProNumberRange/index.js +42 -48
- package/lib/ProForm/components/combination/ProNumberRange/style/index.less +5 -0
- package/lib/ProForm/components/combination/ProRangeLimit/index.js +35 -35
- package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +3 -3
- package/lib/ProForm/components/combination/ProTimeLimit/index.js +37 -34
- package/lib/ProForm/components/index.d.ts +1 -0
- package/lib/ProForm/components/old/EnumSelect/hooks/useRequestList.js +35 -33
- package/lib/ProForm/components/old/EnumSelect/index.js +50 -58
- package/lib/ProForm/components/old/InputRange/index.js +16 -16
- package/lib/ProForm/components/old/InputWithSuffix/index.js +4 -4
- package/lib/ProForm/components/old/ProAddress/index.js +53 -75
- package/lib/ProForm/components/old/ProCertNo/index.js +16 -17
- package/lib/ProForm/components/old/ProCertValidity/index.js +17 -18
- package/lib/ProForm/components/old/ProRangeBox/index.js +24 -24
- package/lib/ProForm/components/render/ChangedWrapper.js +35 -35
- package/lib/ProForm/components/render/ConfirmWrapper.js +14 -17
- package/lib/ProForm/components/render/Render.js +138 -125
- package/lib/ProForm/components/render/RenderFields.js +57 -43
- package/lib/ProForm/components/render/propsType.js +26 -1
- package/lib/ProForm/index.js +74 -61
- package/lib/ProForm/propsType.d.ts +1 -1
- package/lib/ProForm/propsType.js +5 -1
- package/lib/ProForm/utils/diffOriginal.js +30 -17
- package/lib/ProForm/utils/getDefaultProps.js +12 -12
- package/lib/ProForm/utils/index.js +127 -106
- package/lib/ProForm/utils/processDependencies.js +15 -6
- package/lib/ProForm/utils/rulesCreator.js +21 -21
- package/lib/ProForm/utils/transformNames.js +6 -6
- package/lib/ProForm/utils/transformValue.js +14 -11
- package/lib/ProForm/utils/useDeepCompareMemo.js +7 -6
- package/lib/ProForm/utils/useFieldProps.js +2 -3
- package/lib/ProForm/utils/useForm.js +33 -31
- package/lib/ProForm/utils/useRules.js +25 -28
- package/lib/ProForm/utils/useShouldUpdate.js +82 -85
- package/lib/ProForm/utils/useWatch.js +36 -14
- package/lib/ProForm/utils/valueType.js +52 -52
- package/lib/ProIcon/config/index.js +2 -0
- package/lib/ProIcon/index.js +47 -44
- package/lib/ProIcon/utils/index.js +10 -8
- package/lib/ProLayout/components/Layout/Header/index.js +10 -10
- package/lib/ProLayout/components/Layout/Icon/Icon.js +8 -7
- package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +37 -36
- package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +49 -52
- package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +8 -8
- package/lib/ProLayout/components/Layout/Menu/index.js +17 -16
- package/lib/ProLayout/components/Layout/Notice/index.js +8 -8
- package/lib/ProLayout/components/ProCollapse/index.js +32 -30
- package/lib/ProLayout/components/ProFooter/index.js +14 -16
- package/lib/ProLayout/components/ProHeader/components/Copy/index.js +7 -7
- package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +6 -7
- package/lib/ProLayout/components/ProHeader/index.js +131 -120
- package/lib/ProLayout/components/ProHeader/utils/index.js +3 -2
- package/lib/ProLayout/index.d.ts +1 -1
- package/lib/ProLayout/index.js +22 -21
- package/lib/ProLayout/utils/index.js +42 -33
- package/lib/ProSelect/components/AdaptiveTooltip.js +9 -11
- package/lib/ProSelect/index.js +82 -93
- package/lib/ProSelect/utils/index.js +29 -34
- package/lib/ProStep/components/Anchor/index.d.ts +1 -0
- package/lib/ProStep/components/Anchor/index.js +25 -24
- package/lib/ProStep/components/Item/index.d.ts +1 -0
- package/lib/ProStep/components/Item/index.js +24 -20
- package/lib/ProStep/components/Listener/index.js +9 -13
- package/lib/ProStep/components/Step/index.js +20 -21
- package/lib/ProStep/index.js +45 -49
- package/lib/ProStep/utils/index.js +16 -12
- package/lib/ProStepTab/index.js +60 -38
- package/lib/ProTable/components/FormatColumn/index.js +100 -104
- package/lib/ProTable/components/RcTable/components/BaseTable/index.js +5 -7
- package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +34 -48
- package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +25 -23
- package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +5 -7
- package/lib/ProTable/components/RenderColumn/index.js +46 -48
- package/lib/ProTable/components/RenderEmptyText/index.js +6 -6
- package/lib/ProTable/components/RenderFooter/index.js +3 -3
- package/lib/ProTable/components/RenderSummary/index.js +11 -12
- package/lib/ProTable/components/RenderTableHeader/index.js +14 -13
- package/lib/ProTable/components/RenderTabs/index.js +27 -32
- package/lib/ProTable/components/TableResizable/index.js +16 -15
- package/lib/ProTable/components/TooltipTitle/index.js +5 -5
- package/lib/ProTable/hooks/useAntdTable.js +103 -116
- package/lib/ProTable/index.js +149 -169
- package/lib/ProTable/utils/index.js +33 -22
- package/lib/ProTabs/components/Card/index.js +14 -14
- package/lib/ProTabs/index.js +24 -24
- package/lib/ProThemeTools/component/ProTools/index.js +66 -65
- package/lib/ProThemeTools/index.js +43 -29
- package/lib/ProThemeTools/utils/index.js +25 -18
- package/lib/ProTooltip/index.js +44 -46
- package/lib/ProTree/components/AdaptiveTooltip.js +5 -7
- package/lib/ProTree/components/CloseIcon.js +5 -5
- package/lib/ProTree/components/List.js +18 -22
- package/lib/ProTree/components/ProTree.js +77 -96
- package/lib/ProTree/components/ProTreeSelect/index.js +126 -117
- package/lib/ProTree/components/SearchTitle.js +8 -8
- package/lib/ProTree/components/Tree.js +53 -55
- package/lib/ProTree/index.js +4 -4
- package/lib/ProTree/utils.js +34 -25
- package/lib/ProTreeModal/components/Cascader.js +28 -32
- package/lib/ProTreeModal/components/CloseIcon.js +5 -5
- package/lib/ProTreeModal/components/List.js +69 -89
- package/lib/ProTreeModal/components/SearchTitle.js +4 -4
- package/lib/ProTreeModal/components/SortableItem.js +11 -12
- package/lib/ProTreeModal/components/Tree.js +44 -49
- package/lib/ProTreeModal/components/Trigger.js +26 -26
- package/lib/ProTreeModal/index.js +157 -199
- package/lib/ProTreeModal/utils.js +43 -35
- package/lib/ProUpload/components/ButtonRender.js +29 -33
- package/lib/ProUpload/components/DragRender.js +50 -48
- package/lib/ProUpload/components/DraggableUploadListItem.js +7 -5
- package/lib/ProUpload/components/Example.js +13 -11
- package/lib/ProUpload/components/FileItem.js +58 -50
- package/lib/ProUpload/components/ImageRender.js +89 -93
- package/lib/ProUpload/index.js +68 -76
- package/lib/ProUpload/uitls.js +5 -3
- package/lib/ProUtils/utils/index.js +10 -14
- package/lib/ProViewer/index.js +26 -24
- package/lib/ProViewer/propsType.js +1 -5
- package/lib/ProWaterMark/index.js +5 -4
- package/lib/index.d.ts +1 -1
- package/lib/locale/index.js +6 -2
- package/lib/old/ProCertValidity/index.js +17 -18
- package/lib/old/ProEditableTable/index.js +153 -156
- package/lib/old/ProEditableTable/utils.js +61 -62
- package/lib/tokens.js +1 -0
- package/lib/utils/index.js +16 -13
- package/package.json +8 -8
- package/dist/index.esm.css +0 -6338
- package/dist/index.esm.js +0 -3
- package/dist/less.esm.css +0 -5762
- package/dist/less.esm.js +0 -3
- package/tests/__mocks__/fileMock.js +0 -1
- package/tests/__mocks__/zatUtils.js +0 -27
- package/tests/setup.ts +0 -477
- package/tests/test-utils.tsx +0 -81
@@ -1,19 +1,18 @@
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
2
|
-
import _get from "lodash/get";
|
3
|
-
import _isEqualWith from "lodash/isEqualWith";
|
4
|
-
import _isFunction from "lodash/isFunction";
|
5
2
|
import { useRef, useState } from 'react';
|
6
|
-
import {
|
3
|
+
import { isFunction, isEqualWith, get } from 'lodash';
|
4
|
+
import { customEqualForFun } from "./index";
|
7
5
|
/** FormList中被删除的行也会再触发一次响应式函数 排除这种场景 */
|
8
|
-
var isDeleteLine =
|
6
|
+
var isDeleteLine = (form, namePath) => {
|
9
7
|
if (namePath) {
|
10
8
|
var line = form.getFieldValue(namePath);
|
11
9
|
return line === undefined;
|
12
10
|
}
|
13
11
|
return false;
|
14
12
|
};
|
13
|
+
|
15
14
|
// 代理shouldUpdate事件, 执行函数值的[show, disabled], 当[show, disabled]与上一次值不相同时更新状态
|
16
|
-
var useShouldUpdate =
|
15
|
+
var useShouldUpdate = props => {
|
17
16
|
var show = props.show,
|
18
17
|
formItemProps = props.formItemProps,
|
19
18
|
form = props.form,
|
@@ -47,17 +46,18 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
47
46
|
_useState2 = _slicedToArray(_useState, 2),
|
48
47
|
reRender = _useState2[1];
|
49
48
|
var values = {};
|
49
|
+
|
50
50
|
// 不是动态函数直接返回
|
51
|
-
if (!(dependNames
|
51
|
+
if (!(dependNames !== null && dependNames !== void 0 && dependNames.length) && !isFunction(show) && !isFunction(disabled) && !isFunction(required) && !isFunction(rules) && !isFunction(fieldProps) && !isFunction(originComponent) && !isFunction(desensitization)) {
|
52
52
|
return {
|
53
53
|
shouldUpdate: _shouldUpdate,
|
54
|
-
show
|
55
|
-
disabled
|
56
|
-
required
|
57
|
-
rules
|
58
|
-
fieldProps
|
54
|
+
show,
|
55
|
+
disabled,
|
56
|
+
required,
|
57
|
+
rules,
|
58
|
+
fieldProps,
|
59
59
|
component: newComponent,
|
60
|
-
desensitization
|
60
|
+
desensitization
|
61
61
|
};
|
62
62
|
}
|
63
63
|
if (namePath) {
|
@@ -66,95 +66,91 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
66
66
|
} else {
|
67
67
|
values = form.getFieldsValue(true);
|
68
68
|
}
|
69
|
-
if (
|
69
|
+
if (isFunction(show)) {
|
70
70
|
showRef.current = Boolean(show(values, {
|
71
|
-
form
|
72
|
-
index
|
73
|
-
namePath
|
71
|
+
form,
|
72
|
+
index,
|
73
|
+
namePath
|
74
74
|
}));
|
75
75
|
} else {
|
76
76
|
showRef.current = show;
|
77
77
|
}
|
78
|
-
if (
|
78
|
+
if (isFunction(desensitization)) {
|
79
79
|
desensitizationRef.current = desensitization(values, {
|
80
|
-
form
|
81
|
-
index
|
82
|
-
namePath
|
80
|
+
form,
|
81
|
+
index,
|
82
|
+
namePath
|
83
83
|
});
|
84
84
|
} else {
|
85
85
|
desensitizationRef.current = desensitization;
|
86
86
|
}
|
87
|
-
if (
|
87
|
+
if (isFunction(disabled)) {
|
88
88
|
// RangePicker返回数组时,特殊处理
|
89
89
|
if (['Group', 'RangePicker', 'ProCascader'].includes(type) && Array.isArray(disabled(values, {
|
90
|
-
form
|
91
|
-
index
|
92
|
-
namePath
|
90
|
+
form,
|
91
|
+
index,
|
92
|
+
namePath
|
93
93
|
}))) {
|
94
94
|
disabledRef.current = disabled(values, {
|
95
|
-
form
|
96
|
-
index
|
97
|
-
namePath
|
95
|
+
form,
|
96
|
+
index,
|
97
|
+
namePath
|
98
98
|
});
|
99
99
|
} else {
|
100
100
|
disabledRef.current = Boolean(disabled(values, {
|
101
|
-
form
|
102
|
-
index
|
103
|
-
namePath
|
101
|
+
form,
|
102
|
+
index,
|
103
|
+
namePath
|
104
104
|
}));
|
105
105
|
}
|
106
106
|
} else {
|
107
107
|
disabledRef.current = disabled;
|
108
108
|
}
|
109
|
-
if (
|
109
|
+
if (isFunction(required)) {
|
110
110
|
requiredRef.current = required(values, {
|
111
|
-
form
|
112
|
-
index
|
113
|
-
namePath
|
111
|
+
form,
|
112
|
+
index,
|
113
|
+
namePath
|
114
114
|
});
|
115
115
|
} else {
|
116
116
|
requiredRef.current = required;
|
117
117
|
}
|
118
|
-
if (
|
118
|
+
if (isFunction(rules)) {
|
119
119
|
rulesRef.current = rules(values, {
|
120
|
-
form
|
121
|
-
index
|
122
|
-
namePath
|
120
|
+
form,
|
121
|
+
index,
|
122
|
+
namePath
|
123
123
|
});
|
124
124
|
} else {
|
125
125
|
rulesRef.current = rules;
|
126
126
|
}
|
127
|
-
if (
|
127
|
+
if (isFunction(originComponent)) {
|
128
128
|
originComponentRef.current = originComponent(values, {
|
129
|
-
form
|
130
|
-
index
|
131
|
-
namePath
|
129
|
+
form,
|
130
|
+
index,
|
131
|
+
namePath
|
132
132
|
});
|
133
133
|
} else {
|
134
134
|
originComponentRef.current = newComponent;
|
135
135
|
}
|
136
|
-
if (
|
136
|
+
if (isFunction(fieldProps)) {
|
137
137
|
fieldPropsRef.current = fieldProps(values, {
|
138
|
-
form
|
139
|
-
index
|
140
|
-
namePath
|
138
|
+
form,
|
139
|
+
index,
|
140
|
+
namePath
|
141
141
|
}); // index, namePath FormList才会有
|
142
142
|
} else {
|
143
143
|
fieldPropsRef.current = fieldProps;
|
144
144
|
}
|
145
|
-
if (dependNames
|
146
|
-
dependNamesRef.current = dependNames.map(
|
147
|
-
return _get(values, name);
|
148
|
-
});
|
145
|
+
if (dependNames !== null && dependNames !== void 0 && dependNames.length) {
|
146
|
+
dependNamesRef.current = dependNames.map(name => get(values, name));
|
149
147
|
}
|
150
148
|
return {
|
151
149
|
shouldUpdate: function shouldUpdate(prevValues, currentValues) {
|
152
150
|
// @ts-ignore formList场景取当前行数据,不取shouldUpdate变更后值
|
153
|
-
if (dependNames
|
154
|
-
var curDependNamesValue = dependNames.map(
|
155
|
-
|
156
|
-
});
|
157
|
-
var dependNamesChanged = !_isEqualWith(dependNamesRef.current, curDependNamesValue, customEqualForFun);
|
151
|
+
if (dependNames !== null && dependNames !== void 0 && dependNames.length) {
|
152
|
+
var curDependNamesValue = dependNames.map(name => get(currentValues, name));
|
153
|
+
var dependNamesChanged = !isEqualWith(dependNamesRef.current, curDependNamesValue, customEqualForFun);
|
158
154
|
dependNamesRef.current = curDependNamesValue;
|
159
155
|
if (!dependNamesChanged) return false;
|
160
156
|
}
|
@@ -165,36 +161,37 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
165
161
|
} else {
|
166
162
|
_currentValues = form.getFieldsValue(true);
|
167
163
|
}
|
168
|
-
var _show =
|
169
|
-
form
|
170
|
-
index
|
171
|
-
namePath
|
164
|
+
var _show = isFunction(show) ? Boolean(show(_currentValues, {
|
165
|
+
form,
|
166
|
+
index,
|
167
|
+
namePath
|
172
168
|
})) : show;
|
173
|
-
var _disabled =
|
174
|
-
form
|
175
|
-
index
|
176
|
-
namePath
|
169
|
+
var _disabled = isFunction(disabled) ? Boolean(disabled(_currentValues, {
|
170
|
+
form,
|
171
|
+
index,
|
172
|
+
namePath
|
177
173
|
})) : disabled;
|
178
|
-
var _required =
|
179
|
-
form
|
180
|
-
index
|
181
|
-
namePath
|
174
|
+
var _required = isFunction(required) ? required(_currentValues, {
|
175
|
+
form,
|
176
|
+
index,
|
177
|
+
namePath
|
182
178
|
}) : required;
|
183
|
-
var _rules =
|
184
|
-
form
|
185
|
-
index
|
186
|
-
namePath
|
179
|
+
var _rules = isFunction(rules) ? rules(_currentValues, {
|
180
|
+
form,
|
181
|
+
index,
|
182
|
+
namePath
|
187
183
|
}) : rules;
|
188
|
-
var _fieldProps =
|
189
|
-
form
|
190
|
-
index
|
191
|
-
namePath
|
184
|
+
var _fieldProps = isFunction(fieldProps) ? fieldProps(_currentValues, {
|
185
|
+
form,
|
186
|
+
index,
|
187
|
+
namePath
|
192
188
|
}) : fieldProps;
|
193
|
-
var _desensitization =
|
194
|
-
form
|
195
|
-
index
|
196
|
-
namePath
|
189
|
+
var _desensitization = isFunction(desensitization) ? desensitization(_currentValues, {
|
190
|
+
form,
|
191
|
+
index,
|
192
|
+
namePath
|
197
193
|
}) : desensitization;
|
194
|
+
|
198
195
|
// 清值防抖 多次刷新时以最后一次为准
|
199
196
|
if (clearNotShow !== false && (name || names) && !isDeleteLine(form, namePath)) {
|
200
197
|
// 当show为其他变为false的时候记录一次需要清值
|
@@ -203,7 +200,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
203
200
|
}
|
204
201
|
if (_show === false) {
|
205
202
|
clearTimeout(timerRef.current);
|
206
|
-
timerRef.current = setTimeout(
|
203
|
+
timerRef.current = setTimeout(() => {
|
207
204
|
if (needClear.current !== true) return;
|
208
205
|
if (Array.isArray(names)) {
|
209
206
|
form.resetFields(names);
|
@@ -218,10 +215,10 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
218
215
|
clearTimeout(timerRef.current);
|
219
216
|
}
|
220
217
|
}
|
221
|
-
var equalRes =
|
222
|
-
var proEqualRes =
|
223
|
-
var desensitizationRes =
|
224
|
-
if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes || !desensitizationRes ||
|
218
|
+
var equalRes = isEqualWith(rulesRef.current, _rules, customEqualForFun);
|
219
|
+
var proEqualRes = isEqualWith(fieldPropsRef.current, _fieldProps, customEqualForFun);
|
220
|
+
var desensitizationRes = isEqualWith(desensitizationRef.current, _desensitization);
|
221
|
+
if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes || !desensitizationRes || _fieldProps !== null && _fieldProps !== void 0 && _fieldProps.transformResponse // 防止fieldProps变更时,transformResponse根据fieldProps新值无法触发更新
|
225
222
|
) {
|
226
223
|
showRef.current = _show;
|
227
224
|
disabledRef.current = _disabled;
|
@@ -236,7 +233,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
236
233
|
for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
237
234
|
rest[_key - 2] = arguments[_key];
|
238
235
|
}
|
239
|
-
return _shouldUpdate
|
236
|
+
return _shouldUpdate(prevValues, currentValues, ...rest);
|
240
237
|
}
|
241
238
|
return !!_shouldUpdate;
|
242
239
|
},
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
3
|
-
import
|
3
|
+
import { debounce } from 'lodash';
|
4
4
|
import warning from 'rc-util/lib/warning';
|
5
5
|
import { useState, useEffect, useRef, useMemo } from 'react';
|
6
6
|
import isEqual from 'lodash/isEqual';
|
@@ -10,6 +10,7 @@ export function toArray(value) {
|
|
10
10
|
}
|
11
11
|
return Array.isArray(value) ? value : [value];
|
12
12
|
}
|
13
|
+
|
13
14
|
// 从一个对象或Form值中获取特定路径的值
|
14
15
|
function get(source, path) {
|
15
16
|
if (!source || path.length === 0) {
|
@@ -24,6 +25,7 @@ function get(source, path) {
|
|
24
25
|
}
|
25
26
|
return current;
|
26
27
|
}
|
28
|
+
|
27
29
|
/**
|
28
30
|
* 将值设置到指定路径的嵌套对象中
|
29
31
|
* @param obj 目标对象
|
@@ -32,11 +34,13 @@ function get(source, path) {
|
|
32
34
|
*/
|
33
35
|
function setValueByPath(obj, path, value) {
|
34
36
|
if (path.length === 0) return;
|
37
|
+
|
35
38
|
// 处理单层路径
|
36
39
|
if (path.length === 1) {
|
37
40
|
obj[path[0]] = value;
|
38
41
|
return;
|
39
42
|
}
|
43
|
+
|
40
44
|
// 处理多层嵌套路径
|
41
45
|
var current = obj;
|
42
46
|
for (var i = 0; i < path.length - 1; i++) {
|
@@ -48,12 +52,14 @@ function setValueByPath(obj, path, value) {
|
|
48
52
|
}
|
49
53
|
current[path[path.length - 1]] = value;
|
50
54
|
}
|
55
|
+
|
51
56
|
// 创建之后namepath就不可变的警告
|
52
|
-
var useWatchWarning = process.env.NODE_ENV !== 'production' ?
|
57
|
+
var useWatchWarning = process.env.NODE_ENV !== 'production' ? dependencies => {
|
53
58
|
var depsStr = JSON.stringify(dependencies);
|
54
59
|
var depsStrRef = useRef(depsStr);
|
55
60
|
warning(depsStrRef.current === depsStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');
|
56
|
-
} :
|
61
|
+
} : () => {};
|
62
|
+
|
57
63
|
/**
|
58
64
|
* ProForm的useWatch hook,用于监听表单字段变化
|
59
65
|
* @param dependencies 监听的字段路径
|
@@ -64,20 +70,25 @@ var useWatchWarning = process.env.NODE_ENV !== 'production' ? function (dependen
|
|
64
70
|
function useWatch(dependencies, form, wait) {
|
65
71
|
// 处理开发环境警告
|
66
72
|
useWatchWarning(dependencies);
|
73
|
+
|
67
74
|
// 获取表单实例
|
68
75
|
var formInstance = form;
|
76
|
+
|
69
77
|
// 用于存储最终结果
|
70
78
|
var _useState = useState({}),
|
71
79
|
_useState2 = _slicedToArray(_useState, 2),
|
72
80
|
state = _useState2[0],
|
73
81
|
setState = _useState2[1];
|
82
|
+
|
74
83
|
// 使用ref存储中间状态,避免不必要的渲染
|
75
84
|
var valueRef = useRef({});
|
76
85
|
var prevStateRef = useRef({});
|
86
|
+
|
77
87
|
// 标准化依赖为路径数组的数组
|
78
|
-
var namePaths = useMemo(
|
88
|
+
var namePaths = useMemo(() => {
|
79
89
|
// 将依赖标准化为数组的数组形式
|
80
90
|
var paths = [];
|
91
|
+
|
81
92
|
// 字符串形式: 'fieldName'
|
82
93
|
if (typeof dependencies === 'string') {
|
83
94
|
paths.push(dependencies);
|
@@ -87,7 +98,7 @@ function useWatch(dependencies, form, wait) {
|
|
87
98
|
var isPathsCollection = dependencies.length > 0 && (typeof dependencies[0] === 'string' || Array.isArray(dependencies[0]));
|
88
99
|
if (isPathsCollection) {
|
89
100
|
// 每个元素都是一个路径
|
90
|
-
dependencies.forEach(
|
101
|
+
dependencies.forEach(path => {
|
91
102
|
paths.push(path);
|
92
103
|
});
|
93
104
|
} else {
|
@@ -97,10 +108,11 @@ function useWatch(dependencies, form, wait) {
|
|
97
108
|
}
|
98
109
|
return paths;
|
99
110
|
}, [/* dependencies 故意忽略,与原实现一致 */]);
|
111
|
+
|
100
112
|
// 保存防抖函数引用,避免重复创建
|
101
|
-
var debouncedFn = useMemo(
|
113
|
+
var debouncedFn = useMemo(() => {
|
102
114
|
if (wait) {
|
103
|
-
return
|
115
|
+
return debounce(value => {
|
104
116
|
// 只在值真正变化时才更新状态
|
105
117
|
if (!isEqual(prevStateRef.current, value)) {
|
106
118
|
prevStateRef.current = _objectSpread({}, value);
|
@@ -108,46 +120,56 @@ function useWatch(dependencies, form, wait) {
|
|
108
120
|
}
|
109
121
|
}, wait);
|
110
122
|
}
|
123
|
+
|
111
124
|
// 非防抖版本
|
112
|
-
return
|
125
|
+
return value => {
|
113
126
|
if (!isEqual(prevStateRef.current, value)) {
|
114
127
|
prevStateRef.current = _objectSpread({}, value);
|
115
128
|
setState(value);
|
116
129
|
}
|
117
130
|
};
|
118
131
|
}, [wait]);
|
119
|
-
useEffect(
|
132
|
+
useEffect(() => {
|
120
133
|
if (!formInstance) return undefined;
|
134
|
+
|
121
135
|
// 创建更新状态的函数
|
122
|
-
var updateState =
|
136
|
+
var updateState = () => {
|
123
137
|
var values = formInstance.getFieldsValue(true);
|
124
138
|
var newState = {};
|
139
|
+
|
125
140
|
// 处理每个监听路径
|
126
|
-
namePaths.forEach(
|
141
|
+
namePaths.forEach(path => {
|
127
142
|
// 将路径转换为数组形式
|
128
143
|
var namePath = toArray(path);
|
144
|
+
|
129
145
|
// 获取路径对应的值
|
130
146
|
var value = get(values, namePath);
|
147
|
+
|
131
148
|
// 将值设置到正确的嵌套结构中
|
132
149
|
setValueByPath(newState, namePath, value);
|
133
150
|
});
|
151
|
+
|
134
152
|
// 存储并更新状态
|
135
153
|
valueRef.current = newState;
|
136
154
|
debouncedFn(newState);
|
137
155
|
};
|
156
|
+
|
138
157
|
// 初始调用一次
|
139
158
|
updateState();
|
159
|
+
|
140
160
|
// 注册表单变化监听
|
141
|
-
var
|
161
|
+
var _ref = formInstance,
|
162
|
+
getInternalHooks = _ref.getInternalHooks;
|
142
163
|
var _getInternalHooks = getInternalHooks('RC_FORM_INTERNAL_HOOKS'),
|
143
164
|
registerWatch = _getInternalHooks.registerWatch;
|
144
|
-
var cancelWatch = registerWatch(
|
165
|
+
var cancelWatch = registerWatch(values => {
|
145
166
|
if (values) {
|
146
167
|
updateState();
|
147
168
|
}
|
148
169
|
});
|
170
|
+
|
149
171
|
// 清理订阅
|
150
|
-
return
|
172
|
+
return () => {
|
151
173
|
if (wait) {
|
152
174
|
debouncedFn.cancel();
|
153
175
|
}
|