Verschachtelte Delete-Dialoge korrekt zuordnen
This commit is contained in:
1 parent
38886e39bd
commit
ff0fffccad
1 file changed
+10
-6
@@ -5,6 +5,9 @@
|
||||
|
||||
const getCard = (element) => element.closest(cardSelector);
|
||||
|
||||
const getDirectDeleteElement = (card, selector) => Array.from(card?.children || [])
|
||||
.find((child) => child.matches(selector)) || null;
|
||||
|
||||
const setEditMode = (card, enabled) => {
|
||||
if (!card) {
|
||||
return;
|
||||
@@ -29,9 +32,9 @@
|
||||
|
||||
const resetDeleteConfirmation = (card) => {
|
||||
const stage = card?.closest('.sg-delete-confirmation-pattern__stage');
|
||||
const confirmation = card?.querySelector('[data-shared-editable-card-delete-confirmation]');
|
||||
const input = card?.querySelector('[data-shared-editable-card-delete-input]');
|
||||
const submit = card?.querySelector('[data-shared-editable-card-delete-submit]');
|
||||
const confirmation = getDirectDeleteElement(card, '[data-shared-editable-card-delete-confirmation]');
|
||||
const input = confirmation?.querySelector('[data-shared-editable-card-delete-input]');
|
||||
const submit = confirmation?.querySelector('[data-shared-editable-card-delete-submit]');
|
||||
|
||||
if (input) {
|
||||
input.value = '';
|
||||
@@ -51,8 +54,8 @@
|
||||
|
||||
const openDeleteConfirmation = (card) => {
|
||||
const stage = card?.closest('.sg-delete-confirmation-pattern__stage');
|
||||
const confirmation = card?.querySelector('[data-shared-editable-card-delete-confirmation]');
|
||||
const input = card?.querySelector('[data-shared-editable-card-delete-input]');
|
||||
const confirmation = getDirectDeleteElement(card, '[data-shared-editable-card-delete-confirmation]');
|
||||
const input = confirmation?.querySelector('[data-shared-editable-card-delete-input]');
|
||||
|
||||
if (input) {
|
||||
input.value = '';
|
||||
@@ -68,7 +71,8 @@
|
||||
|
||||
const updateDeleteButton = (input) => {
|
||||
const card = getCard(input);
|
||||
const submit = card?.querySelector('[data-shared-editable-card-delete-submit]');
|
||||
const confirmation = input?.closest('[data-shared-editable-card-delete-confirmation]');
|
||||
const submit = confirmation?.querySelector('[data-shared-editable-card-delete-submit]');
|
||||
const token = card?.dataset.sharedEditableDeleteToken || 'DELETE';
|
||||
const valid = input.value === token;
|
||||
|
||||
|
||||
Reference in new issue
Block a user