devexpress-diagram
Version:
DevExpress Diagram Control
28 lines (24 loc) • 1.45 kB
text/typescript
import { Diagnostics } from "../Diagnostics";
export const svgNS = "http://www.w3.org/2000/svg";
export class RenderHelper {
public static addEventListener: (element: Element | Window | Document, eventName: string, handler: () => void) => void = (element: Element | Window | Document, eventName: string, handler: () => void) => {
element.addEventListener(eventName, handler);
};
public static removeEventListener: (element: Element | Window | Document, eventName: string, handler: () => void) => void = (element: Element | Window | Document, eventName: string, handler: () => void) => {
element.removeEventListener(eventName, handler);
};
static createSvgElement(parent?: HTMLElement, forExport: boolean = false): SVGSVGElement {
const svgElement = document.createElementNS(svgNS, "svg");
svgElement.className.baseVal = "dxdi-canvas" + (forExport ? " export" : "");
parent && parent.appendChild(svgElement);
return svgElement;
}
static createMainElement(parent?: HTMLElement, forMeasurer: boolean = false): HTMLDivElement {
const element = document.createElement("div");
element.setAttribute("class", "dxdi-control" + (forMeasurer ? " measurer" : ""));
if(Diagnostics.optimizeLayers)
element.style.transform = "translateZ(0)";
parent && parent.appendChild(element);
return element;
}
}