- Status changed to Needs review
almost 2 years ago 7:55pm 6 February 2023 - 🇮🇳India nayana_mvr
Verified the patch #108 and tested it on Drupal version 10.1.x. The patch works fine and I have added the before and after screenshots for reference.
- 🇮🇳India sonam.chaturvedi Pune
Verified and tested patch #108 on 10.1.x-dev and patch applied cleanly.
Test Result:
1. Links to delete entities via operation links open as a confirmation model with "Delete" and "cancel" buttons - works fine for config entities (content type, menus, taxonomy, custom blocks), terms and node content.
2. When we delete menu link via operation link (/admin/structure/menu/manage/test-menu) then it opens a new page. Expected is that this should open in a modal similar to terms and node.
Please refer attached after screenshot of menu link.I see title says "config entities" but in ✨ Use a modal for content entity form delete links confirmation forms Closed: duplicate it is mentioned that delete entities via operation links irrespective of config or content to be handled in this issue #2253257.
The title of this issue was updated in #54 to use "config entities", which IMO is incorrect. Please correct me if I am missing anything here.
- Status changed to Needs work
almost 2 years ago 2:27pm 22 February 2023 The Needs Review Queue Bot → tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".
Apart from a re-roll or rebase, this issue may need more work to address feedback in the issue or MR comments. To progress an issue, incorporate this feedback as part of the process of updating the issue. This helps other contributors to know what is outstanding.
Consult the Drupal Contributor Guide → to find step-by-step guides for working with issues.
- 🇦🇺Australia dpi Perth, Australia
There are still many needs tags on this issue.
-
It wasnt clear skimming the issue how I would be able to opt out of this behavior, in case a contrib module or site specific functionality enhanced the delete form with more UI. It wouldn't be ideal if we changed this to a modal making existing UI unusable.
At least, we should describe ways in code to override this in a change notice.
- @hooroomoo opened merge request.
- 🇺🇸United States tim.plunkett Philadelphia
Adding credits for work done on ✨ Use a modal for content entity form delete links confirmation forms Closed: duplicate
- Status changed to Needs review
over 1 year ago 3:29pm 28 March 2023 - Status changed to Needs work
over 1 year ago 8:43pm 29 March 2023 - 🇺🇸United States smustgrave
So going to give my best accessibility review
Clicking delete content type the modal opens (Assuming the modal has been tested enough it passes)
Focus is on the X button of the modal
Tabbing takes me through all the elements
Focus stays within the modal.But the modal does not open when deleting a field.
- 🇨🇦Canada mgifford Ottawa, Ontario
Last anyone on the accessibility team gave this a review was when @andrewmacpherson looked at it 5 years ago. His summary at the time was that it needed a manual review when it was good to go.
As he pointed out at the time, this is a pattern we're already using and testing elsewhere.
@smustgrave So with your review of the content type, I assume that there is no problem closing the modal. I can't see there being links or other focusable elements aside from the "Delete" & "Cancel" buttons.
What about your report about the modal not opening when deleting the field. Is that a new issue, or something needs to be fixed & then re-tested here.
Generally this looks good though. Thanks for doing the keyboard-only testing for this.
- 🇺🇸United States bnjmnm Ann Arbor, MI
Re #122
But the modal does not open when deleting a field.
That is not in the scope of this issue. There is a separate issue for that: ✨ Use modals on the Manage Fields page Needs work .
When using this feature on content with translations, there is a contrast issue with the "delete all translations" button. In Claro theme.css loads after button.css, so theme's
.ui-widget
styling overrides the button.css button's background color but not the text color, so it winds up white text on a light gray background.While this is not due to the changes here, landing this as-is would increase the likelihood of users encountering this accessibility bug. This can probably be best addressed in a followup that postpones this issue, but if there's a good argument for addressing it here that's an option. If the work is done here, the "Needs followup" tag can be removed.
- 🇬🇧United Kingdom AaronMcHale Edinburgh, Scotland
Re comment #124, I would strongly suggest that we fix that bug first, even if it's not caused by this issue we would be making the user experience worse by committing this without fixing that problem, so I would definitely support postponing this issue on fixing that bug first.
- last update
over 1 year ago 29,206 pass, 1 fail - 🇺🇸United States bnjmnm Ann Arbor, MI
Re #126
I tried to reproduce issue mentioned in #124, but it worked well for me.
Please see attached screenshots.I added
testDeleteModal()
toDrupal\FunctionalJavascriptTests\Theme\ClaroViewsBulkOperationsTest
to confirm that this is happening. Creating that test also exposed the fact that the modal does not work if toolbar isn't present. I suspect this is because the drupal.ajax library is not loaded unless that is the case.The
testDeleteModal()
test can probably stick around in some form, be it in this issue or another one, but I could see it changing a bit when it becomes test coverage to confirm functionality instead of its current role as coverage to prove a problem exists. - 🇺🇸United States bnjmnm Ann Arbor, MI
I think the problem can be addressed if core/drupal.dialog is added on page load instead of when the delete button is pressed. When that library is invoked on AJAX request it reloads Claro's theme.css because it is in the definition of a library that is not yet present. That CSS file is appended as the last item in
<head>
, and takes precedence over Claro's button styling due to appearing after the button CSS. The asset has a lower weight, but when it's added via AJAX that isn't taken into account. - last update
over 1 year ago 29,284 pass - last update
over 1 year ago 29,284 pass - last update
over 1 year ago 29,284 pass - Status changed to Needs review
over 1 year ago 7:34am 19 April 2023 - 🇮🇳India narendraR Jaipur, India
- Status changed to Needs work
over 1 year ago 6:24pm 19 April 2023 - 🇺🇸United States smustgrave
#124 mentioned the delete field was out of scope and covered in another ticket. That change should be reverted.
Unless the scope of this issue is being expanded
- last update
over 1 year ago 29,261 pass, 2 fail - last update
over 1 year ago 29,284 pass - Status changed to Needs review
over 1 year ago 10:16am 20 April 2023 - 🇧🇪Belgium borisson_ Mechelen, 🇧🇪
The latest change includes things that should not appear in the MR.
- Status changed to Needs work
over 1 year ago 12:49pm 25 April 2023 - 🇺🇸United States bnjmnm Ann Arbor, MI
Re #130
#124 mentioned the delete field was out of scope and covered in another ticket. That change should be reverted.
That's not accurate. When you mentioned "But the modal does not open when deleting a field." I said that was out of scope as deleting a field is not in scope. This whole issue is about creating modals for delete link confirmation forms, it's just specific to content entities, so fields are not included in that scope.
The latest change includes things that should not appear in the MR.
I'm not spotting any of this - could you add some comments on the MR?
****************************************************************************************
This needs an issue summary update, whether or not the scope changes here.Although it's not the current scope, there may be benefits to including field deletion in this issues scope, and such a change was discussed. Were that to change, the issue summary should be updated and. If that doesn't change, the issue summary should still be updated because the screenshot there is a confirmation modal of a field being deleted, not a content entity. The screenshot is fine if the scope is broadened, but should be replaced if not.
- 🇧🇪Belgium borisson_ Mechelen, 🇧🇪
I clicked on the compare with previous version link, and saw changes in settings.php (https://git.drupalcode.org/project/drupal/-/merge_requests/3700/diffs?di...) I can't see it in https://git.drupalcode.org/project/drupal/-/merge_requests/3700/diffs, so that comment can be scratched.
- last update
over 1 year ago 29,301 pass - Status changed to Needs review
over 1 year ago 6:38am 2 May 2023 - Status changed to Needs work
over 1 year ago 7:45pm 2 May 2023 - 🇺🇸United States bnjmnm Ann Arbor, MI
There needs to be FunctionalJavascript test coverage for both the field and entity delete links. The only thing that resembles that is a test I added to
ClaroViewsBulkOperationsTest
to prove that #124 was in fact happening. Much of that can probably be repurposed to create the tests for the two delete modals, but the functionality should get test coverage, that isn't in the tests for a specific theme, and that actually deletes something as part of the tests (the test I wrote is just proving a button looks bad). - First commit to issue fork.
- last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,373 pass, 3 fail - last update
over 1 year ago 29,377 pass - last update
over 1 year ago 29,377 pass - Status changed to Needs review
over 1 year ago 1:29pm 3 May 2023 - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,380 pass - last update
over 1 year ago 29,380 pass - last update
over 1 year ago 29,378 pass, 2 fail - last update
over 1 year ago 29,380 pass - Status changed to Needs work
over 1 year ago 11:06pm 6 May 2023 - 🇺🇸United States smustgrave
On the one thread
I think we should also attach this library to the entity form.
Can that still happen please.
- last update
over 1 year ago 29,381 pass, 1 fail - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,382 pass - Status changed to Needs review
over 1 year ago 12:18pm 8 May 2023 - last update
over 1 year ago 29,382 pass - Status changed to Needs work
over 1 year ago 1:42pm 9 May 2023 - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,386 pass - Status changed to Needs review
over 1 year ago 10:14am 11 May 2023 - 🇺🇸United States bnjmnm Ann Arbor, MI
This probably shouldn't go in until 📌 Focus is lost on dialog close if the opener is inside a collapsible element Fixed lands, but I don't want to set this to postponed as it's still fine to review this. The one thing a reviewer should note, however, is right now focus will be lost on modal-close if that modal was opened with something inside a dropbutton. That will be fixed by the aforementioned issue.
- Status changed to Needs work
over 1 year ago 7:12pm 11 May 2023 - 🇺🇸United States minnur San Francisco
There is a module for this https://www.drupal.org/project/admin_dialogs →
- last update
over 1 year ago 29,391 pass - Status changed to Needs review
over 1 year ago 5:50am 15 May 2023 - Status changed to Needs work
over 1 year ago 6:09pm 22 May 2023 - 🇺🇸United States bnjmnm Ann Arbor, MI
Left feedback in MR of additional things that need doing.
- last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago Custom Commands Failed - last update
over 1 year ago 29,390 pass - Status changed to Needs review
over 1 year ago 7:51am 23 May 2023 - last update
over 1 year ago 29,390 pass - last update
over 1 year ago 29,387 pass, 4 fail - last update
over 1 year ago CI aborted - last update
over 1 year ago CI aborted - last update
over 1 year ago 29,390 pass - Status changed to Needs work
over 1 year ago 9:07pm 23 May 2023 - 🇺🇸United States bnjmnm Ann Arbor, MI
This seems pretty close. It looks like one of the reviews asked to move the test coverage for content type deletion but it wound up getting removed instead. That should probably get a home somewhere in the test coverage and this might be ready to go after that, but at that point we may have to postpone on 📌 Focus is lost on dialog close if the opener is inside a collapsible element Fixed as I wouldn't want to add all these modals without focus going to somewhere logical when the modal closes.
Speaking of focus management... As long as #3359494 is taken care of then this passes accessibility review. This doesn't introduce anything that hasn't already been vetted in other confirmation dialogs within core, and I put it through additional manual tests to confirm there was no new surface for problems & that the page-titles-now-dialog-titles still make sense.
- 🇺🇸United States bnjmnm Ann Arbor, MI
Should this remain in 11.x to be backported?
Technically yes, good call. I want to do it a little differently because this was started pre-11 and has a bunch of threads.
The MR is against 10.1.x and it can get ugly bumping up an MR against version that didn't exist when the fork was created. Sometimes it's necessary to just start a new MR that wipes out the threads. Fortunately it won't impact the review process as nothing here is fundamentally different in 11.x with the files being changed. If we can delay the 11-ifying until a pretty solid RTBC, the switch is a little more painless
- last update
over 1 year ago 29,399 pass - last update
over 1 year ago 29,399 pass - Status changed to RTBC
over 1 year ago 6:49am 26 May 2023 - 🇫🇮Finland lauriii Finland
I added the content type delete operation test coverage to the node module since it's essentially provided by the node module, and doesn't have a dependency on other modules. I decided to reuse the
\Drupal\Tests\node\FunctionalJavascript\NodeDeleteConfirmTest
since it seems a bit overkill to have a separate test class for node type delete confirmation. Also, the set-up would be nearly identical for these two.I tagged this for needs usability review 5 years ago. We have been running many iterations of user interviews this spring where we have converted existing forms to modal dialogs and the feedback has been positive there. I don't think this needs further investigation so reverting the tag.
5:36 55:39 Running48:07 46:27 Running- 🇺🇸United States bnjmnm Ann Arbor, MI
Had an 11x branch ready to push but Gitlab does not appear to be working so here's the 11x in classic patch format.
- Status changed to Fixed
over 1 year ago 1:49pm 26 May 2023 - 🇺🇸United States bnjmnm Ann Arbor, MI
When this issue was created, the top movie in the US was "Captain America: The Winter Soldier"
Today we witness "Issue 2253257: Committed to 11.x and cherry-picked to 10.1.x". Stick around after the issue credits for a sneak peek at some character that will appear in the next commit!
- 🇬🇧United Kingdom AaronMcHale Edinburgh, Scotland
This is a really great UX improvement, it would be nice to highlight this in the release notes.
Well done everyone!
- Status changed to Active
over 1 year ago 6:38am 31 May 2023 - 🇦🇺Australia mstrelan
This is really broken on ajax views. Deleting an entity from the second page of the view takes me to the following path:
/admin/content?page=1&ajax_page_state[theme]=claro&ajax_page_state[theme_token]=OUqFxWhAOwXtkRPcSAdL4jbOuw8Cz4O-QlNSqWuM82c&ajax_page_state[libraries]=big_pipe/big_pipe%2Cclaro/drupal.nav-tabs%2Cclaro/global-styling%2Ccontextual/drupal.contextual-links%2Ccontextual/drupal.contextual-toolbar%2Ccore/drupal.active-link%2Ccore/drupal.dropbutton%2Ccore/drupal.tableheader%2Ccore/drupal.tableresponsive%2Ccore/drupal.tableselect%2Ccore/normalize%2Cshortcut/drupal.shortcut%2Csystem/admin%2Csystem/base%2Ctoolbar/toolbar%2Ctoolbar/toolbar.escapeAdmin%2Ctour/tour%2Cuser/drupal.user.icons%2Cviews/views.ajax%2Cviews/views.module
. - 🇫🇮Finland lauriii Finland
I tried enabling ajax views and delete node on the second page and it's working 🤔
- 🇫🇮Finland lauriii Finland
@mstrelan I still can't reproduce the bug you reported :( Could you by any chance try if the regression gets addressed by this diff?
- 🇦🇺Australia mstrelan
@lauriii it seems to only happen with big pipe enabled. Full steps to reproduce:
- Install Drupal 11.x with standard profile - commit hash 18432dacb5
- Enable ajax on the /admin/content view
- Create one article node
- Visit /admin/content and apply a filter (e.g. Type = Article)
- Delete the article
Applying the patch was slightly better, but I was redirected to the front page instead of back to the admin content view.
FWIW I tested first with a custom docker compose setup and again with ddev default config for Drupal 10.
- 🇫🇮Finland lauriii Finland
I could reproduce the problem you mentioned on #167 with #166 but I still can't reproduce #164.
My hypothesis is that there's something wrong about the libraries on the page. Here's another issue which tries to make loading the libraries more consistent. Could you test if this has any impact on #164?
- Status changed to Fixed
over 1 year ago 7:24am 1 June 2023 - 🇫🇮Finland lauriii Finland
With the help of #167, I was able to reproduce this now. The bug reported in #164 is not actually caused by this issue but 📌 Allow AJAX to use GET requests Fixed . I'm marking this as fixed since that regression is not made better or worse by this issue.
We may still want to commit something along the lines of #168 though because it addresses some dialog styles in Claro.
- 🇫🇮Finland lauriii Finland
Filed the follow-up issue: 🐛 Ajax state leaking to Views destination paths Fixed .
Automatically closed - issue fixed for 2 weeks with no activity.