UNPKG

date-picker-custom

Version:

A simple customizable date picker for Angular

97 lines 11.2 kB
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=