tango-app-ui-analyse-traffic 3.0.0-dev → 3.0.1-dev
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/tango-analyse-traffic/tango-analyse-traffic.component.mjs +4 -3
- package/esm2022/lib/components/traffic-analysis/traffic-analysis.component.mjs +155 -0
- package/esm2022/lib/tango-analyse-traffic.module.mjs +7 -3
- package/fesm2022/tango-app-ui-analyse-traffic.mjs +159 -4
- package/fesm2022/tango-app-ui-analyse-traffic.mjs.map +1 -1
- package/lib/components/traffic-analysis/traffic-analysis.component.d.ts +13 -0
- package/lib/tango-analyse-traffic.module.d.ts +5 -3
- package/package.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../traffic-analysis/traffic-analysis.component";
|
|
3
4
|
export class TangoAnalyseTrafficComponent {
|
|
4
5
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TangoAnalyseTrafficComponent, selector: "lib-tango-analyse-traffic", ngImport: i0, template: "<
|
|
6
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TangoAnalyseTrafficComponent, selector: "lib-tango-analyse-traffic", ngImport: i0, template: "<lib-traffic-analysis></lib-traffic-analysis>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.TrafficAnalysisComponent, selector: "lib-traffic-analysis" }] });
|
|
6
7
|
}
|
|
7
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficComponent, decorators: [{
|
|
8
9
|
type: Component,
|
|
9
|
-
args: [{ selector: 'lib-tango-analyse-traffic', template: "<
|
|
10
|
+
args: [{ selector: 'lib-tango-analyse-traffic', template: "<lib-traffic-analysis></lib-traffic-analysis>\r\n" }]
|
|
10
11
|
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS10cmFmZmljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYW5hbHlzZS10cmFmZmljL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy90YW5nby1hbmFseXNlLXRyYWZmaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFDLE1BQU0sT0FBTyw0QkFBNEI7d0dBQTVCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLGlFQ1B6QyxtREFDQTs7NEZETWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFuZ28tYW5hbHlzZS10cmFmZmljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFuZ28tYW5hbHlzZS10cmFmZmljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYW5hbHlzZS10cmFmZmljLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFuZ29BbmFseXNlVHJhZmZpY0NvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxsaWItdHJhZmZpYy1hbmFseXNpcz48L2xpYi10cmFmZmljLWFuYWx5c2lzPlxyXG4iXX0=
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as am5 from "@amcharts/amcharts5";
|
|
3
|
+
import * as am5xy from "@amcharts/amcharts5/xy";
|
|
4
|
+
import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
|
|
5
|
+
import am5themes_Responsive from "@amcharts/amcharts5/themes/Responsive";
|
|
6
|
+
import * as am5percent from "@amcharts/amcharts5/percent";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class TrafficAnalysisComponent {
|
|
9
|
+
zone;
|
|
10
|
+
lineroot;
|
|
11
|
+
constructor(zone) {
|
|
12
|
+
this.zone = zone;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.zone.runOutsideAngular(() => {
|
|
16
|
+
this.lineCharts();
|
|
17
|
+
this.heatMap();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
this.zone.runOutsideAngular(() => {
|
|
22
|
+
if (this.lineroot) {
|
|
23
|
+
this.lineroot.dispose();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
lineCharts() {
|
|
28
|
+
let root = am5.Root.new("chartdiv2");
|
|
29
|
+
root.setThemes([
|
|
30
|
+
am5themes_Animated.new(root),
|
|
31
|
+
am5themes_Responsive.new(root)
|
|
32
|
+
]);
|
|
33
|
+
let chart = root.container.children.push(am5xy.XYChart.new(root, {
|
|
34
|
+
panX: true,
|
|
35
|
+
panY: true,
|
|
36
|
+
wheelX: "panX",
|
|
37
|
+
wheelY: "zoomX",
|
|
38
|
+
pinchZoomX: true
|
|
39
|
+
}));
|
|
40
|
+
// Add data
|
|
41
|
+
let data = [{
|
|
42
|
+
date: new Date(2012, 6, 27).getTime(),
|
|
43
|
+
value: 13
|
|
44
|
+
}, {
|
|
45
|
+
date: new Date(2012, 6, 28).getTime(),
|
|
46
|
+
value: 11
|
|
47
|
+
}, {
|
|
48
|
+
date: new Date(2012, 6, 29).getTime(),
|
|
49
|
+
value: 5
|
|
50
|
+
}, {
|
|
51
|
+
date: new Date(2012, 7, 1).getTime(),
|
|
52
|
+
value: 6
|
|
53
|
+
}, {
|
|
54
|
+
date: new Date(2012, 7, 2).getTime(),
|
|
55
|
+
value: 1
|
|
56
|
+
}, {
|
|
57
|
+
date: new Date(2012, 7, 3).getTime(),
|
|
58
|
+
value: 25
|
|
59
|
+
}, {
|
|
60
|
+
date: new Date(2012, 7, 4).getTime(),
|
|
61
|
+
value: 26
|
|
62
|
+
}, {
|
|
63
|
+
date: new Date(2012, 7, 5).getTime(),
|
|
64
|
+
value: 21
|
|
65
|
+
}, {
|
|
66
|
+
date: new Date(2012, 7, 6).getTime(),
|
|
67
|
+
value: 25
|
|
68
|
+
}, {
|
|
69
|
+
date: new Date(2012, 7, 7).getTime(),
|
|
70
|
+
value: 26
|
|
71
|
+
}, {
|
|
72
|
+
date: new Date(2012, 7, 8).getTime(),
|
|
73
|
+
value: 11
|
|
74
|
+
}, {
|
|
75
|
+
date: new Date(2012, 7, 9).getTime(),
|
|
76
|
+
value: 15
|
|
77
|
+
}, {
|
|
78
|
+
date: new Date(2012, 7, 10).getTime(),
|
|
79
|
+
value: 16
|
|
80
|
+
}];
|
|
81
|
+
let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {
|
|
82
|
+
behavior: "none"
|
|
83
|
+
}));
|
|
84
|
+
cursor.lineY.set("visible", false);
|
|
85
|
+
// Create axes
|
|
86
|
+
let xAxis = chart.xAxes.push(am5xy.DateAxis.new(root, {
|
|
87
|
+
baseInterval: { timeUnit: "day", count: 1 },
|
|
88
|
+
renderer: am5xy.AxisRendererX.new(root, {})
|
|
89
|
+
}));
|
|
90
|
+
xAxis.get("renderer").grid.template.set("forceHidden", true);
|
|
91
|
+
xAxis.get("renderer").labels.template.set("forceHidden", true);
|
|
92
|
+
let yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {
|
|
93
|
+
renderer: am5xy.AxisRendererY.new(root, {})
|
|
94
|
+
}));
|
|
95
|
+
yAxis.get("renderer").grid.template.set("forceHidden", true);
|
|
96
|
+
yAxis.get("renderer").labels.template.set("forceHidden", true);
|
|
97
|
+
// Create series
|
|
98
|
+
let series = chart.series.push(am5xy.LineSeries.new(root, {
|
|
99
|
+
name: "Series",
|
|
100
|
+
xAxis: xAxis,
|
|
101
|
+
yAxis: yAxis,
|
|
102
|
+
valueYField: "value",
|
|
103
|
+
valueXField: "date",
|
|
104
|
+
stroke: am5.color(0x00A3FF) // Set the line color here (red in this case)
|
|
105
|
+
}));
|
|
106
|
+
series.data.setAll(data);
|
|
107
|
+
series.set("tooltip", am5.Tooltip.new(root, {
|
|
108
|
+
labelText: "{valueY}",
|
|
109
|
+
getFillFromSprite: false,
|
|
110
|
+
background: am5.Rectangle.new(root, {
|
|
111
|
+
fill: am5.color(0xDAF1FF) // Set the tooltip background color here (blue in this case)
|
|
112
|
+
}),
|
|
113
|
+
}));
|
|
114
|
+
this.lineroot = root;
|
|
115
|
+
}
|
|
116
|
+
heatMap() {
|
|
117
|
+
let root = am5.Root.new("chartdiv");
|
|
118
|
+
root.setThemes([am5themes_Animated.new(root)]);
|
|
119
|
+
let chart = root.container.children.push(am5percent.SlicedChart.new(root, {
|
|
120
|
+
layout: root.verticalLayout
|
|
121
|
+
}));
|
|
122
|
+
let series = chart.series.push(am5percent.FunnelSeries.new(root, {
|
|
123
|
+
alignLabels: false,
|
|
124
|
+
orientation: "horizontal",
|
|
125
|
+
valueField: "value",
|
|
126
|
+
categoryField: "category",
|
|
127
|
+
bottomRatio: 1
|
|
128
|
+
}));
|
|
129
|
+
series.data.setAll([
|
|
130
|
+
{ value: 10, category: "One" },
|
|
131
|
+
{ value: 9, category: "Two" },
|
|
132
|
+
{ value: 6, category: "Three" },
|
|
133
|
+
{ value: 5, category: "Four" },
|
|
134
|
+
{ value: 4, category: "Five" },
|
|
135
|
+
{ value: 3, category: "Six" },
|
|
136
|
+
{ value: 1, category: "Seven" }
|
|
137
|
+
]);
|
|
138
|
+
series.appear();
|
|
139
|
+
let legend = chart.children.push(am5.Legend.new(root, {
|
|
140
|
+
centerX: am5.p50,
|
|
141
|
+
x: am5.p50,
|
|
142
|
+
marginTop: 15,
|
|
143
|
+
marginBottom: 15
|
|
144
|
+
}));
|
|
145
|
+
legend.data.setAll(series.dataItems);
|
|
146
|
+
chart.appear(1000, 100);
|
|
147
|
+
}
|
|
148
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TrafficAnalysisComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TrafficAnalysisComponent, selector: "lib-traffic-analysis", ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <div class=\"card card-border\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">603</span>\r\n <span class=\"sub-header mb-2\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2410_4716)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\"\r\n stroke=\"#EAF8FF\" />\r\n <path\r\n d=\"M27.5 26.5H18.3333C15.5833 26.5 14.2083 26.5 13.3542 25.6458C12.5 24.7917 12.5 23.4167 12.5 20.6667V11.5M15 19H15.0075M17.4992 19H17.5058M19.9975 19H20.0042M22.4958 19H22.5033M24.9942 19H25.0017M27.4925 19H27.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M15 14.8333C15.5608 13.8983 16.3225 13.1667 17.4942 13.1667C22.4467 13.1667 19.6625 23.1667 24.985 23.1667C26.165 23.1667 26.9217 22.43 27.5 21.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2410_4716\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2410_4716\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_2410_4716\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">72%</span>\r\n <span class=\"sub-header mb-2\">Conversion Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">22%</span>\r\n <span class=\"sub-header mb-2\">Bounced Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\"\r\n stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: ["#chartdiv2{width:100%;height:100px}#chartdiv{width:100%;height:400px}.ellipse1{border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.card-border{padding:8px;border-radius:12px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.card-footer{border-top:none!important}.percent-value{color:var(--Gray-500, #667085)!important;text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:18px}.week-font{color:var(--Gray-800, #1D2939)!important;font-size:12px;font-style:normal;font-weight:400;line-height:18px}\n"] });
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TrafficAnalysisComponent, decorators: [{
|
|
152
|
+
type: Component,
|
|
153
|
+
args: [{ selector: 'lib-traffic-analysis', template: "<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <div class=\"card card-border\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">603</span>\r\n <span class=\"sub-header mb-2\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2410_4716)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\"\r\n stroke=\"#EAF8FF\" />\r\n <path\r\n d=\"M27.5 26.5H18.3333C15.5833 26.5 14.2083 26.5 13.3542 25.6458C12.5 24.7917 12.5 23.4167 12.5 20.6667V11.5M15 19H15.0075M17.4992 19H17.5058M19.9975 19H20.0042M22.4958 19H22.5033M24.9942 19H25.0017M27.4925 19H27.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M15 14.8333C15.5608 13.8983 16.3225 13.1667 17.4942 13.1667C22.4467 13.1667 19.6625 23.1667 24.985 23.1667C26.165 23.1667 26.9217 22.43 27.5 21.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2410_4716\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2410_4716\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_2410_4716\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">72%</span>\r\n <span class=\"sub-header mb-2\">Conversion Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">22%</span>\r\n <span class=\"sub-header mb-2\">Bounced Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\"\r\n stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: ["#chartdiv2{width:100%;height:100px}#chartdiv{width:100%;height:400px}.ellipse1{border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.card-border{padding:8px;border-radius:12px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.card-footer{border-top:none!important}.percent-value{color:var(--Gray-500, #667085)!important;text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:18px}.week-font{color:var(--Gray-800, #1D2939)!important;font-size:12px;font-style:normal;font-weight:400;line-height:18px}\n"] }]
|
|
154
|
+
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxrQkFBa0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLG9CQUFvQixNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7O0FBTzFELE1BQU0sT0FBTyx3QkFBd0I7SUFHZjtJQURaLFFBQVEsQ0FBVztJQUMzQixZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFHLENBQUM7SUFFcEMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2Isa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUM1QixvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1NBQy9CLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDL0QsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE9BQU87WUFDZixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUMsQ0FBQztRQUVKLFdBQVc7UUFDWCxJQUFJLElBQUksR0FBRyxDQUFDO2dCQUNWLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsS0FBSyxFQUFFLENBQUM7YUFDVCxFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLENBQUM7YUFDVCxFQUFDO2dCQUNBLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLENBQUM7YUFDVCxFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFDO2dCQUNBLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFDO2dCQUNBLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7YUFDVixFQUFFO2dCQUNELElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDcEMsS0FB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Q2hDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUdoQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDOUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxHQUFHLENBQUMsR0FBRztZQUNoQixDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUc7WUFDVixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7d0dBN0pZLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDREQ1pyQyxvcVhBa0xBOzs0RkR0S2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBhbTUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czVcIjtcclxuaW1wb3J0ICogYXMgYW01eHkgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUveHlcIjtcclxuaW1wb3J0IGFtNXRoZW1lc19BbmltYXRlZCBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS90aGVtZXMvQW5pbWF0ZWRcIjtcclxuaW1wb3J0IGFtNXRoZW1lc19SZXNwb25zaXZlIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9SZXNwb25zaXZlXCI7XHJcbmltcG9ydCAqIGFzIGFtNXBlcmNlbnQgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvcGVyY2VudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdHJhZmZpYy1hbmFseXNpcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYWZmaWMtYW5hbHlzaXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90cmFmZmljLWFuYWx5c2lzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhZmZpY0FuYWx5c2lzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgbGluZXJvb3Q6IGFtNS5Sb290O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHRoaXMubGluZUNoYXJ0cygpO1xyXG4gICAgICB0aGlzLmhlYXRNYXAoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5saW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMubGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbGluZUNoYXJ0cygpe1xyXG4gICAgbGV0IHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJjaGFydGRpdjJcIik7XHJcbiAgICByb290LnNldFRoZW1lcyhbXHJcbiAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcocm9vdCksXHJcbiAgICAgIGFtNXRoZW1lc19SZXNwb25zaXZlLm5ldyhyb290KVxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgcGFuWTogdHJ1ZSxcclxuICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgIHBpbmNoWm9vbVg6IHRydWVcclxuICAgIH0pKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSBbe1xyXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgyMDEyLCA2LCAyNykuZ2V0VGltZSgpLFxyXG4gICAgICB2YWx1ZTogMTNcclxuICAgIH0sIHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoMjAxMiwgNiwgMjgpLmdldFRpbWUoKSxcclxuICAgICAgdmFsdWU6IDExXHJcbiAgICB9LCB7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKDIwMTIsIDYsIDI5KS5nZXRUaW1lKCksXHJcbiAgICAgIHZhbHVlOiA1XHJcbiAgICB9LCB7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKDIwMTIsIDcsIDEpLmdldFRpbWUoKSxcclxuICAgICAgdmFsdWU6IDZcclxuICAgIH0se1xyXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgyMDEyLCA3LCAyKS5nZXRUaW1lKCksXHJcbiAgICAgIHZhbHVlOiAxXHJcbiAgICB9LCB7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKDIwMTIsIDcsIDMpLmdldFRpbWUoKSxcclxuICAgICAgdmFsdWU6IDI1XHJcbiAgICB9LCB7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKDIwMTIsIDcsIDQpLmdldFRpbWUoKSxcclxuICAgICAgdmFsdWU6IDI2XHJcbiAgICB9LHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoMjAxMiwgNywgNSkuZ2V0VGltZSgpLFxyXG4gICAgICB2YWx1ZTogMjFcclxuICAgIH0sIHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoMjAxMiwgNywgNikuZ2V0VGltZSgpLFxyXG4gICAgICB2YWx1ZTogMjVcclxuICAgIH0sIHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoMjAxMiwgNywgNykuZ2V0VGltZSgpLFxyXG4gICAgICB2YWx1ZTogMjZcclxuICAgIH0se1xyXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgyMDEyLCA3LCA4KS5nZXRUaW1lKCksXHJcbiAgICAgIHZhbHVlOiAxMVxyXG4gICAgfSwge1xyXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgyMDEyLCA3LCA5KS5nZXRUaW1lKCksXHJcbiAgICAgIHZhbHVlOiAxNVxyXG4gICAgfSwge1xyXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgyMDEyLCA3LCAxMCkuZ2V0VGltZSgpLFxyXG4gICAgICB2YWx1ZTogMTZcclxuICAgIH1dO1xyXG4gICAgbGV0IGN1cnNvciA9IGNoYXJ0LnNldChcImN1cnNvclwiLCBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICBiZWhhdmlvcjogXCJub25lXCJcclxuICAgIH0pKTtcclxuICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICBsZXQgeEF4aXMgPSBjaGFydC54QXhlcy5wdXNoKGFtNXh5LkRhdGVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgIGJhc2VJbnRlcnZhbDogeyB0aW1lVW5pdDogXCJkYXlcIiwgY291bnQ6IDEgfSxcclxuICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHt9KVxyXG4gICAgfSkpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwge30pXHJcbiAgICB9KSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIC8vIENyZWF0ZSBzZXJpZXNcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgIG5hbWU6IFwiU2VyaWVzXCIsXHJcbiAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICB2YWx1ZVlGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBBM0ZGKSAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgIH0pKTtcclxuXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFwidG9vbHRpcFwiLCBhbTUuVG9vbHRpcC5uZXcocm9vdCwge1xyXG4gICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4REFGMUZGKSAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgIH0pKTtcclxuICAgIHRoaXMubGluZXJvb3QgPSByb290O1xyXG59XHJcbmhlYXRNYXAoKXtcclxuICBsZXQgcm9vdCA9IGFtNS5Sb290Lm5ldyhcImNoYXJ0ZGl2XCIpO1xyXG4gIHJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpXSk7XHJcbiAgXHJcbiAgbGV0IGNoYXJ0ID0gcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgIGFtNXBlcmNlbnQuU2xpY2VkQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgbGF5b3V0OiByb290LnZlcnRpY2FsTGF5b3V0XHJcbiAgICB9KVxyXG4gICk7XHJcbiAgXHJcbiAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgYW01cGVyY2VudC5GdW5uZWxTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgYWxpZ25MYWJlbHM6IGZhbHNlLFxyXG4gICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgY2F0ZWdvcnlGaWVsZDogXCJjYXRlZ29yeVwiLFxyXG4gICAgICBib3R0b21SYXRpbzogMVxyXG4gICAgfSlcclxuICApO1xyXG4gIFxyXG4gIHNlcmllcy5kYXRhLnNldEFsbChbXHJcbiAgICB7IHZhbHVlOiAxMCwgY2F0ZWdvcnk6IFwiT25lXCIgfSxcclxuICAgIHsgdmFsdWU6IDksIGNhdGVnb3J5OiBcIlR3b1wiIH0sXHJcbiAgICB7IHZhbHVlOiA2LCBjYXRlZ29yeTogXCJUaHJlZVwiIH0sXHJcbiAgICB7IHZhbHVlOiA1LCBjYXRlZ29yeTogXCJGb3VyXCIgfSxcclxuICAgIHsgdmFsdWU6IDQsIGNhdGVnb3J5OiBcIkZpdmVcIiB9LFxyXG4gICAgeyB2YWx1ZTogMywgY2F0ZWdvcnk6IFwiU2l4XCIgfSxcclxuICAgIHsgdmFsdWU6IDEsIGNhdGVnb3J5OiBcIlNldmVuXCIgfVxyXG4gIF0pO1xyXG4gIFxyXG4gIHNlcmllcy5hcHBlYXIoKTtcclxuICBcclxuXHJcbiAgbGV0IGxlZ2VuZCA9IGNoYXJ0LmNoaWxkcmVuLnB1c2goXHJcbiAgICBhbTUuTGVnZW5kLm5ldyhyb290LCB7XHJcbiAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgIHg6IGFtNS5wNTAsXHJcbiAgICAgIG1hcmdpblRvcDogMTUsXHJcbiAgICAgIG1hcmdpbkJvdHRvbTogMTVcclxuICAgIH0pXHJcbiAgKTtcclxuICBcclxuICBsZWdlbmQuZGF0YS5zZXRBbGwoc2VyaWVzLmRhdGFJdGVtcyk7XHJcbiAgXHJcbiAgY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLThcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCAgaGVhZGVyIG1iLTJcIj42MDM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbWItMlwiPkZvb3RmYWxsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI0MTBfNDcxNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM1XCIgaGVpZ2h0PVwiMzVcIiByeD1cIjcuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjcuNSAyNi41SDE4LjMzMzNDMTUuNTgzMyAyNi41IDE0LjIwODMgMjYuNSAxMy4zNTQyIDI1LjY0NThDMTIuNSAyNC43OTE3IDEyLjUgMjMuNDE2NyAxMi41IDIwLjY2NjdWMTEuNU0xNSAxOUgxNS4wMDc1TTE3LjQ5OTIgMTlIMTcuNTA1OE0xOS45OTc1IDE5SDIwLjAwNDJNMjIuNDk1OCAxOUgyMi41MDMzTTI0Ljk5NDIgMTlIMjUuMDAxN00yNy40OTI1IDE5SDI3LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNSAxNC44MzMzQzE1LjU2MDggMTMuODk4MyAxNi4zMjI1IDEzLjE2NjcgMTcuNDk0MiAxMy4xNjY3QzIyLjQ0NjcgMTMuMTY2NyAxOS42NjI1IDIzLjE2NjcgMjQuOTg1IDIzLjE2NjdDMjYuMTY1IDIzLjE2NjcgMjYuOTIxNyAyMi40MyAyNy41IDIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yNDEwXzQ3MTZcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yNDEwXzQ3MTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI0MTBfNDcxNlwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiY2hhcnRkaXYyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHRleHQtY2VudGVyIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj48c3BhbiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4zJTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTIgd2Vlay1mb250XCI+IHZzIHByZXZpb3VzIHdlZWs8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgIGhlYWRlciBtYi0yXCI+NzIlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyIG1iLTJcIj5Db252ZXJzaW9uIFJhdGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiY2hhcnRkaXYyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHRleHQtY2VudGVyIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj48c3BhbiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4zJTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTIgd2Vlay1mb250XCI+IHZzIHByZXZpb3VzIHdlZWs8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsICBoZWFkZXIgbWItMlwiPjIyJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBtYi0yXCI+Qm91bmNlZCBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImNoYXJ0ZGl2MlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciB0ZXh0LWNlbnRlciBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjMlPC9zcGFuPjxzcGFuIGNsYXNzPVwibXMtMiB3ZWVrLWZvbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnMgcHJldmlvdXMgd2Vlazwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiY2hhcnRkaXZcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { TangoAnalyseTrafficRoutingModule } from './tango-analyse-traffic-routing.module';
|
|
4
|
+
import { TrafficAnalysisComponent } from './components/traffic-analysis/traffic-analysis.component';
|
|
5
|
+
import { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
export class TangoAnalyseTrafficModule {
|
|
6
8
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, imports: [CommonModule,
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, declarations: [TrafficAnalysisComponent, TangoAnalyseTrafficComponent], imports: [CommonModule,
|
|
8
10
|
TangoAnalyseTrafficRoutingModule] });
|
|
9
11
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, imports: [CommonModule,
|
|
10
12
|
TangoAnalyseTrafficRoutingModule] });
|
|
@@ -12,11 +14,13 @@ export class TangoAnalyseTrafficModule {
|
|
|
12
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, decorators: [{
|
|
13
15
|
type: NgModule,
|
|
14
16
|
args: [{
|
|
15
|
-
declarations: [
|
|
17
|
+
declarations: [
|
|
18
|
+
TrafficAnalysisComponent, TangoAnalyseTrafficComponent
|
|
19
|
+
],
|
|
16
20
|
imports: [
|
|
17
21
|
CommonModule,
|
|
18
22
|
TangoAnalyseTrafficRoutingModule
|
|
19
23
|
]
|
|
20
24
|
}]
|
|
21
25
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS10cmFmZmljLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7O0FBWWxILE1BQU0sT0FBTyx5QkFBeUI7d0dBQXpCLHlCQUF5Qjt5R0FBekIseUJBQXlCLGlCQVBsQyx3QkFBd0IsRUFBQyw0QkFBNEIsYUFHckQsWUFBWTtZQUNaLGdDQUFnQzt5R0FHdkIseUJBQXlCLFlBSmxDLFlBQVk7WUFDWixnQ0FBZ0M7OzRGQUd2Qix5QkFBeUI7a0JBVHJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3QixFQUFDLDRCQUE0QjtxQkFDdEQ7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0NBQWdDO3FCQUNqQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBUYW5nb0FuYWx5c2VUcmFmZmljUm91dGluZ01vZHVsZSB9IGZyb20gJy4vdGFuZ28tYW5hbHlzZS10cmFmZmljLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgVHJhZmZpY0FuYWx5c2lzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYW5nb0FuYWx5c2VUcmFmZmljQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy90YW5nby1hbmFseXNlLXRyYWZmaWMuY29tcG9uZW50JztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhZmZpY0FuYWx5c2lzQ29tcG9uZW50LFRhbmdvQW5hbHlzZVRyYWZmaWNDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRhbmdvQW5hbHlzZVRyYWZmaWNSb3V0aW5nTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFuZ29BbmFseXNlVHJhZmZpY01vZHVsZSB7IH1cclxuIl19
|
|
@@ -3,14 +3,167 @@ import { Component, NgModule } from '@angular/core';
|
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import * as i1 from '@angular/router';
|
|
5
5
|
import { RouterModule } from '@angular/router';
|
|
6
|
+
import * as am5 from '@amcharts/amcharts5';
|
|
7
|
+
import * as am5xy from '@amcharts/amcharts5/xy';
|
|
8
|
+
import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
|
|
9
|
+
import am5themes_Responsive from '@amcharts/amcharts5/themes/Responsive';
|
|
10
|
+
import * as am5percent from '@amcharts/amcharts5/percent';
|
|
11
|
+
|
|
12
|
+
class TrafficAnalysisComponent {
|
|
13
|
+
zone;
|
|
14
|
+
lineroot;
|
|
15
|
+
constructor(zone) {
|
|
16
|
+
this.zone = zone;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.zone.runOutsideAngular(() => {
|
|
20
|
+
this.lineCharts();
|
|
21
|
+
this.heatMap();
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
ngOnDestroy() {
|
|
25
|
+
this.zone.runOutsideAngular(() => {
|
|
26
|
+
if (this.lineroot) {
|
|
27
|
+
this.lineroot.dispose();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
lineCharts() {
|
|
32
|
+
let root = am5.Root.new("chartdiv2");
|
|
33
|
+
root.setThemes([
|
|
34
|
+
am5themes_Animated.new(root),
|
|
35
|
+
am5themes_Responsive.new(root)
|
|
36
|
+
]);
|
|
37
|
+
let chart = root.container.children.push(am5xy.XYChart.new(root, {
|
|
38
|
+
panX: true,
|
|
39
|
+
panY: true,
|
|
40
|
+
wheelX: "panX",
|
|
41
|
+
wheelY: "zoomX",
|
|
42
|
+
pinchZoomX: true
|
|
43
|
+
}));
|
|
44
|
+
// Add data
|
|
45
|
+
let data = [{
|
|
46
|
+
date: new Date(2012, 6, 27).getTime(),
|
|
47
|
+
value: 13
|
|
48
|
+
}, {
|
|
49
|
+
date: new Date(2012, 6, 28).getTime(),
|
|
50
|
+
value: 11
|
|
51
|
+
}, {
|
|
52
|
+
date: new Date(2012, 6, 29).getTime(),
|
|
53
|
+
value: 5
|
|
54
|
+
}, {
|
|
55
|
+
date: new Date(2012, 7, 1).getTime(),
|
|
56
|
+
value: 6
|
|
57
|
+
}, {
|
|
58
|
+
date: new Date(2012, 7, 2).getTime(),
|
|
59
|
+
value: 1
|
|
60
|
+
}, {
|
|
61
|
+
date: new Date(2012, 7, 3).getTime(),
|
|
62
|
+
value: 25
|
|
63
|
+
}, {
|
|
64
|
+
date: new Date(2012, 7, 4).getTime(),
|
|
65
|
+
value: 26
|
|
66
|
+
}, {
|
|
67
|
+
date: new Date(2012, 7, 5).getTime(),
|
|
68
|
+
value: 21
|
|
69
|
+
}, {
|
|
70
|
+
date: new Date(2012, 7, 6).getTime(),
|
|
71
|
+
value: 25
|
|
72
|
+
}, {
|
|
73
|
+
date: new Date(2012, 7, 7).getTime(),
|
|
74
|
+
value: 26
|
|
75
|
+
}, {
|
|
76
|
+
date: new Date(2012, 7, 8).getTime(),
|
|
77
|
+
value: 11
|
|
78
|
+
}, {
|
|
79
|
+
date: new Date(2012, 7, 9).getTime(),
|
|
80
|
+
value: 15
|
|
81
|
+
}, {
|
|
82
|
+
date: new Date(2012, 7, 10).getTime(),
|
|
83
|
+
value: 16
|
|
84
|
+
}];
|
|
85
|
+
let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {
|
|
86
|
+
behavior: "none"
|
|
87
|
+
}));
|
|
88
|
+
cursor.lineY.set("visible", false);
|
|
89
|
+
// Create axes
|
|
90
|
+
let xAxis = chart.xAxes.push(am5xy.DateAxis.new(root, {
|
|
91
|
+
baseInterval: { timeUnit: "day", count: 1 },
|
|
92
|
+
renderer: am5xy.AxisRendererX.new(root, {})
|
|
93
|
+
}));
|
|
94
|
+
xAxis.get("renderer").grid.template.set("forceHidden", true);
|
|
95
|
+
xAxis.get("renderer").labels.template.set("forceHidden", true);
|
|
96
|
+
let yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {
|
|
97
|
+
renderer: am5xy.AxisRendererY.new(root, {})
|
|
98
|
+
}));
|
|
99
|
+
yAxis.get("renderer").grid.template.set("forceHidden", true);
|
|
100
|
+
yAxis.get("renderer").labels.template.set("forceHidden", true);
|
|
101
|
+
// Create series
|
|
102
|
+
let series = chart.series.push(am5xy.LineSeries.new(root, {
|
|
103
|
+
name: "Series",
|
|
104
|
+
xAxis: xAxis,
|
|
105
|
+
yAxis: yAxis,
|
|
106
|
+
valueYField: "value",
|
|
107
|
+
valueXField: "date",
|
|
108
|
+
stroke: am5.color(0x00A3FF) // Set the line color here (red in this case)
|
|
109
|
+
}));
|
|
110
|
+
series.data.setAll(data);
|
|
111
|
+
series.set("tooltip", am5.Tooltip.new(root, {
|
|
112
|
+
labelText: "{valueY}",
|
|
113
|
+
getFillFromSprite: false,
|
|
114
|
+
background: am5.Rectangle.new(root, {
|
|
115
|
+
fill: am5.color(0xDAF1FF) // Set the tooltip background color here (blue in this case)
|
|
116
|
+
}),
|
|
117
|
+
}));
|
|
118
|
+
this.lineroot = root;
|
|
119
|
+
}
|
|
120
|
+
heatMap() {
|
|
121
|
+
let root = am5.Root.new("chartdiv");
|
|
122
|
+
root.setThemes([am5themes_Animated.new(root)]);
|
|
123
|
+
let chart = root.container.children.push(am5percent.SlicedChart.new(root, {
|
|
124
|
+
layout: root.verticalLayout
|
|
125
|
+
}));
|
|
126
|
+
let series = chart.series.push(am5percent.FunnelSeries.new(root, {
|
|
127
|
+
alignLabels: false,
|
|
128
|
+
orientation: "horizontal",
|
|
129
|
+
valueField: "value",
|
|
130
|
+
categoryField: "category",
|
|
131
|
+
bottomRatio: 1
|
|
132
|
+
}));
|
|
133
|
+
series.data.setAll([
|
|
134
|
+
{ value: 10, category: "One" },
|
|
135
|
+
{ value: 9, category: "Two" },
|
|
136
|
+
{ value: 6, category: "Three" },
|
|
137
|
+
{ value: 5, category: "Four" },
|
|
138
|
+
{ value: 4, category: "Five" },
|
|
139
|
+
{ value: 3, category: "Six" },
|
|
140
|
+
{ value: 1, category: "Seven" }
|
|
141
|
+
]);
|
|
142
|
+
series.appear();
|
|
143
|
+
let legend = chart.children.push(am5.Legend.new(root, {
|
|
144
|
+
centerX: am5.p50,
|
|
145
|
+
x: am5.p50,
|
|
146
|
+
marginTop: 15,
|
|
147
|
+
marginBottom: 15
|
|
148
|
+
}));
|
|
149
|
+
legend.data.setAll(series.dataItems);
|
|
150
|
+
chart.appear(1000, 100);
|
|
151
|
+
}
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TrafficAnalysisComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TrafficAnalysisComponent, selector: "lib-traffic-analysis", ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <div class=\"card card-border\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">603</span>\r\n <span class=\"sub-header mb-2\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2410_4716)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\"\r\n stroke=\"#EAF8FF\" />\r\n <path\r\n d=\"M27.5 26.5H18.3333C15.5833 26.5 14.2083 26.5 13.3542 25.6458C12.5 24.7917 12.5 23.4167 12.5 20.6667V11.5M15 19H15.0075M17.4992 19H17.5058M19.9975 19H20.0042M22.4958 19H22.5033M24.9942 19H25.0017M27.4925 19H27.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M15 14.8333C15.5608 13.8983 16.3225 13.1667 17.4942 13.1667C22.4467 13.1667 19.6625 23.1667 24.985 23.1667C26.165 23.1667 26.9217 22.43 27.5 21.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2410_4716\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2410_4716\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_2410_4716\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">72%</span>\r\n <span class=\"sub-header mb-2\">Conversion Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">22%</span>\r\n <span class=\"sub-header mb-2\">Bounced Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\"\r\n stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: ["#chartdiv2{width:100%;height:100px}#chartdiv{width:100%;height:400px}.ellipse1{border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.card-border{padding:8px;border-radius:12px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.card-footer{border-top:none!important}.percent-value{color:var(--Gray-500, #667085)!important;text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:18px}.week-font{color:var(--Gray-800, #1D2939)!important;font-size:12px;font-style:normal;font-weight:400;line-height:18px}\n"] });
|
|
154
|
+
}
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TrafficAnalysisComponent, decorators: [{
|
|
156
|
+
type: Component,
|
|
157
|
+
args: [{ selector: 'lib-traffic-analysis', template: "<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <div class=\"card card-border\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">603</span>\r\n <span class=\"sub-header mb-2\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2410_4716)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\"\r\n stroke=\"#EAF8FF\" />\r\n <path\r\n d=\"M27.5 26.5H18.3333C15.5833 26.5 14.2083 26.5 13.3542 25.6458C12.5 24.7917 12.5 23.4167 12.5 20.6667V11.5M15 19H15.0075M17.4992 19H17.5058M19.9975 19H20.0042M22.4958 19H22.5033M24.9942 19H25.0017M27.4925 19H27.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M15 14.8333C15.5608 13.8983 16.3225 13.1667 17.4942 13.1667C22.4467 13.1667 19.6625 23.1667 24.985 23.1667C26.165 23.1667 26.9217 22.43 27.5 21.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2410_4716\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2410_4716\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_2410_4716\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">72%</span>\r\n <span class=\"sub-header mb-2\">Conversion Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">22%</span>\r\n <span class=\"sub-header mb-2\">Bounced Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\"\r\n stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: ["#chartdiv2{width:100%;height:100px}#chartdiv{width:100%;height:400px}.ellipse1{border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.card-border{padding:8px;border-radius:12px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.card-footer{border-top:none!important}.percent-value{color:var(--Gray-500, #667085)!important;text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:18px}.week-font{color:var(--Gray-800, #1D2939)!important;font-size:12px;font-style:normal;font-weight:400;line-height:18px}\n"] }]
|
|
158
|
+
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
6
159
|
|
|
7
160
|
class TangoAnalyseTrafficComponent {
|
|
8
161
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TangoAnalyseTrafficComponent, selector: "lib-tango-analyse-traffic", ngImport: i0, template: "<
|
|
162
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TangoAnalyseTrafficComponent, selector: "lib-tango-analyse-traffic", ngImport: i0, template: "<lib-traffic-analysis></lib-traffic-analysis>\r\n", styles: [""], dependencies: [{ kind: "component", type: TrafficAnalysisComponent, selector: "lib-traffic-analysis" }] });
|
|
10
163
|
}
|
|
11
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficComponent, decorators: [{
|
|
12
165
|
type: Component,
|
|
13
|
-
args: [{ selector: 'lib-tango-analyse-traffic', template: "<
|
|
166
|
+
args: [{ selector: 'lib-tango-analyse-traffic', template: "<lib-traffic-analysis></lib-traffic-analysis>\r\n" }]
|
|
14
167
|
}] });
|
|
15
168
|
|
|
16
169
|
const routes = [
|
|
@@ -34,7 +187,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
34
187
|
|
|
35
188
|
class TangoAnalyseTrafficModule {
|
|
36
189
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, imports: [CommonModule,
|
|
190
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, declarations: [TrafficAnalysisComponent, TangoAnalyseTrafficComponent], imports: [CommonModule,
|
|
38
191
|
TangoAnalyseTrafficRoutingModule] });
|
|
39
192
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, imports: [CommonModule,
|
|
40
193
|
TangoAnalyseTrafficRoutingModule] });
|
|
@@ -42,7 +195,9 @@ class TangoAnalyseTrafficModule {
|
|
|
42
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoAnalyseTrafficModule, decorators: [{
|
|
43
196
|
type: NgModule,
|
|
44
197
|
args: [{
|
|
45
|
-
declarations: [
|
|
198
|
+
declarations: [
|
|
199
|
+
TrafficAnalysisComponent, TangoAnalyseTrafficComponent
|
|
200
|
+
],
|
|
46
201
|
imports: [
|
|
47
202
|
CommonModule,
|
|
48
203
|
TangoAnalyseTrafficRoutingModule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tango-app-ui-analyse-traffic.mjs","sources":["../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.html","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic-routing.module.ts","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic.module.ts","../../../projects/tango-analyse-traffic/src/public-api.ts","../../../projects/tango-analyse-traffic/src/tango-app-ui-analyse-traffic.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tango-analyse-traffic',\r\n templateUrl: './tango-analyse-traffic.component.html',\r\n styleUrl: './tango-analyse-traffic.component.scss'\r\n})\r\nexport class TangoAnalyseTrafficComponent {\r\n\r\n}\r\n","<p>tango-analyse-traffic works!</p>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n\r\nconst routes: Routes = [\r\n{\r\n path:'',\r\n component:TangoAnalyseTrafficComponent\r\n}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TangoAnalyseTrafficRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TangoAnalyseTrafficRoutingModule } from './tango-analyse-traffic-routing.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n TangoAnalyseTrafficRoutingModule\r\n ]\r\n})\r\nexport class TangoAnalyseTrafficModule { }\r\n","/*\r\n * Public API Surface of tango-analyse-traffic\r\n */\r\n\r\nexport * from './lib/tango-analyse-traffic.module';\r\nexport * from './lib/components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAOa,4BAA4B,CAAA;wGAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,iECPzC,yCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,yCAAA,EAAA,CAAA;;;AECvC,MAAM,MAAM,GAAW;AACvB,IAAA;AACE,QAAA,IAAI,EAAC,EAAE;AACP,QAAA,SAAS,EAAC,4BAA4B;AACvC,KAAA;CACA,CAAC;MAMW,gCAAgC,CAAA;wGAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,wCAFjC,YAAY,CAAA,EAAA,CAAA,CAAA;yGAEX,gCAAgC,EAAA,OAAA,EAAA,CAHjC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAEX,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;MCDY,yBAAyB,CAAA;wGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAJlC,YAAY;YACZ,gCAAgC,CAAA,EAAA,CAAA,CAAA;AAGvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAJlC,YAAY;YACZ,gCAAgC,CAAA,EAAA,CAAA,CAAA;;4FAGvB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gCAAgC;AACjC,qBAAA;AACF,iBAAA,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"tango-app-ui-analyse-traffic.mjs","sources":["../../../projects/tango-analyse-traffic/src/lib/components/traffic-analysis/traffic-analysis.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/traffic-analysis/traffic-analysis.component.html","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.html","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic-routing.module.ts","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic.module.ts","../../../projects/tango-analyse-traffic/src/public-api.ts","../../../projects/tango-analyse-traffic/src/tango-app-ui-analyse-traffic.ts"],"sourcesContent":["import { Component, OnInit, OnDestroy, NgZone } from '@angular/core';\r\nimport * as am5 from \"@amcharts/amcharts5\";\r\nimport * as am5xy from \"@amcharts/amcharts5/xy\";\r\nimport am5themes_Animated from \"@amcharts/amcharts5/themes/Animated\";\r\nimport am5themes_Responsive from \"@amcharts/amcharts5/themes/Responsive\";\r\nimport * as am5percent from \"@amcharts/amcharts5/percent\";\r\n\r\n@Component({\r\n selector: 'lib-traffic-analysis',\r\n templateUrl: './traffic-analysis.component.html',\r\n styleUrl: './traffic-analysis.component.scss'\r\n})\r\nexport class TrafficAnalysisComponent implements OnInit,OnDestroy {\r\n\r\n private lineroot: am5.Root;\r\n constructor(private zone: NgZone) {}\r\n\r\n ngOnInit(): void {\r\n this.zone.runOutsideAngular(() => {\r\n this.lineCharts();\r\n this.heatMap();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.lineroot) {\r\n this.lineroot.dispose();\r\n }\r\n });\r\n }\r\n lineCharts(){\r\n let root = am5.Root.new(\"chartdiv2\");\r\n root.setThemes([\r\n am5themes_Animated.new(root),\r\n am5themes_Responsive.new(root)\r\n ]);\r\n let chart = root.container.children.push(am5xy.XYChart.new(root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true\r\n }));\r\n\r\n // Add data\r\n let data = [{\r\n date: new Date(2012, 6, 27).getTime(),\r\n value: 13\r\n }, {\r\n date: new Date(2012, 6, 28).getTime(),\r\n value: 11\r\n }, {\r\n date: new Date(2012, 6, 29).getTime(),\r\n value: 5\r\n }, {\r\n date: new Date(2012, 7, 1).getTime(),\r\n value: 6\r\n },{\r\n date: new Date(2012, 7, 2).getTime(),\r\n value: 1\r\n }, {\r\n date: new Date(2012, 7, 3).getTime(),\r\n value: 25\r\n }, {\r\n date: new Date(2012, 7, 4).getTime(),\r\n value: 26\r\n },{\r\n date: new Date(2012, 7, 5).getTime(),\r\n value: 21\r\n }, {\r\n date: new Date(2012, 7, 6).getTime(),\r\n value: 25\r\n }, {\r\n date: new Date(2012, 7, 7).getTime(),\r\n value: 26\r\n },{\r\n date: new Date(2012, 7, 8).getTime(),\r\n value: 11\r\n }, {\r\n date: new Date(2012, 7, 9).getTime(),\r\n value: 15\r\n }, {\r\n date: new Date(2012, 7, 10).getTime(),\r\n value: 16\r\n }];\r\n let cursor = chart.set(\"cursor\", am5xy.XYCursor.new(root, {\r\n behavior: \"none\"\r\n }));\r\n cursor.lineY.set(\"visible\", false);\r\n // Create axes\r\n let xAxis = chart.xAxes.push(am5xy.DateAxis.new(root, {\r\n baseInterval: { timeUnit: \"day\", count: 1 },\r\n renderer: am5xy.AxisRendererX.new(root, {})\r\n }));\r\n xAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n xAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n let yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {\r\n renderer: am5xy.AxisRendererY.new(root, {})\r\n }));\r\n yAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n yAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n // Create series\r\n let series = chart.series.push(am5xy.LineSeries.new(root, {\r\n name: \"Series\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n valueXField: \"date\",\r\n stroke: am5.color(0x00A3FF) // Set the line color here (red in this case)\r\n }));\r\n\r\n series.data.setAll(data);\r\n series.set(\"tooltip\", am5.Tooltip.new(root, {\r\n labelText: \"{valueY}\",\r\n getFillFromSprite: false, // Prevents the tooltip from inheriting color from the sprite\r\n background: am5.Rectangle.new(root, {\r\n fill: am5.color(0xDAF1FF) // Set the tooltip background color here (blue in this case)\r\n }),\r\n }));\r\n this.lineroot = root;\r\n}\r\nheatMap(){\r\n let root = am5.Root.new(\"chartdiv\");\r\n root.setThemes([am5themes_Animated.new(root)]);\r\n \r\n let chart = root.container.children.push(\r\n am5percent.SlicedChart.new(root, {\r\n layout: root.verticalLayout\r\n })\r\n );\r\n \r\n let series = chart.series.push(\r\n am5percent.FunnelSeries.new(root, {\r\n alignLabels: false,\r\n orientation: \"horizontal\",\r\n valueField: \"value\",\r\n categoryField: \"category\",\r\n bottomRatio: 1\r\n })\r\n );\r\n \r\n series.data.setAll([\r\n { value: 10, category: \"One\" },\r\n { value: 9, category: \"Two\" },\r\n { value: 6, category: \"Three\" },\r\n { value: 5, category: \"Four\" },\r\n { value: 4, category: \"Five\" },\r\n { value: 3, category: \"Six\" },\r\n { value: 1, category: \"Seven\" }\r\n ]);\r\n \r\n series.appear();\r\n \r\n\r\n let legend = chart.children.push(\r\n am5.Legend.new(root, {\r\n centerX: am5.p50,\r\n x: am5.p50,\r\n marginTop: 15,\r\n marginBottom: 15\r\n })\r\n );\r\n \r\n legend.data.setAll(series.dataItems);\r\n \r\n chart.appear(1000, 100);\r\n}\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <div class=\"card card-border\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">603</span>\r\n <span class=\"sub-header mb-2\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2410_4716)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\"\r\n stroke=\"#EAF8FF\" />\r\n <path\r\n d=\"M27.5 26.5H18.3333C15.5833 26.5 14.2083 26.5 13.3542 25.6458C12.5 24.7917 12.5 23.4167 12.5 20.6667V11.5M15 19H15.0075M17.4992 19H17.5058M19.9975 19H20.0042M22.4958 19H22.5033M24.9942 19H25.0017M27.4925 19H27.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M15 14.8333C15.5608 13.8983 16.3225 13.1667 17.4942 13.1667C22.4467 13.1667 19.6625 23.1667 24.985 23.1667C26.165 23.1667 26.9217 22.43 27.5 21.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2410_4716\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2410_4716\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_2410_4716\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">72%</span>\r\n <span class=\"sub-header mb-2\">Conversion Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">22%</span>\r\n <span class=\"sub-header mb-2\">Bounced Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\"\r\n stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tango-analyse-traffic',\r\n templateUrl: './tango-analyse-traffic.component.html',\r\n styleUrl: './tango-analyse-traffic.component.scss'\r\n})\r\nexport class TangoAnalyseTrafficComponent {\r\n\r\n}\r\n","<lib-traffic-analysis></lib-traffic-analysis>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n\r\nconst routes: Routes = [\r\n{\r\n path:'',\r\n component:TangoAnalyseTrafficComponent\r\n}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TangoAnalyseTrafficRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TangoAnalyseTrafficRoutingModule } from './tango-analyse-traffic-routing.module';\r\nimport { TrafficAnalysisComponent } from './components/traffic-analysis/traffic-analysis.component';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TrafficAnalysisComponent,TangoAnalyseTrafficComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TangoAnalyseTrafficRoutingModule\r\n ]\r\n})\r\nexport class TangoAnalyseTrafficModule { }\r\n","/*\r\n * Public API Surface of tango-analyse-traffic\r\n */\r\n\r\nexport * from './lib/tango-analyse-traffic.module';\r\nexport * from './lib/components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TrafficAnalysisComponent"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, NgZone } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TrafficAnalysisComponent implements OnInit, OnDestroy {
|
|
4
|
+
private zone;
|
|
5
|
+
private lineroot;
|
|
6
|
+
constructor(zone: NgZone);
|
|
7
|
+
ngOnInit(): void;
|
|
8
|
+
ngOnDestroy(): void;
|
|
9
|
+
lineCharts(): void;
|
|
10
|
+
heatMap(): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TrafficAnalysisComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TrafficAnalysisComponent, "lib-traffic-analysis", never, {}, {}, never, never, false, never>;
|
|
13
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "
|
|
3
|
-
import * as i2 from "./tango-analyse-traffic-
|
|
2
|
+
import * as i1 from "./components/traffic-analysis/traffic-analysis.component";
|
|
3
|
+
import * as i2 from "./components/tango-analyse-traffic/tango-analyse-traffic.component";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "./tango-analyse-traffic-routing.module";
|
|
4
6
|
export declare class TangoAnalyseTrafficModule {
|
|
5
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAnalyseTrafficModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TangoAnalyseTrafficModule,
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TangoAnalyseTrafficModule, [typeof i1.TrafficAnalysisComponent, typeof i2.TangoAnalyseTrafficComponent], [typeof i3.CommonModule, typeof i4.TangoAnalyseTrafficRoutingModule], never>;
|
|
7
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<TangoAnalyseTrafficModule>;
|
|
8
10
|
}
|