UNPKG

coveo-search-ui

Version:

Coveo JavaScript Search Framework

34 lines (28 loc) 1.33 kB
import { IStringMap } from '../rest/GenericParam'; import { each } from 'underscore'; export class SVGDom { public static addClassToSVGInContainer(svgContainer: HTMLElement, classToAdd: string) { const svgElement = svgContainer.querySelector('svg'); svgElement.setAttribute('class', `${SVGDom.getClass(svgElement)}${classToAdd}`); } public static removeClassFromSVGInContainer(svgContainer: HTMLElement, classToRemove: string) { const svgElement = svgContainer.querySelector('svg'); svgElement.setAttribute('class', SVGDom.getClass(svgElement).replace(classToRemove, '')); } public static addStyleToSVGInContainer(svgContainer: HTMLElement, styleToAdd: IStringMap<any>) { const svgElement = svgContainer.querySelector('svg'); each(styleToAdd, (styleValue, styleKey) => { svgElement.style[styleKey] = styleValue; }); } public static addAttributesToSVGInContainer(svgContainer: HTMLElement, attributesToAdd: IStringMap<string>) { const svgElement = svgContainer.querySelector('svg'); each(attributesToAdd, (attributeValue, attributeKey) => { svgElement.setAttribute(attributeKey, attributeValue); }); } private static getClass(svgElement: SVGElement) { const className = svgElement.getAttribute('class'); return className ? className + ' ' : ''; } }