@colijnit/corecomponents_v12 255.1.8 → 255.1.10
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/bundles/colijnit-corecomponents_v12.umd.js +13 -11
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/lib/components/hour-scheduling/hour-scheduling.component.js +15 -13
- package/fesm2015/colijnit-corecomponents_v12.js +13 -11
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/hour-scheduling/hour-scheduling.component.d.ts +9 -8
- package/lib/components/hour-scheduling/style/_layout.scss +9 -10
- package/package.json +1 -1
- package/colijnit-corecomponents_v12-255.1.7.tgz +0 -0
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import { Component, Input, HostBinding, ViewEncapsulation, ChangeDetectorRef, } from '@angular/core';
|
|
1
|
+
import { Component, Input, HostBinding, ViewEncapsulation, ChangeDetectorRef, Output, EventEmitter, } from '@angular/core';
|
|
2
2
|
import { DatePipe } from '@angular/common';
|
|
3
3
|
export class HourSchedulingComponent {
|
|
4
|
-
constructor(cdRef,
|
|
4
|
+
constructor(cdRef, datePipe) {
|
|
5
5
|
this.cdRef = cdRef;
|
|
6
|
-
this.
|
|
6
|
+
this.datePipe = datePipe;
|
|
7
7
|
this.showClass = true;
|
|
8
|
-
this.customTemplateUsed = false;
|
|
9
8
|
this.hours = [];
|
|
10
9
|
this.scheduledObjects = {};
|
|
11
10
|
this.draggedObject = null;
|
|
11
|
+
this.customTemplateUsed = false;
|
|
12
|
+
this.timeChangeEvent = new EventEmitter();
|
|
12
13
|
}
|
|
13
14
|
ngOnInit() {
|
|
14
15
|
if (!this.childProp) {
|
|
15
|
-
this.startTime = parseInt(this.
|
|
16
|
-
this.endTime = parseInt(this.
|
|
16
|
+
this.startTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.startTimeProp]).toISOString(), 'H:mm'));
|
|
17
|
+
this.endTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.endTimeProp]).toISOString(), 'H:mm'));
|
|
17
18
|
}
|
|
18
19
|
else {
|
|
19
|
-
this.startTime = parseInt(this.
|
|
20
|
-
this.endTime = parseInt(this.
|
|
20
|
+
this.startTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.childProp][this.startTimeProp]).toISOString(), 'H:mm'));
|
|
21
|
+
this.endTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.childProp][this.endTimeProp]).toISOString(), 'H:mm'));
|
|
21
22
|
}
|
|
22
23
|
this.generateTimeBlocks();
|
|
23
24
|
}
|
|
@@ -66,8 +67,7 @@ export class HourSchedulingComponent {
|
|
|
66
67
|
// Get the unique identifier value from the object using the `idProp`
|
|
67
68
|
const objId = data.obj[this.idProp];
|
|
68
69
|
// Ensure we create a new object to avoid mutation issues
|
|
69
|
-
const updatedObject = Object.assign(Object.assign({}, data.obj), {
|
|
70
|
-
const updatedObject2 = Object.assign(Object.assign({}, data.obj), { [this.startTimeProp]: this.createDate(newStartHour), [this.endTimeProp]: this.createDate(newEndHour) });
|
|
70
|
+
const updatedObject = Object.assign(Object.assign({}, data.obj), { [this.startTimeProp]: this.createDate(newStartHour), [this.endTimeProp]: this.createDate(newEndHour) });
|
|
71
71
|
// Remove the object from its old hour block using its unique id
|
|
72
72
|
const originalHourBlock = this.formatHour(originalStartHour);
|
|
73
73
|
this.scheduledObjects[originalHourBlock] = this.scheduledObjects[originalHourBlock].filter(o => o[this.idProp] !== objId);
|
|
@@ -76,14 +76,15 @@ export class HourSchedulingComponent {
|
|
|
76
76
|
if (!this.scheduledObjects[newHourBlock]) {
|
|
77
77
|
this.scheduledObjects[newHourBlock] = [];
|
|
78
78
|
}
|
|
79
|
-
this.scheduledObjects[newHourBlock].push(
|
|
79
|
+
this.scheduledObjects[newHourBlock].push(updatedObject);
|
|
80
80
|
// Clear the dragged object
|
|
81
81
|
this.draggedObject = null;
|
|
82
|
+
this.timeChangeEvent.emit(updatedObject);
|
|
82
83
|
// Trigger change detection to update the view
|
|
83
84
|
this.cdRef.detectChanges();
|
|
84
85
|
}
|
|
85
86
|
convertToHourNotation(date) {
|
|
86
|
-
return parseInt(this.
|
|
87
|
+
return parseInt(this.datePipe.transform(new Date(date).toISOString(), 'H:mm'));
|
|
87
88
|
}
|
|
88
89
|
createDate(hours) {
|
|
89
90
|
let date = new Date();
|
|
@@ -146,6 +147,7 @@ HourSchedulingComponent.propDecorators = {
|
|
|
146
147
|
customTemplate: [{ type: Input }],
|
|
147
148
|
customTemplateUsed: [{ type: Input }],
|
|
148
149
|
idProp: [{ type: Input }],
|
|
150
|
+
timeChangeEvent: [{ type: Output }],
|
|
149
151
|
generateTimeBlocks: [{ type: HostBinding, args: ['class.co-hour-scheduling',] }]
|
|
150
152
|
};
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmcvaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFpRDNDLE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLFlBQW9CLEtBQXdCLEVBQVUsU0FBbUI7UUFBckQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBbEJsRSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBVWYsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3RDLFVBQUssR0FBYSxFQUFFLENBQUM7UUFDckIscUJBQWdCLEdBQTJDLEVBQUUsQ0FBQztRQUU3RCxrQkFBYSxHQUFlLElBQUksQ0FBQztJQUVtQyxDQUFDO0lBRTdFLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ3pELE1BQU0sQ0FDUCxDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxR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Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbkRDLGlCQUFpQjtZQUdWLFFBQVE7Ozt1QkF1RGQsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzZCQUNMLEtBQUs7aUNBQ0wsS0FBSztxQkFDTCxLQUFLO2lDQXdDTCxXQUFXLFNBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbnRlcmZhY2UgU2NoZWR1bGluZ09iamVjdCB7XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxuICBlbmQ6IG51bWJlcjtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzdWJUaXRsZT86IHN0cmluZztcclxuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93cyBkeW5hbWljIHByb3BlcnRpZXMgaW5jbHVkaW5nIHVuaXF1ZSBpZGVudGlmaWVyc1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWhvdXItc2NoZWR1bGluZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2NrXCIgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91cnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWxcIj48c3BhbiBbdGV4dENvbnRlbnRdPVwiaG91clwiPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwib2JqZWN0LWRpc3BsYXlcIlxyXG4gICAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxyXG4gICAgICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQsIGhvdXIpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2NoZWR1bGVkT2JqZWN0c1tob3VyXVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9iaiBvZiBzY2hlZHVsZWRPYmplY3RzW2hvdXJdXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNjaGVkdWxlZC1vYmplY3RcIlxyXG4gICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJvbkRyYWdTdGFydCgkZXZlbnQsIG9iailcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCJvYmoudGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwib2JqLnN1YlRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xyXG4gICAgICAgICAgICAgIGhvdXI6IGhvdXIsXHJcbiAgICAgICAgICAgICAgb2JqZWN0czogc2NoZWR1bGVkT2JqZWN0c1tob3VyXVxyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG91clNjaGVkdWxpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgc2hvd0NsYXNzID0gdHJ1ZTtcclxuICBwdWJsaWMgc3RhcnRUaW1lOiBudW1iZXI7XHJcbiAgcHVibGljIGVuZFRpbWU6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgc2NoZWR1bGU6IGFueTtcclxuICBASW5wdXQoKSBzdGFydFRpbWVQcm9wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZW5kVGltZVByb3A6IHN0cmluZztcclxuICBASW5wdXQoKSBvYmplY3RzUHJvcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNoaWxkUHJvcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRlbXBsYXRlVXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlkUHJvcDogc3RyaW5nOyAgLy8gSW5wdXQgZm9yIHVuaXF1ZSBpZGVudGlmaWVyIHByb3BlcnR5XHJcblxyXG4gIHB1YmxpYyBob3Vyczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgc2NoZWR1bGVkT2JqZWN0czogeyBbaG91cjogc3RyaW5nXTogU2NoZWR1bGluZ09iamVjdFtdIH0gPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBkcmFnZ2VkT2JqZWN0OiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgX2RhdGVwaXBlOiBEYXRlUGlwZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2hpbGRQcm9wKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRUaW1lID0gcGFyc2VJbnQoXHJcbiAgICAgICAgdGhpcy5fZGF0ZXBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgICAgbmV3IERhdGUodGhpcy5zY2hlZHVsZVt0aGlzLnN0YXJ0VGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVuZFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuZW5kVGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuY2hpbGRQcm9wXVt0aGlzLnN0YXJ0VGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVuZFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuY2hpbGRQcm9wXVt0aGlzLmVuZFRpbWVQcm9wXSkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICdIOm1tJ1xyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2VuZXJhdGVUaW1lQmxvY2tzKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWhvdXItc2NoZWR1bGluZycpXHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVRpbWVCbG9ja3MoKSB7XHJcbiAgICBjb25zdCBvYmplY3RzTGlzdCA9IHRoaXMuc2NoZWR1bGVbdGhpcy5vYmplY3RzUHJvcF07XHJcblxyXG4gICAgZm9yIChsZXQgaG91ciA9IHRoaXMuc3RhcnRUaW1lOyBob3VyIDw9IHRoaXMuZW5kVGltZTsgaG91cisrKSB7XHJcbiAgICAgIHRoaXMuaG91cnMucHVzaCh0aGlzLmZvcm1hdEhvdXIoaG91cikpO1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbdGhpcy5mb3JtYXRIb3VyKGhvdXIpXSA9IHRoaXMuX2dldE9iamVjdHNGb3JIb3VyKFxyXG4gICAgICAgIGhvdXIsXHJcbiAgICAgICAgb2JqZWN0c0xpc3RcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9iamVjdHNGb3JIb3VyKFxyXG4gICAgaG91cjogbnVtYmVyLFxyXG4gICAgb2JqZWN0c0xpc3Q6IGFueVtdXHJcbiAgKTogU2NoZWR1bGluZ09iamVjdFtdIHtcclxuICAgIGNvbnN0IG9iamVjdHNGb3JIb3VyOiBTY2hlZHVsaW5nT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBvYmplY3RzTGlzdC5mb3JFYWNoKChvYmopID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udmVydFRvSG91ck5vdGF0aW9uKG9ialt0aGlzLnN0YXJ0VGltZVByb3BdKSA9PT0gaG91cikge1xyXG4gICAgICAgIG9iamVjdHNGb3JIb3VyLnB1c2goeyAuLi5vYmogfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBvYmplY3RzRm9ySG91cjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb3JtYXRIb3VyKGhvdXI6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7aG91cn06MDBgO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRHJhZ1N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQsIG9iajogYW55KSB7XHJcbiAgICBjb25zdCBjdXJyZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGN1cnJlbnRIb3VyU3BhbiA9XHJcbiAgICAgIGN1cnJlbnRUYXJnZXQucGFyZW50RWxlbWVudCEucGFyZW50RWxlbWVudCEucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAnLmhvdXItbGFiZWwgc3BhbidcclxuICAgICAgKSE7XHJcbiAgICBjb25zdCBjdXJyZW50SG91ciA9IGN1cnJlbnRIb3VyU3Bhbi50ZXh0Q29udGVudCE7XHJcblxyXG4gICAgdGhpcy5kcmFnZ2VkT2JqZWN0ID0gb2JqO1xyXG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyIS5zZXREYXRhKFxyXG4gICAgICAndGV4dCcsXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHsgb2JqOiB0aGlzLmRyYWdnZWRPYmplY3QsIGN1cnJlbnRIb3VyIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ3VzdG9tRHJhZ1N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQsIG9iajogU2NoZWR1bGluZ09iamVjdCkge1xyXG4gICAgdGhpcy5vbkRyYWdTdGFydChldmVudCwgb2JqKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQsIGhvdXI6IHN0cmluZykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGFUcmFuc2ZlciEuZ2V0RGF0YSgndGV4dCcpKSBhcyB7XHJcbiAgICAgIG9iajogYW55O1xyXG4gICAgICBjdXJyZW50SG91cjogc3RyaW5nO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWRhdGEgfHwgIWRhdGEub2JqKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdTdGFydEhvdXIgPSBwYXJzZUludChob3VyLnNwbGl0KCc6JylbMF0sIDEwKTtcclxuICAgIGNvbnN0IG5ld0VuZEhvdXIgPSBuZXdTdGFydEhvdXIgKyAxO1xyXG5cclxuICAgIGNvbnN0IG9yaWdpbmFsU3RhcnRIb3VyID0gdGhpcy5jb252ZXJ0VG9Ib3VyTm90YXRpb24oZGF0YS5vYmpbdGhpcy5zdGFydFRpbWVQcm9wXSk7XHJcblxyXG4gICAgLy8gR2V0IHRoZSB1bmlxdWUgaWRlbnRpZmllciB2YWx1ZSBmcm9tIHRoZSBvYmplY3QgdXNpbmcgdGhlIGBpZFByb3BgXHJcbiAgICBjb25zdCBvYmpJZCA9IGRhdGEub2JqW3RoaXMuaWRQcm9wXTtcclxuXHJcbiAgICAvLyBFbnN1cmUgd2UgY3JlYXRlIGEgbmV3IG9iamVjdCB0byBhdm9pZCBtdXRhdGlvbiBpc3N1ZXNcclxuICAgIGNvbnN0IHVwZGF0ZWRPYmplY3QgPSB7IC4uLmRhdGEub2JqLCBzdGFydDogbmV3U3RhcnRIb3VyLCBlbmQ6IG5ld0VuZEhvdXIgfTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkT2JqZWN0MiA9IHsgLi4uZGF0YS5vYmosIFt0aGlzLnN0YXJ0VGltZVByb3BdOnRoaXMuY3JlYXRlRGF0ZShuZXdTdGFydEhvdXIpLCBbdGhpcy5lbmRUaW1lUHJvcF06dGhpcy5jcmVhdGVEYXRlKG5ld0VuZEhvdXIpfTtcclxuXHJcblxyXG4gICAgLy8gUmVtb3ZlIHRoZSBvYmplY3QgZnJvbSBpdHMgb2xkIGhvdXIgYmxvY2sgdXNpbmcgaXRzIHVuaXF1ZSBpZFxyXG4gICAgY29uc3Qgb3JpZ2luYWxIb3VyQmxvY2sgPSB0aGlzLmZvcm1hdEhvdXIob3JpZ2luYWxTdGFydEhvdXIpO1xyXG4gICAgdGhpcy5zY2hlZHVsZWRPYmplY3RzW29yaWdpbmFsSG91ckJsb2NrXSA9IHRoaXMuc2NoZWR1bGVkT2JqZWN0c1tvcmlnaW5hbEhvdXJCbG9ja10uZmlsdGVyKG8gPT4gb1t0aGlzLmlkUHJvcF0gIT09IG9iaklkKTtcclxuXHJcbiAgICAvLyBBZGQgdGhlIG9iamVjdCB0byB0aGUgbmV3IGhvdXIgYmxvY2tcclxuICAgIGNvbnN0IG5ld0hvdXJCbG9jayA9IHRoaXMuZm9ybWF0SG91cihuZXdTdGFydEhvdXIpO1xyXG4gICAgaWYgKCF0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXSkge1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXSA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zY2hlZHVsZWRPYmplY3RzW25ld0hvdXJCbG9ja10ucHVzaCh1cGRhdGVkT2JqZWN0Mik7XHJcblxyXG4gICAgLy8gQ2xlYXIgdGhlIGRyYWdnZWQgb2JqZWN0XHJcbiAgICB0aGlzLmRyYWdnZWRPYmplY3QgPSBudWxsO1xyXG5cclxuICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiB0byB1cGRhdGUgdGhlIHZpZXdcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnZlcnRUb0hvdXJOb3RhdGlvbihkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBwYXJzZUludCh0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0obmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKSwgJ0g6bW0nICkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZURhdGUoaG91cnM6IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZGF0ZS5zZXRIb3Vycyhob3Vycyk7XHJcbiAgICBkYXRlLnNldE1pbnV0ZXMoMCwgMCwgMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmcvaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNKLE1BQU0sRUFBRSxZQUFZLEdBQ2xDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQW1EekMsTUFBTSxPQUFPLHVCQUF1QjtJQXFCbEMsWUFBb0IsS0FBd0IsRUFBVSxRQUFrQjtRQUFwRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFuQmpFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFHakIsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixxQkFBZ0IsR0FBMkMsRUFBRSxDQUFDO1FBRTdELGtCQUFhLEdBQWUsSUFBSSxDQUFDO1FBUXpCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUduQyxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3BGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUN6RCxNQUFNLENBQ1AsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQ3JC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Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFyREMsaUJBQWlCO1lBR1gsUUFBUTs7O3VCQTZEYixLQUFLOzRCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7NkJBQ0wsS0FBSztpQ0FDTCxLQUFLO3FCQUNMLEtBQUs7OEJBRUwsTUFBTTtpQ0FvQ04sV0FBVyxTQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBIb3N0QmluZGluZyxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBUZW1wbGF0ZVJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7T1VUUFVUfSBmcm9tIFwidGhyZWUvZXhhbXBsZXMvanNtL3Bvc3Rwcm9jZXNzaW5nL1NBT1Bhc3NcIjtcclxuXHJcbmludGVyZmFjZSBTY2hlZHVsaW5nT2JqZWN0IHtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIGVuZDogbnVtYmVyO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nO1xyXG5cclxuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93cyBkeW5hbWljIHByb3BlcnRpZXMgaW5jbHVkaW5nIHVuaXF1ZSBpZGVudGlmaWVyc1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWhvdXItc2NoZWR1bGluZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2NrXCIgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91cnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWxcIj48c3BhbiBbdGV4dENvbnRlbnRdPVwiaG91clwiPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwib2JqZWN0LWRpc3BsYXlcIlxyXG4gICAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxyXG4gICAgICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQsIGhvdXIpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2NoZWR1bGVkT2JqZWN0c1tob3VyXVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9iaiBvZiBzY2hlZHVsZWRPYmplY3RzW2hvdXJdXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNjaGVkdWxlZC1vYmplY3RcIlxyXG4gICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJvbkRyYWdTdGFydCgkZXZlbnQsIG9iailcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCJvYmoudGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwib2JqLnN1YlRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xyXG4gICAgICAgICAgICAgIGhvdXI6IGhvdXIsXHJcbiAgICAgICAgICAgICAgb2JqZWN0czogc2NoZWR1bGVkT2JqZWN0c1tob3VyXVxyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG91clNjaGVkdWxpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgc2hvd0NsYXNzID0gdHJ1ZTtcclxuICBwdWJsaWMgc3RhcnRUaW1lOiBudW1iZXI7XHJcbiAgcHVibGljIGVuZFRpbWU6IG51bWJlcjtcclxuICBwdWJsaWMgaG91cnM6IHN0cmluZ1tdID0gW107XHJcbiAgcHVibGljIHNjaGVkdWxlZE9iamVjdHM6IHsgW2hvdXI6IHN0cmluZ106IFNjaGVkdWxpbmdPYmplY3RbXSB9ID0ge307XHJcblxyXG4gIHByaXZhdGUgZHJhZ2dlZE9iamVjdDogYW55IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY2hlZHVsZTogYW55O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdGFydFRpbWVQcm9wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGVuZFRpbWVQcm9wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIG9iamVjdHNQcm9wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoaWxkUHJvcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tVGVtcGxhdGVVc2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGlkUHJvcDogc3RyaW5nOyAgLy8gSW5wdXQgZm9yIHVuaXF1ZSBpZGVudGlmaWVyIHByb3BlcnR5XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdGltZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmNoaWxkUHJvcCkge1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHBhcnNlSW50KFxyXG4gICAgICAgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgICAgbmV3IERhdGUodGhpcy5zY2hlZHVsZVt0aGlzLnN0YXJ0VGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVuZFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShcclxuICAgICAgICAgIG5ldyBEYXRlKHRoaXMuc2NoZWR1bGVbdGhpcy5lbmRUaW1lUHJvcF0pLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgICAnSDptbSdcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHBhcnNlSW50KFxyXG4gICAgICAgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgICAgbmV3IERhdGUodGhpcy5zY2hlZHVsZVt0aGlzLmNoaWxkUHJvcF1bdGhpcy5zdGFydFRpbWVQcm9wXSkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICdIOm1tJ1xyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5lbmRUaW1lID0gcGFyc2VJbnQoXHJcbiAgICAgICAgdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuY2hpbGRQcm9wXVt0aGlzLmVuZFRpbWVQcm9wXSkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICdIOm1tJ1xyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2VuZXJhdGVUaW1lQmxvY2tzKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWhvdXItc2NoZWR1bGluZycpXHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVRpbWVCbG9ja3MoKSB7XHJcbiAgICBjb25zdCBvYmplY3RzTGlzdCA9IHRoaXMuc2NoZWR1bGVbdGhpcy5vYmplY3RzUHJvcF07XHJcblxyXG4gICAgZm9yIChsZXQgaG91ciA9IHRoaXMuc3RhcnRUaW1lOyBob3VyIDw9IHRoaXMuZW5kVGltZTsgaG91cisrKSB7XHJcbiAgICAgIHRoaXMuaG91cnMucHVzaCh0aGlzLmZvcm1hdEhvdXIoaG91cikpO1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbdGhpcy5mb3JtYXRIb3VyKGhvdXIpXSA9IHRoaXMuX2dldE9iamVjdHNGb3JIb3VyKFxyXG4gICAgICAgIGhvdXIsXHJcbiAgICAgICAgb2JqZWN0c0xpc3RcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9iamVjdHNGb3JIb3VyKFxyXG4gICAgaG91cjogbnVtYmVyLFxyXG4gICAgb2JqZWN0c0xpc3Q6IGFueVtdXHJcbiAgKTogU2NoZWR1bGluZ09iamVjdFtdIHtcclxuICAgIGNvbnN0IG9iamVjdHNGb3JIb3VyOiBTY2hlZHVsaW5nT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBvYmplY3RzTGlzdC5mb3JFYWNoKChvYmopID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udmVydFRvSG91ck5vdGF0aW9uKG9ialt0aGlzLnN0YXJ0VGltZVByb3BdKSA9PT0gaG91cikge1xyXG4gICAgICAgIG9iamVjdHNGb3JIb3VyLnB1c2goey4uLm9ian0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb2JqZWN0c0ZvckhvdXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9ybWF0SG91cihob3VyOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke2hvdXJ9OjAwYDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRyYWdTdGFydChldmVudDogRHJhZ0V2ZW50LCBvYmo6IGFueSkge1xyXG4gICAgY29uc3QgY3VycmVudFRhcmdldCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBjdXJyZW50SG91clNwYW4gPVxyXG4gICAgICBjdXJyZW50VGFyZ2V0LnBhcmVudEVsZW1lbnQhLnBhcmVudEVsZW1lbnQhLnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgJy5ob3VyLWxhYmVsIHNwYW4nXHJcbiAgICAgICkhO1xyXG4gICAgY29uc3QgY3VycmVudEhvdXIgPSBjdXJyZW50SG91clNwYW4udGV4dENvbnRlbnQhO1xyXG5cclxuICAgIHRoaXMuZHJhZ2dlZE9iamVjdCA9IG9iajtcclxuICAgIGV2ZW50LmRhdGFUcmFuc2ZlciEuc2V0RGF0YShcclxuICAgICAgJ3RleHQnLFxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh7b2JqOiB0aGlzLmRyYWdnZWRPYmplY3QsIGN1cnJlbnRIb3VyfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DdXN0b21EcmFnU3RhcnQoZXZlbnQ6IERyYWdFdmVudCwgb2JqOiBTY2hlZHVsaW5nT2JqZWN0KSB7XHJcbiAgICB0aGlzLm9uRHJhZ1N0YXJ0KGV2ZW50LCBvYmopO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCwgaG91cjogc3RyaW5nKSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YVRyYW5zZmVyIS5nZXREYXRhKCd0ZXh0JykpIGFzIHtcclxuICAgICAgb2JqOiBhbnk7XHJcbiAgICAgIGN1cnJlbnRIb3VyOiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICghZGF0YSB8fCAhZGF0YS5vYmopIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld1N0YXJ0SG91ciA9IHBhcnNlSW50KGhvdXIuc3BsaXQoJzonKVswXSwgMTApO1xyXG4gICAgY29uc3QgbmV3RW5kSG91ciA9IG5ld1N0YXJ0SG91ciArIDE7XHJcblxyXG4gICAgY29uc3Qgb3JpZ2luYWxTdGFydEhvdXIgPSB0aGlzLmNvbnZlcnRUb0hvdXJOb3RhdGlvbihkYXRhLm9ialt0aGlzLnN0YXJ0VGltZVByb3BdKTtcclxuXHJcbiAgICAvLyBHZXQgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIHZhbHVlIGZyb20gdGhlIG9iamVjdCB1c2luZyB0aGUgYGlkUHJvcGBcclxuICAgIGNvbnN0IG9iaklkID0gZGF0YS5vYmpbdGhpcy5pZFByb3BdO1xyXG5cclxuICAgIC8vIEVuc3VyZSB3ZSBjcmVhdGUgYSBuZXcgb2JqZWN0IHRvIGF2b2lkIG11dGF0aW9uIGlzc3Vlc1xyXG5cclxuICAgIGNvbnN0IHVwZGF0ZWRPYmplY3QgPSB7XHJcbiAgICAgIC4uLmRhdGEub2JqLFxyXG4gICAgICBbdGhpcy5zdGFydFRpbWVQcm9wXTogdGhpcy5jcmVhdGVEYXRlKG5ld1N0YXJ0SG91ciksXHJcbiAgICAgIFt0aGlzLmVuZFRpbWVQcm9wXTogdGhpcy5jcmVhdGVEYXRlKG5ld0VuZEhvdXIpXHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvLyBSZW1vdmUgdGhlIG9iamVjdCBmcm9tIGl0cyBvbGQgaG91ciBibG9jayB1c2luZyBpdHMgdW5pcXVlIGlkXHJcbiAgICBjb25zdCBvcmlnaW5hbEhvdXJCbG9jayA9IHRoaXMuZm9ybWF0SG91cihvcmlnaW5hbFN0YXJ0SG91cik7XHJcbiAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbb3JpZ2luYWxIb3VyQmxvY2tdID0gdGhpcy5zY2hlZHVsZWRPYmplY3RzW29yaWdpbmFsSG91ckJsb2NrXS5maWx0ZXIobyA9PiBvW3RoaXMuaWRQcm9wXSAhPT0gb2JqSWQpO1xyXG5cclxuICAgIC8vIEFkZCB0aGUgb2JqZWN0IHRvIHRoZSBuZXcgaG91ciBibG9ja1xyXG4gICAgY29uc3QgbmV3SG91ckJsb2NrID0gdGhpcy5mb3JtYXRIb3VyKG5ld1N0YXJ0SG91cik7XHJcbiAgICBpZiAoIXRoaXMuc2NoZWR1bGVkT2JqZWN0c1tuZXdIb3VyQmxvY2tdKSB7XHJcbiAgICAgIHRoaXMuc2NoZWR1bGVkT2JqZWN0c1tuZXdIb3VyQmxvY2tdID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXS5wdXNoKHVwZGF0ZWRPYmplY3QpO1xyXG5cclxuICAgIC8vIENsZWFyIHRoZSBkcmFnZ2VkIG9iamVjdFxyXG4gICAgdGhpcy5kcmFnZ2VkT2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnRpbWVDaGFuZ2VFdmVudC5lbWl0KHVwZGF0ZWRPYmplY3QpO1xyXG4gICAgLy8gVHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlld1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29udmVydFRvSG91ck5vdGF0aW9uKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHBhcnNlSW50KHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKGRhdGUpLnRvSVNPU3RyaW5nKCksICdIOm1tJykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZURhdGUoaG91cnM6IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZGF0ZS5zZXRIb3Vycyhob3Vycyk7XHJcbiAgICBkYXRlLnNldE1pbnV0ZXMoMCwgMCwgMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -13687,23 +13687,24 @@ ColorSequenceService.decorators = [
|
|
|
13687
13687
|
];
|
|
13688
13688
|
|
|
13689
13689
|
class HourSchedulingComponent {
|
|
13690
|
-
constructor(cdRef,
|
|
13690
|
+
constructor(cdRef, datePipe) {
|
|
13691
13691
|
this.cdRef = cdRef;
|
|
13692
|
-
this.
|
|
13692
|
+
this.datePipe = datePipe;
|
|
13693
13693
|
this.showClass = true;
|
|
13694
|
-
this.customTemplateUsed = false;
|
|
13695
13694
|
this.hours = [];
|
|
13696
13695
|
this.scheduledObjects = {};
|
|
13697
13696
|
this.draggedObject = null;
|
|
13697
|
+
this.customTemplateUsed = false;
|
|
13698
|
+
this.timeChangeEvent = new EventEmitter();
|
|
13698
13699
|
}
|
|
13699
13700
|
ngOnInit() {
|
|
13700
13701
|
if (!this.childProp) {
|
|
13701
|
-
this.startTime = parseInt(this.
|
|
13702
|
-
this.endTime = parseInt(this.
|
|
13702
|
+
this.startTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.startTimeProp]).toISOString(), 'H:mm'));
|
|
13703
|
+
this.endTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.endTimeProp]).toISOString(), 'H:mm'));
|
|
13703
13704
|
}
|
|
13704
13705
|
else {
|
|
13705
|
-
this.startTime = parseInt(this.
|
|
13706
|
-
this.endTime = parseInt(this.
|
|
13706
|
+
this.startTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.childProp][this.startTimeProp]).toISOString(), 'H:mm'));
|
|
13707
|
+
this.endTime = parseInt(this.datePipe.transform(new Date(this.schedule[this.childProp][this.endTimeProp]).toISOString(), 'H:mm'));
|
|
13707
13708
|
}
|
|
13708
13709
|
this.generateTimeBlocks();
|
|
13709
13710
|
}
|
|
@@ -13752,8 +13753,7 @@ class HourSchedulingComponent {
|
|
|
13752
13753
|
// Get the unique identifier value from the object using the `idProp`
|
|
13753
13754
|
const objId = data.obj[this.idProp];
|
|
13754
13755
|
// Ensure we create a new object to avoid mutation issues
|
|
13755
|
-
const updatedObject = Object.assign(Object.assign({}, data.obj), {
|
|
13756
|
-
const updatedObject2 = Object.assign(Object.assign({}, data.obj), { [this.startTimeProp]: this.createDate(newStartHour), [this.endTimeProp]: this.createDate(newEndHour) });
|
|
13756
|
+
const updatedObject = Object.assign(Object.assign({}, data.obj), { [this.startTimeProp]: this.createDate(newStartHour), [this.endTimeProp]: this.createDate(newEndHour) });
|
|
13757
13757
|
// Remove the object from its old hour block using its unique id
|
|
13758
13758
|
const originalHourBlock = this.formatHour(originalStartHour);
|
|
13759
13759
|
this.scheduledObjects[originalHourBlock] = this.scheduledObjects[originalHourBlock].filter(o => o[this.idProp] !== objId);
|
|
@@ -13762,14 +13762,15 @@ class HourSchedulingComponent {
|
|
|
13762
13762
|
if (!this.scheduledObjects[newHourBlock]) {
|
|
13763
13763
|
this.scheduledObjects[newHourBlock] = [];
|
|
13764
13764
|
}
|
|
13765
|
-
this.scheduledObjects[newHourBlock].push(
|
|
13765
|
+
this.scheduledObjects[newHourBlock].push(updatedObject);
|
|
13766
13766
|
// Clear the dragged object
|
|
13767
13767
|
this.draggedObject = null;
|
|
13768
|
+
this.timeChangeEvent.emit(updatedObject);
|
|
13768
13769
|
// Trigger change detection to update the view
|
|
13769
13770
|
this.cdRef.detectChanges();
|
|
13770
13771
|
}
|
|
13771
13772
|
convertToHourNotation(date) {
|
|
13772
|
-
return parseInt(this.
|
|
13773
|
+
return parseInt(this.datePipe.transform(new Date(date).toISOString(), 'H:mm'));
|
|
13773
13774
|
}
|
|
13774
13775
|
createDate(hours) {
|
|
13775
13776
|
let date = new Date();
|
|
@@ -13832,6 +13833,7 @@ HourSchedulingComponent.propDecorators = {
|
|
|
13832
13833
|
customTemplate: [{ type: Input }],
|
|
13833
13834
|
customTemplateUsed: [{ type: Input }],
|
|
13834
13835
|
idProp: [{ type: Input }],
|
|
13836
|
+
timeChangeEvent: [{ type: Output }],
|
|
13835
13837
|
generateTimeBlocks: [{ type: HostBinding, args: ['class.co-hour-scheduling',] }]
|
|
13836
13838
|
};
|
|
13837
13839
|
|