angular-admin-lte
Version:
67 lines • 9.94 kB
JavaScript
import { Injectable, Renderer2, ElementRef } from '@angular/core';
import { colors, colorsAliases } from './color.definition';
export class ColorService {
constructor(renderer2, elementRef) {
this.renderer2 = renderer2;
this.elementRef = elementRef;
}
setBackgroundColor(color, condition, property, prefix) {
if (color && condition) {
this.resetBackgroundColor();
if (colors.hasOwnProperty(color)) {
const knownColor = colors[color];
this.renderer2.addClass(this.elementRef.nativeElement, 'bg-color');
this.currentBackgroundStyle = { property, color: knownColor };
this.renderer2.setStyle(this.elementRef.nativeElement, property, knownColor);
}
else {
this.renderer2.removeClass(this.elementRef.nativeElement, 'bg-color');
if (color.indexOf('#') === 0 || color.indexOf('rgb') === 0) {
this.currentBackgroundStyle = { property, color };
this.renderer2.setStyle(this.elementRef.nativeElement, property, color);
}
else if (colorsAliases.indexOf(color) !== -1) {
this.currentBackgroundClass = prefix ? `${prefix}-${color}` : color;
this.renderer2.addClass(this.elementRef.nativeElement, this.currentBackgroundClass);
}
}
}
}
resetBackgroundColor() {
if (this.currentBackgroundStyle) {
this.renderer2.removeStyle(this.elementRef.nativeElement, this.currentBackgroundStyle.property, this.currentBackgroundStyle.color);
}
else if (this.currentBackgroundClass) {
this.renderer2.removeClass(this.elementRef.nativeElement, this.currentBackgroundClass);
}
}
setFontColor(color) {
this.resetFontColor();
if (color) {
if (color.startsWith('#') || color.startsWith('rgb')) {
this.currentFontStyle = color;
this.renderer2.setStyle(this.elementRef.nativeElement, 'color', color);
}
else {
this.currentFontClass = `text-${color}`;
this.renderer2.addClass(this.elementRef.nativeElement, this.currentFontClass);
}
}
}
resetFontColor() {
if (this.currentFontStyle) {
this.renderer2.removeStyle(this.elementRef.nativeElement, 'color', this.currentFontStyle);
}
else if (this.currentFontClass) {
this.renderer2.removeClass(this.elementRef.nativeElement, this.currentFontClass);
}
}
}
ColorService.decorators = [
{ type: Injectable }
];
ColorService.ctorParameters = () => [
{ type: Renderer2 },
{ type: ElementRef }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvYW5ndWxhci1hZG1pbi1sdGUvc3JjL2xpYi9jb2xvci9jb2xvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQVUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSW5FLE1BQU0sT0FBTyxZQUFZO0lBTXZCLFlBQ1UsU0FBb0IsRUFDcEIsVUFBc0I7UUFEdEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzdCLENBQUM7SUFFRyxrQkFBa0IsQ0FBQyxLQUFzQixFQUFFLFNBQWtCLEVBQUUsUUFBZ0IsRUFBRSxNQUFjO1FBQ3BHLElBQUksS0FBSyxJQUFJLFNBQVMsRUFBRTtZQUN0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBRSxLQUFnQixDQUFDLENBQUM7Z0JBRTdDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDOUU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3RFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzFELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUN6RTtxQkFBTSxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2lCQUNyRjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BJO2FBQU0sSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDeEY7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQXlCO1FBQzNDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDeEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsS0FBSyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQy9FO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDM0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNsRjtJQUNILENBQUM7OztZQTlERixVQUFVOzs7WUFMVSxTQUFTO1lBQUUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb2xvcnMsIGNvbG9ycywgY29sb3JzQWxpYXNlcyB9IGZyb20gJy4vY29sb3IuZGVmaW5pdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbG9yU2VydmljZSB7XG4gIHByaXZhdGUgY3VycmVudEJhY2tncm91bmRTdHlsZTogYW55O1xuICBwcml2YXRlIGN1cnJlbnRCYWNrZ3JvdW5kQ2xhc3M6IGFueTtcbiAgcHJpdmF0ZSBjdXJyZW50Rm9udFN0eWxlOiBhbnk7XG4gIHByaXZhdGUgY3VycmVudEZvbnRDbGFzczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICBwdWJsaWMgc2V0QmFja2dyb3VuZENvbG9yKGNvbG9yOiBDb2xvcnMgfCBzdHJpbmcsIGNvbmRpdGlvbjogYm9vbGVhbiwgcHJvcGVydHk6IHN0cmluZywgcHJlZml4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29sb3IgJiYgY29uZGl0aW9uKSB7XG4gICAgICB0aGlzLnJlc2V0QmFja2dyb3VuZENvbG9yKCk7XG4gICAgICBpZiAoY29sb3JzLmhhc093blByb3BlcnR5KGNvbG9yKSkge1xuICAgICAgICBjb25zdCBrbm93bkNvbG9yID0gY29sb3JzWyhjb2xvciBhcyBDb2xvcnMpXTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2JnLWNvbG9yJyk7XG4gICAgICAgIHRoaXMuY3VycmVudEJhY2tncm91bmRTdHlsZSA9IHtwcm9wZXJ0eSwgY29sb3I6IGtub3duQ29sb3J9O1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgcHJvcGVydHksIGtub3duQ29sb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdiZy1jb2xvcicpO1xuICAgICAgICBpZiAoY29sb3IuaW5kZXhPZignIycpID09PSAwIHx8IGNvbG9yLmluZGV4T2YoJ3JnYicpID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50QmFja2dyb3VuZFN0eWxlID0ge3Byb3BlcnR5LCBjb2xvcn07XG4gICAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHByb3BlcnR5LCBjb2xvcik7XG4gICAgICAgIH0gZWxzZSBpZiAoY29sb3JzQWxpYXNlcy5pbmRleE9mKGNvbG9yKSAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kQ2xhc3MgPSBwcmVmaXggPyBgJHtwcmVmaXh9LSR7Y29sb3J9YCA6IGNvbG9yO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0QmFja2dyb3VuZENvbG9yKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kU3R5bGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZVN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kU3R5bGUucHJvcGVydHksIHRoaXMuY3VycmVudEJhY2tncm91bmRTdHlsZS5jb2xvcik7XG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kQ2xhc3MpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmN1cnJlbnRCYWNrZ3JvdW5kQ2xhc3MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRGb250Q29sb3IoY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRGb250Q29sb3IoKTtcblxuICAgIGlmIChjb2xvcikge1xuICAgICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRGb250U3R5bGUgPSBjb2xvcjtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjb2xvcicsIGNvbG9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvbnRDbGFzcyA9IGB0ZXh0LSR7Y29sb3J9YDtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY3VycmVudEZvbnRDbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0Rm9udENvbG9yKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRGb250U3R5bGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZVN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY29sb3InLCB0aGlzLmN1cnJlbnRGb250U3R5bGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Rm9udENsYXNzKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJyZW50Rm9udENsYXNzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==