Skip to content

Commit 18abc33

Browse files
committed
Patch: a few performance improvements
1 parent a309068 commit 18abc33

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/utils/transformer.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@ import { rgbToHex } from ".";
66
import { default as d3Extended } from "./d3";
77

88
const domSeatsToJSON = (seats: ISeat[]) => {
9+
const seatsFromStore: Record<string, ISeat> = seats.reduce((acc, seat) => {
10+
acc[seat.id] = seat;
11+
return acc;
12+
}, {});
913
return d3Extended.selectAll(`[${dataAttributes.elementType}="${ElementType.Seat}"]`).map((seat) => {
1014
const id = seat.attr("id");
1115
const square = (seat.node() as any)?.nodeName === "rect";
12-
const seatFromStore = seats.find((s) => s.id === id);
1316
return {
1417
id,
1518
x: +seat.attr(square ? "x" : "cx"),
1619
y: +seat.attr(square ? "y" : "cy"),
17-
label: document.getElementById(`${seat.attr("id")}-label`)?.textContent ?? seatFromStore?.label,
20+
label: document.getElementById(`${seat.attr("id")}-label`)?.textContent?.trim() || seatsFromStore[id]?.label,
1821
status: seat.attr(dataAttributes.status),
1922
category: seat.attr(dataAttributes.category),
2023
square,

0 commit comments

Comments
 (0)