@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
141 lines (140 loc) • 10.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Validators } from '@angular/forms';
import * as nh from '../native-helper';
import moment from 'moment';
/**
* Custom from validators
*/
var /**
* Custom from validators
*/
AsiValidators = /** @class */ (function () {
function AsiValidators() {
}
/**
* @param {?} control
* @return {?}
*/
AsiValidators.email = /**
* @param {?} control
* @return {?}
*/
function (control) {
if (control.value == null) {
return null;
}
else {
return Validators.email(control);
}
};
/**
* @param {?} minDateControl
* @return {?}
*/
AsiValidators.minDateFromControl = /**
* @param {?} minDateControl
* @return {?}
*/
function (minDateControl) {
/** @type {?} */
var validator = function (control) {
if (control.value != null && minDateControl.value != null
&& moment(control.value).isBefore(minDateControl.value, 'day')) {
return {
minDate: { valid: false }
};
}
else {
return null;
}
};
return validator;
};
/**
* @param {?} maxDateControl
* @return {?}
*/
AsiValidators.maxDateFromControl = /**
* @param {?} maxDateControl
* @return {?}
*/
function (maxDateControl) {
/** @type {?} */
var validator = function (control) {
if (control.value != null && maxDateControl.value != null
&& moment(control.value).isAfter(maxDateControl.value, 'day')) {
return {
maxDate: { valid: false }
};
}
else {
return null;
}
};
return validator;
};
/**
* @param {?} control
* @return {?}
*/
AsiValidators.dateFormat = /**
* @param {?} control
* @return {?}
*/
function (control) {
if (control.value != null && control.value.error) {
return {
format: { valid: false }
};
}
else {
return null;
}
};
/**
* @param {?} maxSize
* @return {?}
*/
AsiValidators.fileSize = /**
* @param {?} maxSize
* @return {?}
*/
function (maxSize) {
/** @type {?} */
var validator = function (control) {
/** @type {?} */
var rightSize = !control.value || control.value.size <= maxSize;
return rightSize ? null : { 'fileSize': { valid: false } };
};
return validator;
};
/**
* @param {?} extensions
* @return {?}
*/
AsiValidators.fileExtension = /**
* @param {?} extensions
* @return {?}
*/
function (extensions) {
/** @type {?} */
var validator = function (control) {
if (!control.value || !control.value.name) {
return null;
}
/** @type {?} */
var rightExtension = nh.find(extensions, function (extension) { return control.value.name.endsWith(extension); });
return rightExtension ? null : { fileExtension: { valid: false } };
};
return validator;
};
return AsiValidators;
}());
/**
* Custom from validators
*/
export { AsiValidators };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYXNpLW5ndG9vbHMvbGliLyIsInNvdXJjZXMiOlsibGliL3ZhbGlkYXRvcnMvYXNpLXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBcUMsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFLNUI7OztBQUFBOzs7Ozs7O0lBQ1MsbUJBQUs7Ozs7SUFBWixVQUFhLE9BQXdCO1FBQ25DLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ2I7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2xDO0tBQ0Y7Ozs7O0lBRU0sZ0NBQWtCOzs7O0lBQXpCLFVBQTBCLGNBQStCOztRQUN2RCxJQUFNLFNBQVMsR0FBRyxVQUFDLE9BQXdCO1lBQ3pDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLGNBQWMsQ0FBQyxLQUFLLElBQUksSUFBSTttQkFDcEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pFLE1BQU0sQ0FBQztvQkFDTCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2lCQUMxQixDQUFDO2FBQ0g7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixNQUFNLENBQUMsSUFBSSxDQUFDO2FBQ2I7U0FDRixDQUFDO1FBQ0YsTUFBTSxDQUFDLFNBQVMsQ0FBQztLQUNsQjs7Ozs7SUFFTSxnQ0FBa0I7Ozs7SUFBekIsVUFBMEIsY0FBK0I7O1FBQ3ZELElBQU0sU0FBUyxHQUFHLFVBQUMsT0FBd0I7WUFDekMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksY0FBYyxDQUFDLEtBQUssSUFBSSxJQUFJO21CQUNwRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxDQUFDO29CQUNMLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7aUJBQzFCLENBQUM7YUFDSDtZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUM7UUFDRixNQUFNLENBQUMsU0FBUyxDQUFDO0tBQ2xCOzs7OztJQUVNLHdCQUFVOzs7O0lBQWpCLFVBQWtCLE9BQXdCO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUM7Z0JBQ0wsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTthQUN6QixDQUFDO1NBQ0g7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDYjtLQUNGOzs7OztJQUVNLHNCQUFROzs7O0lBQWYsVUFBZ0IsT0FBZTs7UUFDN0IsSUFBTSxTQUFTLEdBQUcsVUFBQyxPQUF3Qjs7WUFDekMsSUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQztZQUNsRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDNUQsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLENBQUM7S0FDbEI7Ozs7O0lBRU0sMkJBQWE7Ozs7SUFBcEIsVUFBcUIsVUFBeUI7O1FBQzVDLElBQU0sU0FBUyxHQUFHLFVBQUMsT0FBd0I7WUFDekMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDO2FBQ2I7O1lBQ0QsSUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBQyxTQUFTLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQXRDLENBQXNDLENBQUMsQ0FBQztZQUNsRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDcEUsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLENBQUM7S0FDbEI7d0JBeEVIO0lBeUVDLENBQUE7Ozs7QUFqRUQseUJBaUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCAqIGFzIG5oIGZyb20gJy4uL25hdGl2ZS1oZWxwZXInO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG4vKipcclxuICogQ3VzdG9tIGZyb20gIHZhbGlkYXRvcnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBc2lWYWxpZGF0b3JzIHtcclxuICBzdGF0aWMgZW1haWwoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBWYWxpZGF0b3JzLmVtYWlsKGNvbnRyb2wpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1pbkRhdGVGcm9tQ29udHJvbChtaW5EYXRlQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT0gbnVsbCAmJiBtaW5EYXRlQ29udHJvbC52YWx1ZSAhPSBudWxsXHJcbiAgICAgICAgJiYgbW9tZW50KGNvbnRyb2wudmFsdWUpLmlzQmVmb3JlKG1pbkRhdGVDb250cm9sLnZhbHVlLCAnZGF5JykpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbWluRGF0ZTogeyB2YWxpZDogZmFsc2UgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1heERhdGVGcm9tQ29udHJvbChtYXhEYXRlQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT0gbnVsbCAmJiBtYXhEYXRlQ29udHJvbC52YWx1ZSAhPSBudWxsXHJcbiAgICAgICAgJiYgbW9tZW50KGNvbnRyb2wudmFsdWUpLmlzQWZ0ZXIobWF4RGF0ZUNvbnRyb2wudmFsdWUsICdkYXknKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBtYXhEYXRlOiB7IHZhbGlkOiBmYWxzZSB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiB2YWxpZGF0b3I7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZUZvcm1hdChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBpZiAoY29udHJvbC52YWx1ZSAhPSBudWxsICYmIGNvbnRyb2wudmFsdWUuZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBmb3JtYXQ6IHsgdmFsaWQ6IGZhbHNlIH1cclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZpbGVTaXplKG1heFNpemU6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IHJpZ2h0U2l6ZSA9ICFjb250cm9sLnZhbHVlIHx8IGNvbnRyb2wudmFsdWUuc2l6ZSA8PSBtYXhTaXplO1xyXG4gICAgICByZXR1cm4gcmlnaHRTaXplID8gbnVsbCA6IHsgJ2ZpbGVTaXplJzogeyB2YWxpZDogZmFsc2UgfSB9O1xyXG4gICAgfTtcclxuICAgIHJldHVybiB2YWxpZGF0b3I7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZmlsZUV4dGVuc2lvbihleHRlbnNpb25zOiBBcnJheTxTdHJpbmc+KTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFjb250cm9sLnZhbHVlLm5hbWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByaWdodEV4dGVuc2lvbiA9IG5oLmZpbmQoZXh0ZW5zaW9ucywgKGV4dGVuc2lvbikgPT4gY29udHJvbC52YWx1ZS5uYW1lLmVuZHNXaXRoKGV4dGVuc2lvbikpO1xyXG4gICAgICByZXR1cm4gcmlnaHRFeHRlbnNpb24gPyBudWxsIDogeyBmaWxlRXh0ZW5zaW9uOiB7IHZhbGlkOiBmYWxzZSB9IH07XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcclxuICB9XHJcbn1cclxuIl19