Language Change NPM Resource Changed PR-7.0-dev Pending

User tests: Successful: Unsuccessful:

avatar dgrammatiko
dgrammatiko
7 Mar 2026

Pull Request resolves # .

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

  • switch from draggula to dndkit

Testing Instructions

Apply the patch or install the package and the sample data

  • Go to Articles and click on the icon before the Featured on the table header
  • press tab till you have highlighted the 3 dots icon on any article
  • Press enter or space to initiate the drag and drop
  • press the up/down keyboard arrows to move the article ti the desired position
  • press enter or space to exit the Drag and drop mode
  • classic mouse grab to drag and drop works as before

Actual result BEFORE applying this Pull Request

Expected result AFTER applying this Pull Request

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:

  • No documentation changes for guide.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar dgrammatiko dgrammatiko - open - 7 Mar 2026
avatar dgrammatiko dgrammatiko - change - 7 Mar 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 7 Mar 2026
Category Repository Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow Language & Strings NPM Change
avatar dgrammatiko dgrammatiko - change - 7 Mar 2026
Labels Added: Language Change NPM Resource Changed PR-7.0-dev
avatar joomla-cms-bot joomla-cms-bot - change - 7 Mar 2026
Category Repository Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow Language & Strings NPM Change Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow Repository NPM Change JavaScript Layout
avatar dgrammatiko dgrammatiko - change - 7 Mar 2026
Labels Removed: Language Change
avatar joomla-cms-bot joomla-cms-bot - change - 7 Mar 2026
Category Repository Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow NPM Change JavaScript Layout Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow Repository NPM Change JavaScript
avatar joomla-cms-bot joomla-cms-bot - change - 7 Mar 2026
Category Repository Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow NPM Change JavaScript Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow Language & Strings Repository NPM Change JavaScript
avatar dgrammatiko dgrammatiko - change - 7 Mar 2026
Labels Added: Language Change
avatar joomla-cms-bot joomla-cms-bot - change - 8 Mar 2026
Category Repository Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow NPM Change JavaScript Language & Strings Administration com_banners com_categories com_contact com_content com_fields com_languages com_menus com_modules com_newsfeeds com_plugins com_tags com_users com_workflow Language & Strings Repository NPM Change JavaScript Libraries
avatar dgrammatiko dgrammatiko - change - 9 Mar 2026
The description was changed
avatar dgrammatiko dgrammatiko - edited - 9 Mar 2026
avatar Fedik
Fedik - comment - 9 Mar 2026

Thanks for working on it.

I have a few suggestion to make it more fun 😉

  1. Put translation in to dedicated WebAsset as we did it for Form validation

    public function onAttachCallback(Document $doc)
    {
    // Add validate.js language strings
    Text::script('JLIB_FORM_CONTAINS_INVALID_FIELDS');
    Text::script('JLIB_FORM_FIELD_REQUIRED_VALUE');
    Text::script('JLIB_FORM_FIELD_REQUIRED_CHECK');
    Text::script('JLIB_FORM_FIELD_INVALID_VALUE');
    }

  2. Make it work for multiple elements on the page, drop the containerSelector and pass the URL as data- attribute (can also pass other options as data-) kind of:

<div 
  class="js-my-cool-sortable-table" 
  data-sorting-url="blabla" 
  data-sorting-dir="ASC" 
  data-sorting-row=".js-row-selector"
>
    <div class="js-row-selector">...</div>
    <div class="js-row-selector">...</div>
 </div>
setUpSortableTable(container, setupOptions){
  const options = {..defaultOptions, ...setupOptions};
  ...
  ...
}
document.querySelectorAll('.js-my-cool-sortable-table').forEach((container) => {
  setUpSortableTable(container, container.dataset);
});

It of course could be WC, but as regular container it will be more clear and reusable.

setUpSortableTable() could be publicly available so people can use it on its own. If you like.

Thanks 😉

avatar dgrammatiko
dgrammatiko - comment - 9 Mar 2026

@Fedik Better? I still haven't modularize it (waiting to see the other 2-3 parts that have drag and drop)

avatar gioacchino54 gioacchino54 - test_item - 9 Mar 2026 - Tested successfully
avatar gioacchino54
gioacchino54 - comment - 9 Mar 2026

I have tested this item ✅ successfully on 42f52e7

I clicked on the first checkbox of an article and followed the instructions, and the sorting is performed correctly.


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

avatar dgrammatiko
dgrammatiko - comment - 9 Mar 2026

@brianteeman yes

BTW I would appreciate an accessibility test and a check on the announcements. Thanks

avatar Fedik
Fedik - comment - 9 Mar 2026

Better?

Looks good, thanks!

I still haven't modularize it (waiting to see the other 2-3 parts that have drag and drop)

Not important for now, can stay as you did.
It can be extended anytime later in another PR.

avatar dgrammatiko dgrammatiko - change - 9 Mar 2026
The description was changed
avatar dgrammatiko dgrammatiko - edited - 9 Mar 2026
avatar brianteeman
brianteeman - comment - 9 Mar 2026

@brianteeman yes

BTW I would appreciate an accessibility test and a check on the announcements. Thanks

I will check tomorrow. Not looked at it too closely yet but it will need a live region for the announcement

avatar brianteeman
brianteeman - comment - 9 Mar 2026

Looks like you are missing some strings from the announcements https://dndkit.com/extend/plugins/accessibility#default-announcements and from the screen reader instructions https://dndkit.com/extend/plugins/accessibility#default-screen-reader-instructions

avatar github-actions[bot]
github-actions[bot] - comment - 10 Mar 2026

This pull request has conflicts, please resolve those before we can evaluate the pull request.

avatar github-actions[bot]
github-actions[bot] - comment - 10 Mar 2026

This pull request has conflicts, please resolve those before we can evaluate the pull request.

avatar brianteeman
brianteeman - comment - 10 Mar 2026

icon size looks a bit big and not aligned with other icons

image
avatar brianteeman
brianteeman - comment - 10 Mar 2026

dnd works well with both mouse and keyboard

BUT when narrator is enabled it doesnt appear to work at all with the keyboard - but neither does their own demo clauderic/dnd-kit#147

you have to turn scan mode to off in narrator for it to work. i dont know if this is something obvious to screen reader users or not.

avatar brianteeman
brianteeman - comment - 10 Mar 2026

Can someone link this PR to the issue 29936

Add a Comment

Login with GitHub to post a comment