fix(planka): drag & drop toute colonne + filtre listes par boardId
Deploy HouseHub / deploy (push) Successful in 2s
Deploy HouseHub / deploy (push) Successful in 2s
- Drop target = toute la colonne .pk-cards (plus la zone invisible de 4px) - Filtre les listes et cartes strictement par boardId pour éliminer les listes fantômes - Indicateur visuel 'Déposer ici' sur colonnes vides - CSS: colonne highlight en bleu pointillé au survol drag Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
3516225e56
commit
285273108c
+6
-5
@@ -151,12 +151,13 @@ function renderBoard() {
|
||||
area.innerHTML = sorted.map(list => renderList(list)).join('');
|
||||
area.querySelectorAll('.pk-card').forEach(el => {
|
||||
el.addEventListener('click', () => openCardModal(el.dataset.id));
|
||||
el.addEventListener('dragstart', e => { dragCardId = el.dataset.id; el.classList.add('is-dragging'); });
|
||||
el.addEventListener('dragstart', e => { dragCardId = el.dataset.id; el.classList.add('is-dragging'); e.stopPropagation(); });
|
||||
el.addEventListener('dragend', e => { el.classList.remove('is-dragging'); dragCardId = null; });
|
||||
});
|
||||
area.querySelectorAll('.pk-drop-zone').forEach(el => {
|
||||
// Drop target = toute la colonne .pk-cards (pas juste une zone invisible de 4px)
|
||||
area.querySelectorAll('.pk-cards').forEach(el => {
|
||||
el.addEventListener('dragover', e => { e.preventDefault(); el.classList.add('drag-over'); });
|
||||
el.addEventListener('dragleave', () => el.classList.remove('drag-over'));
|
||||
el.addEventListener('dragleave', e => { if (!el.contains(e.relatedTarget)) el.classList.remove('drag-over'); });
|
||||
el.addEventListener('drop', e => { e.preventDefault(); el.classList.remove('drag-over'); dropCard(el.dataset.listId); });
|
||||
});
|
||||
}
|
||||
@@ -169,8 +170,8 @@ function renderList(list) {
|
||||
<span class="pk-list-name">${esc(list.name)}</span>
|
||||
<span class="pk-list-count">${cards.length}</span>
|
||||
</div>
|
||||
<div class="pk-cards" id="cards-${list.id}">
|
||||
<div class="pk-drop-zone" data-list-id="${list.id}"></div>
|
||||
<div class="pk-cards" id="cards-${list.id}" data-list-id="${list.id}">
|
||||
${cards.length === 0 ? '<div class="pk-drop-hint">Déposer ici</div>' : ''}
|
||||
${cards.map(c => renderCard(c)).join('')}
|
||||
</div>
|
||||
<button class="pk-add-card-btn" onclick="quickAddCard('${list.id}')">+ Ajouter une carte</button>
|
||||
|
||||
Reference in New Issue
Block a user