File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -85,7 +85,7 @@ Then open `http://localhost:8000`.
8585| placement | ` left ` \| ` right ` \| ` top ` \| ` bottom ` | ` right ` | Drawer placement. |
8686| prefixCls | string | ` rc-drawer ` | Class name prefix. |
8787| push | boolean \| ` { distance?: number \| string } ` | - | Push parent drawers when nested. |
88- | resizable | boolean \| ` { onResize?: (size: number) => void; onResizeStart?: () => void; onResizeEnd?: () => void } ` | false | Enable resizing and optional resize callbacks. |
88+ | resizable | boolean \| ` { onResize?: (size: number) => void; onResizeStart?: (size: number ) => void; onResizeEnd?: (size: number ) => void } ` | false | Enable resizing and optional resize callbacks. |
8989| rootClassName | string | - | Class name for the root wrapper. |
9090| rootStyle | CSSProperties | - | Style for the root wrapper. |
9191| size | number \| string | ` 378 ` for left/right | Drawer size. Controls width for left/right and height for top/bottom placement. |
Original file line number Diff line number Diff line change 55 path : /resizable
66---
77
8+ Drag an edge to resize the drawer. ` onResizeStart ` , ` onResize ` , and ` onResizeEnd ` each receive the current size in pixels.
9+
810<code src =" ../examples/resizable.tsx " ></code >
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ export default () => {
1212 const [ placement , setPlacement ] = React . useState < Placement > ( 'right' ) ;
1313 const [ width , setWidth ] = React . useState ( 320 ) ;
1414 const [ height , setHeight ] = React . useState ( 240 ) ;
15+ const [ resizeStatus , setResizeStatus ] = React . useState ( 'Ready to resize' ) ;
1516
1617 const buttons = [
1718 { placement : 'left' as Placement , label : 'Left Drawer' } ,
@@ -40,6 +41,9 @@ export default () => {
4041 </ button >
4142 ) ) }
4243 </ div >
44+ < div style = { { marginBottom : 16 } } >
45+ Current size: { isHorizontal ? width : height } px. { resizeStatus }
46+ </ div >
4347 < Drawer
4448 width = { isHorizontal ? width : undefined }
4549 height = { ! isHorizontal ? height : undefined }
@@ -55,11 +59,11 @@ export default () => {
5559 setHeight ( size ) ;
5660 }
5761 } ,
58- onResizeStart : ( ) => {
59- console . log ( 'onResizeStart' ) ;
62+ onResizeStart : size => {
63+ setResizeStatus ( `Resize started at ${ size } px` ) ;
6064 } ,
61- onResizeEnd : ( ) => {
62- console . log ( 'onResizeEnd' ) ;
65+ onResizeEnd : size => {
66+ setResizeStatus ( `Resize ended at ${ size } px` ) ;
6367 } ,
6468 } }
6569 { ...motionProps }
Original file line number Diff line number Diff line change @@ -46,8 +46,8 @@ export interface DrawerProps
4646 | boolean
4747 | {
4848 onResize ?: ( size : number ) => void ;
49- onResizeStart ?: ( ) => void ;
50- onResizeEnd ?: ( ) => void ;
49+ onResizeStart ?: ( size : number ) => void ;
50+ onResizeEnd ?: ( size : number ) => void ;
5151 } ;
5252 focusTriggerAfterClose ?: boolean ;
5353}
Original file line number Diff line number Diff line change @@ -82,8 +82,8 @@ export interface DrawerPopupProps
8282 | boolean
8383 | {
8484 onResize ?: ( size : number ) => void ;
85- onResizeStart ?: ( ) => void ;
86- onResizeEnd ?: ( ) => void ;
85+ onResizeStart ?: ( size : number ) => void ;
86+ onResizeEnd ?: ( size : number ) => void ;
8787 } ;
8888}
8989
Original file line number Diff line number Diff line change @@ -445,8 +445,8 @@ describe('rc-drawer-menu', () => {
445445
446446 it ( 'should support resizable horizontal' , ( ) => {
447447 const onResize = jest . fn ( ) ;
448- const onResizeStart = jest . fn ( ) ;
449- const onResizeEnd = jest . fn ( ) ;
448+ const onResizeStart = jest . fn ( ( _size : number ) => { } ) ;
449+ const onResizeEnd = jest . fn ( ( _size : number ) => { } ) ;
450450
451451 const { unmount } = render (
452452 < div
@@ -516,13 +516,15 @@ describe('rc-drawer-menu', () => {
516516
517517 // onResizeStart should be called when mouse down
518518 expect ( onResizeStart ) . toHaveBeenCalledTimes ( 1 ) ;
519+ expect ( onResizeStart ) . toHaveBeenCalledWith ( 200 ) ;
519520 expect ( onResizeEnd ) . not . toHaveBeenCalled ( ) ;
520521
521522 fireEvent . mouseMove ( document , { clientX : 300 , clientY : 0 } ) ;
522523 fireEvent . mouseUp ( document , { clientX : 300 , clientY : 0 } ) ;
523524
524525 // onResizeEnd should be called when mouse up
525526 expect ( onResizeEnd ) . toHaveBeenCalledTimes ( 1 ) ;
527+ expect ( onResizeEnd ) . toHaveBeenCalledWith ( 200 ) ;
526528
527529 expect ( onResize ) . toHaveBeenCalledWith ( 100 ) ;
528530
You can’t perform that action at this time.
0 commit comments