Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editing a gallery shows all images from the media library as selected #9072

Open
florianbrinkmann opened this issue Aug 17, 2018 · 5 comments

Comments

@florianbrinkmann
Copy link

commented Aug 17, 2018

Describe the bug

After creating a gallery block and uploading an image to it – via drag & drop or the upload button – all images of the media library are displayed as selected in the edit gallery view. I am using Gutenberg 3.5.

To Reproduce
Steps to reproduce the behavior:

  1. Insert a gallery block.
  2. Upload one or more images to it via drag & drop or the upload button.
  3. Click the Edit Gallery button
  4. See all images of the library as selected.

Expected behavior

Just the images from the gallery should be set as selected.

Screenshots

gutenberg-gallery-issue

Desktop (please complete the following information):

  • Windows 10
  • Firefox Nightly
  • 63.0a1 (2018-08-16)
@designsimply

This comment has been minimized.

Copy link
Member

commented Aug 17, 2018

Good find! Tested and confirmed with WordPress 4.9.8 and Gutenberg 3.6.2 using Firefox 61.0.2 and Chrome 68.0.3440.106 on macOS 10.13.6. (1m29s)

all-images-should-not-be-selected-by-default-in-the-edit-gallery-screen

@designsimply designsimply added this to the 3.7 milestone Aug 20, 2018
@youknowriad youknowriad modified the milestones: 3.7, 3.8 Aug 30, 2018
@jeherve

This comment has been minimized.

Copy link

commented Jan 10, 2019

This is still happening today. I was able to reproduce this just now. 👍

@paaljoachim

This comment has been minimized.

Copy link

commented Jan 21, 2019

Just yesterday I was also able to reproduce the same issue.

Btw I received some feedback in the Slack #design channel:
"There was a discussion in my local meetup channel about galleries and a friend created this video to illustrated the challenges he was having using the gallery block."

https://www.useloom.com/share/71a4e0dc1f064f5f92392a28ca23610c

@paaljoachim

This comment has been minimized.

Copy link

commented Feb 6, 2019

Btw - An update for GB version 5.0 Rc-1

Uploading media: Still having the same gallery block selected click the pencil icon. All the images in the media library shows up. I clicked cancel. Deselected the gallery block and then selected it again. Then only 4 images showed up in the Edit Gallery view.

@antpb

This comment has been minimized.

Copy link
Contributor

commented Feb 22, 2019

I started digging into this. Wanted to document some of my initial findings as I find a solution.
I'm noticing we check for images.length to render the edit toolbar. Then we set the value of the edit button to images.map( ( img ) => img.id )
src:

{ !! images.length && (
<Toolbar>
<MediaUpload
onSelect={ this.onSelectImages }
allowedTypes={ ALLOWED_MEDIA_TYPES }
multiple
gallery
value={ images.map( ( img ) => img.id ) }
render={ ( { open } ) => (
<IconButton
className="components-toolbar__control"
label={ __( 'Edit gallery' ) }
icon="edit"
onClick={ open }
/>
) }
/>
</Toolbar>
) }

The images object updates as each photo dropped is uploaded. I'm thinking that the initial value is mapping through an empty images attribute and is holding that value. To test this I added a log right after the condition. You'll notice that the object starts as a blank array, then starts filling in the ids as they upload. I think that when the array is initially set, it passes the images.length check and assigns the value field to a blank array. For whatever reason, the value field of the MediaUpload component is not updating with the updates to the images attribute. Going to continue investigating. :)

screen shot 2019-02-22 at 11 35 24 am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants
You can’t perform that action at this time.