UNPKG

@anglr/grid

Version:
54 lines 1.59 kB
/** * Default implementation of orderable indicator renderer */ export class DefaultOrderableIndicatorRenderer { constructor() { //######################### protected properties ######################### /** * Current css classes that are applied to indicator element */ this.currentCssClasses = []; } //######################### public methods - implementation of OrderableIndicatorRenderer ######################### /** * @inheritdoc */ create(element, renderer) { if (this.element) { return; } this.element = renderer.createElement('span'); renderer.appendChild(element, this.element); } /** * @inheritdoc */ destroy(element, renderer) { if (!this.element) { return; } renderer.removeChild(element, this.element); this.element = null; } /** * @inheritdoc */ apply(cssClasses, renderer) { if (!this.element) { return; } //remove current css classes for (const cssClass of this.currentCssClasses) { for (const cls of cssClass.split(' ')) { renderer.removeClass(this.element, cls); } } this.currentCssClasses = cssClasses; for (const cssClass of this.currentCssClasses) { for (const cls of cssClass.split(' ')) { renderer.addClass(this.element, cls); } } } } //# sourceMappingURL=defaultOrderableIndicatorRenderer.service.js.map