The filter UI is completely broken, at least with Javascript enabled. You can't reorder filters, you can't configure filters, and the checks in the checkbox don't stay the way you left them.
What I did: Tried to configure an input filter. For example, the filtered html filter at admin/config/content/formats/1.
What I expected: 1) Ability to reorder checked filters 2) ability to configure checked filters 3) checked filters would still be checked after submit.
What happened instead:
- When you first check a checkbox on an unselected filter, nothing happened. It should have immediately been added to the sort list, and a VT showing its configuration (if it has config) should appear. Nada.
- So you can't sort the application order.
- So you can't configure configurable ones.
- In addition, the checks you place in the checkboxes don't "stick" after submit.
Environment: Ubuntu, Firefox 3.5
A little exercise with "git bisect" shows that this was introduced with the jQuery 1.4 commit, #653580: Upgrade to jQuery 1.4, which makes sense.
Comment | File | Size | Author |
---|---|---|---|
#9 | 739142.patch | 579 bytes | casey |
#6 | 739142.patch | 1.25 KB | casey |
Comments
Comment #1
cosmicdreams CreditAttribution: cosmicdreams commentedI have the exact same environment, I'll see if I can reproduce this error.
Comment #2
sunsubscribing
I wrote that code. Quite heavy code. And hacky.
Comment #3
cosmicdreams CreditAttribution: cosmicdreams commentedHmm.... I do see some of the wackyness that you describe but not all here's what I did to test and the strange behavior that I found.
1. Tested with JavaScript off - everything seemed fine.
2. With JavaScript back on I went to Configuration -> Text Formats without the overlay
3. Tested changing the priority of the text formats and Saved, after navigating away and coming back I see that the change took.
4. Configured the Full HTML text format
a) Changed what roles can use it - Worked
b) Changed what filters were enabled - Doesn't work:
It seems as if it doesn't matter which checkbox is checked here the wrong set of filters appear in the Filter processing order fieldset. I was even able to navigate to admin/config/content/formats/2, click the Save Configuration button without making any changes and get a different set of Filter settings in the fieldset. And if I keep hitting the Save Configuration button the fieldset seems to toggle from one setting to another.
c) Changed he order of the filters in the Filter processing order - Seems to work:
As I said above, I can keep hitting the Save Configuration button and toggle between two different sets of filters shown in the Filter processing order fieldset. If I reorder the processing order, hit the save button and let the page refresh, then hit the save button again...I see the change was saved.
Comment #4
Dave ReidConfirmed on HEAD. Using this page with JS is very unusable and marking as critical.
Comment #5
casey CreditAttribution: casey commentedSubscribing.
Comment #6
casey CreditAttribution: casey commentedLol, at first I couldn't find it but its rather simple:
Causes the checkbox to check. Weird that didn't happen with jquery 1.3.
Comment #7
casey CreditAttribution: casey commentedsoory
Comment #8
sunI don't see how this code changes anything. Note: we have plenty of JS code in HEAD that follows that pattern. If that is broken somehow, then we need to update plenty of code.... but I doubt that
Comment #9
casey CreditAttribution: casey commentedI doubt what you doubt.
Means you want to check/uncheck that $checkbox, but that's not what we want. I attached another fix which is shorter (and more obvious).
Comment #10
sunwell, now we're on the same page! :)
Comment #11
sunDidn't test myself though (trusting your judgement here).
Also, it's probably worth to
grep -R '.trigger(' ./*
to find, identify, and fix all other code throughout core.Comment #12
rfayA quick tour through the UI says it's working with #9. I didn't review it, but tried it out.
Comment #13
sunActually, this is a documentation leak.
.trigger('type.customName') used to trigger that bound and namespaced event only.
http://api.jquery.com/bind/ states:
Neither this page or http://api.jquery.com/trigger/ or http://api.jquery.com/triggerHandler/ clarifies whether default behaviors are triggered as well. Only the docs about .triggerHandler() mention it in the list of exceptions, but the quoted .trigger() docs above suggest that only this namespaced event will be triggered... (confused)
Comment #14
cosmicdreams CreditAttribution: cosmicdreams commentedI've tested this issue as well on Chrome 5 (beta) and Firefox 3.5
Whereas before when I tested in these browsers I found many of the issues that the OP found, now I find that all of these issues have been resolved.
I can confirm the RTBC status of this patch.
Comment #15
andypostSuppose it fixed http://drupal.org/cvs?commit=340852
Now everything is working within FilterUI
Comment #16
cosmicdreams CreditAttribution: cosmicdreams commentedYep that commit changed exactly what we needed: http://drupalcode.org/viewvc/drupal/drupal/modules/filter/filter.admin.j...