@@ -9,6 +9,7 @@ import { FileOrganizer, FileOrganizerProps } from '../FileOrganizer';
9
9
import { Thumbnail } from '../Thumbnail' ;
10
10
import { ThumbnailDragLayer } from '../ThumbnailDragLayer' ;
11
11
import readme from './README.md' ;
12
+ import close from '../Thumbnail/close-24px.svg' ;
12
13
13
14
export default {
14
15
title : 'Components/FileOrganizer' ,
@@ -20,9 +21,12 @@ interface TemplateProps {
20
21
onRenderDragLayer ?: boolean ;
21
22
numFiles ?: number ;
22
23
lazy ?: boolean ;
24
+ editable ?: boolean ;
23
25
}
24
26
25
- const Template : FC < TemplateProps > = ( { onRenderDragLayer, numFiles = 2 , lazy } ) => {
27
+ /* eslint-disable @typescript-eslint/no-empty-function */
28
+
29
+ const Template : FC < TemplateProps > = ( { onRenderDragLayer, numFiles = 2 , lazy, editable } ) => {
26
30
// This is the index organizing function.
27
31
const [ files , setFiles ] = useState < FakeFile [ ] > ( [ ] ) ;
28
32
const handleOnMove = useCallback < NonNullable < FileOrganizerProps < FakeFile > [ 'onMove' ] > > ( ( fromIndex , toIndex ) => {
@@ -65,7 +69,23 @@ const Template: FC<TemplateProps> = ({ onRenderDragLayer, numFiles = 2, lazy })
65
69
onDeselectAll = { action ( 'onDeselectAll' ) }
66
70
onSelectAll = { action ( 'onSelectAll' ) }
67
71
onRenderDragLayer = { onRenderDragLayer ? ( ) => < ThumbnailDragLayer /> : undefined }
68
- onRenderThumbnail = { ( { onRenderThumbnailProps } ) => < Thumbnail { ...onRenderThumbnailProps } /> }
72
+ onRenderThumbnail = { ( { onRenderThumbnailProps } ) => (
73
+ < Thumbnail
74
+ { ...onRenderThumbnailProps }
75
+ onRename = { editable ? ( ) => { } : undefined }
76
+ buttonProps = {
77
+ editable
78
+ ? [
79
+ {
80
+ children : < img src = { close } alt = { 'close' } /> ,
81
+ onClick : ( ) => { } ,
82
+ key : 0 ,
83
+ } ,
84
+ ]
85
+ : undefined
86
+ }
87
+ />
88
+ ) }
69
89
/>
70
90
) ;
71
91
} ;
@@ -74,6 +94,10 @@ export const Basic = () => {
74
94
const numFiles = number ( 'number of files' , 2 , { min : 0 , max : 16 , step : 1 , range : true } ) ;
75
95
return < Template numFiles = { numFiles } /> ;
76
96
} ;
97
+ export const WithThumbnailButtonsAndEditableText = ( ) => {
98
+ const numFiles = number ( 'number of files' , 2 , { min : 0 , max : 16 , step : 1 , range : true } ) ;
99
+ return < Template numFiles = { numFiles } editable /> ;
100
+ } ;
77
101
export const WithCustomDragLayer = ( ) => {
78
102
const numFiles = number ( 'number of files' , 2 , { min : 0 , max : 16 , step : 1 , range : true } ) ;
79
103
return < Template numFiles = { numFiles } onRenderDragLayer /> ;
0 commit comments