nickmcmillan / react-pig

Arrange images in a responsive, progressive-loading grid managed in JavaScript using CSS transforms.
56 stars 11 forks source link

Add option to make images selectable #40

Open derneuere opened 3 years ago

derneuere commented 3 years ago

This pull request adds the option to select images.

Three new props have been added: 'selectable', 'selectedItems' and 'handleSelection'.

To activate the option use 'selectable' 'selectedItems' is optional. If it is provided, all the tiles will be selected accordingly. If it is not provided, then the component will manage the selected items itself. 'handleSelection' is optional. You can add your own function on select by providing it. Otherwise, the component will handle the selections on its own.

It includes an example component 'SelectablePig' to demonstrate on how to implement selecting images for a parent component. It uses the click handler from #37, to implement selecting multiple images with shift click.

To-Do:

Feedback and discussion will be appreciated. I am not a frontend dev and I probably did a couple of things in the wrong way :)