@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
41 lines • 4.22 kB
JavaScript
import { Directive, Attribute } from '@angular/core';
import { NG_VALIDATORS } from '@angular/forms';
import * as i0 from "@angular/core";
export class PasswordConfirm {
constructor(passwordConfirm) {
this.passwordConfirm = passwordConfirm;
}
validate(abControl) {
const value = abControl.value;
const controlToCompareWith = abControl.root.get(this.passwordConfirm);
if (controlToCompareWith && value !== controlToCompareWith.value) {
return { passwordConfirm: true };
}
return null;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordConfirm, deps: [{ token: 'passwordConfirm', attribute: true }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PasswordConfirm, selector: "[passwordConfirm]", providers: [
{
provide: NG_VALIDATORS,
useExisting: PasswordConfirm,
multi: true
}
], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordConfirm, decorators: [{
type: Directive,
args: [{
selector: '[passwordConfirm]',
providers: [
{
provide: NG_VALIDATORS,
useExisting: PasswordConfirm,
multi: true
}
]
}]
}], ctorParameters: () => [{ type: undefined, decorators: [{
type: Attribute,
args: ['passwordConfirm']
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtY29uZmlybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2F1dGhlbnRpY2F0aW9uL3Bhc3N3b3JkLWNvbmZpcm0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sZ0JBQWdCLENBQUM7O0FBWTNFLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQWlELGVBQXVCO1FBQXZCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBQUcsQ0FBQztJQUU1RSxRQUFRLENBQUMsU0FBMEI7UUFDakMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUM5QixNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RSxJQUFJLG9CQUFvQixJQUFJLEtBQUssS0FBSyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBVlUsZUFBZSxrQkFDSCxpQkFBaUI7bUdBRDdCLGVBQWUsNENBUmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLGVBQWU7Z0JBQzVCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7NEZBRVUsZUFBZTtrQkFWM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsaUJBQWlCOzRCQUM1QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7MEJBRWMsU0FBUzsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3Bhc3N3b3JkQ29uZmlybV0nLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGFzc3dvcmRDb25maXJtLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkQ29uZmlybSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XHJcbiAgY29uc3RydWN0b3IoQEF0dHJpYnV0ZSgncGFzc3dvcmRDb25maXJtJykgcHVibGljIHBhc3N3b3JkQ29uZmlybTogc3RyaW5nKSB7fVxyXG5cclxuICB2YWxpZGF0ZShhYkNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBhYkNvbnRyb2wudmFsdWU7XHJcbiAgICBjb25zdCBjb250cm9sVG9Db21wYXJlV2l0aCA9IGFiQ29udHJvbC5yb290LmdldCh0aGlzLnBhc3N3b3JkQ29uZmlybSk7XHJcbiAgICBpZiAoY29udHJvbFRvQ29tcGFyZVdpdGggJiYgdmFsdWUgIT09IGNvbnRyb2xUb0NvbXBhcmVXaXRoLnZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB7IHBhc3N3b3JkQ29uZmlybTogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==