New Quotator and some major changes to pricing admin
This commit is contained in:
@@ -72,7 +72,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Autocomplete dropdown (shared) -->
|
||||
<div id="autocomplete-dropdown" class="hidden absolute z-50 bg-white border rounded-lg shadow-lg max-h-60 overflow-y-auto w-96"></div>
|
||||
<div id="autocomplete-dropdown" class="hidden absolute z-50 bg-white border rounded-lg shadow-lg max-h-96 overflow-y-auto w-96"></div>
|
||||
|
||||
<style>
|
||||
.autocomplete-item {
|
||||
@@ -435,7 +435,13 @@ function filterAutocomplete(category, search) {
|
||||
if (!c.current_price) return false;
|
||||
const text = (c.lot_name + ' ' + (c.description || '')).toLowerCase();
|
||||
return text.includes(searchLower);
|
||||
}).slice(0, 50);
|
||||
})
|
||||
.sort((a, b) => {
|
||||
// Sort by popularity_score desc, then by lot_name
|
||||
const popDiff = (b.popularity_score || 0) - (a.popularity_score || 0);
|
||||
if (popDiff !== 0) return popDiff;
|
||||
return a.lot_name.localeCompare(b.lot_name);
|
||||
});
|
||||
|
||||
renderAutocomplete();
|
||||
}
|
||||
@@ -453,9 +459,12 @@ function renderAutocomplete() {
|
||||
dropdown.style.left = rect.left + 'px';
|
||||
dropdown.style.width = Math.max(rect.width, 400) + 'px';
|
||||
|
||||
// Use different select function based on mode (single vs multi)
|
||||
const selectFn = autocompleteCategory ? 'selectAutocompleteItem' : 'selectAutocompleteItemMulti';
|
||||
|
||||
dropdown.innerHTML = autocompleteFiltered.map((comp, idx) => `
|
||||
<div class="autocomplete-item ${idx === autocompleteIndex ? 'selected' : ''}"
|
||||
onmousedown="selectAutocompleteItem(${idx})">
|
||||
onmousedown="${selectFn}(${idx})">
|
||||
<div class="font-mono text-sm">${escapeHtml(comp.lot_name)}</div>
|
||||
<div class="text-xs text-gray-500 truncate">${escapeHtml(comp.description || '')}</div>
|
||||
</div>
|
||||
@@ -535,7 +544,13 @@ function filterAutocompleteMulti(search) {
|
||||
if (addedLots.has(c.lot_name)) return false;
|
||||
const text = (c.lot_name + ' ' + (c.description || '')).toLowerCase();
|
||||
return text.includes(searchLower);
|
||||
}).slice(0, 50);
|
||||
})
|
||||
.sort((a, b) => {
|
||||
// Sort by popularity_score desc, then by lot_name
|
||||
const popDiff = (b.popularity_score || 0) - (a.popularity_score || 0);
|
||||
if (popDiff !== 0) return popDiff;
|
||||
return a.lot_name.localeCompare(b.lot_name);
|
||||
});
|
||||
|
||||
renderAutocomplete();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user