govuk-angular
Version:
Angular components port of govuk-frontend nunjucks macros.
30 lines • 3.89 kB
JavaScript
import { Directive, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class GovErrorLineDirective {
constructor(el) {
this.el = el;
}
ngOnChanges(changes) {
this.el.nativeElement.className = this.toggleError();
}
/**
* @description Toggle the error class on the input element
*/
toggleError() {
const errorClass = ' govuk-form-group--error';
const target = this.el.nativeElement.className;
return this.govukErrorLine.text ? target.includes(errorClass) ? target : target.concat(errorClass) :
target.replace(errorClass, '');
}
}
GovErrorLineDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovErrorLineDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
GovErrorLineDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: GovErrorLineDirective, selector: "[govukErrorLine]", inputs: { govukErrorLine: "govukErrorLine" }, usesOnChanges: true, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GovErrorLineDirective, decorators: [{
type: Directive,
args: [{
selector: '[govukErrorLine]'
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { govukErrorLine: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292dWstZXJyb3ItbGluZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9nb3Z1ay1hbmd1bGFyL3NyYy9saWIvZ292dWstZXJyb3ItbGluZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDOztBQU14RSxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUksQ0FBQztJQUV0QyxXQUFXLENBQUMsT0FBOEM7UUFDeEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsTUFBTSxVQUFVLEdBQUcsMEJBQTBCLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7O2tIQWxCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO2lHQUVVLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi9lcnJvci9lcnJvci1tZXNzYWdlLm1vZGVsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dvdnVrRXJyb3JMaW5lXSdcbn0pXG5leHBvcnQgY2xhc3MgR292RXJyb3JMaW5lRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZ292dWtFcnJvckxpbmU6IEVycm9yTWVzc2FnZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGltcG9ydCgnQGFuZ3VsYXIvY29yZScpLlNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lID0gdGhpcy50b2dnbGVFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUb2dnbGUgdGhlIGVycm9yIGNsYXNzIG9uIHRoZSBpbnB1dCBlbGVtZW50XG4gICAqL1xuICB0b2dnbGVFcnJvcigpIHtcbiAgICBjb25zdCBlcnJvckNsYXNzID0gJyBnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcic7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZTtcblxuICAgIHJldHVybiB0aGlzLmdvdnVrRXJyb3JMaW5lLnRleHQgPyB0YXJnZXQuaW5jbHVkZXMoZXJyb3JDbGFzcykgPyB0YXJnZXQgOiB0YXJnZXQuY29uY2F0KGVycm9yQ2xhc3MpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnJlcGxhY2UoZXJyb3JDbGFzcywgJycpO1xuICB9XG5cbn1cbiJdfQ==