Fix double-firing event handlers, non-bubbling keyboard status event, and saved filter status type
- Remove duplicate edit-comment/delete-comment cases from TicketView.php inline
script — ticket.js already handles them. Double-call of editComment() would
immediately open then close the edit form (second call sees .editing → cancels)
- Fix keyboard shortcut 1-4 status change: dispatchEvent(new Event('change'))
was non-bubbling (default), so the document-level change delegation in TicketView
never received it. Now uses { bubbles: true } so updateTicketStatus() fires correctly
- Fix saved filter status type: getCurrentFilterCriteria() was saving status as a
joined string "Open,Pending" but pill-click handler called .join() expecting an array
(TypeError swallowed by try/catch → status filter silently not applied). Now saves
as array; applySavedFilterCriteria handles both arrays and legacy strings
- Pill-click handler also updated to handle both array and string status formats
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1086,7 +1086,7 @@ if (window.lt) {
|
||||
var c = JSON.parse(btn.dataset.criteria);
|
||||
var params = new URLSearchParams();
|
||||
if (c.search) params.set('search', c.search);
|
||||
if (c.status && c.status.length) params.set('status', c.status.join(','));
|
||||
if (c.status && c.status.length) params.set('status', Array.isArray(c.status) ? c.status.join(',') : c.status);
|
||||
if (c.priority_min) params.set('priority_min', c.priority_min);
|
||||
if (c.priority_max) params.set('priority_max', c.priority_max);
|
||||
if (c.assigned_to) params.set('assigned_to', c.assigned_to);
|
||||
|
||||
@@ -1104,17 +1104,14 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
}
|
||||
});
|
||||
|
||||
// Click delegation for comment actions
|
||||
// Click delegation — only handles actions NOT covered by ticket.js
|
||||
// (edit-comment, delete-comment, remove-dependency, delete-attachment, select-mention,
|
||||
// save/cancel-edit-comment, reply-comment, close-reply, submit-reply are in ticket.js)
|
||||
document.addEventListener('click', function (e) {
|
||||
var target = e.target.closest('[data-action]');
|
||||
if (!target) return;
|
||||
var action = target.getAttribute('data-action');
|
||||
var commentId = target.getAttribute('data-comment-id');
|
||||
if (action === 'edit-comment' && commentId) {
|
||||
if (typeof editComment === 'function') editComment(parseInt(commentId, 10));
|
||||
} else if (action === 'delete-comment' && commentId) {
|
||||
if (typeof deleteComment === 'function') deleteComment(parseInt(commentId, 10));
|
||||
} else if (action === 'dismiss-priority-banner') {
|
||||
if (action === 'dismiss-priority-banner') {
|
||||
var banner = target.closest('[data-alert-id]');
|
||||
if (banner) {
|
||||
try { sessionStorage.setItem('lt_dismissed_' + banner.dataset.alertId, '1'); } catch(ex) {}
|
||||
|
||||
Reference in New Issue
Block a user