ng-jalali-date-time
Version:
Jalali date / month / range picker for Angular with Material Design support
26 lines • 4.38 kB
JavaScript
import { Pipe } from '@angular/core';
import { NgJalaliDateTimeService } from '../ng-jalali-date-time.service';
export class NgJalaliDaysPipe {
constructor(service) {
this.service = service;
}
transform(value) {
const split = value.split('|');
const dateValue1 = split[0];
const dateValue2 = split[1] && this.service.checkDate(split[1]) ? split[1] : '';
if (!this.service.checkDate(dateValue1))
return '';
const time = this.service.jalali.now({ format: 'H:I:S' });
const date1 = this.service.jalaliToGregorian(dateValue1, time);
const date2 = dateValue2 ? this.service.jalaliToGregorian(dateValue2, time) : new Date();
const second = Math.abs(Math.floor(date1.getTime() / 1000) - Math.floor(date2.getTime() / 1000));
return (Math.floor(second / (24 * 3600)) + 1).toString();
}
}
NgJalaliDaysPipe.decorators = [
{ type: Pipe, args: [{ name: 'jalaliDays' },] }
];
NgJalaliDaysPipe.ctorParameters = () => [
{ type: NgJalaliDateTimeService }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctamFsYWxpLWRheXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWphbGFsaS1kYXRlLXRpbWUvc3JjL2xpYi9waXBlcy9uZy1qYWxhbGktZGF5cy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3pFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBNkIsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7SUFBRyxDQUFDO0lBRWpFLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE1BQU0sS0FBSyxHQUFhLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQVcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFXLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFeEYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRW5ELE1BQU0sSUFBSSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sS0FBSyxHQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sS0FBSyxHQUFTLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFFL0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdELENBQUM7OztZQWpCSixJQUFJLFNBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFOzs7WUFGbkIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTmdKYWxhbGlEYXRlVGltZVNlcnZpY2UgfSBmcm9tICcuLi9uZy1qYWxhbGktZGF0ZS10aW1lLnNlcnZpY2UnO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnamFsYWxpRGF5cycgfSlcclxuZXhwb3J0IGNsYXNzIE5nSmFsYWxpRGF5c1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogTmdKYWxhbGlEYXRlVGltZVNlcnZpY2UpIHt9XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBzcGxpdDogc3RyaW5nW10gPSB2YWx1ZS5zcGxpdCgnfCcpO1xyXG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZTE6IHN0cmluZyA9IHNwbGl0WzBdO1xyXG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZTI6IHN0cmluZyA9IHNwbGl0WzFdICYmIHRoaXMuc2VydmljZS5jaGVja0RhdGUoc3BsaXRbMV0pID8gc3BsaXRbMV0gOiAnJztcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuY2hlY2tEYXRlKGRhdGVWYWx1ZTEpKSByZXR1cm4gJyc7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWU6IHN0cmluZyA9IHRoaXMuc2VydmljZS5qYWxhbGkubm93KHsgZm9ybWF0OiAnSDpJOlMnIH0pO1xyXG4gICAgICAgIGNvbnN0IGRhdGUxOiBEYXRlID0gdGhpcy5zZXJ2aWNlLmphbGFsaVRvR3JlZ29yaWFuKGRhdGVWYWx1ZTEsIHRpbWUpO1xyXG4gICAgICAgIGNvbnN0IGRhdGUyOiBEYXRlID0gZGF0ZVZhbHVlMiA/IHRoaXMuc2VydmljZS5qYWxhbGlUb0dyZWdvcmlhbihkYXRlVmFsdWUyLCB0aW1lKSA6IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHNlY29uZCA9IE1hdGguYWJzKE1hdGguZmxvb3IoZGF0ZTEuZ2V0VGltZSgpIC8gMTAwMCkgLSBNYXRoLmZsb29yKGRhdGUyLmdldFRpbWUoKSAvIDEwMDApKTtcclxuICAgICAgICByZXR1cm4gKE1hdGguZmxvb3Ioc2Vjb25kIC8gKDI0ICogMzYwMCkpICsgMSkudG9TdHJpbmcoKTtcclxuICAgIH1cclxufVxyXG4iXX0=