Fix filter toggle preview: use $dropdown.on() instead of $(document).on()
- Move toggle-count click handler next to filter-group-toggle handler - Use this.$dropdown.on() for proper event delegation within dropdown context - Ensures self reference is correctly captured for showFilterGroupPreviewPopover Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -231,23 +231,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Filter group toggle count badge click for preview popover
|
|
||||||
$(document).on('click', '.filter-group-toggle .toggle-count.clickable', function(e) {
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
var $badge = $(this);
|
|
||||||
var groupId = $badge.data('groupId');
|
|
||||||
var groupType = $badge.data('type');
|
|
||||||
var groupName = $badge.data('groupName');
|
|
||||||
|
|
||||||
if ($badge.hasClass('popover-open')) {
|
|
||||||
self.hidePreviewPopover();
|
|
||||||
} else {
|
|
||||||
self.showFilterGroupPreviewPopover($badge, groupId, groupType, groupName);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Close popover when clicking outside
|
// Close popover when clicking outside
|
||||||
$(document).on('click', function(e) {
|
$(document).on('click', function(e) {
|
||||||
if (!$(e.target).closest('.target-preview-popover').length &&
|
if (!$(e.target).closest('.target-preview-popover').length &&
|
||||||
@@ -1726,6 +1709,23 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Filter group toggle count badge click for preview popover
|
||||||
|
this.$dropdown.on('click', '.filter-group-toggle .toggle-count.clickable', function(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var $badge = $(this);
|
||||||
|
var groupId = $badge.data('groupId');
|
||||||
|
var groupType = $badge.data('type');
|
||||||
|
var groupName = $badge.data('groupName');
|
||||||
|
|
||||||
|
if ($badge.hasClass('popover-open')) {
|
||||||
|
self.hidePreviewPopover();
|
||||||
|
} else {
|
||||||
|
self.showFilterGroupPreviewPopover($badge, groupId, groupType, groupName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Close values row
|
// Close values row
|
||||||
this.$dropdown.on('click', '.btn-close-values', function(e) {
|
this.$dropdown.on('click', '.btn-close-values', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|||||||
2
assets/js/admin/entity-selector.min.js
vendored
2
assets/js/admin/entity-selector.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -91,23 +91,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Filter group toggle count badge click for preview popover
|
|
||||||
$(document).on('click', '.filter-group-toggle .toggle-count.clickable', function(e) {
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
var $badge = $(this);
|
|
||||||
var groupId = $badge.data('groupId');
|
|
||||||
var groupType = $badge.data('type');
|
|
||||||
var groupName = $badge.data('groupName');
|
|
||||||
|
|
||||||
if ($badge.hasClass('popover-open')) {
|
|
||||||
self.hidePreviewPopover();
|
|
||||||
} else {
|
|
||||||
self.showFilterGroupPreviewPopover($badge, groupId, groupType, groupName);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Close popover when clicking outside
|
// Close popover when clicking outside
|
||||||
$(document).on('click', function(e) {
|
$(document).on('click', function(e) {
|
||||||
if (!$(e.target).closest('.target-preview-popover').length &&
|
if (!$(e.target).closest('.target-preview-popover').length &&
|
||||||
@@ -1586,6 +1569,23 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Filter group toggle count badge click for preview popover
|
||||||
|
this.$dropdown.on('click', '.filter-group-toggle .toggle-count.clickable', function(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var $badge = $(this);
|
||||||
|
var groupId = $badge.data('groupId');
|
||||||
|
var groupType = $badge.data('type');
|
||||||
|
var groupName = $badge.data('groupName');
|
||||||
|
|
||||||
|
if ($badge.hasClass('popover-open')) {
|
||||||
|
self.hidePreviewPopover();
|
||||||
|
} else {
|
||||||
|
self.showFilterGroupPreviewPopover($badge, groupId, groupType, groupName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Close values row
|
// Close values row
|
||||||
this.$dropdown.on('click', '.btn-close-values', function(e) {
|
this.$dropdown.on('click', '.btn-close-values', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|||||||
Reference in New Issue
Block a user