UNPKG

angular-calendar-timeline

Version:

A timeline for angular that shows events on a timeline board in different modes: days, weeks, and months.

33 lines 5.33 kB
import { __decorate } from "tslib"; import { DatesCacheDecorator } from '../helpers/cache'; import { DateHelpers, MillisecondsToTime } from "../helpers/date-helpers"; import { BaseViewModeAdaptor } from "./base-view-mode-adaptor"; export class DaysViewModeAdaptor extends BaseViewModeAdaptor { getUniqueColumnsWithinRange(start, end) { const startDate = new Date(start.getFullYear(), start.getMonth(), start.getDate()); const endDate = new Date(end.getFullYear(), end.getMonth(), end.getDate()); return Math.round(Math.abs((startDate.getTime() - endDate.getTime()) / MillisecondsToTime.Day)) + 1; } getDurationInColumns(startDate, endDate) { return Math.abs((startDate.getTime() - endDate.getTime()) / MillisecondsToTime.Day); } addColumnToDate(date, days) { const newDate = new Date(date); newDate.setDate(date.getDate() + days); newDate.setHours(newDate.getHours() + ((days % 1) * 24)); return newDate; } getEndingDateOfColumn(date) { return DateHelpers.dayEndingTime(date); } getBeginningDateOfColumn(date) { return DateHelpers.dayBeginningTime(date); } } __decorate([ DatesCacheDecorator() ], DaysViewModeAdaptor.prototype, "getUniqueColumnsWithinRange", null); __decorate([ DatesCacheDecorator() ], DaysViewModeAdaptor.prototype, "getDurationInColumns", null); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy12aWV3LW1vZGUtYWRhcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2FsZW5kYXItdGltZWxpbmUvc3JjL2xpYi92aWV3LW1vZGUtYWRhcHRvci9kYXlzLXZpZXctbW9kZS1hZGFwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHOUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUUxRCwyQkFBMkIsQ0FBQyxLQUFXLEVBQUUsR0FBUztRQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUdELG9CQUFvQixDQUFDLFNBQWUsRUFBRSxPQUFhO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVUsRUFBRSxJQUFZO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV6RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBVTtRQUM5QixPQUFPLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHdCQUF3QixDQUFDLElBQVU7UUFDakMsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBM0JDO0lBREMsbUJBQW1CLEVBQUU7c0VBTXJCO0FBR0Q7SUFEQyxtQkFBbUIsRUFBRTsrREFHckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlc0NhY2hlRGVjb3JhdG9yIH0gZnJvbSAnLi4vaGVscGVycy9jYWNoZSc7XHJcbmltcG9ydCB7IERhdGVIZWxwZXJzLCBNaWxsaXNlY29uZHNUb1RpbWUgfSBmcm9tIFwiLi4vaGVscGVycy9kYXRlLWhlbHBlcnNcIjtcclxuaW1wb3J0IHsgQmFzZVZpZXdNb2RlQWRhcHRvcn0gZnJvbSBcIi4vYmFzZS12aWV3LW1vZGUtYWRhcHRvclwiO1xyXG5pbXBvcnQgeyBJVmlld01vZGVBZGFwdG9yIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERheXNWaWV3TW9kZUFkYXB0b3IgZXh0ZW5kcyBCYXNlVmlld01vZGVBZGFwdG9yIGltcGxlbWVudHMgSVZpZXdNb2RlQWRhcHRvciB7XHJcbiAgQERhdGVzQ2FjaGVEZWNvcmF0b3IoKVxyXG4gIGdldFVuaXF1ZUNvbHVtbnNXaXRoaW5SYW5nZShzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0LmdldEZ1bGxZZWFyKCksIHN0YXJ0LmdldE1vbnRoKCksIHN0YXJ0LmdldERhdGUoKSk7XHJcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZW5kLmdldEZ1bGxZZWFyKCksIGVuZC5nZXRNb250aCgpLCBlbmQuZ2V0RGF0ZSgpKTtcclxuXHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChNYXRoLmFicygoc3RhcnREYXRlLmdldFRpbWUoKSAtIGVuZERhdGUuZ2V0VGltZSgpKSAvIE1pbGxpc2Vjb25kc1RvVGltZS5EYXkpKSArIDE7XHJcbiAgfVxyXG5cclxuICBARGF0ZXNDYWNoZURlY29yYXRvcigpXHJcbiAgZ2V0RHVyYXRpb25JbkNvbHVtbnMoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmFicygoc3RhcnREYXRlLmdldFRpbWUoKSAtIGVuZERhdGUuZ2V0VGltZSgpKSAvIE1pbGxpc2Vjb25kc1RvVGltZS5EYXkpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ29sdW1uVG9EYXRlKGRhdGU6IERhdGUsIGRheXM6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgbmV3RGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgZGF5cyk7XHJcbiAgICBuZXdEYXRlLnNldEhvdXJzKG5ld0RhdGUuZ2V0SG91cnMoKSArICgoZGF5cyAlIDEpICogMjQpKTtcclxuXHJcbiAgICByZXR1cm4gbmV3RGF0ZTtcclxuICB9XHJcblxyXG4gIGdldEVuZGluZ0RhdGVPZkNvbHVtbihkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gRGF0ZUhlbHBlcnMuZGF5RW5kaW5nVGltZShkYXRlKTtcclxuICB9XHJcblxyXG4gIGdldEJlZ2lubmluZ0RhdGVPZkNvbHVtbihkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gRGF0ZUhlbHBlcnMuZGF5QmVnaW5uaW5nVGltZShkYXRlKTtcclxuICB9XHJcbn1cclxuIl19