UNPKG

cfc-ds

Version:

Design System do Conselho Federal de Contabilidade baseado no govbr-ds

59 lines 6.67 kB
import { Directive, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class ControllerDirective { el; directiveName; directiveNames; applyDirective; applyDirectives; constructor(el) { this.el = el; } ngOnChanges() { this.controlDirectives(); } controlDirectives() { if (this.applyDirective && this.directiveName) { this.updateDirective(this.applyDirective, this.directiveName); } else { this.updateDirectives(); } } updateDirective(directiveFlag, directiveName) { if ((typeof directiveFlag === 'boolean' && directiveFlag) || (typeof directiveFlag === 'string' && directiveFlag === 'true')) { this.el.nativeElement.setAttribute(directiveName, ''); } else { this.el.nativeElement.removeAttribute(directiveName); } } updateDirectives() { if (!this.directiveNames) return; if (Array.isArray(this.directiveNames)) { this.directiveNames.forEach((directiveName, index) => { if (this.applyDirectives && Array.isArray(this.applyDirectives)) { this.updateDirective(this.applyDirectives[index], directiveName); } }); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ControllerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ControllerDirective, selector: "[cfcDirectiveController]", inputs: { directiveName: "directiveName", directiveNames: "directiveNames", applyDirective: "applyDirective", applyDirectives: "applyDirectives" }, usesOnChanges: true, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ControllerDirective, decorators: [{ type: Directive, args: [{ selector: '[cfcDirectiveController]' }] }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { directiveName: [{ type: Input }], directiveNames: [{ type: Input }], applyDirective: [{ type: Input }], applyDirectives: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZmMtZHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NvbnRyb2xsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQUt4RSxNQUFNLE9BQU8sbUJBQW1CO0lBT3BCO0lBTkQsYUFBYSxDQUFVO0lBQ3ZCLGNBQWMsQ0FBWTtJQUMxQixjQUFjLENBQVc7SUFDekIsZUFBZSxDQUFhO0lBRXJDLFlBQ1UsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFDcEIsQ0FBQztJQUVMLFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFFSCxDQUFDO0lBRU8sZUFBZSxDQUFDLGFBQStCLEVBQUUsYUFBcUI7UUFDNUUsSUFBSSxDQUFDLE9BQU8sYUFBYSxLQUFLLFNBQVMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxhQUFhLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM3SCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU87UUFDakMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBcUIsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDbkUsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7b0JBQ2hFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7d0dBeENVLG1CQUFtQjs0RkFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDOytFQUVVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NmY0RpcmVjdGl2ZUNvbnRyb2xsZXJdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udHJvbGxlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZGlyZWN0aXZlTmFtZT86IHN0cmluZztcclxuICBASW5wdXQoKSBkaXJlY3RpdmVOYW1lcz86IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIGFwcGx5RGlyZWN0aXZlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhcHBseURpcmVjdGl2ZXM/OiBib29sZWFuW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbERpcmVjdGl2ZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udHJvbERpcmVjdGl2ZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hcHBseURpcmVjdGl2ZSAmJiB0aGlzLmRpcmVjdGl2ZU5hbWUpIHtcclxuICAgICAgdGhpcy51cGRhdGVEaXJlY3RpdmUodGhpcy5hcHBseURpcmVjdGl2ZSwgdGhpcy5kaXJlY3RpdmVOYW1lKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRGlyZWN0aXZlcygpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRGlyZWN0aXZlKGRpcmVjdGl2ZUZsYWc6IHN0cmluZyB8IGJvb2xlYW4sIGRpcmVjdGl2ZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCh0eXBlb2YgZGlyZWN0aXZlRmxhZyA9PT0gJ2Jvb2xlYW4nICYmIGRpcmVjdGl2ZUZsYWcpIHx8ICh0eXBlb2YgZGlyZWN0aXZlRmxhZyA9PT0gJ3N0cmluZycgJiYgZGlyZWN0aXZlRmxhZyA9PT0gJ3RydWUnKSkge1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKGRpcmVjdGl2ZU5hbWUsICcnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoZGlyZWN0aXZlTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZURpcmVjdGl2ZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlyZWN0aXZlTmFtZXMpIHJldHVybjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGlyZWN0aXZlTmFtZXMpKSB7XHJcbiAgICAgIHRoaXMuZGlyZWN0aXZlTmFtZXMuZm9yRWFjaCgoZGlyZWN0aXZlTmFtZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXBwbHlEaXJlY3RpdmVzICYmIEFycmF5LmlzQXJyYXkodGhpcy5hcHBseURpcmVjdGl2ZXMpKSB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURpcmVjdGl2ZSh0aGlzLmFwcGx5RGlyZWN0aXZlc1tpbmRleF0sIGRpcmVjdGl2ZU5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=