UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

43 lines 4.81 kB
/** * Base class for form validation. */ export class FormValidatorBase { /** * Instantiates a new instance of FormValidatorBase */ constructor() { /** * Revalidates the model attached to this validator */ this.revalidate = MsftSme.noop; // placeholder } /** * Implementation of Validator interface. * Validates the value of this elements form control. Use the @see checkValidate event to hook into this function. * @param c The FormControl attached to this element * @return null when valid, otherwise returns a validation object in the form of "{ errorType: {valid: false} }". */ validate(c) { // we have no alerts, so return null this should be overridden by derived classes return null; } /** * Implementation of Validator interface. * registers a change function that should be called anytime revalidation needs to occur */ registerOnValidatorChange(fn) { this.revalidate = fn; } /** * Checks if an alerts object has alerts and returns it, otherwise returns null. * @param alerts The alerts to check */ alertsOrNull(alerts) { if (MsftSme.isNullOrUndefined(alerts) && Object.keys(alerts).length === 0) { return null; } return alerts; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL3ZhbGlkYXRvcnMvYmFzZS12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBTTFCOztPQUVHO0lBQ0g7UUFSQTs7V0FFRztRQUNPLGVBQVUsR0FBbUIsT0FBTyxDQUFDLElBQUksQ0FBQztRQU1oRCxjQUFjO0lBQ2xCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FBQyxDQUFjO1FBQzFCLGlGQUFpRjtRQUNqRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0kseUJBQXlCLENBQUMsRUFBa0I7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFlBQVksQ0FBQyxNQUF3QjtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQWxlcnRzIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1hbGVydC92YWxpZGF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgU21lVmFsaWRhdG9yIH0gZnJvbSAnLi9zbWUtdmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNsYXNzIGZvciBmb3JtIHZhbGlkYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRm9ybVZhbGlkYXRvckJhc2UgaW1wbGVtZW50cyBTbWVWYWxpZGF0b3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXZhbGlkYXRlcyB0aGUgbW9kZWwgYXR0YWNoZWQgdG8gdGhpcyB2YWxpZGF0b3JcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIHJldmFsaWRhdGU6IE1zZnRTbWUuQWN0aW9uID0gTXNmdFNtZS5ub29wO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5zdGFudGlhdGVzIGEgbmV3IGluc3RhbmNlIG9mIEZvcm1WYWxpZGF0b3JCYXNlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIC8vIHBsYWNlaG9sZGVyXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBWYWxpZGF0b3IgaW50ZXJmYWNlLlxyXG4gICAgICogVmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB0aGlzIGVsZW1lbnRzIGZvcm0gY29udHJvbC4gVXNlIHRoZSBAc2VlIGNoZWNrVmFsaWRhdGUgZXZlbnQgdG8gaG9vayBpbnRvIHRoaXMgZnVuY3Rpb24uXHJcbiAgICAgKiBAcGFyYW0gYyBUaGUgRm9ybUNvbnRyb2wgYXR0YWNoZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKiBAcmV0dXJuIG51bGwgd2hlbiB2YWxpZCwgb3RoZXJ3aXNlIHJldHVybnMgYSB2YWxpZGF0aW9uIG9iamVjdCBpbiB0aGUgZm9ybSBvZiBcInsgZXJyb3JUeXBlOiB7dmFsaWQ6IGZhbHNlfSB9XCIuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25BbGVydHMgfCBudWxsIHtcclxuICAgICAgICAvLyB3ZSBoYXZlIG5vIGFsZXJ0cywgc28gcmV0dXJuIG51bGwgdGhpcyBzaG91bGQgYmUgb3ZlcnJpZGRlbiBieSBkZXJpdmVkIGNsYXNzZXNcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIFZhbGlkYXRvciBpbnRlcmZhY2UuXHJcbiAgICAgKiByZWdpc3RlcnMgYSBjaGFuZ2UgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIGFueXRpbWUgcmV2YWxpZGF0aW9uIG5lZWRzIHRvIG9jY3VyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiBNc2Z0U21lLkFjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmV2YWxpZGF0ZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIGFuIGFsZXJ0cyBvYmplY3QgaGFzIGFsZXJ0cyBhbmQgcmV0dXJucyBpdCwgb3RoZXJ3aXNlIHJldHVybnMgbnVsbC5cclxuICAgICAqIEBwYXJhbSBhbGVydHMgVGhlIGFsZXJ0cyB0byBjaGVja1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgYWxlcnRzT3JOdWxsKGFsZXJ0czogVmFsaWRhdGlvbkFsZXJ0cyk6IFZhbGlkYXRpb25BbGVydHMgfCBudWxsIHtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChhbGVydHMpICYmIE9iamVjdC5rZXlzKGFsZXJ0cykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYWxlcnRzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==