NPM Resource Changed PR-5.2-dev PR-5.3-dev Pending

User tests: Successful: Unsuccessful:

avatar C-Lodder
C-Lodder
11 Oct 2024

Summary of Changes

This PR replaces the GIF loading icon used within dialogs, with the Custom Element.

Testing Instructions

Note: This cannot be tested with Patch Tester!

  1. Go to edit any article.
  2. Click "Versions" in the toolbar.
  3. Before the list of versions are loaded, you should see a loading icon for a split second.

Actual result BEFORE applying this Pull Request

image

Expected result AFTER applying this Pull Request

image

cc'ing @Fedik @dgrammatiko

avatar C-Lodder C-Lodder - open - 11 Oct 2024
avatar C-Lodder C-Lodder - change - 11 Oct 2024
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 11 Oct 2024
Category Repository NPM Change JavaScript
avatar C-Lodder C-Lodder - change - 11 Oct 2024
The description was changed
avatar C-Lodder C-Lodder - edited - 11 Oct 2024
avatar C-Lodder C-Lodder - change - 11 Oct 2024
The description was changed
avatar C-Lodder C-Lodder - edited - 11 Oct 2024
avatar dgrammatiko
dgrammatiko - comment - 11 Oct 2024

You could also use import maps here but this is also fine for me

avatar Fedik
Fedik - comment - 11 Oct 2024

It was made with pure CSS with purpose to allow custom loaders.
Your approach adding a hard dependency. I do not like it, sorry.

avatar C-Lodder
C-Lodder - comment - 11 Oct 2024

@Fedik I changed the Custom Element to use SVG over CSS, cause resizing the CSS one was an absolute nightmare.
Using custom loaders is still possible by overriding the JS file...isn't it?

Either way, this simply implements the loader that's used everywhere else in Joomla, rather than using the outdated GIF, that doesn't look great in dark mode.

avatar fgsw fgsw - test_item - 12 Oct 2024 - Tested successfully
avatar fgsw
fgsw - comment - 12 Oct 2024

I have tested this item ✅ successfully on 47d29db


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/44232.

avatar richard67
richard67 - comment - 13 Oct 2024

@C-Lodder Could you check the two linter errors reported here? https://ci.joomla.org/joomla/joomla-cms/79575/1/20

/drone/src/build/media_source/system/js/joomla-dialog.w-c.es6.js
  319:3  error  Expected 'this' to be used by class method 'renderLoader'  class-methods-use-this
  325:1  error  Trailing spaces not allowed                                no-trailing-spaces

Thanks in advance.

avatar Fedik
Fedik - comment - 13 Oct 2024

@C-Lodder I agree that the gif on black backround looks ugly,
However, the loader hardcoded in to dialog I do not like even more 😃

Need to find a better solution.
Until then, can just remove the loader CSS, no one will ever notice 😃
Or just make 2 rotating dots with :before, :after animation (there many examples at loading.io/css/, cssload.net etc).

avatar laoneo
laoneo - comment - 14 Oct 2024

Can you rebase this one to the 5.3-dev branch?

avatar C-Lodder C-Lodder - change - 15 Oct 2024
Title
[5.2] Replace dialog GIF loader with Custom Element
[5.3] Replace dialog GIF loader with Custom Element
avatar C-Lodder C-Lodder - edited - 15 Oct 2024
avatar C-Lodder C-Lodder - change - 15 Oct 2024
Labels Added: NPM Resource Changed PR-5.2-dev PR-5.3-dev
avatar C-Lodder
C-Lodder - comment - 15 Oct 2024

@laoneo done.

@Fedik Whether the loader is instantiated via CSS class or Javascript, both are couple to something. With CSS, it's coupled to the template. With JS, it coupled to the dialog web component. Both can be overridden.
I can't use the old Joomla CSS loader because it wasn't easily possible to change the size without destroying the layout.
It's also unecessarily coupled to core, so I can't see how a loading icon makes much difference.

Either way, happy to close if anyone would like to provide an alternative, or keep the current icon.

avatar Fedik
Fedik - comment - 15 Oct 2024

core is a different story (it requires only because of Text and HTML sanitisation), but I also was not very happy about that.

it wasn't easily possible to change the size without destroying the layout

I have a hint: width: 30px; height: 30px; background-position:center; 😉

Either way, happy to close if anyone would like to provide an alternative, or keep the current icon.

Hold on for now, I will look what else can be, when will get some time.

Add a Comment

Login with GitHub to post a comment