UNPKG

@uiowa/date-range-picker

Version:
62 lines 7.84 kB
import { Injectable } from '@angular/core'; import { NgbDateParserFormatter, } from '@ng-bootstrap/ng-bootstrap'; import * as i0 from "@angular/core"; function padNumber(value) { if (isNumber(value)) { return `0${value}`.slice(-2); } else { return ''; } } function isNumber(value) { return !isNaN(toInteger(value)); } function toInteger(value) { return parseInt(`${value}`, 10); } export class NgbDateNativeParserFormatter extends NgbDateParserFormatter { parse(value) { if (value) { const dateParts = value.trim().split('/'); if (dateParts.length === 1 && isNumber(dateParts[0])) { return { year: toInteger(dateParts[0]), month: 0, day: 0 }; } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) { return { year: toInteger(dateParts[1]), month: toInteger(dateParts[0]), day: 0, }; } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) { return { year: toInteger(dateParts[2]), month: toInteger(dateParts[1]), day: toInteger(dateParts[0]), }; } } return { year: 0, month: 0, day: 0 }; } format(date) { let stringDate = ''; if (date) { stringDate += isNumber(date.month) ? padNumber(date.month) + '/' : ''; stringDate += isNumber(date.day) ? padNumber(date.day) + '/' : ''; stringDate += date.year; } return stringDate; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgbDateNativeParserFormatter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgbDateNativeParserFormatter }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgbDateNativeParserFormatter, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdiLWRhdGUtbmF0aXZlLXBhcnNlci1mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aW93YS9kYXRlLXJhbmdlLXBpY2tlci9zcmMvbGliL3NlcnZpY2VzL25nYi1kYXRlLW5hdGl2ZS1wYXJzZXItZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLHNCQUFzQixHQUV2QixNQUFNLDRCQUE0QixDQUFDOztBQUVwQyxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25CLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5QjtTQUFNO1FBQ0wsT0FBTyxFQUFFLENBQUM7S0FDWDtBQUNILENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxLQUFVO0lBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLEtBQVU7SUFDM0IsT0FBTyxRQUFRLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBR0QsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHNCQUFzQjtJQUN0RSxLQUFLLENBQUMsS0FBYTtRQUNqQixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQzVEO2lCQUFNLElBQ0wsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUN0QixRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3RCO2dCQUNBLE9BQU87b0JBQ0wsSUFBSSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzdCLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM5QixHQUFHLEVBQUUsQ0FBQztpQkFDUCxDQUFDO2FBQ0g7aUJBQU0sSUFDTCxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEI7Z0JBQ0EsT0FBTztvQkFDTCxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDN0IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLEdBQUcsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QixDQUFDO2FBQ0g7U0FDRjtRQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBbUI7UUFDeEIsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxFQUFFO1lBQ1IsVUFBVSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEUsVUFBVSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDekI7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQXhDVSw0QkFBNEI7a0hBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLFxyXG4gIE5nYkRhdGVTdHJ1Y3QsXHJcbn0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuZnVuY3Rpb24gcGFkTnVtYmVyKHZhbHVlOiBudW1iZXIpIHtcclxuICBpZiAoaXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gYDAke3ZhbHVlfWAuc2xpY2UoLTIpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBpc051bWJlcih2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuICFpc05hTih0b0ludGVnZXIodmFsdWUpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9JbnRlZ2VyKHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gIHJldHVybiBwYXJzZUludChgJHt2YWx1ZX1gLCAxMCk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5nYkRhdGVOYXRpdmVQYXJzZXJGb3JtYXR0ZXIgZXh0ZW5kcyBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyIHtcclxuICBwYXJzZSh2YWx1ZTogc3RyaW5nKTogTmdiRGF0ZVN0cnVjdCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgY29uc3QgZGF0ZVBhcnRzID0gdmFsdWUudHJpbSgpLnNwbGl0KCcvJyk7XHJcbiAgICAgIGlmIChkYXRlUGFydHMubGVuZ3RoID09PSAxICYmIGlzTnVtYmVyKGRhdGVQYXJ0c1swXSkpIHtcclxuICAgICAgICByZXR1cm4geyB5ZWFyOiB0b0ludGVnZXIoZGF0ZVBhcnRzWzBdKSwgbW9udGg6IDAsIGRheTogMCB9O1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGRhdGVQYXJ0cy5sZW5ndGggPT09IDIgJiZcclxuICAgICAgICBpc051bWJlcihkYXRlUGFydHNbMF0pICYmXHJcbiAgICAgICAgaXNOdW1iZXIoZGF0ZVBhcnRzWzFdKVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgeWVhcjogdG9JbnRlZ2VyKGRhdGVQYXJ0c1sxXSksXHJcbiAgICAgICAgICBtb250aDogdG9JbnRlZ2VyKGRhdGVQYXJ0c1swXSksXHJcbiAgICAgICAgICBkYXk6IDAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBkYXRlUGFydHMubGVuZ3RoID09PSAzICYmXHJcbiAgICAgICAgaXNOdW1iZXIoZGF0ZVBhcnRzWzBdKSAmJlxyXG4gICAgICAgIGlzTnVtYmVyKGRhdGVQYXJ0c1sxXSkgJiZcclxuICAgICAgICBpc051bWJlcihkYXRlUGFydHNbMl0pXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB5ZWFyOiB0b0ludGVnZXIoZGF0ZVBhcnRzWzJdKSxcclxuICAgICAgICAgIG1vbnRoOiB0b0ludGVnZXIoZGF0ZVBhcnRzWzFdKSxcclxuICAgICAgICAgIGRheTogdG9JbnRlZ2VyKGRhdGVQYXJ0c1swXSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsgeWVhcjogMCwgbW9udGg6IDAsIGRheTogMCB9O1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0KGRhdGU6IE5nYkRhdGVTdHJ1Y3QpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cmluZ0RhdGUgPSAnJztcclxuICAgIGlmIChkYXRlKSB7XHJcbiAgICAgIHN0cmluZ0RhdGUgKz0gaXNOdW1iZXIoZGF0ZS5tb250aCkgPyBwYWROdW1iZXIoZGF0ZS5tb250aCkgKyAnLycgOiAnJztcclxuICAgICAgc3RyaW5nRGF0ZSArPSBpc051bWJlcihkYXRlLmRheSkgPyBwYWROdW1iZXIoZGF0ZS5kYXkpICsgJy8nIDogJyc7XHJcbiAgICAgIHN0cmluZ0RhdGUgKz0gZGF0ZS55ZWFyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cmluZ0RhdGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==