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

fix: render Ordertab only when it is active #6583

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

Abhishek-17h
Copy link
Contributor


The video showcases the behavior after the fix:
Screencast from 2025-01-13 09-17-05.webm

Closes #6492

Copy link

netlify bot commented Jan 13, 2025

Deploy Preview for plone-components canceled.

Name Link
🔨 Latest commit 2c2e121
🔍 Latest deploy log https://app.netlify.com/sites/plone-components/deploys/678d037967e17800083b4bef

@Abhishek-17h
Copy link
Contributor Author

@stevepiercy @ichim-david @davisagli Please provide review.

Copy link
Collaborator

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor change in the change log entry.

@@ -0,0 +1 @@
You can now render the order side panel only when the 'Order' tab is active. Previously, the panel would render unnecessarily even when not active.@Abhishek-17h
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can now render the order side panel only when the 'Order' tab is active. Previously, the panel would render unnecessarily even when not active.@Abhishek-17h
The Order side panel now renders only when the "Order" tab is active. Previously, the panel would render unnecessarily even when inactive. @Abhishek-17h

@stevepiercy
Copy link
Collaborator

This is a nice step forward. Thanks for your work on this.

In the video, I noticed two things that I'd like to ask for opinions from the members of both the @plone/volto-accessibility and @plone/volto-team. Please don't make changes yet, but let's get some feedback.

  1. When the Order tab gets activated, there is a slight delay of about a half-second with a "no entry" icon 🚫 displayed. Should that be changed to a "Loading" icon? When editing a page or control panel, then click Save, I see the loading class injected into the Save button and a grey spinning circular line.
  2. I don't think the Order list items should unload when the Order tab gets deactivated after it was active one time. I think it should remain loaded, but hidden. That will eliminate second and subsequent reloads while editing a given page.

@Abhishek-17h
Copy link
Contributor Author

Thank you, @stevepiercy, for your suggestions.

I completely agree with your first suggestion regarding replacing the icon 🚫 with a "Loading" icon. In fact, I had initially considered implementing this change before raising the PR but decided to keep the existing behavior to gather feedback from the Volto team and accessibility experts. It's great to see that you noticed it too, as it reinforces the need for improvement in this area.

Regarding your second suggestion, I think it’s a great idea, but I am concerned that its implementation might conflict with the main issue being addressed.

Looking forward to hearing more thoughts from the Volto team and accessibility members on these points!

@ichim-david ichim-david changed the title fix: render Ordertab only when iti is active fix: render Ordertab only when it is active Jan 13, 2025
@ichim-david ichim-david self-requested a review January 13, 2025 08:04
@Abhishek-17h Abhishek-17h force-pushed the bugfix/render-order-panel-on-active branch 2 times, most recently from bc449af to 8e02a2c Compare January 18, 2025 09:30
@Abhishek-17h
Copy link
Contributor Author

@ichim-david please provide review on this.

@ichim-david
Copy link
Member

@Abhishek-17h technically speaking what you did is what I've asked.

The problem is that the UX isn't very good as it takes a long time to load even locally with a very fast MacBook pro.
I made a video where I compared the before and after and mentioned a few things that I would still play with.
https://www.youtube.com/watch?v=IFaCNBAGshE
The TLDR is:

  • we need a loading indicator as that round circle cut in half is the icon usually used to denote that the block doesn't have any block options.

See if you can introduce a loader to give some info to the user that the panel is loading. I would also try to look at the logic of the component and try to understand why it takes so long to load and if there is anything that can be done to speed it up.

If we were to simply merge this change it would be a degradation of service of the order tab for the editor on account on having to wait so long to interact with it, especially on second time interactions on the same page.

@Abhishek-17h
Copy link
Contributor Author

@ichim-david, I have watched your testing video and truly appreciate the time you took to explain everything in detail. I will implement the things you mentioned. Thank you for your guidance!

@Abhishek-17h Abhishek-17h force-pushed the bugfix/render-order-panel-on-active branch 2 times, most recently from f8272ca to 7b06c00 Compare January 19, 2025 13:43
@Abhishek-17h
Copy link
Contributor Author

@ichim-david have a look now.
Made two changes:
1)Added loader svg for order tab instead of forbidden svg and please check size of loader as I declared size which looked perfect to me.
2)Order tab now renders on first time and remain rendered .By doing this user don't have to wait every time for order tab to render and it is better than previous behaviour.

Ref Video:
Screencast from 2025-01-19 19-07-13.webm

I don't think we can speed up the rendering of the order tab if we only want to render it when it's active. I've tried many things but haven't had any success.
The changes that I made looks best to me than existing one.
Waiting for your response.

@Abhishek-17h
Copy link
Contributor Author

@stevepiercy give your feedback also on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Order layout panel should be enabled only when we are focused on that panel
3 participants