Make CHUNK_SIZE a static class member in `Core/Bbcode/Code`
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 5 Jan 2021 15:03:28 +0000 (16:03 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 5 Jan 2021 15:56:40 +0000 (16:56 +0100)
wcfsetup/install/files/js/WoltLabSuite/Core/Bbcode/Code.js
wcfsetup/install/files/ts/WoltLabSuite/Core/Bbcode/Code.ts

index 63ebb5ceed0644dbfd8efc34b174804b0567ce3a..c2c881189d7e3893dc537def60e71dea528ceac2 100644 (file)
@@ -14,7 +14,6 @@ define(["require", "exports", "tslib", "../Language", "../Clipboard", "../Ui/Not
     Prism_1 = tslib_1.__importDefault(Prism_1);
     PrismHelper = tslib_1.__importStar(PrismHelper);
     prism_meta_1 = tslib_1.__importDefault(prism_meta_1);
-    const CHUNK_SIZE = 50;
     async function waitForIdle() {
         return new Promise((resolve, _reject) => {
             if (window.requestIdleCallback) {
@@ -82,9 +81,9 @@ define(["require", "exports", "tslib", "../Language", "../Clipboard", "../Ui/Not
             await waitForIdle();
             const originalLines = this.codeContainer.querySelectorAll(".codeBoxLine > span");
             const highlightedLines = PrismHelper.splitIntoLines(container);
-            for (let chunkStart = 0, max = originalLines.length; chunkStart < max; chunkStart += CHUNK_SIZE) {
+            for (let chunkStart = 0, max = originalLines.length; chunkStart < max; chunkStart += Code.chunkSize) {
                 await waitForIdle();
-                const chunkEnd = Math.min(chunkStart + CHUNK_SIZE, max);
+                const chunkEnd = Math.min(chunkStart + Code.chunkSize, max);
                 for (let offset = chunkStart; offset < chunkEnd; offset++) {
                     const toReplace = originalLines[offset];
                     const replacement = highlightedLines.next().value;
@@ -95,5 +94,6 @@ define(["require", "exports", "tslib", "../Language", "../Clipboard", "../Ui/Not
             this.container.classList.add("highlighted");
         }
     }
+    Code.chunkSize = 50;
     return Code;
 });
index b6b25bd92a55f82489411b5f600d0932fdf768af..a05d4a2d850798933842d65d28306cd4ad40558a 100644 (file)
@@ -14,8 +14,6 @@ import Prism from "../Prism";
 import * as PrismHelper from "../Prism/Helper";
 import PrismMeta from "../prism-meta";
 
-const CHUNK_SIZE = 50;
-
 async function waitForIdle(): Promise<void> {
   return new Promise((resolve, _reject) => {
     if ((window as any).requestIdleCallback) {
@@ -27,6 +25,8 @@ async function waitForIdle(): Promise<void> {
 }
 
 class Code {
+  private static readonly chunkSize = 50;
+
   private readonly container: HTMLElement;
   private codeContainer: HTMLElement;
   private language: string | undefined;
@@ -105,10 +105,10 @@ class Code {
     const originalLines = this.codeContainer.querySelectorAll(".codeBoxLine > span");
     const highlightedLines = PrismHelper.splitIntoLines(container);
 
-    for (let chunkStart = 0, max = originalLines.length; chunkStart < max; chunkStart += CHUNK_SIZE) {
+    for (let chunkStart = 0, max = originalLines.length; chunkStart < max; chunkStart += Code.chunkSize) {
       await waitForIdle();
 
-      const chunkEnd = Math.min(chunkStart + CHUNK_SIZE, max);
+      const chunkEnd = Math.min(chunkStart + Code.chunkSize, max);
 
       for (let offset = chunkStart; offset < chunkEnd; offset++) {
         const toReplace = originalLines[offset]!;