-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Data views: quick-editing #55101
Comments
Noting that the work in #59689 can unlock using the Inspector as a bulk/quick edit interface: |
I've explored this solution for quick-editing within the inspector panel, here's the prototype for it: demo.mp4Mockups: Single Page SelectionFocus on Edit Modal: When a user clicks on an option to edit, the table view lessens in opacity to focus on the edit modal. This guides the user's attention with a dark overlay, allowing them to focus on the content at hand. Editing options: Multiple Page SelectionEditing options for multiple page selection: Quick Editing for Media FilesA similar quick-editing approach can be applied to media files Would love to hear your feedback on this! |
This is looking pretty solid. A couple of details to figure out across the inspector itself, but high level that seems to capture the instincts I've had for this interaction. Would be good to hear from others in @WordPress/gutenberg-design as well! |
Took a quick stab at revisiting this. Here's screenshots of what's experimentally shipping: Noting there, by the way, that there's a horizontal scrollbar, which there probably shouldn't be. The pieces are increasingly present, but some polish is missing. Here's a quick mockup: Mockup shows the quick edit panel very much resembling the page inspector, as well as a version with multiple items selected. Main changes to what's shipping in trunk:
What do you think? CC: @youknowriad @jorgefilipecosta @WordPress/gutenberg-design |
Note, the above mockups are intentionally based on the same work and instincts as these. |
Looks good, I think some things still need to be thought about properly in terms of how to represent them
|
This was specifically a reflection of this field showing up only when you select a single item. That field currently disappears when you select multiple. Thanks for the clarification, though. How's this? That also addresses your other feedback about last edited. Thank you! |
It looks good, a couple of thoughts
|
Practically, it's about scannability: the Media field is a general design tool like it is for Cover, Group, Site Logo and others. The other toggles are more like key/value pairs. |
In the latest mockup it feels a bit weird design wise, in the sense that "Media" can also feel on the same level as "Projects" like a title for the whole thing. |
Good point, can work without that label. It's a single panel, after all. |
I'm also a little unsure about this media treatment, how would you know the association between file and field if they're grouped, and how would you edit the individual fields? My thinking was that each would be a separate field, with The associated control could be an instance of |
Mighit work, though: "Downloadable file" wrapping doesn't work for me, and if we do move it to the right, I'd remove the border around it just like there's no border around "Status", which also has an icon. |
I don't like it either, but ultimately we don't control field names, they can be anything. This is a real example from WooCommerce. Translations are a consideration too. Perhaps we could truncate to one line, and show the full name via tooltip? An alternative approach could be to commit to a more standard form layout / appearance, which would simplify the DataForms work quite a bit I imagine.
The difference between these controls and the status button is that they're drop zones. I think it's beneficial to visually indicate that functionality somehow. |
Oh right, thank you for clarifying. We should not elide, and there's likely an action item for folks working on the woo product to optimize labels here so they capture that particular flavor of feature (e.g. "File download" or "Download" or "File" could be a suggestion for them, if they're reading!).
🤔 Indeed. ItemGroup supports this, and a preview thumbnail on the left. It becomes a bit of a mix in this otherwise "key-value pair" layout, though. Should that particular type of control be surfaced in that same grid? Essentially this is a metadata panel, just like how Apple Photos or Adobe Lightroom have metadata panels, even while also having other very different layouts. I'll do a little digging and look at best practices across these; even each key/value pair is metadata, they are definitely different type of metadata, each of which might need its own affordances. |
I agree we should encourage plugin authors to use shorter field names where possible, but forcing them work around one specific UI feels like an overreach to me. Especially as that UI might change in the future. There will undoubtedly be situations where long field names cannot be avoided, or translations cause them indirectly. I think it would be better to find a design that adapts elegantly, if we can.
I see what you mean. I don't think the established convention is a great fit here though; the button would show the file name, and on click it would open a popover containing the UI to replace, remove, etc. That feels unnecessarily convoluted to me. Worth noting we already have a mixture of behaviors in this 'panel' layout. In this example you can see that To be honest I don't mind what is shipping, it just needs a label: featured.mp4 |
I'm not sure what you're proposing here, is the eliding adapting elegantly, or do you mean a different UI altogether? In the case of this metadata I don't think it's unreasonable to list it like this, though as noted, I think there's wiggleroom in how different types of metadata gets listed, where some can be key/value pair style, potentially there's room for other tools. In fact I could argue: that is what's shipping, it's a different control for what isn't a key/value pair. I'm here for that. But also to clarify, I don't think the wrapping is fundamentally problematic, if it wraps, it wraps, and this is handled. It was more a matter of: if that particular string came from core, we have an opportunity to do better. Small detail. |
Agreed :) |
Can you do a quick TLDR of the discussion and add a quick todo list item to the issue description to clarify what's missing? |
It could but if it's above the form, why should it be inside the component, it can just be outside but in this case, it's not above the form, it's within a form in a special position. IT looks more like a "readonly field" than a summary to me.
What does "editing a revision" mean. For me even that one is more of "readonly field" regardless of how it's rendered. My question stands though, It would be cool to write down a todo list of the "mandatory things" before we can move this out of experimental. |
It's a thing we can try, though so long as the appearance of the QuickEdit panel is the same (fundamentally) as that of the page inspector in the full editor, improvements we make affect both of them. At least in a systems sense, so it might make sense to take those two, together, as far as we can before starting to diverge. That's mainly an argument for width/padding changes first. Also perhaps scrimming the main canvas when opening a flyout. I think @auareyou also made a suggestion for the whole row itself to be a clickable button for the flyout, and having some sort of highlighted state when it opens being a benefit for both cases too. Finally, there are some subtle pieces that seem missing between these two:
The main argument I've heard for being more close to a form, is that it saves a few clicks. But in most of these cases, it really doesn't, as these are dropdowns or popovers. It's really only "Slug" that would save a click, if it was an input right here. |
Table and Grid layout
In these layouts, we can use the same UI as the full-screen editor to toggle the visibility of the Inspector panel:
table-quick-edit.mp4
List layout
In List layout it feels important that the preview remains visible. Instead of exposing a dedicated panel, the Inspector contents are loaded into the content frame via drilldown pattern:
list-quick-edit.mp4
This feature would be equivalent to the quick edit experience in wp-admin:
Original issue
Inline editing has considerable overlap with quick-actions (https://github.com//issues/55096). For example most quick-actions for pages (https://github.com//issues/55628) could also be accessed by clicking on values in the table directly. So for the initial implementation we might reuse where possible. Hopefully this mockup captures that:Incidentally the "Author" menu in the above concept should be virtually the same as the one that has already been implemented for filtering, so hopefully some legwork is already done 🤞 :
One exception we might make straight away is boolean values, e.g. whether comments are enabled or not. In this case the cell can probably contain a Toggle.
The text was updated successfully, but these errors were encountered: