OS: Ubuntu 18.04.4 LTS
PHP Version: 7
Drupal Version: 8.8.x
Problem/Motivation
- The .ajax-progress--fullscreen z-index is set to 1000 in '/claro/css/components/ajax-progress.module.css', line 141.
- The .ui-dialog z-index is set to 1260 in '/claro/css/components/ajax-progress.module.css?', line 14.
- For people opening a single dialog, this is fine, as the .ajax-progress--fullscreen is replaced by the .ui-widget-overlay and the dialog itself. However, when the .ajax-progress--fullscreen is triggered from an already open dialog, the current dialog remains exposed for accidental multiple submissions at z-index 1260 (until it is replaced by the new dialog) as the loader is running behind it at index 1000.
Proposed resolution
Increase the z-index of the .ajax-progress--fullscreen class above that of the .ui-dialog class.
From #31
Setting the z-index for .ajax-progress--fullscreen class to 1300 because the z-index for .ui-dialog class is 1260 and any thing which is above 1260 shall work.You can find the z-indexes in drupal for reference.
From #34
Based on this rationale, the z-index should be 1261 then as we want to avoid z-index creep. Either the z-index or the explanation should be modified.
Comment | File | Size | Author |
---|---|---|---|
#26 | interdiff_22-26.txt | 411 bytes | Abhisheksingh27 |
#26 | 3118813-26.patch | 1.56 KB | Abhisheksingh27 |
| |||
#22 | interdiff-17_22.txt | 2.17 KB | Gauravvvv |
#22 | 3118813-22.patch | 2.17 KB | Gauravvvv |
#17 | 3118813-17.patch | 2.16 KB | ranjith_kumar_k_u |
Issue fork drupal-3118813
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
Therapychild CreditAttribution: Therapychild commentedComment #3
Therapychild CreditAttribution: Therapychild commentedComment #4
Therapychild CreditAttribution: Therapychild commentedComment #5
Therapychild CreditAttribution: Therapychild commentedComment #6
Therapychild CreditAttribution: Therapychild commentedComment #7
zliante CreditAttribution: zliante at Websolutions Agency commentedHello, I have looked at your issue and went ahead and resolved it for you. Please test and verify.
Comment #8
zliante CreditAttribution: zliante at Websolutions Agency commentedComment #9
ckrinaGoing from 1000 to 9999 for a z-index is too much. I'm pretty sure there's a number that still makes sense and it's higher that 1000 (maybe 1500?). Probably some research to know which other values are out there would be useful.
Comment #10
ckrinaMaybe this is something that might be affected by #3023311: Modal dialog style update?
Comment #12
GuyPaddock CreditAttribution: GuyPaddock at Inveniem commentedWe just ran into this with the Media Library. Without this patch, there's no feedback to the user when switching between vertical tabs or performing searches/filters in the modal.
Comment #13
GuyPaddock CreditAttribution: GuyPaddock at Inveniem commentedIt looks like this also needs to be bumped up in
core/modules/system/css/components/ajax-progress.module.css
as well. Attached is a re-roll with that file patched as well.I see no issue with 9999 since
ui-tooltip
(another floating/hovering UI affordance) uses the same z-index according to:https://www.drupal.org/docs/theming-drupal/z-indexes-in-drupal-8
That page will need to be updated after this patch goes in.
Comment #14
GuyPaddock CreditAttribution: GuyPaddock at Inveniem commentedLooks like
core/themes/stable/css/system/components/ajax-progress.module.css
was also missed. Attached patch includes that as well.Comment #17
ranjith_kumar_k_u CreditAttribution: ranjith_kumar_k_u at Zyxware Technologies commentedRerolled #14 for 9.4
Comment #20
smustgrave CreditAttribution: smustgrave at Mobomo commentedThis issue is being reviewed by the kind folks in Slack, #needs-review-queue-initiative. We are working to keep the size of Needs Review queue [2700+ issues] to around 400 (1 month or less), following Review a patch or merge request as a guide.
per #9 going to 9999 is too high. Whatever version is decided and why should be added to the issue summary please.
Comment #21
Gauravvvv CreditAttribution: Gauravvvv at Axelerant for Drupal India Association commentedCurrently
.ui-dialog
have a z-index of 1260. As suggested in #9, we can have z-index as 1500.Comment #22
Gauravvvv CreditAttribution: Gauravvvv at Axelerant for Drupal India Association commentedUpdated issue summary and attached patch with interdiff for same. please review
Comment #24
Gauravvvv CreditAttribution: Gauravvvv at Axelerant for Drupal India Association commentedUnrelated failure. restoring the status
Comment #25
smustgrave CreditAttribution: smustgrave at Mobomo commented#9 mentioned adding some research to land on 1500. Can you provide what that was and add to the IS please.
Comment #26
Abhisheksingh27 CreditAttribution: Abhisheksingh27 at OpenSense Labs for DrupalFit commentedAdding reroll for 10.1.x as above patch failed on 10.1.x.
Removed changes of "b/core/themes/stable/css/system/components/ajax-progress.module.css" because it doesn't exist in 10.1.x
Comment #27
smustgrave CreditAttribution: smustgrave at Mobomo commentedDoesn't answer #25
Comment #28
bnjmnmTagging with Field UX as upcoming changes will potentially add more usages of ajax progress in dialogs.
Comment #31
Utkarsh_33 CreditAttribution: Utkarsh_33 at Acquia commentedSetting the z-index for .ajax-progress--fullscreen class to 1300 because the z-index for .ui-dialog class is 1260 and any thing which is above 1260 shall work.You can find the z-indexes in drupal for reference.
Comment #32
Utkarsh_33 CreditAttribution: Utkarsh_33 at Acquia commentedComment #33
smustgrave CreditAttribution: smustgrave at Mobomo commentedThank for the reasoning. Added that to the issue summary too
Comment #34
bnjmnmRe #31
Based on this rationale, the z-index should be 1261 then as we want to avoid z-index creep. Either the z-index or the explanation should be modified.
Comment #35
tim.plunkettGood suggestion @bnjmnm, thanks @Utkarsh_33 for the prompt change
Comment #37
bnjmnmTested manually with every core theme. This is fixed where it needs to be fixed, and doesn't introduce changes where nothing needs to be fixed. Committed to 10.1.x.