date-picker-custom
Version:
A simple customizable date picker for Angular
97 lines • 11.2 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
let DatePickerService = class DatePickerService {
constructor() {
this.monthDayMap = [
{
numberOfDays: 31,
month: 'January',
days: this.arrangeDates(0, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 28,
month: 'February',
days: this.arrangeDates(1, 28) //() => { return Array(28).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 31,
month: 'March',
days: this.arrangeDates(2, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 30,
month: 'April',
days: this.arrangeDates(3, 30) //() => { return Array(30).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 31,
month: 'May',
days: this.arrangeDates(4, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 30,
month: 'June',
days: this.arrangeDates(5, 30) //() => { return Array(30).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 31,
month: 'July',
days: this.arrangeDates(6, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 31,
month: 'August',
days: this.arrangeDates(7, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 30,
month: 'September',
days: this.arrangeDates(8, 30) //() => { return Array(30).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 31,
month: 'October',
days: this.arrangeDates(9, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 30,
month: 'November',
days: this.arrangeDates(10, 30) //() => { return Array(30).fill(0).map((val, ind) => ind + 1); },
},
{
numberOfDays: 31,
month: 'December',
days: this.arrangeDates(11, 31) //() => { return Array(31).fill(0).map((val, ind) => ind + 1); },
}
];
}
arrangeDates(month, numberOfDays, year) {
let offsetDay = new Date(year || new Date().getFullYear(), month, 1).getDay();
let len = offsetDay + numberOfDays;
return Array(len).fill(0).map((val, ind) => {
if (ind < offsetDay)
val = 0;
else
val = ind - offsetDay + 1;
return val;
});
}
monthToName(month) {
return this.monthDayMap[month].month;
}
nameToMonth(month) {
return this.monthDayMap.findIndex((element) => { return element.month === month; });
}
getMap() {
return [...this.monthDayMap];
}
};
DatePickerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DatePickerService_Factory() { return new DatePickerService(); }, token: DatePickerService, providedIn: "root" });
DatePickerService = __decorate([
Injectable({
providedIn: 'root'
})
], DatePickerService);
export { DatePickerService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtcGlja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYXRlLXBpY2tlci1jdXN0b20vIiwic291cmNlcyI6WyJsaWIvY3VzdG9tLWRhdGUtcGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBaUU1QjtRQS9EQSxnQkFBVyxHQUFHO1lBQ1o7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2hHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2hHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxPQUFPO2dCQUNkLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxpRUFBaUU7YUFDaEc7WUFDRDtnQkFDRSxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBLGlFQUFpRTthQUNoRztZQUNEO2dCQUNFLFlBQVksRUFBRSxFQUFFO2dCQUNoQixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2hHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxpRUFBaUU7YUFDaEc7WUFDRDtnQkFDRSxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBLGlFQUFpRTthQUNoRztZQUNEO2dCQUNFLFlBQVksRUFBRSxFQUFFO2dCQUNoQixLQUFLLEVBQUUsUUFBUTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2hHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxXQUFXO2dCQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2hHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2hHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2pHO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUEsaUVBQWlFO2FBQ2pHO1NBQ0YsQ0FBQztJQUVjLENBQUM7SUFFakIsWUFBWSxDQUFDLEtBQWEsRUFBRSxZQUFvQixFQUFFLElBQWE7UUFDN0QsSUFBSSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEdBQUcsR0FBRyxTQUFTO2dCQUNqQixHQUFHLEdBQUcsQ0FBQyxDQUFDOztnQkFFUixHQUFHLEdBQUcsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDNUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGLENBQUE7O0FBMUZZLGlCQUFpQjtJQUg3QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1csaUJBQWlCLENBMEY3QjtTQTFGWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJTZXJ2aWNlIHtcbiAgXG4gIG1vbnRoRGF5TWFwID0gW1xuICAgIHtcbiAgICAgIG51bWJlck9mRGF5czogMzEsXG4gICAgICBtb250aDogJ0phbnVhcnknLFxuICAgICAgZGF5czogdGhpcy5hcnJhbmdlRGF0ZXMoMCwgMzEpLy8oKSA9PiB7IHJldHVybiBBcnJheSgzMSkuZmlsbCgwKS5tYXAoKHZhbCwgaW5kKSA9PiBpbmQgKyAxKTsgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG51bWJlck9mRGF5czogMjgsXG4gICAgICBtb250aDogJ0ZlYnJ1YXJ5JyxcbiAgICAgIGRheXM6IHRoaXMuYXJyYW5nZURhdGVzKDEsIDI4KS8vKCkgPT4geyByZXR1cm4gQXJyYXkoMjgpLmZpbGwoMCkubWFwKCh2YWwsIGluZCkgPT4gaW5kICsgMSk7IH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBudW1iZXJPZkRheXM6IDMxLFxuICAgICAgbW9udGg6ICdNYXJjaCcsXG4gICAgICBkYXlzOiB0aGlzLmFycmFuZ2VEYXRlcygyLCAzMSkvLygpID0+IHsgcmV0dXJuIEFycmF5KDMxKS5maWxsKDApLm1hcCgodmFsLCBpbmQpID0+IGluZCArIDEpOyB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbnVtYmVyT2ZEYXlzOiAzMCxcbiAgICAgIG1vbnRoOiAnQXByaWwnLFxuICAgICAgZGF5czogdGhpcy5hcnJhbmdlRGF0ZXMoMywgMzApLy8oKSA9PiB7IHJldHVybiBBcnJheSgzMCkuZmlsbCgwKS5tYXAoKHZhbCwgaW5kKSA9PiBpbmQgKyAxKTsgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG51bWJlck9mRGF5czogMzEsXG4gICAgICBtb250aDogJ01heScsXG4gICAgICBkYXlzOiB0aGlzLmFycmFuZ2VEYXRlcyg0LCAzMSkvLygpID0+IHsgcmV0dXJuIEFycmF5KDMxKS5maWxsKDApLm1hcCgodmFsLCBpbmQpID0+IGluZCArIDEpOyB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbnVtYmVyT2ZEYXlzOiAzMCxcbiAgICAgIG1vbnRoOiAnSnVuZScsXG4gICAgICBkYXlzOiB0aGlzLmFycmFuZ2VEYXRlcyg1LCAzMCkvLygpID0+IHsgcmV0dXJuIEFycmF5KDMwKS5maWxsKDApLm1hcCgodmFsLCBpbmQpID0+IGluZCArIDEpOyB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbnVtYmVyT2ZEYXlzOiAzMSxcbiAgICAgIG1vbnRoOiAnSnVseScsXG4gICAgICBkYXlzOiB0aGlzLmFycmFuZ2VEYXRlcyg2LCAzMSkvLygpID0+IHsgcmV0dXJuIEFycmF5KDMxKS5maWxsKDApLm1hcCgodmFsLCBpbmQpID0+IGluZCArIDEpOyB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbnVtYmVyT2ZEYXlzOiAzMSxcbiAgICAgIG1vbnRoOiAnQXVndXN0JyxcbiAgICAgIGRheXM6IHRoaXMuYXJyYW5nZURhdGVzKDcsIDMxKS8vKCkgPT4geyByZXR1cm4gQXJyYXkoMzEpLmZpbGwoMCkubWFwKCh2YWwsIGluZCkgPT4gaW5kICsgMSk7IH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBudW1iZXJPZkRheXM6IDMwLFxuICAgICAgbW9udGg6ICdTZXB0ZW1iZXInLFxuICAgICAgZGF5czogdGhpcy5hcnJhbmdlRGF0ZXMoOCwgMzApLy8oKSA9PiB7IHJldHVybiBBcnJheSgzMCkuZmlsbCgwKS5tYXAoKHZhbCwgaW5kKSA9PiBpbmQgKyAxKTsgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG51bWJlck9mRGF5czogMzEsXG4gICAgICBtb250aDogJ09jdG9iZXInLFxuICAgICAgZGF5czogdGhpcy5hcnJhbmdlRGF0ZXMoOSwgMzEpLy8oKSA9PiB7IHJldHVybiBBcnJheSgzMSkuZmlsbCgwKS5tYXAoKHZhbCwgaW5kKSA9PiBpbmQgKyAxKTsgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG51bWJlck9mRGF5czogMzAsXG4gICAgICBtb250aDogJ05vdmVtYmVyJyxcbiAgICAgIGRheXM6IHRoaXMuYXJyYW5nZURhdGVzKDEwLCAzMCkvLygpID0+IHsgcmV0dXJuIEFycmF5KDMwKS5maWxsKDApLm1hcCgodmFsLCBpbmQpID0+IGluZCArIDEpOyB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbnVtYmVyT2ZEYXlzOiAzMSxcbiAgICAgIG1vbnRoOiAnRGVjZW1iZXInLFxuICAgICAgZGF5czogdGhpcy5hcnJhbmdlRGF0ZXMoMTEsIDMxKS8vKCkgPT4geyByZXR1cm4gQXJyYXkoMzEpLmZpbGwoMCkubWFwKCh2YWwsIGluZCkgPT4gaW5kICsgMSk7IH0sXG4gICAgfVxuICBdO1xuICBcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBhcnJhbmdlRGF0ZXMobW9udGg6IG51bWJlciwgbnVtYmVyT2ZEYXlzOiBudW1iZXIsIHllYXI/OiBudW1iZXIpOiBBcnJheTxudW1iZXI+IHtcbiAgICBsZXQgb2Zmc2V0RGF5ID0gbmV3IERhdGUoeWVhciB8fCBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIG1vbnRoLCAxKS5nZXREYXkoKTtcbiAgICBsZXQgbGVuID0gb2Zmc2V0RGF5ICsgbnVtYmVyT2ZEYXlzO1xuICAgIHJldHVybiBBcnJheShsZW4pLmZpbGwoMCkubWFwKCh2YWwsIGluZCkgPT4ge1xuICAgICAgaWYgKGluZCA8IG9mZnNldERheSlcbiAgICAgICAgdmFsID0gMDtcbiAgICAgIGVsc2VcbiAgICAgICAgdmFsID0gaW5kIC0gb2Zmc2V0RGF5ICsgMTtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfSk7XG4gIH1cblxuICBtb250aFRvTmFtZShtb250aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb250aERheU1hcFttb250aF0ubW9udGg7XG4gIH1cblxuICBuYW1lVG9Nb250aChtb250aDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5tb250aERheU1hcC5maW5kSW5kZXgoKGVsZW1lbnQpID0+IHsgcmV0dXJuIGVsZW1lbnQubW9udGggPT09IG1vbnRoOyB9KTtcbiAgfVxuXG4gIGdldE1hcCgpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMubW9udGhEYXlNYXBdO1xuICB9XG59XG4iXX0=