Limit changes on cell text content
authorLaurent Mazet <mazet@softndesign.org>
Fri, 15 Jan 2021 17:36:36 +0000 (18:36 +0100)
committerLaurent Mazet <mazet@softndesign.org>
Fri, 15 Jan 2021 17:36:36 +0000 (18:36 +0100)
public/trivabble.js

index 6c843b7e168c4dd499e1b533c1c118b27651c930..073357864dfe71fdd7460246a1cb1ce3f1e59113 100644 (file)
         setSetting("CellCaptions", mode);
         document.getElementById("cell-captions").value = mode;
 
-        board.classList.remove("special-cell-label-clip");
-        board.classList.remove("special-cell-label-dots");
-        board.classList.remove("special-cell-label-none");
-        board.classList.remove("special-cell-label-short");
+        if (board.classList.contains("special-cell-label-short")) {
+            board.classList.remove("special-cell-label-short");
 
-        board.classList.add("special-cell-label-" + mode);
+            if (mode !== "short") {
+                for (const cell of [].slice.call(document.getElementsByClassName("special-cell-label"))) {
+                    cell.textContent = cell.longText;
+                }
+            }
+
+        } else {
+            board.classList.remove("special-cell-label-clip");
+            board.classList.remove("special-cell-label-dots");
+            board.classList.remove("special-cell-label-none");
 
-        for (const cells of [].slice.call(document.getElementsByClassName("special-cell-label"))) {
-            cells.textContent = (mode === "short") ? cells.shortText : cells.longText;
+            if (mode === "short") {
+                for (const cell of [].slice.call(document.getElementsByClassName("special-cell-label"))) {
+                    cell.textContent = cell.shortText;
+                }
+            }
         }
+
+        board.classList.add("special-cell-label-" + mode);
     }
 
     function repromptName(f) {