]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/utils/dom.ts
respective book and chapter structure added.
[bookstack] / resources / js / wysiwyg / utils / dom.ts
index a307bdd7531986289187cd3e53483cb8d515a178..bbb07cb414da19d7a0285ecda1d8f7c3586b3d2a 100644 (file)
@@ -31,6 +31,22 @@ export function formatSizeValue(size: number | string, defaultSuffix: string = '
     return size;
 }
 
+export function sizeToPixels(size: string): number {
+    if (/^-?\d+$/.test(size)) {
+        return Number(size);
+    }
+
+    if (/^-?\d+\.\d+$/.test(size)) {
+        return Math.round(Number(size));
+    }
+
+    if (/^-?\d+px\s*$/.test(size)) {
+        return Number(size.trim().replace('px', ''));
+    }
+
+    return 0;
+}
+
 export type StyleMap = Map<string, string>;
 
 /**
@@ -54,4 +70,12 @@ export function extractStyleMapFromElement(element: HTMLElement): StyleMap {
     }
 
     return map;
+}
+
+export function setOrRemoveAttribute(element: HTMLElement, name: string, value: string|null|undefined) {
+    if (value) {
+        element.setAttribute(name, value);
+    } else {
+        element.removeAttribute(name);
+    }
 }
\ No newline at end of file