tango-app-ui-analyse-traffic 3.0.0-dev → 3.3.0-alpha.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/esm2022/lib/components/chart-detail-modal/chart-detail-modal.component.mjs +55 -0
- package/esm2022/lib/components/image-doc/image-doc.component.mjs +105 -0
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +80 -0
- package/esm2022/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.mjs +23 -6
- package/esm2022/lib/components/traffic-analysis/traffic-analysis.component.mjs +604 -0
- package/esm2022/lib/components/traffic-card-charts/traffic-card-charts.component.mjs +937 -0
- package/esm2022/lib/components/traffic-charts/traffic-charts.component.mjs +422 -0
- package/esm2022/lib/services/traffic.service.mjs +69 -0
- package/esm2022/lib/tango-analyse-traffic-routing.module.mjs +4 -4
- package/esm2022/lib/tango-analyse-traffic.module.mjs +31 -9
- package/fesm2022/tango-app-ui-analyse-traffic.mjs +2272 -19
- package/fesm2022/tango-app-ui-analyse-traffic.mjs.map +1 -1
- package/lib/components/chart-detail-modal/chart-detail-modal.component.d.ts +16 -0
- package/lib/components/image-doc/image-doc.component.d.ts +31 -0
- package/lib/components/reactive-select/reactive-select.component.d.ts +23 -0
- package/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.d.ts +7 -1
- package/lib/components/traffic-analysis/traffic-analysis.component.d.ts +72 -0
- package/lib/components/traffic-card-charts/traffic-card-charts.component.d.ts +81 -0
- package/lib/components/traffic-charts/traffic-charts.component.d.ts +55 -0
- package/lib/services/traffic.service.d.ts +26 -0
- package/lib/tango-analyse-traffic.module.d.ts +12 -3
- package/package.json +1 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
4
|
+
export class ChartDetailModalComponent {
|
|
5
|
+
activeModal;
|
|
6
|
+
el;
|
|
7
|
+
renderer;
|
|
8
|
+
data;
|
|
9
|
+
clientX;
|
|
10
|
+
clientY;
|
|
11
|
+
constructor(activeModal, el, renderer) {
|
|
12
|
+
this.activeModal = activeModal;
|
|
13
|
+
this.el = el;
|
|
14
|
+
this.renderer = renderer;
|
|
15
|
+
}
|
|
16
|
+
ngAfterViewInit() {
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
const modalElement = this.el.nativeElement.querySelector('.modal-content');
|
|
19
|
+
if (modalElement) {
|
|
20
|
+
const offsetX = 10; // Adjust as needed
|
|
21
|
+
const offsetY = 10; // Adjust as needed
|
|
22
|
+
this.renderer.setStyle(modalElement, 'position', 'absolute');
|
|
23
|
+
this.renderer.setStyle(modalElement, 'left', `${this.clientX + offsetX}px`);
|
|
24
|
+
this.renderer.setStyle(modalElement, 'top', `${this.clientY + offsetY}px`);
|
|
25
|
+
// Check if modal goes out of view and adjust position if necessary
|
|
26
|
+
this.adjustPosition(modalElement);
|
|
27
|
+
}
|
|
28
|
+
}, 0);
|
|
29
|
+
console.log(this.data);
|
|
30
|
+
}
|
|
31
|
+
adjustPosition(modalElement) {
|
|
32
|
+
const rect = modalElement.getBoundingClientRect();
|
|
33
|
+
const viewportWidth = window.innerWidth;
|
|
34
|
+
const viewportHeight = window.innerHeight;
|
|
35
|
+
if (rect.right > viewportWidth) {
|
|
36
|
+
this.renderer.setStyle(modalElement, 'left', `${viewportWidth - rect.width - 10}px`);
|
|
37
|
+
}
|
|
38
|
+
if (rect.bottom > viewportHeight) {
|
|
39
|
+
this.renderer.setStyle(modalElement, 'top', `${viewportHeight - rect.height - 10}px`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChartDetailModalComponent, deps: [{ token: i1.NgbActiveModal }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChartDetailModalComponent, selector: "lib-chart-detail-modal", inputs: { data: "data", clientX: "clientX", clientY: "clientY" }, ngImport: i0, template: " <div class=\"modal-body\">\r\n <div class=\"content\">\r\n <div class=\"container\">\r\n <div class=\"title text-start\">{{data.year}}</div>\r\n </div>\r\n <div class=\"grid-container\">\r\n <div class=\"grid-item label\">Total Footfall</div>\r\n <div class=\"grid-item value\">{{data.critical}}</div>\r\n <div class=\"grid-item label\">Bounced Footfall</div>\r\n <div class=\"grid-item value\">{{data.expenses}}</div>\r\n <div class=\"grid-item label\">Engagers</div>\r\n <div class=\"grid-item value\">{{data.info}}</div>\r\n <div class=\"grid-item label\">Avg Dwell Time</div>\r\n <div class=\"grid-item value\">34 Mins</div>\r\n <div class=\"grid-item label\">Conversion Rate</div>\r\n <div class=\"grid-item value\">{{data.warning}}%</div>\r\n <div class=\"grid-item label\">Missed Opportunities</div>\r\n <div class=\"grid-item value\">{{data.minor}}</div>\r\n <div class=\"grid-item label\">Down Time</div>\r\n <div class=\"grid-item value\">23%</div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n", styles: [".container{text-align:center}.title{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:600;line-height:24px}.grid-container{display:grid;grid-template-columns:1fr 1fr}.grid-item{padding:8px;border:0px solid #ddd;text-align:left;border-bottom:1px solid var(--Gray-200, #EAECF0)}.label{background-color:#fff;font-weight:700;color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px;white-space:nowrap}.value{text-align:end;background-color:#fff;color:var(--Gray-900, #101828);font-size:12px;font-style:normal;font-weight:600;line-height:18px}.modal-dialog{position:absolute;max-width:none;margin:0}.modal-content{width:auto}\n"] });
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChartDetailModalComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'lib-chart-detail-modal', template: " <div class=\"modal-body\">\r\n <div class=\"content\">\r\n <div class=\"container\">\r\n <div class=\"title text-start\">{{data.year}}</div>\r\n </div>\r\n <div class=\"grid-container\">\r\n <div class=\"grid-item label\">Total Footfall</div>\r\n <div class=\"grid-item value\">{{data.critical}}</div>\r\n <div class=\"grid-item label\">Bounced Footfall</div>\r\n <div class=\"grid-item value\">{{data.expenses}}</div>\r\n <div class=\"grid-item label\">Engagers</div>\r\n <div class=\"grid-item value\">{{data.info}}</div>\r\n <div class=\"grid-item label\">Avg Dwell Time</div>\r\n <div class=\"grid-item value\">34 Mins</div>\r\n <div class=\"grid-item label\">Conversion Rate</div>\r\n <div class=\"grid-item value\">{{data.warning}}%</div>\r\n <div class=\"grid-item label\">Missed Opportunities</div>\r\n <div class=\"grid-item value\">{{data.minor}}</div>\r\n <div class=\"grid-item label\">Down Time</div>\r\n <div class=\"grid-item value\">23%</div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n", styles: [".container{text-align:center}.title{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:600;line-height:24px}.grid-container{display:grid;grid-template-columns:1fr 1fr}.grid-item{padding:8px;border:0px solid #ddd;text-align:left;border-bottom:1px solid var(--Gray-200, #EAECF0)}.label{background-color:#fff;font-weight:700;color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px;white-space:nowrap}.value{text-align:end;background-color:#fff;color:var(--Gray-900, #101828);font-size:12px;font-style:normal;font-weight:600;line-height:18px}.modal-dialog{position:absolute;max-width:none;margin:0}.modal-content{width:auto}\n"] }]
|
|
48
|
+
}], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { data: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], clientX: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], clientY: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGV0YWlsLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvY2hhcnQtZGV0YWlsLW1vZGFsL2NoYXJ0LWRldGFpbC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2NoYXJ0LWRldGFpbC1tb2RhbC9jaGFydC1kZXRhaWwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7O0FBUS9GLE1BQU0sT0FBTyx5QkFBeUI7SUFJakI7SUFBb0M7SUFBd0I7SUFIdEUsSUFBSSxDQUFNO0lBQ1YsT0FBTyxDQUFTO0lBQ2hCLE9BQU8sQ0FBUztJQUN6QixZQUFtQixXQUEyQixFQUFTLEVBQWMsRUFBVSxRQUFtQjtRQUEvRSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFdEcsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMzRSxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsbUJBQW1CO2dCQUN2QyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQzFFLG1FQUFtRTtnQkFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNwQztRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3BCLENBQUM7SUFDTyxjQUFjLENBQUMsWUFBeUI7UUFDOUMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEY7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0gsQ0FBQzt3R0FoQ1UseUJBQXlCOzRGQUF6Qix5QkFBeUIsZ0lDUnRDLHVxQ0F5QkE7OzRGRGpCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCO29JQUt6QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2hhcnQtZGV0YWlsLW1vZGFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQtZGV0YWlsLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY2hhcnQtZGV0YWlsLW1vZGFsLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnREZXRhaWxNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICBASW5wdXQoKSBjbGllbnRYOiBudW1iZXI7XHJcbiAgQElucHV0KCkgY2xpZW50WTogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwscHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgbW9kYWxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1jb250ZW50Jyk7XHJcbiAgICAgIGlmIChtb2RhbEVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBvZmZzZXRYID0gMTA7IC8vIEFkanVzdCBhcyBuZWVkZWRcclxuICAgICAgICBjb25zdCBvZmZzZXRZID0gMTA7IC8vIEFkanVzdCBhcyBuZWVkZWRcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG1vZGFsRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShtb2RhbEVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy5jbGllbnRYICsgb2Zmc2V0WH1weGApO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobW9kYWxFbGVtZW50LCAndG9wJywgYCR7dGhpcy5jbGllbnRZICsgb2Zmc2V0WX1weGApO1xyXG4gICAgICAgICAvLyBDaGVjayBpZiBtb2RhbCBnb2VzIG91dCBvZiB2aWV3IGFuZCBhZGp1c3QgcG9zaXRpb24gaWYgbmVjZXNzYXJ5XHJcbiAgICAgICAgIHRoaXMuYWRqdXN0UG9zaXRpb24obW9kYWxFbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbmNvbnNvbGUubG9nKHRoaXMuZGF0YSlcclxuICB9XHJcbiAgcHJpdmF0ZSBhZGp1c3RQb3NpdGlvbihtb2RhbEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb25zdCByZWN0ID0gbW9kYWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcblxyXG4gICAgaWYgKHJlY3QucmlnaHQgPiB2aWV3cG9ydFdpZHRoKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobW9kYWxFbGVtZW50LCAnbGVmdCcsIGAke3ZpZXdwb3J0V2lkdGggLSByZWN0LndpZHRoIC0gMTB9cHhgKTtcclxuICAgIH1cclxuICAgIGlmIChyZWN0LmJvdHRvbSA+IHZpZXdwb3J0SGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobW9kYWxFbGVtZW50LCAndG9wJywgYCR7dmlld3BvcnRIZWlnaHQgLSByZWN0LmhlaWdodCAtIDEwfXB4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlIHRleHQtc3RhcnRcIj57e2RhdGEueWVhcn19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1pdGVtIGxhYmVsXCI+VG90YWwgRm9vdGZhbGw8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWl0ZW0gdmFsdWVcIj57e2RhdGEuY3JpdGljYWx9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSBsYWJlbFwiPkJvdW5jZWQgRm9vdGZhbGw8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWl0ZW0gdmFsdWVcIj57e2RhdGEuZXhwZW5zZXN9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSBsYWJlbFwiPkVuZ2FnZXJzPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1pdGVtIHZhbHVlXCI+e3tkYXRhLmluZm99fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSBsYWJlbFwiPkF2ZyBEd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1pdGVtIHZhbHVlXCI+MzQgTWluczwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSBsYWJlbFwiPkNvbnZlcnNpb24gUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSB2YWx1ZVwiPnt7ZGF0YS53YXJuaW5nfX0lPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1pdGVtIGxhYmVsXCI+TWlzc2VkIE9wcG9ydHVuaXRpZXM8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWl0ZW0gdmFsdWVcIj57e2RhdGEubWlub3J9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSBsYWJlbFwiPkRvd24gVGltZTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtaXRlbSB2YWx1ZVwiPjIzJTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIFxyXG4gIDwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from "rxjs";
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/traffic.service";
|
|
6
|
+
import * as i2 from "tango-app-ui-global";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
export class ImageDocComponent {
|
|
9
|
+
service;
|
|
10
|
+
gs;
|
|
11
|
+
cd;
|
|
12
|
+
imageArray = [
|
|
13
|
+
{ id: 1, time: '11 PM - 12 PM', value: '2' },
|
|
14
|
+
{ id: 2, time: '12 PM - 01 PM', value: '2' },
|
|
15
|
+
{ id: 3, time: '01 PM - 02 PM', value: '3' },
|
|
16
|
+
{ id: 4, time: '02 PM - 03 PM', value: '4' },
|
|
17
|
+
{ id: 5, time: '03 PM - 04 PM', value: '5' },
|
|
18
|
+
{ id: 6, time: '04 PM - 05 PM', value: '6' },
|
|
19
|
+
{ id: 3, time: '05 PM - 06 PM', value: '3' },
|
|
20
|
+
{ id: 4, time: '06 PM - 07 PM', value: '4' },
|
|
21
|
+
{ id: 5, time: '07 PM - 08 PM', value: '5' },
|
|
22
|
+
{ id: 6, time: '08 PM - 09 PM', value: '6' }
|
|
23
|
+
];
|
|
24
|
+
selectIndex = 0;
|
|
25
|
+
selectedTime;
|
|
26
|
+
objData;
|
|
27
|
+
objectsArray;
|
|
28
|
+
imagesArrayData;
|
|
29
|
+
processType = 'footfall';
|
|
30
|
+
headerData;
|
|
31
|
+
constructor(service, gs, cd) {
|
|
32
|
+
this.service = service;
|
|
33
|
+
this.gs = gs;
|
|
34
|
+
this.cd = cd;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
this.selectedTime = this.imageArray[0].time;
|
|
38
|
+
this.gs.dataRangeValue
|
|
39
|
+
.pipe(takeUntil(this.destroy$), debounceTime(300))
|
|
40
|
+
.subscribe((data) => {
|
|
41
|
+
this.headerData = data;
|
|
42
|
+
this.objData = {
|
|
43
|
+
storeId: data.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
44
|
+
clientId: data.client,
|
|
45
|
+
processType: this.processType,
|
|
46
|
+
footfallDate: this.headerData.date.endDate,
|
|
47
|
+
};
|
|
48
|
+
this.getImageFolder();
|
|
49
|
+
this.getImageView();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
destroy$ = new Subject();
|
|
53
|
+
ngOnDestroy() {
|
|
54
|
+
this.destroy$.next(true);
|
|
55
|
+
this.destroy$.complete();
|
|
56
|
+
}
|
|
57
|
+
getImageFolder() {
|
|
58
|
+
this.service
|
|
59
|
+
.getFootfallDirectoryFolders(this.objData)
|
|
60
|
+
.pipe(takeUntil(this.destroy$))
|
|
61
|
+
?.subscribe({
|
|
62
|
+
next: (res) => {
|
|
63
|
+
if (res && res.code === 200) {
|
|
64
|
+
this.objectsArray = res?.data.folderData;
|
|
65
|
+
this.cd.detectChanges();
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
error: (err) => {
|
|
69
|
+
this.cd.detectChanges();
|
|
70
|
+
},
|
|
71
|
+
complete: () => { },
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
getImageView() {
|
|
75
|
+
this.objData.folderName = '3';
|
|
76
|
+
this.service
|
|
77
|
+
.getFootfallDirectory(this.objData)
|
|
78
|
+
.pipe(takeUntil(this.destroy$))
|
|
79
|
+
?.subscribe({
|
|
80
|
+
next: (res) => {
|
|
81
|
+
if (res && res.code === 200) {
|
|
82
|
+
this.imagesArrayData = res?.data.footfallData;
|
|
83
|
+
this.cd.detectChanges();
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
error: (err) => {
|
|
87
|
+
this.cd.detectChanges();
|
|
88
|
+
},
|
|
89
|
+
complete: () => { },
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
getimages(index) {
|
|
93
|
+
this.selectIndex = index;
|
|
94
|
+
}
|
|
95
|
+
selectedTimes(val) {
|
|
96
|
+
this.selectedTime = val;
|
|
97
|
+
}
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageDocComponent, deps: [{ token: i1.TrafficService }, { token: i2.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImageDocComponent, selector: "lib-image-doc", ngImport: i0, template: "<div class=\"card mt-3\">\r\n <div class=\"card-header my-3 px-0\">\r\n <div class=\"col-md-12\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Lorem ipsum dolor sit amet consectetur. Ac amet dui sit nibh suspendisse massa\r\n nulla dapibus.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of objectsArray;let i = index\">\r\n <div (click)=\"getimages(i)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj.folderName}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj.folderName}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of imageArray\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a (click)=\"selectedTimes(obj.time)\"\r\n [ngClass]=\"selectedTime === obj?.time ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.time}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.time ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.value?obj?.value:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"row img-traffic\">\r\n <div class=\"col-md-3 border-gray mx-2 px-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <img class=\"img-src\" src=\"assets/tango/Images/zone_imag.svg\" alt=\"\">\r\n <div class=\"row px-3 mb-2\">\r\n <div class=\"col-md-8\">\r\n <div class=\"py-2 img-doc-directory\">{{obj.tempId}} <span class=\"badge badge-light-success ms-2\">Conversion</span></div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-4 text-end\" >\r\n <div class=\"py-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1841_143300)\">\r\n <path d=\"M14.1986 5.33333V14H2.19857V5.33333M6.86523 8H9.5319M0.865234 2H15.5319V5.33333H0.865234V2Z\" stroke=\"#101828\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1841_143300\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}.nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.img-src{width:100%;height:210px;border-radius:.625rem}.img-traffic .col-md-3{width:24%!important}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.img-doc-directory{color:var(--Gray-900, #101828)!important;font-size:14px!important;font-weight:600;line-height:20px;text-decoration-line:underline}.img-doc-time{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:400;line-height:18px}.img-doc-value{color:var(--Gray-600, #475467);font-size:14px;font-style:normal;font-weight:600;line-height:20px}.overflow-x{overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageDocComponent, decorators: [{
|
|
102
|
+
type: Component,
|
|
103
|
+
args: [{ selector: 'lib-image-doc', template: "<div class=\"card mt-3\">\r\n <div class=\"card-header my-3 px-0\">\r\n <div class=\"col-md-12\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Lorem ipsum dolor sit amet consectetur. Ac amet dui sit nibh suspendisse massa\r\n nulla dapibus.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of objectsArray;let i = index\">\r\n <div (click)=\"getimages(i)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj.folderName}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj.folderName}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of imageArray\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a (click)=\"selectedTimes(obj.time)\"\r\n [ngClass]=\"selectedTime === obj?.time ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.time}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.time ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.value?obj?.value:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"row img-traffic\">\r\n <div class=\"col-md-3 border-gray mx-2 px-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <img class=\"img-src\" src=\"assets/tango/Images/zone_imag.svg\" alt=\"\">\r\n <div class=\"row px-3 mb-2\">\r\n <div class=\"col-md-8\">\r\n <div class=\"py-2 img-doc-directory\">{{obj.tempId}} <span class=\"badge badge-light-success ms-2\">Conversion</span></div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-4 text-end\" >\r\n <div class=\"py-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1841_143300)\">\r\n <path d=\"M14.1986 5.33333V14H2.19857V5.33333M6.86523 8H9.5319M0.865234 2H15.5319V5.33333H0.865234V2Z\" stroke=\"#101828\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1841_143300\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}.nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.img-src{width:100%;height:210px;border-radius:.625rem}.img-traffic .col-md-3{width:24%!important}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.img-doc-directory{color:var(--Gray-900, #101828)!important;font-size:14px!important;font-weight:600;line-height:20px;text-decoration-line:underline}.img-doc-time{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:400;line-height:18px}.img-doc-value{color:var(--Gray-600, #475467);font-size:14px;font-style:normal;font-weight:600;line-height:20px}.overflow-x{overflow-x:auto}\n"] }]
|
|
104
|
+
}], ctorParameters: () => [{ type: i1.TrafficService }, { type: i2.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtZG9jL2ltYWdlLWRvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWRvYy9pbWFnZS1kb2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNOUMsTUFBTSxPQUFPLGlCQUFpQjtJQXNCUjtJQUErQjtJQUN6QztJQXBCVixVQUFVLEdBQUc7UUFDWCxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQzVDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDNUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtRQUM1QyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQzVDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDNUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFl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bkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhZmZpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFmZmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1pbWFnZS1kb2MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1kb2MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9pbWFnZS1kb2MuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZURvY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgaW1hZ2VBcnJheSA9IFtcclxuICAgIHsgaWQ6IDEsIHRpbWU6ICcxMSBQTSAtIDEyIFBNJywgdmFsdWU6ICcyJyB9LFxyXG4gICAgeyBpZDogMiwgdGltZTogJzEyIFBNIC0gMDEgUE0nLCB2YWx1ZTogJzInIH0sXHJcbiAgICB7IGlkOiAzLCB0aW1lOiAnMDEgUE0gLSAwMiBQTScsIHZhbHVlOiAnMycgfSxcclxuICAgIHsgaWQ6IDQsIHRpbWU6ICcwMiBQTSAtIDAzIFBNJywgdmFsdWU6ICc0JyB9LFxyXG4gICAgeyBpZDogNSwgdGltZTogJzAzIFBNIC0gMDQgUE0nLCB2YWx1ZTogJzUnIH0sXHJcbiAgICB7IGlkOiA2LCB0aW1lOiAnMDQgUE0gLSAwNSBQTScsIHZhbHVlOiAnNicgfSxcclxuICAgIHsgaWQ6IDMsIHRpbWU6ICcwNSBQTSAtIDA2IFBNJywgdmFsdWU6ICczJyB9LFxyXG4gICAgeyBpZDogNCwgdGltZTogJzA2IFBNIC0gMDcgUE0nLCB2YWx1ZTogJzQnIH0sXHJcbiAgICB7IGlkOiA1LCB0aW1lOiAnMDcgUE0gLSAwOCBQTScsIHZhbHVlOiAnNScgfSxcclxuICAgIHsgaWQ6IDYsIHRpbWU6ICcwOCBQTSAtIDA5IFBNJywgdmFsdWU6ICc2JyB9XHJcbiAgXTtcclxuICBzZWxlY3RJbmRleDphbnk9MDtcclxuICBzZWxlY3RlZFRpbWU6YW55O1xyXG4gIG9iakRhdGE6IGFueTtcclxuICBvYmplY3RzQXJyYXk6IGFueTtcclxuICBpbWFnZXNBcnJheURhdGE6IGFueTtcclxuICBwcm9jZXNzVHlwZSA9J2Zvb3RmYWxsJ1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSB0aGlzLmltYWdlQXJyYXlbMF0udGltZTtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5vYmpEYXRhID0ge1xyXG4gICAgICBzdG9yZUlkOiBkYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICBjbGllbnRJZDpkYXRhLmNsaWVudCxcclxuICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMucHJvY2Vzc1R5cGUsXHJcbiAgICAgIGZvb3RmYWxsRGF0ZTp0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgfTtcclxuICAgIHRoaXMuZ2V0SW1hZ2VGb2xkZXIoKTtcclxuICAgIHRoaXMuZ2V0SW1hZ2VWaWV3KCk7XHJcbiAgXHJcbn0pXHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBnZXRJbWFnZUZvbGRlcigpe1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0Rm9vdGZhbGxEaXJlY3RvcnlGb2xkZXJzKHRoaXMub2JqRGF0YSlcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLm9iamVjdHNBcnJheSA9IHJlcz8uZGF0YS5mb2xkZXJEYXRhO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0SW1hZ2VWaWV3KCl7XHJcbiAgICB0aGlzLm9iakRhdGEuZm9sZGVyTmFtZSA9JzMnO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0Rm9vdGZhbGxEaXJlY3RvcnkodGhpcy5vYmpEYXRhKVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuaW1hZ2VzQXJyYXlEYXRhID0gcmVzPy5kYXRhLmZvb3RmYWxsRGF0YTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRpbWFnZXMoaW5kZXg6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RJbmRleCA9IGluZGV4XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZFRpbWVzKHZhbDphbnkpe1xyXG50aGlzLnNlbGVjdGVkVGltZSA9IHZhbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgbXQtM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG15LTMgcHgtMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1mb3JtLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQ2XCIgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDQ2IDQ2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMy44MzMzIDE0LjY2NjZMMTUuNSAyNC42NjY2SDIzTDIyLjE2NjcgMzEuMzMzM0wzMC41IDIxLjMzMzNIMjNMMjMuODMzMyAxNC42NjY2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4dC1vbmUgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0IGNvbnNlY3RldHVyLiBBYyBhbWV0IGR1aSBzaXQgbmliaCBzdXNwZW5kaXNzZSBtYXNzYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbGEgZGFwaWJ1cy48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNdWx0aXBsZVwiPlVwbG9hZCBtdWx0aXBsZSBzdG9yZXMgZm9yIGNvbmZpZ3VyYXRpb248L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjI5NSA3LjExNUMxOC42ODQ0IDYuNzI1NjQgMTguNjg0NCA2LjA5NDM2IDE4LjI5NSA1LjcwNUMxNy45MDU2IDUuMzE1NjQgMTcuMjc0NCA1LjMxNTY0IDE2Ljg4NSA1LjcwNUwxMiAxMC41OUw3LjExNSA1LjcwNUM2LjcyNTY0IDUuMzE1NjQgNi4wOTQzNiA1LjMxNTY0IDUuNzA1IDUuNzA1QzUuMzE1NjQgNi4wOTQzNiA1LjMxNTY0IDYuNzI1NjQgNS43MDUgNy4xMTVMMTAuNTkgMTJMNS43MDUgMTYuODg1QzUuMzE1NjQgMTcuMjc0NCA1LjMxNTY0IDE3LjkwNTYgNS43MDUgMTguMjk1QzYuMDk0MzYgMTguNjg0NCA2LjcyNTY0IDE4LjY4NDQgNy4xMTUgMTguMjk1TDEyIDEzLjQxTDE2Ljg4NSAxOC4yOTVDMTcuMjc0NCAxOC42ODQ0IDE3LjkwNTYgMTguNjg0NCAxOC4yOTUgMTguMjk1QzE4LjY4NDQgMTcuOTA1NiAxOC42ODQ0IDE3LjI3NDQgMTguMjk1IDE2Ljg4NUwxMy40MSAxMkwxOC4yOTUgNy4xMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xIG10LTUgdGV4dC1jZW50ZXJcIiAqbmdGb3I9XCJsZXQgb2JqIG9mIG9iamVjdHNBcnJheTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJnZXRpbWFnZXMoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaSA9PT0gc2VsZWN0SW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTcgNTZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjE1NDI5N1wiIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHJ4PVwiMTJcIiBmaWxsPVwiIzMzQjVGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOS44MjE2IDM2LjE2NjdDMzkuODIxNiAzNi43ODU1IDM5LjU3NTggMzcuMzc5IDM5LjEzODIgMzcuODE2NkMzOC43MDA2IDM4LjI1NDIgMzguMTA3MSAzOC41IDM3LjQ4ODMgMzguNUgxOC44MjE2QzE4LjIwMjggMzguNSAxNy42MDkzIDM4LjI1NDIgMTcuMTcxNyAzNy44MTY2QzE2LjczNDEgMzcuMzc5IDE2LjQ4ODMgMzYuNzg1NSAxNi40ODgzIDM2LjE2NjdWMTkuODMzM0MxNi40ODgzIDE5LjIxNDUgMTYuNzM0MSAxOC42MjEgMTcuMTcxNyAxOC4xODM0QzE3LjYwOTMgMTcuNzQ1OCAxOC4yMDI4IDE3LjUgMTguODIxNiAxNy41SDI0LjY1NDlMMjYuOTg4MyAyMUgzNy40ODgzQzM4LjEwNzEgMjEgMzguNzAwNiAyMS4yNDU4IDM5LjEzODIgMjEuNjgzNEMzOS41NzU4IDIyLjEyMSAzOS44MjE2IDIyLjcxNDUgMzkuODIxNiAyMy4zMzMzVjM2LjE2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIyLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG10LTJcIj57e29iai5mb2xkZXJOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaSAhPT0gc2VsZWN0SW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTcgNTZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjQ2Mjg5MVwiIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHJ4PVwiMTJcIiBmaWxsPVwiI0VBRjhGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00MC4xMzAyIDM2LjE2NjdDNDAuMTMwMiAzNi43ODU1IDM5Ljg4NDQgMzcuMzc5IDM5LjQ0NjggMzcuODE2NkMzOS4wMDkyIDM4LjI1NDIgMzguNDE1NyAzOC41IDM3Ljc5NjkgMzguNUgxOS4xMzAyQzE4LjUxMTQgMzguNSAxNy45MTc5IDM4LjI1NDIgMTcuNDgwMyAzNy44MTY2QzE3LjA0MjcgMzcuMzc5IDE2Ljc5NjkgMzYuNzg1NSAxNi43OTY5IDM2LjE2NjdWMTkuODMzM0MxNi43OTY5IDE5LjIxNDUgMTcuMDQyNyAxOC42MjEgMTcuNDgwMyAxOC4xODM0QzE3LjkxNzkgMTcuNzQ1OCAxOC41MTE0IDE3LjUgMTkuMTMwMiAxNy41SDI0Ljk2MzVMMjcuMjk2OSAyMUgzNy43OTY5QzM4LjQxNTcgMjEgMzkuMDA5MiAyMS4yNDU4IDM5LjQ0NjggMjEuNjgzNEMzOS44ODQ0IDIyLjEyMSA0MC4xMzAyIDIyLjcxNDUgNDAuMTMwMiAyMy4zMzMzVjM2LjE2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjIuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtMlwiPnt7b2JqLmZvbGRlck5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBtYi0yIHctMTAwIG92ZXJmbG93LXhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHRleHQtbm93cmFwXCIgKm5nRm9yPVwibGV0IG9iaiBvZiBpbWFnZUFycmF5XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2VsZWN0ZWRUaW1lcyhvYmoudGltZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGltZSA9PT0gb2JqPy50aW1lID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG14LTMgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8udGltZX19PHNwYW4gY2xhc3M9XCJteC0yIFwiIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGltZSA9PT0gb2JqPy50aW1lID8gJ2JhZGdlLW51bS1wcmltYXJ5JyA6J2JhZGdlLW51bS1tdXRlZCdcIj57e29iaj8udmFsdWU/b2JqPy52YWx1ZTowfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGltZy10cmFmZmljXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBib3JkZXItZ3JheSBteC0yIHB4LTIgIG10LTVcIiAqbmdGb3I9XCJsZXQgb2JqIG9mIGltYWdlc0FycmF5RGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2VzL3pvbmVfaW1hZy5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtMyBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yIGltZy1kb2MtZGlyZWN0b3J5XCI+e3tvYmoudGVtcElkfX0gPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG1zLTJcIj5Db252ZXJzaW9uPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBpbWctZG9jLXRpbWVcIj5FbnRyeSBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yIGltZy1kb2MtdGltZVwiPkV4aXQgVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBpbWctZG9jLXRpbWVcIj5Ub3RhbCBUaW1lIFNwZW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IHRleHQtZW5kXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODQxXzE0MzMwMClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE0LjE5ODYgNS4zMzMzM1YxNEgyLjE5ODU3VjUuMzMzMzNNNi44NjUyMyA4SDkuNTMxOU0wLjg2NTIzNCAySDE1LjUzMTlWNS4zMzMzM0gwLjg2NTIzNFYyWlwiIHN0cm9rZT1cIiMxMDE4MjhcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NDFfMTQzMzAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTk5MjE5KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yIGltZy1kb2MtdmFsdWVcIj57e29iai50aW1lU3BlbnQuZW50cnlUaW1lfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yIGltZy1kb2MtdmFsdWVcIj57e29iai50aW1lU3BlbnQuZXhpdFRpbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBpbWctZG9jLXZhbHVlXCI+e3tvYmoudGltZVNwZW50LnRvdGFsVGltZVNwZW50fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+Il19
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, HostListener, Input, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
const SELECT_CONTROL_VALUE_ACCESSOR = {
|
|
6
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7
|
+
useExisting: forwardRef(() => ReactiveSelectComponent),
|
|
8
|
+
multi: true,
|
|
9
|
+
};
|
|
10
|
+
export class ReactiveSelectComponent {
|
|
11
|
+
onTouched;
|
|
12
|
+
onChanged;
|
|
13
|
+
isDisabled;
|
|
14
|
+
idField;
|
|
15
|
+
nameField;
|
|
16
|
+
label;
|
|
17
|
+
data;
|
|
18
|
+
isOpened = false;
|
|
19
|
+
selected = null;
|
|
20
|
+
selectedId;
|
|
21
|
+
writeValue(val) {
|
|
22
|
+
this.selectedId = val;
|
|
23
|
+
this.selected = this.data.filter((item) => item?.[this.idField] === val)[0];
|
|
24
|
+
}
|
|
25
|
+
registerOnChange(fn) {
|
|
26
|
+
this.onChanged = fn;
|
|
27
|
+
}
|
|
28
|
+
registerOnTouched(fn) {
|
|
29
|
+
this.onTouched = fn;
|
|
30
|
+
}
|
|
31
|
+
setDisabledState(isDisabled) {
|
|
32
|
+
this.isDisabled = isDisabled;
|
|
33
|
+
}
|
|
34
|
+
onSelect(item) {
|
|
35
|
+
this.onTouched();
|
|
36
|
+
this.selected = item;
|
|
37
|
+
this.selectedId = item?.[this.idField];
|
|
38
|
+
this.isOpened = false;
|
|
39
|
+
this.onChanged(this.selectedId);
|
|
40
|
+
}
|
|
41
|
+
onClick(event) {
|
|
42
|
+
if (!this.isDisabled) {
|
|
43
|
+
const targetElement = event.target;
|
|
44
|
+
if (!this.isComponentClicked(targetElement)) {
|
|
45
|
+
this.isOpened = false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
isComponentClicked(targetElement) {
|
|
50
|
+
const parentElement = targetElement.parentElement;
|
|
51
|
+
if (parentElement) {
|
|
52
|
+
const clickedOnComponent = parentElement.classList.contains('custom-select');
|
|
53
|
+
if (clickedOnComponent) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return this.isComponentClicked(parentElement);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReactiveSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: { idField: "idField", nameField: "nameField", label: "label", data: "data" }, host: { listeners: { "document:click": "onClick($event)" } }, providers: [SELECT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"custom-select w-200px\">\r\n <div class=\"form-group\">\r\n <label *ngIf=\"label\" class=\"form-label w-100\">{{label}}</label>\r\n <div class=\"position-relative\">\r\n <div (click)=\"isOpened = !isOpened;\" [ngClass]=\"isDisabled ? 'disable' : ''\" class=\"form-select dropselect w-100\">\r\n {{selected?.[nameField]}}</div>\r\n <div *ngIf=\"isOpened\" class=\"card py-2 w-100 position-absolute end-0 z-1 drop-list\">\r\n <ul class=\"list-unstyled mb-2 w-100\">\r\n <li *ngFor=\"let item of data\" (click)=\"onSelect(item)\"\r\n [ngClass]=\"item?.[idField] === selected?.[idField] ? 'active' : ''\"\r\n class=\"text px-5 items cursor-pointer py-4 w-100\">\r\n {{item?.[nameField]}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-select .items:hover,.custom-select .tems.focus,.custom-select .items.active,.custom-select .camera.focus-visible{background:#eaf8ff!important}.custom-select .drop-list{max-height:300px;overflow-y:auto}.custom-select .dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:18px;height:40px!important;cursor:default;white-space:nowrap}.custom-select .text{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.custom-select .disable{pointer-events:none;background-color:#f9fafb!important}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background:#eaf8ff!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReactiveSelectComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'lib-reactive-select', providers: [SELECT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"custom-select w-200px\">\r\n <div class=\"form-group\">\r\n <label *ngIf=\"label\" class=\"form-label w-100\">{{label}}</label>\r\n <div class=\"position-relative\">\r\n <div (click)=\"isOpened = !isOpened;\" [ngClass]=\"isDisabled ? 'disable' : ''\" class=\"form-select dropselect w-100\">\r\n {{selected?.[nameField]}}</div>\r\n <div *ngIf=\"isOpened\" class=\"card py-2 w-100 position-absolute end-0 z-1 drop-list\">\r\n <ul class=\"list-unstyled mb-2 w-100\">\r\n <li *ngFor=\"let item of data\" (click)=\"onSelect(item)\"\r\n [ngClass]=\"item?.[idField] === selected?.[idField] ? 'active' : ''\"\r\n class=\"text px-5 items cursor-pointer py-4 w-100\">\r\n {{item?.[nameField]}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-select .items:hover,.custom-select .tems.focus,.custom-select .items.active,.custom-select .camera.focus-visible{background:#eaf8ff!important}.custom-select .drop-list{max-height:300px;overflow-y:auto}.custom-select .dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:18px;height:40px!important;cursor:default;white-space:nowrap}.custom-select .text{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.custom-select .disable{pointer-events:none;background-color:#f9fafb!important}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background:#eaf8ff!important}\n"] }]
|
|
68
|
+
}], propDecorators: { idField: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], nameField: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], label: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], data: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], onClick: [{
|
|
77
|
+
type: HostListener,
|
|
78
|
+
args: ['document:click', ['$event']]
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvcmVhY3RpdmUtc2VsZWN0L3JlYWN0aXZlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3JlYWN0aXZlLXNlbGVjdC9yZWFjdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFZLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6RSxNQUFNLDZCQUE2QixHQUFhO0lBQzlDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFRRixNQUFNLE9BQU8sdUJBQXVCO0lBRTFCLFNBQVMsQ0FBVztJQUNwQixTQUFTLENBQVc7SUFDbEIsVUFBVSxDQUFVO0lBQ3JCLE9BQU8sQ0FBUTtJQUNmLFNBQVMsQ0FBUTtJQUNqQixLQUFLLENBQVE7SUFDYixJQUFJLENBQUs7SUFDUixRQUFRLEdBQVksS0FBSyxDQUFBO0lBQ3pCLFFBQVEsR0FBK0IsSUFBSSxDQUFBO0lBQzNDLFVBQVUsQ0FBaUI7SUFFckMsVUFBVSxDQUFDLEdBQW9CO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUF3QixFQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEcsQ0FBQztJQUNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUNELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO0lBRTlCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBeUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFHRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7WUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDdkI7U0FDRjtJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxhQUEwQjtRQUMzQyxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2xELElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0UsSUFBSSxrQkFBa0IsRUFBRTtnQkFDdEIsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMvQztTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3dHQXpEVSx1QkFBdUI7NEZBQXZCLHVCQUF1QixrTUFGdkIsQ0FBQyw2QkFBNkIsQ0FBQywwQkNiNUMsNjhCQWlCTTs7NEZERk8sdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixhQUdwQixDQUFDLDZCQUE2QixDQUFDOzhCQU9qQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQTZCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFByb3ZpZGVyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmNvbnN0IFNFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBQcm92aWRlciA9IHtcclxuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZWFjdGl2ZVNlbGVjdENvbXBvbmVudCksXHJcbiAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yZWFjdGl2ZS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFjdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZWFjdGl2ZS1zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczogW1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVhY3RpdmVTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaGVkOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIG9uQ2hhbmdlZDogRnVuY3Rpb247XHJcbiAgcHJvdGVjdGVkIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaWRGaWVsZDogc3RyaW5nXHJcbiAgQElucHV0KCkgbmFtZUZpZWxkOiBzdHJpbmdcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nXHJcbiAgQElucHV0KCkgZGF0YTogYW55XHJcbiAgcHJvdGVjdGVkIGlzT3BlbmVkOiBib29sZWFuID0gZmFsc2VcclxuICBwcm90ZWN0ZWQgc2VsZWN0ZWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsID0gbnVsbFxyXG4gIHByb3RlY3RlZCBzZWxlY3RlZElkOiBzdHJpbmcgfCBudW1iZXJcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWw6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZElkID0gdmFsXHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5kYXRhLmZpbHRlcigoaXRlbTpSZWNvcmQ8c3RyaW5nLCBhbnk+KT0+IGl0ZW0/Llt0aGlzLmlkRmllbGRdID09PSB2YWwpWzBdICAgIFxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VkID0gZm5cclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkXHJcblxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3QoaXRlbTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKVxyXG4gICAgdGhpcy5zZWxlY3RlZCA9IGl0ZW1cclxuICAgIHRoaXMuc2VsZWN0ZWRJZCA9IGl0ZW0/Llt0aGlzLmlkRmllbGRdICAgIFxyXG4gICAgdGhpcy5pc09wZW5lZCA9IGZhbHNlXHJcbiAgICB0aGlzLm9uQ2hhbmdlZCh0aGlzLnNlbGVjdGVkSWQpXHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKCF0aGlzLmlzQ29tcG9uZW50Q2xpY2tlZCh0YXJnZXRFbGVtZW50KSkge1xyXG4gICAgICAgIHRoaXMuaXNPcGVuZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNDb21wb25lbnRDbGlja2VkKHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgY2xpY2tlZE9uQ29tcG9uZW50ID0gcGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2N1c3RvbS1zZWxlY3QnKTtcclxuICAgICAgaWYgKGNsaWNrZWRPbkNvbXBvbmVudCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzQ29tcG9uZW50Q2xpY2tlZChwYXJlbnRFbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjdXN0b20tc2VsZWN0IHctMjAwcHhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImZvcm0tbGFiZWwgdy0xMDBcIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IChjbGljayk9XCJpc09wZW5lZCA9ICFpc09wZW5lZDtcIiBbbmdDbGFzc109XCJpc0Rpc2FibGVkID8gJ2Rpc2FibGUnIDogJydcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGRyb3BzZWxlY3Qgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWQ/LltuYW1lRmllbGRdfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzT3BlbmVkXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xIGRyb3AtbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0yIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFcIiAoY2xpY2spPVwib25TZWxlY3QoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtPy5baWRGaWVsZF0gPT09IHNlbGVjdGVkPy5baWRGaWVsZF0gPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW0/LltuYW1lRmllbGRdfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "tango-app-ui-global";
|
|
4
|
+
import * as i2 from "../traffic-analysis/traffic-analysis.component";
|
|
3
5
|
export class TangoAnalyseTrafficComponent {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
pageInfo;
|
|
7
|
+
constructor(pageInfo) {
|
|
8
|
+
this.pageInfo = pageInfo;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.setPageData();
|
|
12
|
+
}
|
|
13
|
+
setPageData() {
|
|
14
|
+
this.pageInfo.setTitle('Traffic');
|
|
15
|
+
this.pageInfo.setDescription('To optimize and improve existing algorithm');
|
|
16
|
+
this.pageInfo.setBreadcrumbs([
|
|
17
|
+
{ title: 'Analyze', path: '/manage/traffic', isActive: false, isSeparator: false },
|
|
18
|
+
{ title: 'Analyze', path: '/manage/traffic', isActive: false, isSeparator: true },
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseTrafficComponent, deps: [{ token: i1.PageInfoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAnalyseTrafficComponent, selector: "lib-tango-analyse-traffic", ngImport: i0, template: "<lib-traffic-analysis></lib-traffic-analysis>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.TrafficAnalysisComponent, selector: "lib-traffic-analysis" }] });
|
|
6
23
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseTrafficComponent, decorators: [{
|
|
8
25
|
type: Component,
|
|
9
|
-
args: [{ selector: 'lib-tango-analyse-traffic', template: "<
|
|
10
|
-
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
args: [{ selector: 'lib-tango-analyse-traffic', template: "<lib-traffic-analysis></lib-traffic-analysis>\r\n" }]
|
|
27
|
+
}], ctorParameters: () => [{ type: i1.PageInfoService }] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS10cmFmZmljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYW5hbHlzZS10cmFmZmljL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy90YW5nby1hbmFseXNlLXRyYWZmaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFsRCxNQUFNLE9BQU8sNEJBQTRCO0lBR25CO0lBQXBCLFlBQW9CLFFBQXdCO1FBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQzVDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsNENBQTRDLENBQUMsQ0FBQTtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUM3QixFQUFDLEtBQUssRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQztZQUMvRSxFQUFDLEtBQUssRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQztTQUM3RSxDQUFDLENBQUE7SUFDSixDQUFDO3dHQWpCVSw0QkFBNEI7NEZBQTVCLDRCQUE0QixpRUNSekMsbURBQ0E7OzRGRE9hLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhbmdvLWFuYWx5c2UtdHJhZmZpYycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhbmdvQW5hbHlzZVRyYWZmaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlSW5mbzpQYWdlSW5mb1NlcnZpY2Upe1xyXG4gIH1cclxuICBcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0UGFnZURhdGEoKVxyXG4gIH1cclxuXHJcbiAgc2V0UGFnZURhdGEoKXtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ1RyYWZmaWMnKVxyXG4gICAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbignVG8gb3B0aW1pemUgYW5kIGltcHJvdmUgZXhpc3RpbmcgYWxnb3JpdGhtJylcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAge3RpdGxlOidBbmFseXplJywgcGF0aDogJy9tYW5hZ2UvdHJhZmZpYycsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlfSxcclxuICAgIHt0aXRsZTonQW5hbHl6ZScsIHBhdGg6ICcvbWFuYWdlL3RyYWZmaWMnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlfSxcclxuICAgIF0pXHJcbiAgfVxyXG59XHJcbiIsIjxsaWItdHJhZmZpYy1hbmFseXNpcz48L2xpYi10cmFmZmljLWFuYWx5c2lzPlxyXG4iXX0=
|