skopix 2.0.45 → 2.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/app/index.html +6 -2
package/package.json
CHANGED
package/web/app/index.html
CHANGED
|
@@ -5631,10 +5631,10 @@ function renderPendingSteps(steps) {
|
|
|
5631
5631
|
}
|
|
5632
5632
|
|
|
5633
5633
|
async function loadLibraryView() {
|
|
5634
|
-
await new Promise(r => setTimeout(r, 50)); // ensure view is visible
|
|
5635
5634
|
const [steps, pending] = await Promise.all([fetchLibrarySteps(), fetchPendingSteps()]);
|
|
5636
|
-
populateLibraryTagFilter
|
|
5635
|
+
// Render pending FIRST before populateLibraryTagFilter which can trigger onchange
|
|
5637
5636
|
renderPendingSteps(pending);
|
|
5637
|
+
populateLibraryTagFilter();
|
|
5638
5638
|
renderLibrarySteps(steps);
|
|
5639
5639
|
}
|
|
5640
5640
|
|
|
@@ -5897,7 +5897,11 @@ function populateLibraryTagFilter() {
|
|
|
5897
5897
|
if (!sel) return;
|
|
5898
5898
|
const allTags = [...new Set(libraryStepsCache.flatMap(s => s.tags || []))].sort();
|
|
5899
5899
|
const current = sel.value;
|
|
5900
|
+
// Use a temp listener removal to avoid triggering onchange
|
|
5901
|
+
const prev = sel.onchange;
|
|
5902
|
+
sel.onchange = null;
|
|
5900
5903
|
sel.innerHTML = '<option value="">All tags</option>' + allTags.map(t => `<option value="${escapeAttr(t)}" ${t===current?'selected':''}>${escapeHtml(t)}</option>`).join('');
|
|
5904
|
+
sel.onchange = prev;
|
|
5901
5905
|
}
|
|
5902
5906
|
|
|
5903
5907
|
async function loadLibraryView() {
|