(enabled)
| 906 | console.log(`Filter changed: ${elementId} = ${e.target.value}`); |
| 907 | |
| 908 | let consumedAwaitingFilter = false; |
| 909 | if ( |
| 910 | elementId !== "tag-filter" && |
| 911 | elementId !== "filament-filter" && |
| 912 | typeof window.queryBuilderTryConsumeAwaitingFilterFromElement === "function" |
| 913 | ) { |
| 914 | consumedAwaitingFilter = window.queryBuilderTryConsumeAwaitingFilterFromElement(elementId); |
| 915 | } |
| 916 | |
| 917 | if ( |
| 918 | !consumedAwaitingTag && |
| 919 | !consumedAwaitingFilter && |
| 920 | typeof window.queryBuilderDismissSearchAwaiting === "function" |
| 921 | ) { |
| 922 | window.queryBuilderDismissSearchAwaiting(); |
| 923 | } |
| 924 | |
| 925 | // If dateAddedFilter is active, only clear it if user manually changed a filter |
| 926 | // (not when we're programmatically setting it via _suppressFilterEvents) |
| 927 | if (window.dateAddedFilter && !window._suppressFilterEvents) { |
| 928 | // User manually changed a filter, so clear dateAddedFilter |
| 929 | console.log('User manually changed filter, clearing dateAddedFilter'); |
| 930 | window.dateAddedFilter = null; |
| 931 | window._lastDateAddedFilter = null; |
| 932 | } |
| 933 | |
| 934 | // Reset the viewingEntireLibrary flag when filters are applied |
| 935 | window.viewingEntireLibrary = false; |
| 936 | |
| 937 | // DO NOT clear search input - preserve the search term |
| 938 | // Clear selection + Model Details synchronously before await (renderer.js state; avoids stale sidebar) |
| 939 | if (typeof window.resetFilterSelectionAndDetails === 'function') { |
| 940 | window.resetFilterSelectionAndDetails(); |
| 941 | } |
| 942 | await performCombinedSearch(); |
| 943 | }); |
| 944 | } |
| 945 | }); |
| 946 | |
| 947 | searchButton.addEventListener("click", async () => { |
| 948 | const raw = searchInput.value.trim(); |
| 949 | lastSearchTerm = raw; |
| 950 | console.log("Filter search button clicked with term:", raw); |
| 951 | if (raw && typeof window.appendSearchClauseFromSidebar === "function") { |
| 952 | window.appendSearchClauseFromSidebar("all", raw); |
| 953 | searchInput.value = ""; |
| 954 | clearButton.classList.add("hidden"); |
| 955 | clearButton.style.display = "none"; |
| 956 | } |
| 957 | // Clear dateAddedFilter when user searches |
| 958 | if (window.dateAddedFilter) { |
| 959 | console.log('User performed search, clearing dateAddedFilter'); |
| 960 | window.dateAddedFilter = null; |
| 961 | window._lastDateAddedFilter = null; |
| 962 | } |
| 963 | // Reset the viewingEntireLibrary flag when search is applied |
| 964 | window.viewingEntireLibrary = false; |
| 965 | if (typeof window.resetFilterSelectionAndDetails === 'function') { |
no outgoing calls
no test coverage detected