ad-custom-lib
Version:
This is an UI custom library based on Adminlte library with purpose for personal use, if you need a full template of Primeng please visit https://github.com/mledour/angular-admin-lte
88 lines • 5.74 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, Renderer2, ElementRef } from '@angular/core';
/*
*
*/
export class ClassService {
/**
* @param {?} elementRef
* @param {?} renderer2
*/
constructor(elementRef, renderer2) {
this.elementRef = elementRef;
this.renderer2 = renderer2;
this.currentClasses = [];
}
/**
* @param {?} cssClasses
* @return {?}
*/
applyClasses(cssClasses) {
if (typeof cssClasses === 'string') {
cssClasses = cssClasses.split(' ');
}
// Remove only classes that are not in cssClasses
/** @type {?} */
const classesToRemove = this.currentClasses.filter((/**
* @param {?} x
* @return {?}
*/
x => cssClasses.indexOf(x) === -1));
classesToRemove.forEach((/**
* @param {?} cssClasse
* @return {?}
*/
cssClasse => {
if (cssClasse) {
this.renderer2.removeClass(this.elementRef.nativeElement, cssClasse);
}
}));
// Add only classes that are not in currentClasses
/** @type {?} */
const classesToAdd = cssClasses.filter((/**
* @param {?} x
* @return {?}
*/
x => this.currentClasses.indexOf(x) === -1));
classesToAdd.forEach((/**
* @param {?} cssClasse
* @return {?}
*/
cssClasse => {
if (cssClasse) {
this.renderer2.addClass(this.elementRef.nativeElement, cssClasse);
}
}));
// Update current classes for futur updates
this.currentClasses = [...cssClasses];
}
}
ClassService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
ClassService.ctorParameters = () => [
{ type: ElementRef },
{ type: Renderer2 }
];
if (false) {
/**
* @type {?}
* @private
*/
ClassService.prototype.currentClasses;
/**
* @type {?}
* @private
*/
ClassService.prototype.elementRef;
/**
* @type {?}
* @private
*/
ClassService.prototype.renderer2;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FkLWN1c3RvbS1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvY2xhc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxZQUFZOzs7OztJQUd2QixZQUNVLFVBQXNCLEVBQ3RCLFNBQW9CO1FBRHBCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUp0QixtQkFBYyxHQUFrQixFQUFFLENBQUM7SUFLeEMsQ0FBQzs7Ozs7SUFHRyxZQUFZLENBQUMsVUFBa0M7UUFDcEQsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7WUFDbEMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEM7OztjQUdLLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUM7UUFDckYsZUFBZSxDQUFDLE9BQU87Ozs7UUFBQyxTQUFTLENBQUMsRUFBRTtZQUNsQyxJQUFJLFNBQVMsRUFBRTtnQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUN0RTtRQUNILENBQUMsRUFBQyxDQUFDOzs7Y0FHRyxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDO1FBQ2xGLFlBQVksQ0FBQyxPQUFPOzs7O1FBQUMsU0FBUyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDbkU7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUVILDJDQUEyQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsR0FBSSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7WUFqQ0YsVUFBVTs7OztZQUxxQixVQUFVO1lBQXJCLFNBQVM7Ozs7Ozs7SUFPNUIsc0NBQTJDOzs7OztJQUd6QyxrQ0FBOEI7Ozs7O0lBQzlCLGlDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLypcclxuICpcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENsYXNzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjdXJyZW50Q2xhc3NlczogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG5cclxuICBwdWJsaWMgYXBwbHlDbGFzc2VzKGNzc0NsYXNzZXM6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2YgY3NzQ2xhc3NlcyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY3NzQ2xhc3NlcyA9IGNzc0NsYXNzZXMuc3BsaXQoJyAnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZW1vdmUgb25seSBjbGFzc2VzIHRoYXQgYXJlIG5vdCBpbiBjc3NDbGFzc2VzXHJcbiAgICBjb25zdCBjbGFzc2VzVG9SZW1vdmUgPSB0aGlzLmN1cnJlbnRDbGFzc2VzLmZpbHRlcih4ID0+IGNzc0NsYXNzZXMuaW5kZXhPZih4KSA9PT0gLTEpO1xyXG4gICAgY2xhc3Nlc1RvUmVtb3ZlLmZvckVhY2goY3NzQ2xhc3NlID0+IHtcclxuICAgICAgaWYgKGNzc0NsYXNzZSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjc3NDbGFzc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZGQgb25seSBjbGFzc2VzIHRoYXQgYXJlIG5vdCBpbiBjdXJyZW50Q2xhc3Nlc1xyXG4gICAgY29uc3QgY2xhc3Nlc1RvQWRkID0gY3NzQ2xhc3Nlcy5maWx0ZXIoeCA9PiB0aGlzLmN1cnJlbnRDbGFzc2VzLmluZGV4T2YoeCkgPT09IC0xKTtcclxuICAgIGNsYXNzZXNUb0FkZC5mb3JFYWNoKGNzc0NsYXNzZSA9PiB7XHJcbiAgICAgIGlmIChjc3NDbGFzc2UpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY3NzQ2xhc3NlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gVXBkYXRlIGN1cnJlbnQgY2xhc3NlcyBmb3IgZnV0dXIgdXBkYXRlc1xyXG4gICAgdGhpcy5jdXJyZW50Q2xhc3NlcyA9IFsuLi4gY3NzQ2xhc3Nlc107XHJcbiAgfVxyXG59XHJcbiJdfQ==