Add radix cwl graph visualization
[arvados-workbench2.git] / src / lib / cwl-svg / utils / dynamic-stylesheet.ts
diff --git a/src/lib/cwl-svg/utils/dynamic-stylesheet.ts b/src/lib/cwl-svg/utils/dynamic-stylesheet.ts
new file mode 100644 (file)
index 0000000..0ccf98d
--- /dev/null
@@ -0,0 +1,35 @@
+import {Workflow} from "..";
+
+export class DynamicStylesheet {
+    private styleElement: HTMLStyleElement;
+    private scopedSelector: string;
+    private innerStyle = "";
+
+    constructor(workflow: Workflow) {
+
+        this.styleElement      = document.createElement("style");
+        this.styleElement.type = "text/css";
+
+        this.scopedSelector = `svg.${workflow.svgID}`;
+
+        document.getElementsByTagName("head")[0].appendChild(this.styleElement);
+    }
+
+    remove() {
+        this.styleElement.remove();
+    }
+
+    set(style: string) {
+        this.innerStyle = style;
+
+        this.styleElement.innerHTML = `
+            ${this.scopedSelector} {
+                ${this.innerStyle}
+            }
+        `
+    }
+
+
+
+
+}