UNPKG

angular-calendar-timeline

Version:

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

19 lines 3.22 kB
import { DateHelpers } from "./date-helpers"; export function DatesCacheDecorator() { return function (target, methodName, descriptor) { if (!target.__datesCache) { target.__datesCache = new Map(); } const originalMethod = descriptor.value; descriptor.value = function (...args) { const cacheKey = `${methodName}-${[...args].map(date => DateHelpers.generateDateId(date)).join('-')}`; if (target.__datesCache.has(cacheKey)) { return target.__datesCache.get(cacheKey); } const result = originalMethod.apply(this, args); target.__datesCache.set(cacheKey, result); return result; }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNhbGVuZGFyLXRpbWVsaW5lL3NyYy9saWIvaGVscGVycy9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsTUFBTSxVQUFVLG1CQUFtQjtJQUMvQixPQUFPLFVBQVMsTUFBVyxFQUFFLFVBQWtCLEVBQUUsVUFBOEI7UUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRXhDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBUyxHQUFHLElBQVk7WUFDdkMsTUFBTSxRQUFRLEdBQUcsR0FBRyxVQUFVLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUV0RyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUUxQyxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZUhlbHBlcnMgfSBmcm9tIFwiLi9kYXRlLWhlbHBlcnNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBEYXRlc0NhY2hlRGVjb3JhdG9yKCk6IEZ1bmN0aW9uIHtcclxuICAgIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IGFueSwgbWV0aG9kTmFtZTogc3RyaW5nLCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcclxuICAgICAgICBpZiAoIXRhcmdldC5fX2RhdGVzQ2FjaGUpIHtcclxuICAgICAgICAgICAgdGFyZ2V0Ll9fZGF0ZXNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCB1bmtub3duPigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xyXG5cclxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24oLi4uYXJnczogRGF0ZVtdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7bWV0aG9kTmFtZX0tJHtbLi4uYXJnc10ubWFwKGRhdGUgPT4gRGF0ZUhlbHBlcnMuZ2VuZXJhdGVEYXRlSWQoZGF0ZSkpLmpvaW4oJy0nKX1gO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRhcmdldC5fX2RhdGVzQ2FjaGUuaGFzKGNhY2hlS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5fX2RhdGVzQ2FjaGUuZ2V0KGNhY2hlS2V5KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgICAgIHRhcmdldC5fX2RhdGVzQ2FjaGUuc2V0KGNhY2hlS2V5LCByZXN1bHQpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxufVxyXG4iXX0=