From 495571b8a7e37b871dd222773f99848f80529796 Mon Sep 17 00:00:00 2001 From: HannesOberreiter Date: Sun, 25 Jun 2023 20:13:18 +0200 Subject: [PATCH 1/2] fix: :bug: prevent html tags to be highlighted --- site/views/items-list.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/views/items-list.js b/site/views/items-list.js index 8685baf..d695d22 100644 --- a/site/views/items-list.js +++ b/site/views/items-list.js @@ -212,7 +212,8 @@ class ItemsList extends View { let highlightedName = name; for (let i = 0; i < keywords.length; i++) { const string = keywords[i]; - const regex = new RegExp(string, "gi"); + // check if keyword is not preceded by a < or $&"); } return `${highlightedName}`; From b844232a65048e70789d842fdd31ba06986a9bb9 Mon Sep 17 00:00:00 2001 From: HannesOberreiter Date: Sun, 25 Jun 2023 20:14:55 +0200 Subject: [PATCH 2/2] perf: :zap: compare without type casting --- site/views/items-list.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/site/views/items-list.js b/site/views/items-list.js index d695d22..b4a7417 100644 --- a/site/views/items-list.js +++ b/site/views/items-list.js @@ -272,9 +272,9 @@ class ItemsList extends View { let quantity = item.quantity || ""; let unit = item.unit || ""; - if (quantity >= 1000 && (unit == "g" || unit == "ml")) { + if (quantity >= 1000 && (unit === "g" || unit === "ml")) { quantity = parseFloat((0.001 * quantity).toFixed(2)); - unit = unit == "ml" ? "l" : "kg"; + unit = unit === "ml" ? "l" : "kg"; } let percentageChange = ""; if (prevPrice != -1) { @@ -284,8 +284,8 @@ class ItemsList extends View { let showUnitPrice = this.elements.unitPrice.checked; let priceUnit = ""; if (showUnitPrice) { - if (item.unit == "g") priceUnit = " / kg"; - else if (item.unit == "ml") priceUnit = " / l"; + if (item.unit === "g") priceUnit = " / kg"; + else if (item.unit === "ml") priceUnit = " / l"; else priceUnit = " / stk"; } @@ -395,7 +395,7 @@ class ItemsList extends View { elements.up.addEventListener("click", () => { const index = itemDom.rowIndex - 1; - if (index == 0) return; + if (index === 0) return; let otherItem = this.model.items[index - 1]; this.model.items[index - 1] = item; this.model.items[index] = otherItem; @@ -408,7 +408,7 @@ class ItemsList extends View { elements.down.addEventListener("click", () => { const index = itemDom.rowIndex - 1; - if (index == this.model.items.length - 1) return; + if (index === this.model.items.length - 1) return; let otherItem = this.model.items[index + 1]; this.model.items[index + 1] = item; this.model.items[index] = otherItem; @@ -432,11 +432,11 @@ class ItemsList extends View { elements.nameSimilarity.removeAttribute("disabled"); } else { elements.nameSimilarity.setAttribute("disabled", "true"); - if (this.model.filteredItems.length != 0 && elements.sort.value == "name-similarity") elements.sort.value = "price-asc"; + if (this.model.filteredItems.length != 0 && elements.sort.value === "name-similarity") elements.sort.value = "price-asc"; } let items = [...this.model.filteredItems]; - if (this.model.lastQuery && this.model.lastQuery.charAt(0) == "!" && this.model.lastQuery.toLowerCase().indexOf("order by") >= 0) { + if (this.model.lastQuery && this.model.lastQuery.charAt(0) === "!" && this.model.lastQuery.toLowerCase().indexOf("order by") >= 0) { elements.sort.parentElement.classList.add("hidden"); } else { if (!this._noSort) { @@ -444,7 +444,7 @@ class ItemsList extends View { items = this.sort(items); } } - if (items.length == 0) { + if (items.length === 0) { elements.chart.classList.add("hidden"); elements.options.classList.add("hidden"); elements.itemsTable.classList.add("hidden"); @@ -462,7 +462,7 @@ class ItemsList extends View { const batches = []; let batch = []; items.forEach((item) => { - if (batch.length == 25) { + if (batch.length === 25) { batches.push(batch); batch = []; }