@frxjs/ngx-timeline 1.0.6 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +138 -136
- package/esm2020/frxjs-ngx-timeline.mjs +5 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +3 -3
- package/esm2020/lib/components/ngx-timeline-event/ngx-timeline-event.component.mjs +58 -0
- package/esm2020/lib/components/ngx-timeline.component.mjs +157 -0
- package/esm2020/lib/models/NgxConfigObj.mjs +93 -0
- package/esm2020/lib/models/NgxTimelineEvent.mjs +6 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +3 -3
- package/esm2020/lib/ngx-timeline.module.mjs +28 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +2 -2
- package/esm2020/lib/pipes/ngx-date-pipe.mjs +31 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +7 -7
- package/fesm2015/frxjs-ngx-timeline.mjs +366 -0
- package/fesm2015/frxjs-ngx-timeline.mjs.map +1 -0
- package/fesm2020/frxjs-ngx-timeline.mjs +365 -0
- package/fesm2020/frxjs-ngx-timeline.mjs.map +1 -0
- package/frxjs-ngx-timeline.d.ts +5 -7
- package/lib/components/index.d.ts +2 -2
- package/lib/components/ngx-timeline-event/ngx-timeline-event.component.d.ts +38 -35
- package/lib/components/ngx-timeline.component.d.ts +79 -76
- package/lib/models/NgxConfigObj.d.ts +59 -59
- package/lib/models/NgxTimelineEvent.d.ts +29 -29
- package/lib/models/index.d.ts +2 -2
- package/lib/ngx-timeline.module.d.ts +10 -2
- package/lib/pipes/index.d.ts +1 -1
- package/lib/pipes/ngx-date-pipe.d.ts +10 -7
- package/package.json +22 -9
- package/public-api.d.ts +4 -4
- package/bundles/frxjs-ngx-timeline.umd.js +0 -696
- package/bundles/frxjs-ngx-timeline.umd.js.map +0 -1
- package/bundles/frxjs-ngx-timeline.umd.min.js +0 -2
- package/bundles/frxjs-ngx-timeline.umd.min.js.map +0 -1
- package/esm2015/frxjs-ngx-timeline.js +0 -8
- package/esm2015/lib/components/ngx-timeline-event/ngx-timeline-event.component.js +0 -55
- package/esm2015/lib/components/ngx-timeline.component.js +0 -147
- package/esm2015/lib/models/NgxConfigObj.js +0 -93
- package/esm2015/lib/models/NgxTimelineEvent.js +0 -6
- package/esm2015/lib/ngx-timeline.module.js +0 -23
- package/esm2015/lib/pipes/ngx-date-pipe.js +0 -28
- package/fesm2015/frxjs-ngx-timeline.js +0 -350
- package/fesm2015/frxjs-ngx-timeline.js.map +0 -1
- package/frxjs-ngx-timeline.metadata.json +0 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Component, Input, Output } from '@angular/core';
|
|
2
|
+
import { NgxTimelineItemPosition, NgxDateFormat, NgxTimelineEventGroup, NgxTimelineEventChangeSideInGroup, periodKeyDateFormat, fieldsToCheckEventChangeSideInGroup, fieldsToAddEventGroup } from '../models';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./ngx-timeline-event/ngx-timeline-event.component";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "../pipes/ngx-date-pipe";
|
|
8
|
+
export class NgxTimelineComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
/**
|
|
11
|
+
* Boolean used to enable or disable the animations
|
|
12
|
+
*/
|
|
13
|
+
this.enableAnimation = true;
|
|
14
|
+
/**
|
|
15
|
+
* Logic to be applied in order to group events
|
|
16
|
+
*/
|
|
17
|
+
this.groupEvent = NgxTimelineEventGroup.MONTH_YEAR;
|
|
18
|
+
/**
|
|
19
|
+
* Logic to be applied in order to put evetns on LEFT or RIGHT
|
|
20
|
+
*/
|
|
21
|
+
this.changeSideInGroup = NgxTimelineEventChangeSideInGroup.ON_DIFFERENT_DAY;
|
|
22
|
+
/**
|
|
23
|
+
* Output click event emitter
|
|
24
|
+
*/
|
|
25
|
+
this.clickEmitter = new BehaviorSubject(null);
|
|
26
|
+
this.groups = {};
|
|
27
|
+
this.periods = [];
|
|
28
|
+
this.items = [];
|
|
29
|
+
this.ngxTimelineItemPosition = NgxTimelineItemPosition;
|
|
30
|
+
this.ngxDateFormat = NgxDateFormat;
|
|
31
|
+
this.separator = '/';
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.groupEvents(this.events);
|
|
35
|
+
}
|
|
36
|
+
ngOnChanges(changes) {
|
|
37
|
+
this.groupEvents(this.events);
|
|
38
|
+
}
|
|
39
|
+
getPeriodKeyDateFormat() {
|
|
40
|
+
return periodKeyDateFormat[this.groupEvent];
|
|
41
|
+
}
|
|
42
|
+
clear() {
|
|
43
|
+
this.groups = {};
|
|
44
|
+
this.periods = [];
|
|
45
|
+
this.items = [];
|
|
46
|
+
}
|
|
47
|
+
groupEvents(events) {
|
|
48
|
+
if (events) {
|
|
49
|
+
this.clear();
|
|
50
|
+
this.sortEvents(events);
|
|
51
|
+
this.setGroups(events);
|
|
52
|
+
this.setPeriods();
|
|
53
|
+
this.setItems();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
sortEvents(events) {
|
|
57
|
+
events.sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
|
|
58
|
+
}
|
|
59
|
+
setGroups(events) {
|
|
60
|
+
events.forEach((event) => {
|
|
61
|
+
// conversion from string to actual Date
|
|
62
|
+
event.timestamp = new Date(event.timestamp);
|
|
63
|
+
const periodKey = this.getPeriodKeyFromEvent(event);
|
|
64
|
+
if (!this.groups[periodKey]) {
|
|
65
|
+
this.groups[periodKey] = [];
|
|
66
|
+
}
|
|
67
|
+
this.groups[periodKey].push(event);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
setItems() {
|
|
71
|
+
this.periods.forEach((p) => {
|
|
72
|
+
// insert first the period
|
|
73
|
+
this.items.push(p);
|
|
74
|
+
// in each period putting items on left
|
|
75
|
+
const onLeft = true;
|
|
76
|
+
const periodInfo = p.periodInfo;
|
|
77
|
+
// insert then all the events in this period
|
|
78
|
+
this.addPeriodEvents(periodInfo, onLeft);
|
|
79
|
+
// onLeft = this.addEventItemsAndGetIfOnLeft(periodInfo, onLeft);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
addPeriodEvents(periodInfo, onLeft) {
|
|
83
|
+
this.groups[periodInfo.periodKey].forEach((event, index) => {
|
|
84
|
+
const prevEvent = this.groups[periodInfo.periodKey][index - 1];
|
|
85
|
+
if (index > 0 && this.compareEvents(prevEvent, event)) {
|
|
86
|
+
onLeft = !onLeft;
|
|
87
|
+
}
|
|
88
|
+
this.pushEventOnItems(event, onLeft);
|
|
89
|
+
});
|
|
90
|
+
// return onLeft;
|
|
91
|
+
}
|
|
92
|
+
pushEventOnItems(event, onLeft) {
|
|
93
|
+
this.items.push({
|
|
94
|
+
eventInfo: { ...event }, position: onLeft ?
|
|
95
|
+
this.ngxTimelineItemPosition.ON_LEFT : this.ngxTimelineItemPosition.ON_RIGHT,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Compare the events inside the same group
|
|
100
|
+
*/
|
|
101
|
+
compareEvents(prevEvent, event) {
|
|
102
|
+
return this.changeSideInGroup === NgxTimelineEventChangeSideInGroup.ALL ||
|
|
103
|
+
this.compareEventsField(prevEvent, event, ...fieldsToCheckEventChangeSideInGroup[this.changeSideInGroup]);
|
|
104
|
+
}
|
|
105
|
+
compareEventsField(prevEvent, event, ...fields) {
|
|
106
|
+
return fields.reduce((res, field) => res = res || prevEvent.timestamp[field]() !== event.timestamp[field](), !!false);
|
|
107
|
+
}
|
|
108
|
+
setPeriods() {
|
|
109
|
+
this.periods = Object.keys(this.groups).map((periodKey) => {
|
|
110
|
+
const split = periodKey.split(this.separator);
|
|
111
|
+
return this.getPeriodInfo(split, periodKey);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
getPeriodInfo(split, periodKey) {
|
|
115
|
+
return {
|
|
116
|
+
periodInfo: {
|
|
117
|
+
year: Number(split[0]),
|
|
118
|
+
month: Number(split[1]),
|
|
119
|
+
day: Number(split[2]),
|
|
120
|
+
periodKey,
|
|
121
|
+
firstDate: this.groups[periodKey][0].timestamp,
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
getPeriodKeyFromEvent(event) {
|
|
126
|
+
return fieldsToAddEventGroup[this.groupEvent].map((field) => event.timestamp[field]()).join(this.separator);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
NgxTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
+
NgxTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: NgxTimelineComponent, selector: "ngx-timeline", inputs: { events: "events", langCode: "langCode", enableAnimation: "enableAnimation", groupEvent: "groupEvent", changeSideInGroup: "changeSideInGroup", periodCustomTemplate: "periodCustomTemplate", eventCustomTemplate: "eventCustomTemplate", centerIconCustomTemplate: "centerIconCustomTemplate", dateInstantCustomTemplate: "dateInstantCustomTemplate", innerEventCustomTemplate: "innerEventCustomTemplate" }, outputs: { clickEmitter: "clickEmitter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"main-container\">\r\n <div class=\"items-container\">\r\n <div *ngFor=\"let item of items; let index = index;\" class=\"row\">\r\n <!-- DESKTOP -->\r\n <div class=\"col col-left desktop\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"event-outer-container\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_LEFT\">\r\n <ng-container *ngTemplateOutlet=\"eventCustomTemplate || eventTemplate; context: {event: item, colSidePosition: ngxTimelineItemPosition.ON_LEFT}\"></ng-container>\r\n </div>\r\n <div class=\"hour left\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_RIGHT\">\r\n <ng-container *ngTemplateOutlet=\"dateInstantCustomTemplate || dateInstantTemplate; context: {item: item.eventInfo}\" ></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-center desktop\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"center-inner\" *ngIf=\"item.periodInfo\">\r\n <ng-container *ngTemplateOutlet=\"periodCustomTemplate || periodTemplate; context: {period: item.periodInfo, index: index}\"></ng-container>\r\n </div>\r\n <div class=\"center-inner no-period-key\" *ngIf=\"!item.periodInfo\">\r\n <ng-container *ngTemplateOutlet=\"centerLinesIconTemplate; context: {index: index}\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-right desktop\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"event-outer-container\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_RIGHT\">\r\n <ng-container *ngTemplateOutlet=\"eventCustomTemplate || eventTemplate; context: {event: item, colSidePosition: ngxTimelineItemPosition.ON_RIGHT}\"></ng-container>\r\n </div>\r\n <div class=\"hour right\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_LEFT\">\r\n <ng-container *ngTemplateOutlet=\"dateInstantCustomTemplate || dateInstantTemplate; context: {item: item.eventInfo}\" ></ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- MOBILE -->\r\n <div class=\"col col-left mobile\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"hour left\" *ngIf=\"item.eventInfo\">\r\n <div class=\"hour-inner-container\">\r\n <ng-container *ngTemplateOutlet=\"dateInstantCustomTemplate || dateInstantTemplate; context: {item: item.eventInfo}\" ></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-center mobile\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"center-inner\" *ngIf=\"item.periodInfo;\">\r\n <ng-container *ngTemplateOutlet=\"periodCustomTemplate || periodTemplate; context: {period: item.periodInfo, index: index}\"></ng-container>\r\n </div>\r\n <div class=\"center-inner no-period-key\" *ngIf=\"!item.periodInfo;\">\r\n <ng-container *ngTemplateOutlet=\"centerLinesIconTemplate;context: {index: index}\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-right mobile\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"event-outer-container\" *ngIf=\"item.eventInfo\">\r\n <ng-container *ngTemplateOutlet=\"eventCustomTemplate || eventTemplate; context: {event: item, colSidePosition: ngxTimelineItemPosition.ON_RIGHT}\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #centerLinesIconTemplate let-index=index>\r\n <div class=\"line\"></div>\r\n <ng-container *ngTemplateOutlet=\"centerIconCustomTemplate || centerIconTemplate\"></ng-container>\r\n <div [ngClass]=\"{'transparent last-line': index === items.length - 1}\" class=\"line\"></div>\r\n</ng-template>\r\n\r\n<ng-template #centerIconTemplate>\r\n <div class=\"center-icon-container\">\r\n <div class=\"icon\"></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dateInstantTemplate let-item=item>\r\n <span>\r\n {{item?.timestamp | ngxdate : ngxDateFormat.HOURS_MINUTES : langCode}}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #periodTemplate let-period=period let-index=index>\r\n <div [ngClass]=\"{'transparent first-line': !index}\" class=\"line\"></div>\r\n <div class=\"period-container\">\r\n <div class=\"period-inner-container\">\r\n <span>{{period?.firstDate | ngxdate : getPeriodKeyDateFormat() : langCode}}</span>\r\n </div>\r\n </div>\r\n <div class=\"line\"></div>\r\n</ng-template>\r\n\r\n<ng-template #eventTemplate let-event=event let-colSidePosition=colSidePosition>\r\n <ngx-timeline-event\r\n [event]=\"event\"\r\n [langCode]=\"langCode\"\r\n [enableAnimation]=\"enableAnimation\"\r\n [innerEventCustomTemplate]=\"innerEventCustomTemplate\"\r\n [colSidePosition]=\"colSidePosition\"\r\n (clickEmitter)=\"clickEmitter.next($event)\">\r\n </ngx-timeline-event>\r\n</ng-template>\r\n\r\n", styles: [".main-container{display:flex;justify-content:center;width:100%}.items-container{padding:1rem 0;min-width:max(20rem,100%)}.row{display:flex;flex-wrap:wrap}.row>[class*=col-]{display:flex;flex-direction:column;justify-content:center}.col-left{align-items:flex-end;padding:0;flex:49 49 0}.col-right{align-items:flex-start;padding:0;flex:49 49 0}.col-center{min-height:6rem;padding:0;flex:2 2 0}.center-inner{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.center-inner .line{min-height:50%;max-height:50%;height:50%;background:#464646;width:.1rem}.center-inner .line.transparent{background:transparent}.period-container{background:orange;color:#fff;margin:0;padding:.2rem .5rem}.period-container .period-inner-container{width:max-content;padding:.2rem .5rem;z-index:10}.center-icon-container{padding:.8rem 0;display:flex;justify-content:center;align-items:center;position:absolute;height:10px;width:10px;background:white}.center-icon-container .icon{height:1rem;width:1rem;border-radius:50%;background:orange;margin:0;position:absolute}.event-outer-container{margin:0 .5rem;width:100%}.hour{padding:.5rem;background:none;display:flex;justify-content:center;align-items:center}.hour.right{justify-content:flex-start}.hour.left{justify-content:flex-end}.hour .hour-inner-container{margin:0}.desktop{display:flex!important}.mobile{display:none!important}@media (max-width: 900px){.desktop{display:none!important}.mobile{display:flex!important}.event-outer-container{margin:.5rem .3rem}.col-left{align-items:flex-start}.col-left .hour{font-size:12px;padding:0;margin-right:.3rem}.col-left.col-period{flex:18 18 0}.col-left.col-event{flex:18 18 0;padding:0;align-items:flex-end}.col-right{align-items:flex-start}.col-right.col-period{flex:77 77 0}.col-right.col-event{flex:77 77 0;padding:0}.col-center{min-height:6rem;justify-content:center;margin:0}.col-center.col-period{flex:5 5 0;min-height:3rem}.col-center.col-event{flex:5 5 0}.center-inner{align-items:center}.period-container{min-height:20%;height:20%;max-height:20%;background:transparent;display:flex;justify-content:center;align-items:center;border-radius:6px}.period-container .period-inner-container{position:absolute;background:orange;color:#fff;width:max-content;padding:.2rem .5rem;z-index:10}.center-icon-container{align-items:center;justify-content:center}.center-icon-container .icon{height:1rem;width:1rem;position:absolute}}\n"], components: [{ type: i1.NgxTimelineEventComponent, selector: "ngx-timeline-event", inputs: ["event", "colSidePosition", "langCode", "innerEventCustomTemplate", "enableAnimation"], outputs: ["clickEmitter"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "ngxdate": i3.NgxDatePipe } });
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxTimelineComponent, decorators: [{
|
|
132
|
+
type: Component,
|
|
133
|
+
args: [{ selector: 'ngx-timeline', template: "<div class=\"main-container\">\r\n <div class=\"items-container\">\r\n <div *ngFor=\"let item of items; let index = index;\" class=\"row\">\r\n <!-- DESKTOP -->\r\n <div class=\"col col-left desktop\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"event-outer-container\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_LEFT\">\r\n <ng-container *ngTemplateOutlet=\"eventCustomTemplate || eventTemplate; context: {event: item, colSidePosition: ngxTimelineItemPosition.ON_LEFT}\"></ng-container>\r\n </div>\r\n <div class=\"hour left\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_RIGHT\">\r\n <ng-container *ngTemplateOutlet=\"dateInstantCustomTemplate || dateInstantTemplate; context: {item: item.eventInfo}\" ></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-center desktop\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"center-inner\" *ngIf=\"item.periodInfo\">\r\n <ng-container *ngTemplateOutlet=\"periodCustomTemplate || periodTemplate; context: {period: item.periodInfo, index: index}\"></ng-container>\r\n </div>\r\n <div class=\"center-inner no-period-key\" *ngIf=\"!item.periodInfo\">\r\n <ng-container *ngTemplateOutlet=\"centerLinesIconTemplate; context: {index: index}\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-right desktop\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"event-outer-container\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_RIGHT\">\r\n <ng-container *ngTemplateOutlet=\"eventCustomTemplate || eventTemplate; context: {event: item, colSidePosition: ngxTimelineItemPosition.ON_RIGHT}\"></ng-container>\r\n </div>\r\n <div class=\"hour right\" *ngIf=\"item.eventInfo && item.position === ngxTimelineItemPosition.ON_LEFT\">\r\n <ng-container *ngTemplateOutlet=\"dateInstantCustomTemplate || dateInstantTemplate; context: {item: item.eventInfo}\" ></ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- MOBILE -->\r\n <div class=\"col col-left mobile\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"hour left\" *ngIf=\"item.eventInfo\">\r\n <div class=\"hour-inner-container\">\r\n <ng-container *ngTemplateOutlet=\"dateInstantCustomTemplate || dateInstantTemplate; context: {item: item.eventInfo}\" ></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-center mobile\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"center-inner\" *ngIf=\"item.periodInfo;\">\r\n <ng-container *ngTemplateOutlet=\"periodCustomTemplate || periodTemplate; context: {period: item.periodInfo, index: index}\"></ng-container>\r\n </div>\r\n <div class=\"center-inner no-period-key\" *ngIf=\"!item.periodInfo;\">\r\n <ng-container *ngTemplateOutlet=\"centerLinesIconTemplate;context: {index: index}\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col col-right mobile\" [ngClass]=\"item.periodInfo ? 'col-period' : 'col-event'\">\r\n <div class=\"event-outer-container\" *ngIf=\"item.eventInfo\">\r\n <ng-container *ngTemplateOutlet=\"eventCustomTemplate || eventTemplate; context: {event: item, colSidePosition: ngxTimelineItemPosition.ON_RIGHT}\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #centerLinesIconTemplate let-index=index>\r\n <div class=\"line\"></div>\r\n <ng-container *ngTemplateOutlet=\"centerIconCustomTemplate || centerIconTemplate\"></ng-container>\r\n <div [ngClass]=\"{'transparent last-line': index === items.length - 1}\" class=\"line\"></div>\r\n</ng-template>\r\n\r\n<ng-template #centerIconTemplate>\r\n <div class=\"center-icon-container\">\r\n <div class=\"icon\"></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dateInstantTemplate let-item=item>\r\n <span>\r\n {{item?.timestamp | ngxdate : ngxDateFormat.HOURS_MINUTES : langCode}}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #periodTemplate let-period=period let-index=index>\r\n <div [ngClass]=\"{'transparent first-line': !index}\" class=\"line\"></div>\r\n <div class=\"period-container\">\r\n <div class=\"period-inner-container\">\r\n <span>{{period?.firstDate | ngxdate : getPeriodKeyDateFormat() : langCode}}</span>\r\n </div>\r\n </div>\r\n <div class=\"line\"></div>\r\n</ng-template>\r\n\r\n<ng-template #eventTemplate let-event=event let-colSidePosition=colSidePosition>\r\n <ngx-timeline-event\r\n [event]=\"event\"\r\n [langCode]=\"langCode\"\r\n [enableAnimation]=\"enableAnimation\"\r\n [innerEventCustomTemplate]=\"innerEventCustomTemplate\"\r\n [colSidePosition]=\"colSidePosition\"\r\n (clickEmitter)=\"clickEmitter.next($event)\">\r\n </ngx-timeline-event>\r\n</ng-template>\r\n\r\n", styles: [".main-container{display:flex;justify-content:center;width:100%}.items-container{padding:1rem 0;min-width:max(20rem,100%)}.row{display:flex;flex-wrap:wrap}.row>[class*=col-]{display:flex;flex-direction:column;justify-content:center}.col-left{align-items:flex-end;padding:0;flex:49 49 0}.col-right{align-items:flex-start;padding:0;flex:49 49 0}.col-center{min-height:6rem;padding:0;flex:2 2 0}.center-inner{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.center-inner .line{min-height:50%;max-height:50%;height:50%;background:#464646;width:.1rem}.center-inner .line.transparent{background:transparent}.period-container{background:orange;color:#fff;margin:0;padding:.2rem .5rem}.period-container .period-inner-container{width:max-content;padding:.2rem .5rem;z-index:10}.center-icon-container{padding:.8rem 0;display:flex;justify-content:center;align-items:center;position:absolute;height:10px;width:10px;background:white}.center-icon-container .icon{height:1rem;width:1rem;border-radius:50%;background:orange;margin:0;position:absolute}.event-outer-container{margin:0 .5rem;width:100%}.hour{padding:.5rem;background:none;display:flex;justify-content:center;align-items:center}.hour.right{justify-content:flex-start}.hour.left{justify-content:flex-end}.hour .hour-inner-container{margin:0}.desktop{display:flex!important}.mobile{display:none!important}@media (max-width: 900px){.desktop{display:none!important}.mobile{display:flex!important}.event-outer-container{margin:.5rem .3rem}.col-left{align-items:flex-start}.col-left .hour{font-size:12px;padding:0;margin-right:.3rem}.col-left.col-period{flex:18 18 0}.col-left.col-event{flex:18 18 0;padding:0;align-items:flex-end}.col-right{align-items:flex-start}.col-right.col-period{flex:77 77 0}.col-right.col-event{flex:77 77 0;padding:0}.col-center{min-height:6rem;justify-content:center;margin:0}.col-center.col-period{flex:5 5 0;min-height:3rem}.col-center.col-event{flex:5 5 0}.center-inner{align-items:center}.period-container{min-height:20%;height:20%;max-height:20%;background:transparent;display:flex;justify-content:center;align-items:center;border-radius:6px}.period-container .period-inner-container{position:absolute;background:orange;color:#fff;width:max-content;padding:.2rem .5rem;z-index:10}.center-icon-container{align-items:center;justify-content:center}.center-icon-container .icon{height:1rem;width:1rem;position:absolute}}\n"] }]
|
|
134
|
+
}], ctorParameters: function () { return []; }, propDecorators: { events: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], langCode: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], enableAnimation: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], groupEvent: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], changeSideInGroup: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], periodCustomTemplate: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], eventCustomTemplate: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], centerIconCustomTemplate: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], dateInstantCustomTemplate: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], innerEventCustomTemplate: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], clickEmitter: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}] } });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRpbWVsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aW1lbGluZS9zcmMvbGliL2NvbXBvbmVudHMvbmd4LXRpbWVsaW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aW1lbGluZS9zcmMvbGliL2NvbXBvbmVudHMvbmd4LXRpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsS0FBSyxFQUF5QyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGlDQUFpQyxFQUNqQyxtQkFBbUIsRUFDbkIsbUNBQW1DLEVBQ25DLHFCQUFxQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBT3JDLE1BQU0sT0FBTyxvQkFBb0I7SUF1RC9CO1FBOUNBOztXQUVHO1FBQ00sb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDaEM7O1dBRUc7UUFDTSxlQUFVLEdBQTJCLHFCQUFxQixDQUFDLFVBQVUsQ0FBQztRQUMvRTs7V0FFRztRQUNNLHNCQUFpQixHQUF1QyxpQ0FBaUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQXFCcEg7O1dBRUc7UUFFRCxpQkFBWSxHQUFxQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3RSxXQUFNLEdBQTBDLEVBQUUsQ0FBQztRQUNuRCxZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUNoQyxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUM5Qiw0QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUViLGNBQVMsR0FBRyxHQUFHLENBQUM7SUFFbEIsQ0FBQztJ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QUs7Z0JBSUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUlHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFJRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBSUcsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUtKLFlBQVk7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBUZW1wbGF0ZVJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTmd4VGltZWxpbmVFdmVudCxcbiAgTmd4VGltZWxpbmVJdGVtLFxuICBOZ3hUaW1lbGluZUl0ZW1Qb3NpdGlvbixcbiAgTmd4VGltZWxpbmVQZXJpb2RJbmZvLFxuICBOZ3hEYXRlRm9ybWF0LFxuICBOZ3hUaW1lbGluZUV2ZW50R3JvdXAsXG4gIE5neFRpbWVsaW5lRXZlbnRDaGFuZ2VTaWRlSW5Hcm91cCxcbiAgcGVyaW9kS2V5RGF0ZUZvcm1hdCxcbiAgZmllbGRzVG9DaGVja0V2ZW50Q2hhbmdlU2lkZUluR3JvdXAsXG4gIGZpZWxkc1RvQWRkRXZlbnRHcm91cH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXRpbWVsaW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25neC10aW1lbGluZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25neC10aW1lbGluZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5neFRpbWVsaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogTGlzdCBvZiBldmVudHMgdG8gYmUgZGlzcGxheWVkXG4gICAqL1xuICBASW5wdXQoKSBldmVudHM6IE5neFRpbWVsaW5lRXZlbnRbXTtcbiAgLyoqXG4gICAqIExhbmd1YWdlIGNvZGUgdXNlZCB0byBzaG93IHRoZSBkYXRlIGZvcm1hdHRlZFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ0NvZGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCb29sZWFuIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGFuaW1hdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpIGVuYWJsZUFuaW1hdGlvbiA9IHRydWU7XG4gIC8qKlxuICAgKiBMb2dpYyB0byBiZSBhcHBsaWVkIGluIG9yZGVyIHRvIGdyb3VwIGV2ZW50c1xuICAgKi9cbiAgQElucHV0KCkgZ3JvdXBFdmVudD86IE5neFRpbWVsaW5lRXZlbnRHcm91cCA9IE5neFRpbWVsaW5lRXZlbnRHcm91cC5NT05USF9ZRUFSO1xuICAvKipcbiAgICogTG9naWMgdG8gYmUgYXBwbGllZCBpbiBvcmRlciB0byBwdXQgZXZldG5zIG9uIExFRlQgb3IgUklHSFRcbiAgICovXG4gIEBJbnB1dCgpIGNoYW5nZVNpZGVJbkdyb3VwPzogTmd4VGltZWxpbmVFdmVudENoYW5nZVNpZGVJbkdyb3VwID0gTmd4VGltZWxpbmVFdmVudENoYW5nZVNpZGVJbkdyb3VwLk9OX0RJRkZFUkVOVF9EQVk7XG4gIC8qKlxuICAgKiBDdXN0b20gVGVtcGxhdGUgZGlzcGxheWVkIGJlZm9yZSBhIGdyb3VwIG9mIGV2ZW50c1xuICAgKi9cbiAgQElucHV0KCkgcGVyaW9kQ3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBDdXN0b20gVGVtcGxhdGUgZGlzcGxheWVkIHRvIHNob3cgYSBzaW5nbGUgZXZlbnRcbiAgICovXG4gIEBJbnB1dCgpIGV2ZW50Q3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBDdXN0b20gVGVtcGxhdGUgZGlzcGxheWVkIHRvIHNob3cgYW4gc2VwYXJhdG9yIGljb25cbiAgICovXG4gIEBJbnB1dCgpIGNlbnRlckljb25DdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIEN1c3RvbSBUZW1wbGF0ZSBkaXNwbGF5ZWQgdG8gc2hvdyB0aGUgc2lkZSBkYXRlXG4gICAqL1xuICBASW5wdXQoKSBkYXRlSW5zdGFudEN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogQ3VzdG9tIFRlbXBsYXRlIGRpc3BsYXllZCB0byBzaG93IHRoZSBpbm5lciBldmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5uZXJFdmVudEN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogT3V0cHV0IGNsaWNrIGV2ZW50IGVtaXR0ZXJcbiAgICovXG4gIEBPdXRwdXQoKVxuICAgIGNsaWNrRW1pdHRlcjogQmVoYXZpb3JTdWJqZWN0PE5neFRpbWVsaW5lSXRlbT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIGdyb3VwczogeyBba2V5OiBzdHJpbmddOiBOZ3hUaW1lbGluZUV2ZW50W10gfSA9IHt9O1xuICBwZXJpb2RzOiBOZ3hUaW1lbGluZUl0ZW1bXSA9IFtdO1xuICBpdGVtczogTmd4VGltZWxpbmVJdGVtW10gPSBbXTtcbiAgbmd4VGltZWxpbmVJdGVtUG9zaXRpb24gPSBOZ3hUaW1lbGluZUl0ZW1Qb3NpdGlvbjtcbiAgbmd4RGF0ZUZvcm1hdCA9IE5neERhdGVGb3JtYXQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZXBhcmF0b3IgPSAnLyc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ncm91cEV2ZW50cyh0aGlzLmV2ZW50cyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5ncm91cEV2ZW50cyh0aGlzLmV2ZW50cyk7XG4gIH1cblxuICBnZXRQZXJpb2RLZXlEYXRlRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBlcmlvZEtleURhdGVGb3JtYXRbdGhpcy5ncm91cEV2ZW50XTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3VwcyA9IHt9O1xuICAgIHRoaXMucGVyaW9kcyA9IFtdO1xuICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBncm91cEV2ZW50cyhldmVudHM6IE5neFRpbWVsaW5lRXZlbnRbXSk6IHZvaWQge1xuICAgIGlmIChldmVudHMpIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIHRoaXMuc29ydEV2ZW50cyhldmVudHMpO1xuICAgICAgdGhpcy5zZXRHcm91cHMoZXZlbnRzKTtcbiAgICAgIHRoaXMuc2V0UGVyaW9kcygpO1xuICAgICAgdGhpcy5zZXRJdGVtcygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzb3J0RXZlbnRzKGV2ZW50czogTmd4VGltZWxpbmVFdmVudFtdKTogdm9pZCB7XG4gICAgZXZlbnRzLnNvcnQoKGEsIGIpID0+IGEudGltZXN0YW1wLmdldFRpbWUoKSAtIGIudGltZXN0YW1wLmdldFRpbWUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0R3JvdXBzKGV2ZW50czogTmd4VGltZWxpbmVFdmVudFtdKTogdm9pZCB7XG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PiB7XG4gICAgICAvLyBjb252ZXJzaW9uIGZyb20gc3RyaW5nIHRvIGFjdHVhbCBEYXRlXG4gICAgICBldmVudC50aW1lc3RhbXAgPSBuZXcgRGF0ZShldmVudC50aW1lc3RhbXApO1xuICAgICAgY29uc3QgcGVyaW9kS2V5ID0gdGhpcy5nZXRQZXJpb2RLZXlGcm9tRXZlbnQoZXZlbnQpO1xuICAgICAgaWYgKCF0aGlzLmdyb3Vwc1twZXJpb2RLZXldKSB7XG4gICAgICAgIHRoaXMuZ3JvdXBzW3BlcmlvZEtleV0gPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZ3JvdXBzW3BlcmlvZEtleV0ucHVzaChldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5wZXJpb2RzLmZvckVhY2goKHApID0+IHtcbiAgICAgIC8vIGluc2VydCBmaXJzdCB0aGUgcGVyaW9kXG4gICAgICB0aGlzLml0ZW1zLnB1c2gocCk7XG4gICAgICAvLyBpbiBlYWNoIHBlcmlvZCBwdXR0aW5nIGl0ZW1zIG9uIGxlZnRcbiAgICAgIGNvbnN0IG9uTGVmdCA9IHRydWU7XG4gICAgICBjb25zdCBwZXJpb2RJbmZvID0gcC5wZXJpb2RJbmZvO1xuICAgICAgLy8gaW5zZXJ0IHRoZW4gYWxsIHRoZSBldmVudHMgaW4gdGhpcyBwZXJpb2RcbiAgICAgIHRoaXMuYWRkUGVyaW9kRXZlbnRzKHBlcmlvZEluZm8sIG9uTGVmdCk7XG4gICAgICAvLyBvbkxlZnQgPSB0aGlzLmFkZEV2ZW50SXRlbXNBbmRHZXRJZk9uTGVmdChwZXJpb2RJbmZvLCBvbkxlZnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFBlcmlvZEV2ZW50cyhwZXJpb2RJbmZvOiBOZ3hUaW1lbGluZVBlcmlvZEluZm8sIG9uTGVmdDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZ3JvdXBzW3BlcmlvZEluZm8ucGVyaW9kS2V5XS5mb3JFYWNoKChldmVudCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHByZXZFdmVudCA9IHRoaXMuZ3JvdXBzW3BlcmlvZEluZm8ucGVyaW9kS2V5XVtpbmRleCAtIDFdO1xuICAgICAgaWYgKGluZGV4ID4gMCAmJiB0aGlzLmNvbXBhcmVFdmVudHMocHJldkV2ZW50LCBldmVudCkpIHtcbiAgICAgICAgb25MZWZ0ID0gIW9uTGVmdDtcbiAgICAgIH1cbiAgICAgIHRoaXMucHVzaEV2ZW50T25JdGVtcyhldmVudCwgb25MZWZ0KTtcbiAgICB9KTtcbiAgICAvLyByZXR1cm4gb25MZWZ0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHB1c2hFdmVudE9uSXRlbXMoZXZlbnQ6IE5neFRpbWVsaW5lRXZlbnQsIG9uTGVmdDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMucHVzaCh7XG4gICAgICBldmVudEluZm86IHsuLi5ldmVudH0sIHBvc2l0aW9uOiBvbkxlZnQgP1xuICAgICAgICB0aGlzLm5neFRpbWVsaW5lSXRlbVBvc2l0aW9uLk9OX0xFRlQgOiB0aGlzLm5neFRpbWVsaW5lSXRlbVBvc2l0aW9uLk9OX1JJR0hULFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUgdGhlIGV2ZW50cyBpbnNpZGUgdGhlIHNhbWUgZ3JvdXBcbiAgICovXG4gIHByb3RlY3RlZCBjb21wYXJlRXZlbnRzKHByZXZFdmVudDogTmd4VGltZWxpbmVFdmVudCwgZXZlbnQ6IE5neFRpbWVsaW5lRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VTaWRlSW5Hcm91cCA9PT0gTmd4VGltZWxpbmVFdmVudENoYW5nZVNpZGVJbkdyb3VwLkFMTCB8fFxuICAgICAgdGhpcy5jb21wYXJlRXZlbnRzRmllbGQocHJldkV2ZW50LCBldmVudCwgLi4uZmllbGRzVG9DaGVja0V2ZW50Q2hhbmdlU2lkZUluR3JvdXBbdGhpcy5jaGFuZ2VTaWRlSW5Hcm91cF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbXBhcmVFdmVudHNGaWVsZChwcmV2RXZlbnQ6IE5neFRpbWVsaW5lRXZlbnQsIGV2ZW50OiBOZ3hUaW1lbGluZUV2ZW50LCAuLi5maWVsZHM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkcy5yZWR1Y2UoKHJlcywgZmllbGQpID0+IHJlcyA9IHJlcyB8fCBwcmV2RXZlbnQudGltZXN0YW1wW2ZpZWxkXSgpICE9PSBldmVudC50aW1lc3RhbXBbZmllbGRdKCksICEhZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFBlcmlvZHMoKTogdm9pZCB7XG4gICAgdGhpcy5wZXJpb2RzID0gT2JqZWN0LmtleXModGhpcy5ncm91cHMpLm1hcCgocGVyaW9kS2V5KSA9PiB7XG4gICAgICBjb25zdCBzcGxpdCA9IHBlcmlvZEtleS5zcGxpdCh0aGlzLnNlcGFyYXRvcik7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQZXJpb2RJbmZvKHNwbGl0LCBwZXJpb2RLZXkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJpb2RJbmZvKHNwbGl0OiBzdHJpbmdbXSwgcGVyaW9kS2V5OiBzdHJpbmcpOiB7IHBlcmlvZEluZm86IE5neFRpbWVsaW5lUGVyaW9kSW5mbyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcGVyaW9kSW5mbzoge1xuICAgICAgICB5ZWFyOiBOdW1iZXIoc3BsaXRbMF0pLFxuICAgICAgICBtb250aDogTnVtYmVyKHNwbGl0WzFdKSxcbiAgICAgICAgZGF5OiBOdW1iZXIoc3BsaXRbMl0pLFxuICAgICAgICBwZXJpb2RLZXksXG4gICAgICAgIGZpcnN0RGF0ZTogdGhpcy5ncm91cHNbcGVyaW9kS2V5XVswXS50aW1lc3RhbXAgYXMgRGF0ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQZXJpb2RLZXlGcm9tRXZlbnQoZXZlbnQ6IE5neFRpbWVsaW5lRXZlbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBmaWVsZHNUb0FkZEV2ZW50R3JvdXBbdGhpcy5ncm91cEV2ZW50XS5tYXAoKGZpZWxkKSA9PiBldmVudC50aW1lc3RhbXBbZmllbGRdKCkpLmpvaW4odGhpcy5zZXBhcmF0b3IpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbXMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDtcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8IS0tIERFU0tUT1AgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLWxlZnQgZGVza3RvcFwiIFtuZ0NsYXNzXT1cIml0ZW0ucGVyaW9kSW5mbyA/ICdjb2wtcGVyaW9kJyA6ICdjb2wtZXZlbnQnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LW91dGVyLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS5ldmVudEluZm8gJiYgaXRlbS5wb3NpdGlvbiA9PT0gbmd4VGltZWxpbmVJdGVtUG9zaXRpb24uT05fTEVGVFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV2ZW50Q3VzdG9tVGVtcGxhdGUgfHwgZXZlbnRUZW1wbGF0ZTsgY29udGV4dDoge2V2ZW50OiBpdGVtLCBjb2xTaWRlUG9zaXRpb246IG5neFRpbWVsaW5lSXRlbVBvc2l0aW9uLk9OX0xFRlR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvdXIgbGVmdFwiICpuZ0lmPVwiaXRlbS5ldmVudEluZm8gJiYgaXRlbS5wb3NpdGlvbiA9PT0gbmd4VGltZWxpbmVJdGVtUG9zaXRpb24uT05fUklHSFRcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlSW5zdGFudEN1c3RvbVRlbXBsYXRlIHx8IGRhdGVJbnN0YW50VGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtOiBpdGVtLmV2ZW50SW5mb31cIiA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtY2VudGVyIGRlc2t0b3BcIiBbbmdDbGFzc109XCJpdGVtLnBlcmlvZEluZm8gPyAnY29sLXBlcmlvZCcgOiAnY29sLWV2ZW50J1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjZW50ZXItaW5uZXJcIiAqbmdJZj1cIml0ZW0ucGVyaW9kSW5mb1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcmlvZEN1c3RvbVRlbXBsYXRlIHx8IHBlcmlvZFRlbXBsYXRlOyBjb250ZXh0OiB7cGVyaW9kOiBpdGVtLnBlcmlvZEluZm8sIGluZGV4OiBpbmRleH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLWlubmVyIG5vLXBlcmlvZC1rZXlcIiAqbmdJZj1cIiFpdGVtLnBlcmlvZEluZm9cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZW50ZXJMaW5lc0ljb25UZW1wbGF0ZTsgY29udGV4dDoge2luZGV4OiBpbmRleH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC1yaWdodCBkZXNrdG9wXCIgW25nQ2xhc3NdPVwiaXRlbS5wZXJpb2RJbmZvID8gJ2NvbC1wZXJpb2QnIDogJ2NvbC1ldmVudCdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtb3V0ZXItY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtLmV2ZW50SW5mbyAmJiBpdGVtLnBvc2l0aW9uID09PSBuZ3hUaW1lbGluZUl0ZW1Qb3NpdGlvbi5PTl9SSUdIVFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV2ZW50Q3VzdG9tVGVtcGxhdGUgfHwgZXZlbnRUZW1wbGF0ZTsgY29udGV4dDoge2V2ZW50OiBpdGVtLCBjb2xTaWRlUG9zaXRpb246IG5neFRpbWVsaW5lSXRlbVBvc2l0aW9uLk9OX1JJR0hUfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3VyIHJpZ2h0XCIgKm5nSWY9XCJpdGVtLmV2ZW50SW5mbyAmJiBpdGVtLnBvc2l0aW9uID09PSBuZ3hUaW1lbGluZUl0ZW1Qb3NpdGlvbi5PTl9MRUZUXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZUluc3RhbnRDdXN0b21UZW1wbGF0ZSB8fCBkYXRlSW5zdGFudFRlbXBsYXRlOyBjb250ZXh0OiB7aXRlbTogaXRlbS5ldmVudEluZm99XCIgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gTU9CSUxFIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC1sZWZ0IG1vYmlsZVwiIFtuZ0NsYXNzXT1cIml0ZW0ucGVyaW9kSW5mbyA/ICdjb2wtcGVyaW9kJyA6ICdjb2wtZXZlbnQnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvdXIgbGVmdFwiICpuZ0lmPVwiaXRlbS5ldmVudEluZm9cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3VyLWlubmVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZUluc3RhbnRDdXN0b21UZW1wbGF0ZSB8fCBkYXRlSW5zdGFudFRlbXBsYXRlOyBjb250ZXh0OiB7aXRlbTogaXRlbS5ldmVudEluZm99XCIgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtY2VudGVyIG1vYmlsZVwiIFtuZ0NsYXNzXT1cIml0ZW0ucGVyaW9kSW5mbyA/ICdjb2wtcGVyaW9kJyA6ICdjb2wtZXZlbnQnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNlbnRlci1pbm5lclwiICpuZ0lmPVwiaXRlbS5wZXJpb2RJbmZvO1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVyaW9kQ3VzdG9tVGVtcGxhdGUgfHwgcGVyaW9kVGVtcGxhdGU7IGNvbnRleHQ6IHtwZXJpb2Q6IGl0ZW0ucGVyaW9kSW5mbywgaW5kZXg6IGluZGV4fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjZW50ZXItaW5uZXIgbm8tcGVyaW9kLWtleVwiICpuZ0lmPVwiIWl0ZW0ucGVyaW9kSW5mbztcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZW50ZXJMaW5lc0ljb25UZW1wbGF0ZTtjb250ZXh0OiB7aW5kZXg6IGluZGV4fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXJpZ2h0IG1vYmlsZVwiIFtuZ0NsYXNzXT1cIml0ZW0ucGVyaW9kSW5mbyA/ICdjb2wtcGVyaW9kJyA6ICdjb2wtZXZlbnQnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LW91dGVyLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS5ldmVudEluZm9cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJldmVudEN1c3RvbVRlbXBsYXRlIHx8IGV2ZW50VGVtcGxhdGU7IGNvbnRleHQ6IHtldmVudDogaXRlbSwgY29sU2lkZVBvc2l0aW9uOiBuZ3hUaW1lbGluZUl0ZW1Qb3NpdGlvbi5PTl9SSUdIVH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNjZW50ZXJMaW5lc0ljb25UZW1wbGF0ZSBsZXQtaW5kZXg9aW5kZXg+XHJcbiAgPGRpdiBjbGFzcz1cImxpbmVcIj48L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VudGVySWNvbkN1c3RvbVRlbXBsYXRlIHx8IGNlbnRlckljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieyd0cmFuc3BhcmVudCBsYXN0LWxpbmUnOiBpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMX1cIiBjbGFzcz1cImxpbmVcIj48L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2VudGVySWNvblRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJjZW50ZXItaWNvbi1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RhdGVJbnN0YW50VGVtcGxhdGUgbGV0LWl0ZW09aXRlbT5cclxuICA8c3Bhbj5cclxuICAgIHt7aXRlbT8udGltZXN0YW1wIHwgbmd4ZGF0ZSA6IG5neERhdGVGb3JtYXQuSE9VUlNfTUlOVVRFUyA6IGxhbmdDb2RlfX1cclxuICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3BlcmlvZFRlbXBsYXRlIGxldC1wZXJpb2Q9cGVyaW9kIGxldC1pbmRleD1pbmRleD5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInsndHJhbnNwYXJlbnQgZmlyc3QtbGluZSc6ICFpbmRleH1cIiBjbGFzcz1cImxpbmVcIj48L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicGVyaW9kLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBlcmlvZC1pbm5lci1jb250YWluZXJcIj5cclxuICAgICAgPHNwYW4+e3twZXJpb2Q/LmZpcnN0RGF0ZSB8IG5neGRhdGUgOiBnZXRQZXJpb2RLZXlEYXRlRm9ybWF0KCkgOiBsYW5nQ29kZX19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImxpbmVcIj48L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZXZlbnRUZW1wbGF0ZSBsZXQtZXZlbnQ9ZXZlbnQgbGV0LWNvbFNpZGVQb3NpdGlvbj1jb2xTaWRlUG9zaXRpb24+XHJcbiAgPG5neC10aW1lbGluZS1ldmVudFxyXG4gICAgW2V2ZW50XT1cImV2ZW50XCJcclxuICAgIFtsYW5nQ29kZV09XCJsYW5nQ29kZVwiXHJcbiAgICBbZW5hYmxlQW5pbWF0aW9uXT1cImVuYWJsZUFuaW1hdGlvblwiXHJcbiAgICBbaW5uZXJFdmVudEN1c3RvbVRlbXBsYXRlXT1cImlubmVyRXZlbnRDdXN0b21UZW1wbGF0ZVwiXHJcbiAgICBbY29sU2lkZVBvc2l0aW9uXT1cImNvbFNpZGVQb3NpdGlvblwiXHJcbiAgICAoY2xpY2tFbWl0dGVyKT1cImNsaWNrRW1pdHRlci5uZXh0KCRldmVudClcIj5cclxuICA8L25neC10aW1lbGluZS1ldmVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export const supportedLanguageCodes = ['en', 'it', 'fr', 'de', 'es'];
|
|
2
|
+
export const dateConfigMap = {
|
|
3
|
+
en: {
|
|
4
|
+
code: 'en-US',
|
|
5
|
+
fullDate: 'MM/dd/yyyy h:mm a',
|
|
6
|
+
dayMonthYear: 'dd MMMM yyyy',
|
|
7
|
+
monthYear: 'MMMM yyyy',
|
|
8
|
+
year: 'yyyy',
|
|
9
|
+
hoursMinutes: 'hh:mm a',
|
|
10
|
+
},
|
|
11
|
+
it: {
|
|
12
|
+
code: 'it-IT',
|
|
13
|
+
fullDate: 'dd/MM/yyyy H:mm',
|
|
14
|
+
dayMonthYear: 'dd MMMM yyyy',
|
|
15
|
+
monthYear: 'MMMM yyyy',
|
|
16
|
+
year: 'yyyy',
|
|
17
|
+
hoursMinutes: 'HH:mm',
|
|
18
|
+
},
|
|
19
|
+
fr: {
|
|
20
|
+
code: 'fr-FR',
|
|
21
|
+
fullDate: 'dd/MM/yyyy H:mm',
|
|
22
|
+
dayMonthYear: 'dd MMMM yyyy',
|
|
23
|
+
monthYear: 'MMMM yyyy',
|
|
24
|
+
year: 'yyyy',
|
|
25
|
+
hoursMinutes: 'HH:mm',
|
|
26
|
+
},
|
|
27
|
+
de: {
|
|
28
|
+
code: 'de',
|
|
29
|
+
fullDate: 'dd/MM/yyyy H:mm',
|
|
30
|
+
dayMonthYear: 'dd MMMM yyyy',
|
|
31
|
+
monthYear: 'MMMM yyyy',
|
|
32
|
+
year: 'yyyy',
|
|
33
|
+
hoursMinutes: 'HH:mm',
|
|
34
|
+
},
|
|
35
|
+
es: {
|
|
36
|
+
code: 'es',
|
|
37
|
+
fullDate: 'dd/MM/yyyy H:mm',
|
|
38
|
+
dayMonthYear: 'dd MMMM yyyy',
|
|
39
|
+
monthYear: 'MMMM yyyy',
|
|
40
|
+
year: 'yyyy',
|
|
41
|
+
hoursMinutes: 'HH:mm',
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
export var NgxDateFormat;
|
|
45
|
+
(function (NgxDateFormat) {
|
|
46
|
+
NgxDateFormat["DAY_MONTH_YEAR"] = "DAY_MONTH_YEAR";
|
|
47
|
+
NgxDateFormat["FULL_DATE"] = "FULL_DATE";
|
|
48
|
+
NgxDateFormat["MONTH_YEAR"] = "MONTH_YEAR";
|
|
49
|
+
NgxDateFormat["HOURS_MINUTES"] = "HOURS_MINUTES";
|
|
50
|
+
NgxDateFormat["YEAR"] = "YEAR";
|
|
51
|
+
})(NgxDateFormat || (NgxDateFormat = {}));
|
|
52
|
+
export const fieldConfigDate = {
|
|
53
|
+
MONTH_YEAR: 'monthYear',
|
|
54
|
+
YEAR: 'year',
|
|
55
|
+
HOURS_MINUTES: 'hoursMinutes',
|
|
56
|
+
FULL_DATE: 'fullDate',
|
|
57
|
+
DAY_MONTH_YEAR: 'dayMonthYear',
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Enum used to set the group event logic
|
|
61
|
+
*/
|
|
62
|
+
export var NgxTimelineEventGroup;
|
|
63
|
+
(function (NgxTimelineEventGroup) {
|
|
64
|
+
NgxTimelineEventGroup["YEAR"] = "YEAR";
|
|
65
|
+
NgxTimelineEventGroup["MONTH_YEAR"] = "MONTH_YEAR";
|
|
66
|
+
NgxTimelineEventGroup["DAY_MONTH_YEAR"] = "DAY_MONTH_YEAR";
|
|
67
|
+
})(NgxTimelineEventGroup || (NgxTimelineEventGroup = {}));
|
|
68
|
+
export const fieldsToAddEventGroup = {
|
|
69
|
+
YEAR: ['getFullYear'],
|
|
70
|
+
MONTH_YEAR: ['getFullYear', 'getMonth'],
|
|
71
|
+
DAY_MONTH_YEAR: ['getFullYear', 'getMonth', 'getDate'],
|
|
72
|
+
};
|
|
73
|
+
export const periodKeyDateFormat = {
|
|
74
|
+
YEAR: NgxDateFormat.YEAR,
|
|
75
|
+
MONTH_YEAR: NgxDateFormat.MONTH_YEAR,
|
|
76
|
+
DAY_MONTH_YEAR: NgxDateFormat.DAY_MONTH_YEAR,
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Enum used to set the change side event logic
|
|
80
|
+
*/
|
|
81
|
+
export var NgxTimelineEventChangeSideInGroup;
|
|
82
|
+
(function (NgxTimelineEventChangeSideInGroup) {
|
|
83
|
+
NgxTimelineEventChangeSideInGroup["ALL"] = "ALL";
|
|
84
|
+
NgxTimelineEventChangeSideInGroup["ON_DIFFERENT_HMS"] = "ON_DIFFERENT_HMS";
|
|
85
|
+
NgxTimelineEventChangeSideInGroup["ON_DIFFERENT_DAY"] = "ON_DIFFERENT_DAY";
|
|
86
|
+
NgxTimelineEventChangeSideInGroup["ON_DIFFERENT_MONTH"] = "ON_DIFFERENT_MONTH";
|
|
87
|
+
})(NgxTimelineEventChangeSideInGroup || (NgxTimelineEventChangeSideInGroup = {}));
|
|
88
|
+
export const fieldsToCheckEventChangeSideInGroup = {
|
|
89
|
+
ON_DIFFERENT_MONTH: ['getFullYear', 'getMonth'],
|
|
90
|
+
ON_DIFFERENT_DAY: ['getFullYear', 'getMonth', 'getDate'],
|
|
91
|
+
ON_DIFFERENT_HMS: ['getFullYear', 'getMonth', 'getDate', 'getHours', 'getMinutes', 'getSeconds'],
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4Q29uZmlnT2JqLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRpbWVsaW5lL3NyYy9saWIvbW9kZWxzL05neENvbmZpZ09iai50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQWVyRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxPQUFPO1FBQ2IsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixZQUFZLEVBQUUsY0FBYztRQUM1QixTQUFTLEVBQUUsV0FBVztRQUN0QixJQUFJLEVBQUUsTUFBTTtRQUNaLFlBQVksRUFBRSxTQUFTO0tBQ3hCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLFlBQVksRUFBRSxjQUFjO1FBQzVCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLElBQUksRUFBRSxNQUFNO1FBQ1osWUFBWSxFQUFFLE9BQU87S0FDdEI7SUFDRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsT0FBTztRQUNiLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsWUFBWSxFQUFFLGNBQWM7UUFDNUIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsSUFBSSxFQUFFLE1BQU07UUFDWixZQUFZLEVBQUUsT0FBTztLQUN0QjtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixZQUFZLEVBQUUsY0FBYztRQUM1QixTQUFTLEVBQUUsV0FBVztRQUN0QixJQUFJLEVBQUUsTUFBTTtRQUNaLFlBQVksRUFBRSxPQUFPO0tBQ3RCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLElBQUk7UUFDVixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLFlBQVksRUFBRSxjQUFjO1FBQzVCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLElBQUksRUFBRSxNQUFNO1FBQ1osWUFBWSxFQUFFLE9BQU87S0FDdEI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2QixrREFBaUMsQ0FBQTtJQUNqQyx3Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBeUIsQ0FBQTtJQUN6QixnREFBK0IsQ0FBQTtJQUMvQiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLGFBQWEsS0FBYixhQUFhLFFBTXhCO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osYUFBYSxFQUFFLGNBQWM7SUFDN0IsU0FBUyxFQUFFLFVBQVU7SUFDckIsY0FBYyxFQUFFLGNBQWM7Q0FDL0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQixzQ0FBYSxDQUFBO0lBQ2Isa0RBQXlCLENBQUE7SUFDekIsMERBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQUpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFJaEM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDckIsVUFBVSxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztJQUN2QyxjQUFjLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztDQUN2RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO0lBQ3hCLFVBQVUsRUFBRSxhQUFhLENBQUMsVUFBVTtJQUNwQyxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7Q0FDN0MsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksaUNBS1g7QUFMRCxXQUFZLGlDQUFpQztJQUMzQyxnREFBVyxDQUFBO0lBQ1gsMEVBQXFDLENBQUE7SUFDckMsMEVBQXFDLENBQUE7SUFDckMsOEVBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQUxXLGlDQUFpQyxLQUFqQyxpQ0FBaUMsUUFLNUM7QUFFRCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRztJQUNqRCxrQkFBa0IsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7SUFDL0MsZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztJQUN4RCxnQkFBZ0IsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO0NBQ2pHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc3VwcG9ydGVkTGFuZ3VhZ2VDb2RlcyA9IFsnZW4nLCAnaXQnLCAnZnInLCAnZGUnLCAnZXMnXTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hDb25maWdEYXRlIHtcbiAgY29kZTogc3RyaW5nO1xuICBkYXlNb250aFllYXI6IHN0cmluZztcbiAgZnVsbERhdGU6IHN0cmluZztcbiAgaG91cnNNaW51dGVzOiBzdHJpbmc7XG4gIG1vbnRoWWVhcjogc3RyaW5nO1xuICB5ZWFyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4RGF0ZU9iak1hcCB7XG4gIFtrZXk6IHN0cmluZ106IE5neENvbmZpZ0RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBkYXRlQ29uZmlnTWFwOiBOZ3hEYXRlT2JqTWFwID0ge1xuICBlbjoge1xuICAgIGNvZGU6ICdlbi1VUycsXG4gICAgZnVsbERhdGU6ICdNTS9kZC95eXl5IGg6bW0gYScsXG4gICAgZGF5TW9udGhZZWFyOiAnZGQgTU1NTSB5eXl5JyxcbiAgICBtb250aFllYXI6ICdNTU1NIHl5eXknLFxuICAgIHllYXI6ICd5eXl5JyxcbiAgICBob3Vyc01pbnV0ZXM6ICdoaDptbSBhJyxcbiAgfSxcbiAgaXQ6IHtcbiAgICBjb2RlOiAnaXQtSVQnLFxuICAgIGZ1bGxEYXRlOiAnZGQvTU0veXl5eSBIOm1tJyxcbiAgICBkYXlNb250aFllYXI6ICdkZCBNTU1NIHl5eXknLFxuICAgIG1vbnRoWWVhcjogJ01NTU0geXl5eScsXG4gICAgeWVhcjogJ3l5eXknLFxuICAgIGhvdXJzTWludXRlczogJ0hIOm1tJyxcbiAgfSxcbiAgZnI6IHtcbiAgICBjb2RlOiAnZnItRlInLFxuICAgIGZ1bGxEYXRlOiAnZGQvTU0veXl5eSBIOm1tJyxcbiAgICBkYXlNb250aFllYXI6ICdkZCBNTU1NIHl5eXknLFxuICAgIG1vbnRoWWVhcjogJ01NTU0geXl5eScsXG4gICAgeWVhcjogJ3l5eXknLFxuICAgIGhvdXJzTWludXRlczogJ0hIOm1tJyxcbiAgfSxcbiAgZGU6IHtcbiAgICBjb2RlOiAnZGUnLFxuICAgIGZ1bGxEYXRlOiAnZGQvTU0veXl5eSBIOm1tJyxcbiAgICBkYXlNb250aFllYXI6ICdkZCBNTU1NIHl5eXknLFxuICAgIG1vbnRoWWVhcjogJ01NTU0geXl5eScsXG4gICAgeWVhcjogJ3l5eXknLFxuICAgIGhvdXJzTWludXRlczogJ0hIOm1tJyxcbiAgfSxcbiAgZXM6IHtcbiAgICBjb2RlOiAnZXMnLFxuICAgIGZ1bGxEYXRlOiAnZGQvTU0veXl5eSBIOm1tJyxcbiAgICBkYXlNb250aFllYXI6ICdkZCBNTU1NIHl5eXknLFxuICAgIG1vbnRoWWVhcjogJ01NTU0geXl5eScsXG4gICAgeWVhcjogJ3l5eXknLFxuICAgIGhvdXJzTWludXRlczogJ0hIOm1tJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBlbnVtIE5neERhdGVGb3JtYXQge1xuICBEQVlfTU9OVEhfWUVBUiA9ICdEQVlfTU9OVEhfWUVBUicsXG4gIEZVTExfREFURSA9ICdGVUxMX0RBVEUnLFxuICBNT05USF9ZRUFSID0gJ01PTlRIX1lFQVInLFxuICBIT1VSU19NSU5VVEVTID0gJ0hPVVJTX01JTlVURVMnLFxuICBZRUFSID0gJ1lFQVInXG59XG5cbmV4cG9ydCBjb25zdCBmaWVsZENvbmZpZ0RhdGUgPSB7XG4gIE1PTlRIX1lFQVI6ICdtb250aFllYXInLFxuICBZRUFSOiAneWVhcicsXG4gIEhPVVJTX01JTlVURVM6ICdob3Vyc01pbnV0ZXMnLFxuICBGVUxMX0RBVEU6ICdmdWxsRGF0ZScsXG4gIERBWV9NT05USF9ZRUFSOiAnZGF5TW9udGhZZWFyJyxcbn07XG5cbi8qKlxuICogRW51bSB1c2VkIHRvIHNldCB0aGUgZ3JvdXAgZXZlbnQgbG9naWNcbiAqL1xuZXhwb3J0IGVudW0gTmd4VGltZWxpbmVFdmVudEdyb3VwIHtcbiAgWUVBUiA9ICdZRUFSJyxcbiAgTU9OVEhfWUVBUiA9ICdNT05USF9ZRUFSJyxcbiAgREFZX01PTlRIX1lFQVIgPSAnREFZX01PTlRIX1lFQVInXG59XG5cbmV4cG9ydCBjb25zdCBmaWVsZHNUb0FkZEV2ZW50R3JvdXAgPSB7XG4gIFlFQVI6IFsnZ2V0RnVsbFllYXInXSxcbiAgTU9OVEhfWUVBUjogWydnZXRGdWxsWWVhcicsICdnZXRNb250aCddLFxuICBEQVlfTU9OVEhfWUVBUjogWydnZXRGdWxsWWVhcicsICdnZXRNb250aCcsICdnZXREYXRlJ10sXG59O1xuXG5leHBvcnQgY29uc3QgcGVyaW9kS2V5RGF0ZUZvcm1hdCA9IHtcbiAgWUVBUjogTmd4RGF0ZUZvcm1hdC5ZRUFSLFxuICBNT05USF9ZRUFSOiBOZ3hEYXRlRm9ybWF0Lk1PTlRIX1lFQVIsXG4gIERBWV9NT05USF9ZRUFSOiBOZ3hEYXRlRm9ybWF0LkRBWV9NT05USF9ZRUFSLFxufTtcblxuLyoqXG4gKiBFbnVtIHVzZWQgdG8gc2V0IHRoZSBjaGFuZ2Ugc2lkZSBldmVudCBsb2dpY1xuICovXG5leHBvcnQgZW51bSBOZ3hUaW1lbGluZUV2ZW50Q2hhbmdlU2lkZUluR3JvdXAge1xuICBBTEwgPSAnQUxMJyxcbiAgT05fRElGRkVSRU5UX0hNUyA9ICdPTl9ESUZGRVJFTlRfSE1TJyxcbiAgT05fRElGRkVSRU5UX0RBWSA9ICdPTl9ESUZGRVJFTlRfREFZJyxcbiAgT05fRElGRkVSRU5UX01PTlRIID0gJ09OX0RJRkZFUkVOVF9NT05USCdcbn1cblxuZXhwb3J0IGNvbnN0IGZpZWxkc1RvQ2hlY2tFdmVudENoYW5nZVNpZGVJbkdyb3VwID0ge1xuICBPTl9ESUZGRVJFTlRfTU9OVEg6IFsnZ2V0RnVsbFllYXInLCAnZ2V0TW9udGgnXSxcbiAgT05fRElGRkVSRU5UX0RBWTogWydnZXRGdWxsWWVhcicsICdnZXRNb250aCcsICdnZXREYXRlJ10sXG4gIE9OX0RJRkZFUkVOVF9ITVM6IFsnZ2V0RnVsbFllYXInLCAnZ2V0TW9udGgnLCAnZ2V0RGF0ZScsICdnZXRIb3VycycsICdnZXRNaW51dGVzJywgJ2dldFNlY29uZHMnXSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var NgxTimelineItemPosition;
|
|
2
|
+
(function (NgxTimelineItemPosition) {
|
|
3
|
+
NgxTimelineItemPosition["ON_LEFT"] = "ON_LEFT";
|
|
4
|
+
NgxTimelineItemPosition["ON_RIGHT"] = "ON_RIGHT";
|
|
5
|
+
})(NgxTimelineItemPosition || (NgxTimelineItemPosition = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4VGltZWxpbmVFdmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aW1lbGluZS9zcmMvbGliL21vZGVscy9OZ3hUaW1lbGluZUV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCQSxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQ2pDLDhDQUFtQixDQUFBO0lBQ25CLGdEQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFdmVudCB0byBiZSBwcm92aWRlZCBmcm9tIG91dHNpZGUgdGhlIHRpbWVsaW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4VGltZWxpbmVFdmVudCB7XG4gIHRpbWVzdGFtcD86IERhdGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaWQ/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4VGltZWxpbmVQZXJpb2RJbmZvIHtcbiAgcGVyaW9kS2V5Pzogc3RyaW5nO1xuICB5ZWFyPzogbnVtYmVyO1xuICBtb250aD86IG51bWJlcjtcbiAgZGF5PzogbnVtYmVyO1xuICBmaXJzdERhdGU/OiBhbnk7XG59XG5cbi8qKlxuICogSXRlbSB1c2VkIGluc2lkZSB0aGUgdGltZWxpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hUaW1lbGluZUl0ZW0ge1xuICB0eXBlPzogc3RyaW5nO1xuICBwb3NpdGlvbj86IE5neFRpbWVsaW5lSXRlbVBvc2l0aW9uLk9OX0xFRlQgfCBOZ3hUaW1lbGluZUl0ZW1Qb3NpdGlvbi5PTl9SSUdIVDtcbiAgcGVyaW9kSW5mbz86IE5neFRpbWVsaW5lUGVyaW9kSW5mbztcbiAgZXZlbnRJbmZvPzogTmd4VGltZWxpbmVFdmVudDtcbn1cblxuZXhwb3J0IGVudW0gTmd4VGltZWxpbmVJdGVtUG9zaXRpb24ge1xuICBPTl9MRUZUID0gJ09OX0xFRlQnLFxuICBPTl9SSUdIVCA9ICdPTl9SSUdIVCdcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './NgxConfigObj';
|
|
2
|
-
export * from './NgxTimelineEvent';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './NgxConfigObj';
|
|
2
|
+
export * from './NgxTimelineEvent';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGltZWxpbmUvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9OZ3hDb25maWdPYmonO1xuZXhwb3J0ICogZnJvbSAnLi9OZ3hUaW1lbGluZUV2ZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { NgxTimelineComponent } from './components/ngx-timeline.component';
|
|
3
|
+
import { NgxTimelineEventComponent } from './components/ngx-timeline-event/ngx-timeline-event.component';
|
|
4
|
+
import { CommonModule, registerLocaleData } from '@angular/common';
|
|
5
|
+
import { NgxDatePipe } from './pipes/ngx-date-pipe';
|
|
6
|
+
import localeIt from '@angular/common/locales/it';
|
|
7
|
+
import localeFr from '@angular/common/locales/fr';
|
|
8
|
+
import localeDe from '@angular/common/locales/de';
|
|
9
|
+
import localeEs from '@angular/common/locales/es';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
registerLocaleData(localeIt);
|
|
12
|
+
registerLocaleData(localeFr);
|
|
13
|
+
registerLocaleData(localeDe);
|
|
14
|
+
registerLocaleData(localeEs);
|
|
15
|
+
export class NgxTimelineModule {
|
|
16
|
+
}
|
|
17
|
+
NgxTimelineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxTimelineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
NgxTimelineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxTimelineModule, declarations: [NgxTimelineComponent, NgxTimelineEventComponent, NgxDatePipe], imports: [CommonModule], exports: [NgxTimelineComponent, NgxDatePipe] });
|
|
19
|
+
NgxTimelineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxTimelineModule, imports: [[CommonModule]] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxTimelineModule, decorators: [{
|
|
21
|
+
type: NgModule,
|
|
22
|
+
args: [{
|
|
23
|
+
declarations: [NgxTimelineComponent, NgxTimelineEventComponent, NgxDatePipe],
|
|
24
|
+
imports: [CommonModule],
|
|
25
|
+
exports: [NgxTimelineComponent, NgxDatePipe],
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRpbWVsaW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aW1lbGluZS9zcmMvbGliL25neC10aW1lbGluZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFDM0IsOERBQThELENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbEQsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0Isa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0Isa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0Isa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFPN0IsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUpiLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLFdBQVcsYUFDakUsWUFBWSxhQUNaLG9CQUFvQixFQUFFLFdBQVc7K0dBRWhDLGlCQUFpQixZQUhuQixDQUFDLFlBQVksQ0FBQzsyRkFHWixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxDQUFDO29CQUM1RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLFdBQVcsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tmd4VGltZWxpbmVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdGltZWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7Tmd4VGltZWxpbmVFdmVudENvbXBvbmVudH0gXG4gIGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdGltZWxpbmUtZXZlbnQvbmd4LXRpbWVsaW5lLWV2ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgcmVnaXN0ZXJMb2NhbGVEYXRhfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ3hEYXRlUGlwZX0gZnJvbSAnLi9waXBlcy9uZ3gtZGF0ZS1waXBlJztcbmltcG9ydCBsb2NhbGVJdCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9pdCc7XG5pbXBvcnQgbG9jYWxlRnIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZnInO1xuaW1wb3J0IGxvY2FsZURlIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2RlJztcbmltcG9ydCBsb2NhbGVFcyBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9lcyc7XG5cbnJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVJdCk7XG5yZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRnIpO1xucmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZURlKTtcbnJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFcyk7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05neFRpbWVsaW5lQ29tcG9uZW50LCBOZ3hUaW1lbGluZUV2ZW50Q29tcG9uZW50LCBOZ3hEYXRlUGlwZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTmd4VGltZWxpbmVDb21wb25lbnQsIE5neERhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4VGltZWxpbmVNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './ngx-date-pipe';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './ngx-date-pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGltZWxpbmUvc3JjL2xpYi9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uZ3gtZGF0ZS1waXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DatePipe } from '@angular/common';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import { supportedLanguageCodes, fieldConfigDate, dateConfigMap } from '../models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NgxDatePipe {
|
|
6
|
+
constructor() {
|
|
7
|
+
}
|
|
8
|
+
transform(date, dateFormat, langCode) {
|
|
9
|
+
let transformedDate = null;
|
|
10
|
+
if (date) {
|
|
11
|
+
const objDate = this.getDateConfig(langCode);
|
|
12
|
+
transformedDate = new DatePipe(objDate.code).transform(new Date(date), this.dateFormat(dateFormat, objDate));
|
|
13
|
+
}
|
|
14
|
+
return transformedDate;
|
|
15
|
+
}
|
|
16
|
+
dateFormat(dateFormat, configDate) {
|
|
17
|
+
return configDate[fieldConfigDate[dateFormat]];
|
|
18
|
+
}
|
|
19
|
+
getDateConfig(langCode) {
|
|
20
|
+
const code = langCode || supportedLanguageCodes[0];
|
|
21
|
+
const configDate = dateConfigMap[code] || dateConfigMap[supportedLanguageCodes[0]];
|
|
22
|
+
return configDate;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
NgxDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
26
|
+
NgxDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxDatePipe, name: "ngxdate", pure: false });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: NgxDatePipe, decorators: [{
|
|
28
|
+
type: Pipe,
|
|
29
|
+
args: [{ name: 'ngxdate', pure: false }]
|
|
30
|
+
}], ctorParameters: function () { return []; } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGUtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aW1lbGluZS9zcmMvbGliL3BpcGVzL25neC1kYXRlLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBOEMsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFHOUgsTUFBTSxPQUFPLFdBQVc7SUFDdEI7SUFDQSxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQW1CLEVBQUUsVUFBbUIsRUFBRSxRQUFpQjtRQUNuRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLGVBQWUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDOUc7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRU8sVUFBVSxDQUFDLFVBQWtCLEVBQUUsVUFBeUI7UUFDOUQsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFnQjtRQUNwQyxNQUFNLElBQUksR0FBRyxRQUFRLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7O3dHQXJCVSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ3hDb25maWdEYXRlLCBOZ3hEYXRlT2JqTWFwLCBOZ3hEYXRlRm9ybWF0LCBzdXBwb3J0ZWRMYW5ndWFnZUNvZGVzLCBmaWVsZENvbmZpZ0RhdGUsIGRhdGVDb25maWdNYXB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBQaXBlKHtuYW1lOiAnbmd4ZGF0ZScsIHB1cmU6IGZhbHNlfSlcbmV4cG9ydCBjbGFzcyBOZ3hEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHRyYW5zZm9ybShkYXRlOiBEYXRlIHwgc3RyaW5nLCBkYXRlRm9ybWF0Pzogc3RyaW5nLCBsYW5nQ29kZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHRyYW5zZm9ybWVkRGF0ZSA9IG51bGw7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IG9iakRhdGUgPSB0aGlzLmdldERhdGVDb25maWcobGFuZ0NvZGUpO1xuICAgICAgdHJhbnNmb3JtZWREYXRlID0gbmV3IERhdGVQaXBlKG9iakRhdGUuY29kZSkudHJhbnNmb3JtKG5ldyBEYXRlKGRhdGUpLCB0aGlzLmRhdGVGb3JtYXQoZGF0ZUZvcm1hdCwgb2JqRGF0ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtZWREYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRlRm9ybWF0KGRhdGVGb3JtYXQ6IHN0cmluZywgY29uZmlnRGF0ZTogTmd4Q29uZmlnRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbmZpZ0RhdGVbZmllbGRDb25maWdEYXRlW2RhdGVGb3JtYXRdXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0ZUNvbmZpZyhsYW5nQ29kZTogc3RyaW5nKTogTmd4Q29uZmlnRGF0ZSB7XG4gICAgY29uc3QgY29kZSA9IGxhbmdDb2RlIHx8IHN1cHBvcnRlZExhbmd1YWdlQ29kZXNbMF07XG4gICAgY29uc3QgY29uZmlnRGF0ZSA9IGRhdGVDb25maWdNYXBbY29kZV0gfHwgZGF0ZUNvbmZpZ01hcFtzdXBwb3J0ZWRMYW5ndWFnZUNvZGVzWzBdXTtcbiAgICByZXR1cm4gY29uZmlnRGF0ZTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-timeline
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/components';
|
|
5
|
-
export * from './lib/models';
|
|
6
|
-
export * from './lib/pipes/';
|
|
7
|
-
export * from './lib/ngx-timeline.module';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-timeline
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/components';
|
|
5
|
+
export * from './lib/models';
|
|
6
|
+
export * from './lib/pipes/';
|
|
7
|
+
export * from './lib/ngx-timeline.module';
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10aW1lbGluZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXRpbWVsaW5lXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzLyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtdGltZWxpbmUubW9kdWxlJztcbiJdfQ==
|