diff --git a/samples/charts/category-chart/annotations-all/package.json b/samples/charts/category-chart/annotations-all/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/annotations-all/package.json +++ b/samples/charts/category-chart/annotations-all/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/annotations-callouts/package.json b/samples/charts/category-chart/annotations-callouts/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/annotations-callouts/package.json +++ b/samples/charts/category-chart/annotations-callouts/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/annotations-crosshairs/package.json b/samples/charts/category-chart/annotations-crosshairs/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/annotations-crosshairs/package.json +++ b/samples/charts/category-chart/annotations-crosshairs/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/annotations-custom/package.json b/samples/charts/category-chart/annotations-custom/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/annotations-custom/package.json +++ b/samples/charts/category-chart/annotations-custom/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/annotations-final-value/package.json b/samples/charts/category-chart/annotations-final-value/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/annotations-final-value/package.json +++ b/samples/charts/category-chart/annotations-final-value/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/annotations-highlighting/package.json b/samples/charts/category-chart/annotations-highlighting/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/annotations-highlighting/package.json +++ b/samples/charts/category-chart/annotations-highlighting/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-gap/package.json b/samples/charts/category-chart/axis-gap/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-gap/package.json +++ b/samples/charts/category-chart/axis-gap/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-gridlines/package.json b/samples/charts/category-chart/axis-gridlines/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-gridlines/package.json +++ b/samples/charts/category-chart/axis-gridlines/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-inverted/package.json b/samples/charts/category-chart/axis-inverted/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-inverted/package.json +++ b/samples/charts/category-chart/axis-inverted/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-labels/package.json b/samples/charts/category-chart/axis-labels/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-labels/package.json +++ b/samples/charts/category-chart/axis-labels/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-locations/package.json b/samples/charts/category-chart/axis-locations/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-locations/package.json +++ b/samples/charts/category-chart/axis-locations/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-overlap/package.json b/samples/charts/category-chart/axis-overlap/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-overlap/package.json +++ b/samples/charts/category-chart/axis-overlap/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-range/package.json b/samples/charts/category-chart/axis-range/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-range/package.json +++ b/samples/charts/category-chart/axis-range/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/axis-tickmarks/package.json b/samples/charts/category-chart/axis-tickmarks/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/axis-tickmarks/package.json +++ b/samples/charts/category-chart/axis-tickmarks/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/chart-highlight-filter/package.json b/samples/charts/category-chart/chart-highlight-filter/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/chart-highlight-filter/package.json +++ b/samples/charts/category-chart/chart-highlight-filter/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/column-chart-with-tooltips/package.json b/samples/charts/category-chart/column-chart-with-tooltips/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/column-chart-with-tooltips/package.json +++ b/samples/charts/category-chart/column-chart-with-tooltips/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/data-aggregations/package.json b/samples/charts/category-chart/data-aggregations/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/data-aggregations/package.json +++ b/samples/charts/category-chart/data-aggregations/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/data-filter/package.json b/samples/charts/category-chart/data-filter/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/data-filter/package.json +++ b/samples/charts/category-chart/data-filter/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/data-tooltip-positioning/package.json b/samples/charts/category-chart/data-tooltip-positioning/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/data-tooltip-positioning/package.json +++ b/samples/charts/category-chart/data-tooltip-positioning/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/highlighting-behavior/package.json b/samples/charts/category-chart/highlighting-behavior/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/highlighting-behavior/package.json +++ b/samples/charts/category-chart/highlighting-behavior/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/highlighting-mode/package.json b/samples/charts/category-chart/highlighting-mode/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/highlighting-mode/package.json +++ b/samples/charts/category-chart/highlighting-mode/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/marker-options/package.json b/samples/charts/category-chart/marker-options/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/category-chart/marker-options/package.json +++ b/samples/charts/category-chart/marker-options/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/category-chart/overview/src/app.component.html b/samples/charts/category-chart/overview/src/app.component.html index 49329a19c..f220a92c4 100644 --- a/samples/charts/category-chart/overview/src/app.component.html +++ b/samples/charts/category-chart/overview/src/app.component.html @@ -1,6 +1,6 @@
- Olympic Medals By Country + Olympic Medals by Country
) { + Object.assign(this, init); + } + + public startLabel: string; + public endLabel: string; + public startX: number; + public startY: number; + public endX: number; + public endY: number; + public value: number; + public label: string; + +} +export class AnnotationData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationDataItem( + { + startLabel: `Growth Start`, + endLabel: `Growth Stop`, + startX: 48, + startY: 110, + endX: 105, + endY: 335, + value: 170, + label: `Rapid Growth` + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-band-layer/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/app.component.html b/samples/charts/data-chart/data-annotation-band-layer/src/app.component.html new file mode 100644 index 000000000..4a67fa58a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/app.component.html @@ -0,0 +1,117 @@ +
+
+ + + + + + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/app.component.scss b/samples/charts/data-chart/data-annotation-band-layer/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/app.component.ts b/samples/charts/data-chart/data-annotation-band-layer/src/app.component.ts new file mode 100644 index 000000000..cb4c0cdeb --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/app.component.ts @@ -0,0 +1,60 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { AnnotationDataItem, AnnotationData } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxFinancialPriceSeriesComponent, IgxDataToolTipLayerComponent, IgxDataAnnotationBandLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxisBottom", { static: true } ) + private xAxisBottom: IgxCategoryXAxisComponent + @ViewChild("xAxis", { static: true } ) + private xAxis: IgxCategoryXAxisComponent + @ViewChild("yAxisLeft", { static: true } ) + private yAxisLeft: IgxNumericYAxisComponent + @ViewChild("yAxisRight", { static: true } ) + private yAxisRight: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxFinancialPriceSeriesComponent + @ViewChild("tooltip", { static: true } ) + private tooltip: IgxDataToolTipLayerComponent + @ViewChild("bandLayer", { static: true } ) + private bandLayer: IgxDataAnnotationBandLayerComponent + private _annotationData: AnnotationData = null; + public get annotationData(): AnnotationData { + if (this._annotationData == null) + { + this._annotationData = new AnnotationData(); + } + return this._annotationData; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/app.module.ts b/samples/charts/data-chart/data-annotation-band-layer/src/app.module.ts new file mode 100644 index 000000000..f5f22bb6f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/app.module.ts @@ -0,0 +1,35 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartFinancialCoreModule, IgxDataChartFinancialModule, IgxDataChartFinancialOverlaysModule, IgxDataChartInteractivityModule, IgxDataChartAnnotationModule, IgxDataAnnotationBandLayerModule, IgxNumberAbbreviatorModule, IgxAnnotationLayerProxyModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartFinancialCoreModule, + IgxDataChartFinancialModule, + IgxDataChartFinancialOverlaysModule, + IgxDataChartInteractivityModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationBandLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-band-layer/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-band-layer/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/index.html b/samples/charts/data-chart/data-annotation-band-layer/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/main.ts b/samples/charts/data-chart/data-annotation-band-layer/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/polyfills.ts b/samples/charts/data-chart/data-annotation-band-layer/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/styles.scss b/samples/charts/data-chart/data-annotation-band-layer/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-band-layer/src/typings.d.ts b/samples/charts/data-chart/data-annotation-band-layer/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-band-layer/tsconfig.app.json b/samples/charts/data-chart/data-annotation-band-layer/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-band-layer/tsconfig.json b/samples/charts/data-chart/data-annotation-band-layer/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-band-layer/tslint.json b/samples/charts/data-chart/data-annotation-band-layer/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-band-layer/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/.codesandbox/Dockerfile b/samples/charts/data-chart/data-annotation-line-layer/.codesandbox/Dockerfile new file mode 100644 index 000000000..adf04bd95 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/.codesandbox/Dockerfile @@ -0,0 +1 @@ +FROM node:18 \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-line-layer/.codesandbox/tasks.json b/samples/charts/data-chart/data-annotation-line-layer/.codesandbox/tasks.json new file mode 100644 index 000000000..8d92a54cd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/.codesandbox/tasks.json @@ -0,0 +1,17 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "yarn install" + } + ], + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check": { + "name": "Start Project", + "command": "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check", + "runAtStart": true + } + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-line-layer/.stackblitzrc b/samples/charts/data-chart/data-annotation-line-layer/.stackblitzrc new file mode 100644 index 000000000..dd44ea00f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/.stackblitzrc @@ -0,0 +1 @@ +{"installDependencies":true, "startCommand":"npm start"} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-line-layer/angular.json b/samples/charts/data-chart/data-annotation-line-layer/angular.json new file mode 100644 index 000000000..ff6803cf7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/angular.json @@ -0,0 +1,120 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "demo": { + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "src/polyfills.ts" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "demo:build:production" + }, + "development": { + "buildTarget": "demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/assets" + ], + "inlineStyleLanguage": "scss", + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + } + } + } + } + }, + "defaultProject": "demo", + "cli": { + "analytics": false + } +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/package.json b/samples/charts/data-chart/data-annotation-line-layer/package.json new file mode 100644 index 000000000..5565041b2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/package.json @@ -0,0 +1,43 @@ +{ + "scripts": { + "ng": "ng", + "update": "ng update", + "start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve -o", + "build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build --configuration production", + "lint": "ng lint" + }, + "dependencies": { + "@angular/animations": "19.0.4", + "@angular/common": "19.0.4", + "@angular/compiler": "19.0.4", + "@angular/core": "19.0.4", + "@angular/forms": "19.0.4", + "@angular/platform-browser": "19.0.4", + "@angular/platform-browser-dynamic": "19.0.4", + "@types/hammerjs": "2.0.40", + "classlist.js": "1.1.20150312", + "hammerjs": "2.0.8", + "igniteui-angular-charts": "19.0.1", + "igniteui-angular-core": "19.0.1", + "intl": "1.2.5", + "jszip": "3.8.0", + "rxjs": "7.8.1", + "tslib": "2.6.1", + "web-animations-js": "2.3.2", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/cli": "19.0.4", + "@angular/compiler-cli": "19.0.4", + "@angular/language-service": "19.0.4", + "@angular-devkit/build-angular": "19.0.4", + "@types/node": "18.17.0", + "codelyzer": "6.0.2", + "jasmine-core": "5.1.1", + "jasmine-spec-reporter": "~4.2.1", + "sass.js": "0.11.1", + "tslint": "~6.1.3", + "ts-node": "10.9.1", + "typescript": "5.6.3" + } +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/SampleData.ts b/samples/charts/data-chart/data-annotation-line-layer/src/SampleData.ts new file mode 100644 index 000000000..5a5e2584f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/SampleData.ts @@ -0,0 +1,80 @@ +export class AnnotationData1Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public startX: number; + public startY: number; + public endX: number; + public endY: number; + public label: string; + +} +export class AnnotationData1 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationData1Item( + { + startX: 190, + startY: 138, + endX: 230, + endY: 138, + label: `52-Week Low` + }), + new AnnotationData1Item( + { + startX: 190, + startY: 481, + endX: 230, + endY: 481, + label: `52-Week High` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class AnnotationData2Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public startX: number; + public startY: number; + public endX: number; + public endY: number; + public label: string; + +} +export class AnnotationData2 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationData2Item( + { + startX: 48, + startY: 25, + endX: 105, + endY: 250, + label: `Growth & +Support` + }), + new AnnotationData2Item( + { + startX: 108, + startY: 440, + endX: 155, + endY: 210, + label: `Decline & +Resistance` + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-line-layer/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/app.component.html b/samples/charts/data-chart/data-annotation-line-layer/src/app.component.html new file mode 100644 index 000000000..f9455c912 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/app.component.html @@ -0,0 +1,128 @@ +
+
+ + + + + + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/app.component.scss b/samples/charts/data-chart/data-annotation-line-layer/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/app.component.ts b/samples/charts/data-chart/data-annotation-line-layer/src/app.component.ts new file mode 100644 index 000000000..75ff8f7a5 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/app.component.ts @@ -0,0 +1,69 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { AnnotationData1Item, AnnotationData1, AnnotationData2Item, AnnotationData2 } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxFinancialPriceSeriesComponent, IgxDataToolTipLayerComponent, IgxDataAnnotationLineLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxis", { static: true } ) + private xAxis: IgxCategoryXAxisComponent + @ViewChild("yAxisLeft", { static: true } ) + private yAxisLeft: IgxNumericYAxisComponent + @ViewChild("yAxisRight", { static: true } ) + private yAxisRight: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxFinancialPriceSeriesComponent + @ViewChild("tooltip", { static: true } ) + private tooltip: IgxDataToolTipLayerComponent + @ViewChild("lineLayer52WeekRange", { static: true } ) + private lineLayer52WeekRange: IgxDataAnnotationLineLayerComponent + @ViewChild("lineLayerGrowthAndDecline", { static: true } ) + private lineLayerGrowthAndDecline: IgxDataAnnotationLineLayerComponent + private _annotationData1: AnnotationData1 = null; + public get annotationData1(): AnnotationData1 { + if (this._annotationData1 == null) + { + this._annotationData1 = new AnnotationData1(); + } + return this._annotationData1; + } + + private _annotationData2: AnnotationData2 = null; + public get annotationData2(): AnnotationData2 { + if (this._annotationData2 == null) + { + this._annotationData2 = new AnnotationData2(); + } + return this._annotationData2; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/app.module.ts b/samples/charts/data-chart/data-annotation-line-layer/src/app.module.ts new file mode 100644 index 000000000..9710a7b15 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/app.module.ts @@ -0,0 +1,35 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartFinancialCoreModule, IgxDataChartFinancialModule, IgxDataChartFinancialOverlaysModule, IgxDataChartInteractivityModule, IgxDataChartAnnotationModule, IgxDataAnnotationLineLayerModule, IgxNumberAbbreviatorModule, IgxAnnotationLayerProxyModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartFinancialCoreModule, + IgxDataChartFinancialModule, + IgxDataChartFinancialOverlaysModule, + IgxDataChartInteractivityModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationLineLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-line-layer/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-line-layer/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/index.html b/samples/charts/data-chart/data-annotation-line-layer/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/main.ts b/samples/charts/data-chart/data-annotation-line-layer/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/polyfills.ts b/samples/charts/data-chart/data-annotation-line-layer/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/styles.scss b/samples/charts/data-chart/data-annotation-line-layer/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/src/typings.d.ts b/samples/charts/data-chart/data-annotation-line-layer/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/tsconfig.app.json b/samples/charts/data-chart/data-annotation-line-layer/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-line-layer/tsconfig.json b/samples/charts/data-chart/data-annotation-line-layer/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-line-layer/tslint.json b/samples/charts/data-chart/data-annotation-line-layer/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-line-layer/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.codesandbox/Dockerfile b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.codesandbox/Dockerfile new file mode 100644 index 000000000..adf04bd95 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.codesandbox/Dockerfile @@ -0,0 +1 @@ +FROM node:18 \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.codesandbox/tasks.json b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.codesandbox/tasks.json new file mode 100644 index 000000000..8d92a54cd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.codesandbox/tasks.json @@ -0,0 +1,17 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "yarn install" + } + ], + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check": { + "name": "Start Project", + "command": "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check", + "runAtStart": true + } + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.stackblitzrc b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.stackblitzrc new file mode 100644 index 000000000..dd44ea00f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.stackblitzrc @@ -0,0 +1 @@ +{"installDependencies":true, "startCommand":"npm start"} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/angular.json b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/angular.json new file mode 100644 index 000000000..ff6803cf7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/angular.json @@ -0,0 +1,120 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "demo": { + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "src/polyfills.ts" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "demo:build:production" + }, + "development": { + "buildTarget": "demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/assets" + ], + "inlineStyleLanguage": "scss", + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + } + } + } + } + }, + "defaultProject": "demo", + "cli": { + "analytics": false + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/package.json b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/package.json new file mode 100644 index 000000000..5565041b2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/package.json @@ -0,0 +1,43 @@ +{ + "scripts": { + "ng": "ng", + "update": "ng update", + "start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve -o", + "build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build --configuration production", + "lint": "ng lint" + }, + "dependencies": { + "@angular/animations": "19.0.4", + "@angular/common": "19.0.4", + "@angular/compiler": "19.0.4", + "@angular/core": "19.0.4", + "@angular/forms": "19.0.4", + "@angular/platform-browser": "19.0.4", + "@angular/platform-browser-dynamic": "19.0.4", + "@types/hammerjs": "2.0.40", + "classlist.js": "1.1.20150312", + "hammerjs": "2.0.8", + "igniteui-angular-charts": "19.0.1", + "igniteui-angular-core": "19.0.1", + "intl": "1.2.5", + "jszip": "3.8.0", + "rxjs": "7.8.1", + "tslib": "2.6.1", + "web-animations-js": "2.3.2", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/cli": "19.0.4", + "@angular/compiler-cli": "19.0.4", + "@angular/language-service": "19.0.4", + "@angular-devkit/build-angular": "19.0.4", + "@types/node": "18.17.0", + "codelyzer": "6.0.2", + "jasmine-core": "5.1.1", + "jasmine-spec-reporter": "~4.2.1", + "sass.js": "0.11.1", + "tslint": "~6.1.3", + "ts-node": "10.9.1", + "typescript": "5.6.3" + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/SampleData.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/SampleData.ts new file mode 100644 index 000000000..6d5b201fd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/SampleData.ts @@ -0,0 +1,23 @@ +export class AnnotationDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + +} +export class AnnotationData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationDataItem( + { + value: 50 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.html b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.html new file mode 100644 index 000000000..eef2ca587 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.html @@ -0,0 +1,84 @@ +
+
+ + + + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.scss b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.ts new file mode 100644 index 000000000..121dd4f10 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.component.ts @@ -0,0 +1,58 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { AnnotationDataItem, AnnotationData } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxLineSeriesComponent, IgxValueOverlayComponent, IgxValueLayerComponent, IgxDataAnnotationSliceLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxis", { static: true } ) + private xAxis: IgxCategoryXAxisComponent + @ViewChild("yAxis", { static: true } ) + private yAxis: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxLineSeriesComponent + @ViewChild("valueOverlay", { static: true } ) + private valueOverlay: IgxValueOverlayComponent + @ViewChild("valueLayer", { static: true } ) + private valueLayer: IgxValueLayerComponent + @ViewChild("annoLayer", { static: true } ) + private annoLayer: IgxDataAnnotationSliceLayerComponent + private _annotationData: AnnotationData = null; + public get annotationData(): AnnotationData { + if (this._annotationData == null) + { + this._annotationData = new AnnotationData(); + } + return this._annotationData; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.module.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.module.ts new file mode 100644 index 000000000..a1ec6918f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/app.module.ts @@ -0,0 +1,34 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartInteractivityModule, IgxAnnotationLayerProxyModule, IgxDataChartAnnotationModule, IgxDataAnnotationSliceLayerModule, IgxNumberAbbreviatorModule, IgxValueOverlayModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartInteractivityModule, + IgxAnnotationLayerProxyModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationSliceLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule, + IgxValueOverlayModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/index.html b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/main.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/polyfills.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/styles.scss b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/typings.d.ts b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tsconfig.app.json b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tsconfig.json b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tslint.json b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-overlay-text/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/.codesandbox/Dockerfile b/samples/charts/data-chart/data-annotation-multiple-with-stocks/.codesandbox/Dockerfile new file mode 100644 index 000000000..adf04bd95 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/.codesandbox/Dockerfile @@ -0,0 +1 @@ +FROM node:18 \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/.codesandbox/tasks.json b/samples/charts/data-chart/data-annotation-multiple-with-stocks/.codesandbox/tasks.json new file mode 100644 index 000000000..8d92a54cd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/.codesandbox/tasks.json @@ -0,0 +1,17 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "yarn install" + } + ], + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check": { + "name": "Start Project", + "command": "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check", + "runAtStart": true + } + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/.stackblitzrc b/samples/charts/data-chart/data-annotation-multiple-with-stocks/.stackblitzrc new file mode 100644 index 000000000..dd44ea00f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/.stackblitzrc @@ -0,0 +1 @@ +{"installDependencies":true, "startCommand":"npm start"} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/angular.json b/samples/charts/data-chart/data-annotation-multiple-with-stocks/angular.json new file mode 100644 index 000000000..ff6803cf7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/angular.json @@ -0,0 +1,120 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "demo": { + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "src/polyfills.ts" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "demo:build:production" + }, + "development": { + "buildTarget": "demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/assets" + ], + "inlineStyleLanguage": "scss", + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + } + } + } + } + }, + "defaultProject": "demo", + "cli": { + "analytics": false + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/package.json b/samples/charts/data-chart/data-annotation-multiple-with-stocks/package.json new file mode 100644 index 000000000..5565041b2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/package.json @@ -0,0 +1,43 @@ +{ + "scripts": { + "ng": "ng", + "update": "ng update", + "start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve -o", + "build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build --configuration production", + "lint": "ng lint" + }, + "dependencies": { + "@angular/animations": "19.0.4", + "@angular/common": "19.0.4", + "@angular/compiler": "19.0.4", + "@angular/core": "19.0.4", + "@angular/forms": "19.0.4", + "@angular/platform-browser": "19.0.4", + "@angular/platform-browser-dynamic": "19.0.4", + "@types/hammerjs": "2.0.40", + "classlist.js": "1.1.20150312", + "hammerjs": "2.0.8", + "igniteui-angular-charts": "19.0.1", + "igniteui-angular-core": "19.0.1", + "intl": "1.2.5", + "jszip": "3.8.0", + "rxjs": "7.8.1", + "tslib": "2.6.1", + "web-animations-js": "2.3.2", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/cli": "19.0.4", + "@angular/compiler-cli": "19.0.4", + "@angular/language-service": "19.0.4", + "@angular-devkit/build-angular": "19.0.4", + "@types/node": "18.17.0", + "codelyzer": "6.0.2", + "jasmine-core": "5.1.1", + "jasmine-spec-reporter": "~4.2.1", + "sass.js": "0.11.1", + "tslint": "~6.1.3", + "ts-node": "10.9.1", + "typescript": "5.6.3" + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/SampleData.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/SampleData.ts new file mode 100644 index 000000000..99d1775a2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/SampleData.ts @@ -0,0 +1,219 @@ +export class StripAnnotationDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public start: number; + public end: number; + public label: string; + +} +export class StripAnnotationData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StripAnnotationDataItem( + { + start: 40, + end: 45, + label: `Covid - Market Crash` + }), + new StripAnnotationDataItem( + { + start: 100, + end: 144, + label: `Fed Rate Up 0.25 - 5.25%` + }), + new StripAnnotationDataItem( + { + start: 190, + end: 205, + label: `Fed Rate Down 5.25% to 4.45%` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class LineAnnotationData1Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public startX: number; + public startY: number; + public endX: number; + public endY: number; + public label: string; + +} +export class LineAnnotationData1 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new LineAnnotationData1Item( + { + startX: 190, + startY: 138, + endX: 230, + endY: 138, + label: `52-Week Low` + }), + new LineAnnotationData1Item( + { + startX: 190, + startY: 481, + endX: 230, + endY: 481, + label: `52-Week High` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class LineAnnotationData2Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public startX: number; + public startY: number; + public endX: number; + public endY: number; + public label: string; + +} +export class LineAnnotationData2 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new LineAnnotationData2Item( + { + startX: 48, + startY: 25, + endX: 105, + endY: 250, + label: `Growth & +Support` + }), + new LineAnnotationData2Item( + { + startX: 108, + startY: 440, + endX: 155, + endY: 210, + label: `Decline & +Resistance` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class SliceAnnotationData1Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + public label: string; + +} +export class SliceAnnotationData1 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new SliceAnnotationData1Item( + { + value: 126, + label: `Stock Split 3-1` + }), + new SliceAnnotationData1Item( + { + value: 61, + label: `Stock Split 5-1` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class SliceAnnotationData2Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + public label: string; + +} +export class SliceAnnotationData2 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new SliceAnnotationData2Item( + { + value: 9, + label: `Earnings Miss` + }), + new SliceAnnotationData2Item( + { + value: 179, + label: `Earnings Miss` + }), + new SliceAnnotationData2Item( + { + value: 215, + label: `Earnings Miss` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class SliceAnnotationData3Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + public label: string; + +} +export class SliceAnnotationData3 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new SliceAnnotationData3Item( + { + value: 155, + label: `Earnings Beat` + }), + new SliceAnnotationData3Item( + { + value: 86, + label: `Earnings Beat` + }), + new SliceAnnotationData3Item( + { + value: 28, + label: `Earnings Miss` + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.html b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.html new file mode 100644 index 000000000..5a4cec333 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.html @@ -0,0 +1,220 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.scss b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.ts new file mode 100644 index 000000000..3a82ea583 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.component.ts @@ -0,0 +1,117 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { StripAnnotationDataItem, StripAnnotationData, LineAnnotationData1Item, LineAnnotationData1, LineAnnotationData2Item, LineAnnotationData2, SliceAnnotationData1Item, SliceAnnotationData1, SliceAnnotationData2Item, SliceAnnotationData2, SliceAnnotationData3Item, SliceAnnotationData3 } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxFinancialPriceSeriesComponent, IgxDataToolTipLayerComponent, IgxDataAnnotationStripLayerComponent, IgxDataAnnotationLineLayerComponent, IgxDataAnnotationSliceLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxisBottom", { static: true } ) + private xAxisBottom: IgxCategoryXAxisComponent + @ViewChild("xAxis", { static: true } ) + private xAxis: IgxCategoryXAxisComponent + @ViewChild("xAxisTop", { static: true } ) + private xAxisTop: IgxCategoryXAxisComponent + @ViewChild("yAxisLeft", { static: true } ) + private yAxisLeft: IgxNumericYAxisComponent + @ViewChild("yAxisRight", { static: true } ) + private yAxisRight: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxFinancialPriceSeriesComponent + @ViewChild("tooltip", { static: true } ) + private tooltip: IgxDataToolTipLayerComponent + @ViewChild("stripLayer", { static: true } ) + private stripLayer: IgxDataAnnotationStripLayerComponent + @ViewChild("lineLayer52WeekRange", { static: true } ) + private lineLayer52WeekRange: IgxDataAnnotationLineLayerComponent + @ViewChild("lineLayerGrowthAndDecline", { static: true } ) + private lineLayerGrowthAndDecline: IgxDataAnnotationLineLayerComponent + @ViewChild("sliceLayerStockSplit", { static: true } ) + private sliceLayerStockSplit: IgxDataAnnotationSliceLayerComponent + @ViewChild("sliceLayerEarningsMissAnnotations", { static: true } ) + private sliceLayerEarningsMissAnnotations: IgxDataAnnotationSliceLayerComponent + @ViewChild("sliceLayerEarningsBeatAnnotations", { static: true } ) + private sliceLayerEarningsBeatAnnotations: IgxDataAnnotationSliceLayerComponent + private _stripAnnotationData: StripAnnotationData = null; + public get stripAnnotationData(): StripAnnotationData { + if (this._stripAnnotationData == null) + { + this._stripAnnotationData = new StripAnnotationData(); + } + return this._stripAnnotationData; + } + + private _lineAnnotationData1: LineAnnotationData1 = null; + public get lineAnnotationData1(): LineAnnotationData1 { + if (this._lineAnnotationData1 == null) + { + this._lineAnnotationData1 = new LineAnnotationData1(); + } + return this._lineAnnotationData1; + } + + private _lineAnnotationData2: LineAnnotationData2 = null; + public get lineAnnotationData2(): LineAnnotationData2 { + if (this._lineAnnotationData2 == null) + { + this._lineAnnotationData2 = new LineAnnotationData2(); + } + return this._lineAnnotationData2; + } + + private _sliceAnnotationData1: SliceAnnotationData1 = null; + public get sliceAnnotationData1(): SliceAnnotationData1 { + if (this._sliceAnnotationData1 == null) + { + this._sliceAnnotationData1 = new SliceAnnotationData1(); + } + return this._sliceAnnotationData1; + } + + private _sliceAnnotationData2: SliceAnnotationData2 = null; + public get sliceAnnotationData2(): SliceAnnotationData2 { + if (this._sliceAnnotationData2 == null) + { + this._sliceAnnotationData2 = new SliceAnnotationData2(); + } + return this._sliceAnnotationData2; + } + + private _sliceAnnotationData3: SliceAnnotationData3 = null; + public get sliceAnnotationData3(): SliceAnnotationData3 { + if (this._sliceAnnotationData3 == null) + { + this._sliceAnnotationData3 = new SliceAnnotationData3(); + } + return this._sliceAnnotationData3; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.module.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.module.ts new file mode 100644 index 000000000..ff8948320 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/app.module.ts @@ -0,0 +1,37 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartFinancialCoreModule, IgxDataChartFinancialModule, IgxDataChartFinancialOverlaysModule, IgxDataChartInteractivityModule, IgxDataChartAnnotationModule, IgxDataAnnotationStripLayerModule, IgxDataAnnotationSliceLayerModule, IgxDataAnnotationLineLayerModule, IgxNumberAbbreviatorModule, IgxAnnotationLayerProxyModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartFinancialCoreModule, + IgxDataChartFinancialModule, + IgxDataChartFinancialOverlaysModule, + IgxDataChartInteractivityModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationStripLayerModule, + IgxDataAnnotationSliceLayerModule, + IgxDataAnnotationLineLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/index.html b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/main.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/polyfills.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/styles.scss b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/typings.d.ts b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/tsconfig.app.json b/samples/charts/data-chart/data-annotation-multiple-with-stocks/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/tsconfig.json b/samples/charts/data-chart/data-annotation-multiple-with-stocks/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-multiple-with-stocks/tslint.json b/samples/charts/data-chart/data-annotation-multiple-with-stocks/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-multiple-with-stocks/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/.codesandbox/Dockerfile b/samples/charts/data-chart/data-annotation-rect-layer/.codesandbox/Dockerfile new file mode 100644 index 000000000..adf04bd95 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/.codesandbox/Dockerfile @@ -0,0 +1 @@ +FROM node:18 \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-rect-layer/.codesandbox/tasks.json b/samples/charts/data-chart/data-annotation-rect-layer/.codesandbox/tasks.json new file mode 100644 index 000000000..8d92a54cd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/.codesandbox/tasks.json @@ -0,0 +1,17 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "yarn install" + } + ], + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check": { + "name": "Start Project", + "command": "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check", + "runAtStart": true + } + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-rect-layer/.stackblitzrc b/samples/charts/data-chart/data-annotation-rect-layer/.stackblitzrc new file mode 100644 index 000000000..dd44ea00f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/.stackblitzrc @@ -0,0 +1 @@ +{"installDependencies":true, "startCommand":"npm start"} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-rect-layer/angular.json b/samples/charts/data-chart/data-annotation-rect-layer/angular.json new file mode 100644 index 000000000..ff6803cf7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/angular.json @@ -0,0 +1,120 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "demo": { + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "src/polyfills.ts" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "demo:build:production" + }, + "development": { + "buildTarget": "demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/assets" + ], + "inlineStyleLanguage": "scss", + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + } + } + } + } + }, + "defaultProject": "demo", + "cli": { + "analytics": false + } +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/package.json b/samples/charts/data-chart/data-annotation-rect-layer/package.json new file mode 100644 index 000000000..5565041b2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/package.json @@ -0,0 +1,43 @@ +{ + "scripts": { + "ng": "ng", + "update": "ng update", + "start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve -o", + "build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build --configuration production", + "lint": "ng lint" + }, + "dependencies": { + "@angular/animations": "19.0.4", + "@angular/common": "19.0.4", + "@angular/compiler": "19.0.4", + "@angular/core": "19.0.4", + "@angular/forms": "19.0.4", + "@angular/platform-browser": "19.0.4", + "@angular/platform-browser-dynamic": "19.0.4", + "@types/hammerjs": "2.0.40", + "classlist.js": "1.1.20150312", + "hammerjs": "2.0.8", + "igniteui-angular-charts": "19.0.1", + "igniteui-angular-core": "19.0.1", + "intl": "1.2.5", + "jszip": "3.8.0", + "rxjs": "7.8.1", + "tslib": "2.6.1", + "web-animations-js": "2.3.2", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/cli": "19.0.4", + "@angular/compiler-cli": "19.0.4", + "@angular/language-service": "19.0.4", + "@angular-devkit/build-angular": "19.0.4", + "@types/node": "18.17.0", + "codelyzer": "6.0.2", + "jasmine-core": "5.1.1", + "jasmine-spec-reporter": "~4.2.1", + "sass.js": "0.11.1", + "tslint": "~6.1.3", + "ts-node": "10.9.1", + "typescript": "5.6.3" + } +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/SampleData.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/SampleData.ts new file mode 100644 index 000000000..78e480ff8 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/SampleData.ts @@ -0,0 +1,40 @@ +export class AnnotationDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public startX: number; + public startY: number; + public endX: number; + public endY: number; + public label: string; + +} +export class AnnotationData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationDataItem( + { + startX: 85, + startY: 190, + endX: 140, + endY: 415, + label: `Head & Shoulders Pattern + (Bearish Downtrend)` + }), + new AnnotationDataItem( + { + startX: 53, + startY: 75, + endX: 230, + endY: 80, + label: `Price Gap (Bearish Target)` + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.html b/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.html new file mode 100644 index 000000000..617c6befe --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.html @@ -0,0 +1,85 @@ +
+
+ + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.scss b/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.ts new file mode 100644 index 000000000..fc313fb14 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/app.component.ts @@ -0,0 +1,56 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { AnnotationDataItem, AnnotationData } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxFinancialPriceSeriesComponent, IgxDataToolTipLayerComponent, IgxDataAnnotationRectLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxis", { static: true } ) + private xAxis: IgxCategoryXAxisComponent + @ViewChild("yAxis", { static: true } ) + private yAxis: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxFinancialPriceSeriesComponent + @ViewChild("tooltip", { static: true } ) + private tooltip: IgxDataToolTipLayerComponent + @ViewChild("rectLayer", { static: true } ) + private rectLayer: IgxDataAnnotationRectLayerComponent + private _annotationData: AnnotationData = null; + public get annotationData(): AnnotationData { + if (this._annotationData == null) + { + this._annotationData = new AnnotationData(); + } + return this._annotationData; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/app.module.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/app.module.ts new file mode 100644 index 000000000..90cb909f5 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/app.module.ts @@ -0,0 +1,35 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartFinancialCoreModule, IgxDataChartFinancialModule, IgxDataChartFinancialOverlaysModule, IgxDataChartInteractivityModule, IgxDataChartAnnotationModule, IgxDataAnnotationRectLayerModule, IgxNumberAbbreviatorModule, IgxAnnotationLayerProxyModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartFinancialCoreModule, + IgxDataChartFinancialModule, + IgxDataChartFinancialOverlaysModule, + IgxDataChartInteractivityModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationRectLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/index.html b/samples/charts/data-chart/data-annotation-rect-layer/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/main.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/polyfills.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/styles.scss b/samples/charts/data-chart/data-annotation-rect-layer/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/src/typings.d.ts b/samples/charts/data-chart/data-annotation-rect-layer/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/tsconfig.app.json b/samples/charts/data-chart/data-annotation-rect-layer/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-rect-layer/tsconfig.json b/samples/charts/data-chart/data-annotation-rect-layer/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-rect-layer/tslint.json b/samples/charts/data-chart/data-annotation-rect-layer/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-rect-layer/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/.codesandbox/Dockerfile b/samples/charts/data-chart/data-annotation-slice-layer/.codesandbox/Dockerfile new file mode 100644 index 000000000..adf04bd95 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/.codesandbox/Dockerfile @@ -0,0 +1 @@ +FROM node:18 \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-slice-layer/.codesandbox/tasks.json b/samples/charts/data-chart/data-annotation-slice-layer/.codesandbox/tasks.json new file mode 100644 index 000000000..8d92a54cd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/.codesandbox/tasks.json @@ -0,0 +1,17 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "yarn install" + } + ], + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check": { + "name": "Start Project", + "command": "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check", + "runAtStart": true + } + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-slice-layer/.stackblitzrc b/samples/charts/data-chart/data-annotation-slice-layer/.stackblitzrc new file mode 100644 index 000000000..dd44ea00f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/.stackblitzrc @@ -0,0 +1 @@ +{"installDependencies":true, "startCommand":"npm start"} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-slice-layer/angular.json b/samples/charts/data-chart/data-annotation-slice-layer/angular.json new file mode 100644 index 000000000..ff6803cf7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/angular.json @@ -0,0 +1,120 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "demo": { + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "src/polyfills.ts" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "demo:build:production" + }, + "development": { + "buildTarget": "demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/assets" + ], + "inlineStyleLanguage": "scss", + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + } + } + } + } + }, + "defaultProject": "demo", + "cli": { + "analytics": false + } +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/package.json b/samples/charts/data-chart/data-annotation-slice-layer/package.json new file mode 100644 index 000000000..5565041b2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/package.json @@ -0,0 +1,43 @@ +{ + "scripts": { + "ng": "ng", + "update": "ng update", + "start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve -o", + "build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build --configuration production", + "lint": "ng lint" + }, + "dependencies": { + "@angular/animations": "19.0.4", + "@angular/common": "19.0.4", + "@angular/compiler": "19.0.4", + "@angular/core": "19.0.4", + "@angular/forms": "19.0.4", + "@angular/platform-browser": "19.0.4", + "@angular/platform-browser-dynamic": "19.0.4", + "@types/hammerjs": "2.0.40", + "classlist.js": "1.1.20150312", + "hammerjs": "2.0.8", + "igniteui-angular-charts": "19.0.1", + "igniteui-angular-core": "19.0.1", + "intl": "1.2.5", + "jszip": "3.8.0", + "rxjs": "7.8.1", + "tslib": "2.6.1", + "web-animations-js": "2.3.2", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/cli": "19.0.4", + "@angular/compiler-cli": "19.0.4", + "@angular/language-service": "19.0.4", + "@angular-devkit/build-angular": "19.0.4", + "@types/node": "18.17.0", + "codelyzer": "6.0.2", + "jasmine-core": "5.1.1", + "jasmine-spec-reporter": "~4.2.1", + "sass.js": "0.11.1", + "tslint": "~6.1.3", + "ts-node": "10.9.1", + "typescript": "5.6.3" + } +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/SampleData.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/SampleData.ts new file mode 100644 index 000000000..71fc68d64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/SampleData.ts @@ -0,0 +1,100 @@ +export class AnnotationData1Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + public label: string; + +} +export class AnnotationData1 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationData1Item( + { + value: 126, + label: `Stock Split 3-1` + }), + new AnnotationData1Item( + { + value: 61, + label: `Stock Split 5-1` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class AnnotationData2Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + public label: string; + +} +export class AnnotationData2 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationData2Item( + { + value: 9, + label: `Earnings Miss` + }), + new AnnotationData2Item( + { + value: 179, + label: `Earnings Miss` + }), + new AnnotationData2Item( + { + value: 215, + label: `Earnings Miss` + }), + ]; + super(...newItems.slice(0)); + } + } +} +export class AnnotationData3Item { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public value: number; + public label: string; + +} +export class AnnotationData3 extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationData3Item( + { + value: 155, + label: `Earnings Beat` + }), + new AnnotationData3Item( + { + value: 86, + label: `Earnings Beat` + }), + new AnnotationData3Item( + { + value: 28, + label: `Earnings Miss` + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.html b/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.html new file mode 100644 index 000000000..df22f428d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.html @@ -0,0 +1,140 @@ +
+
+ + + + + + + + + + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.scss b/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.ts new file mode 100644 index 000000000..c62995fb7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/app.component.ts @@ -0,0 +1,82 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { AnnotationData1Item, AnnotationData1, AnnotationData2Item, AnnotationData2, AnnotationData3Item, AnnotationData3 } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxFinancialPriceSeriesComponent, IgxDataToolTipLayerComponent, IgxDataAnnotationSliceLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxisBottom", { static: true } ) + private xAxisBottom: IgxCategoryXAxisComponent + @ViewChild("xAxisTop", { static: true } ) + private xAxisTop: IgxCategoryXAxisComponent + @ViewChild("yAxisLeft", { static: true } ) + private yAxisLeft: IgxNumericYAxisComponent + @ViewChild("yAxisRight", { static: true } ) + private yAxisRight: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxFinancialPriceSeriesComponent + @ViewChild("tooltip", { static: true } ) + private tooltip: IgxDataToolTipLayerComponent + @ViewChild("sliceLayerStockSplit", { static: true } ) + private sliceLayerStockSplit: IgxDataAnnotationSliceLayerComponent + @ViewChild("sliceLayerEarningsMissAnnotations", { static: true } ) + private sliceLayerEarningsMissAnnotations: IgxDataAnnotationSliceLayerComponent + @ViewChild("sliceLayerEarningsBeatAnnotations", { static: true } ) + private sliceLayerEarningsBeatAnnotations: IgxDataAnnotationSliceLayerComponent + private _annotationData1: AnnotationData1 = null; + public get annotationData1(): AnnotationData1 { + if (this._annotationData1 == null) + { + this._annotationData1 = new AnnotationData1(); + } + return this._annotationData1; + } + + private _annotationData2: AnnotationData2 = null; + public get annotationData2(): AnnotationData2 { + if (this._annotationData2 == null) + { + this._annotationData2 = new AnnotationData2(); + } + return this._annotationData2; + } + + private _annotationData3: AnnotationData3 = null; + public get annotationData3(): AnnotationData3 { + if (this._annotationData3 == null) + { + this._annotationData3 = new AnnotationData3(); + } + return this._annotationData3; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/app.module.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/app.module.ts new file mode 100644 index 000000000..d9fbc2007 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/app.module.ts @@ -0,0 +1,35 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartFinancialCoreModule, IgxDataChartFinancialModule, IgxDataChartFinancialOverlaysModule, IgxDataChartInteractivityModule, IgxDataChartAnnotationModule, IgxDataAnnotationSliceLayerModule, IgxNumberAbbreviatorModule, IgxAnnotationLayerProxyModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartFinancialCoreModule, + IgxDataChartFinancialModule, + IgxDataChartFinancialOverlaysModule, + IgxDataChartInteractivityModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationSliceLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/index.html b/samples/charts/data-chart/data-annotation-slice-layer/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/main.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/polyfills.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/styles.scss b/samples/charts/data-chart/data-annotation-slice-layer/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/src/typings.d.ts b/samples/charts/data-chart/data-annotation-slice-layer/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/tsconfig.app.json b/samples/charts/data-chart/data-annotation-slice-layer/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-slice-layer/tsconfig.json b/samples/charts/data-chart/data-annotation-slice-layer/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-slice-layer/tslint.json b/samples/charts/data-chart/data-annotation-slice-layer/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-slice-layer/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/.codesandbox/Dockerfile b/samples/charts/data-chart/data-annotation-strip-layer/.codesandbox/Dockerfile new file mode 100644 index 000000000..adf04bd95 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/.codesandbox/Dockerfile @@ -0,0 +1 @@ +FROM node:18 \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-strip-layer/.codesandbox/tasks.json b/samples/charts/data-chart/data-annotation-strip-layer/.codesandbox/tasks.json new file mode 100644 index 000000000..8d92a54cd --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/.codesandbox/tasks.json @@ -0,0 +1,17 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "yarn install" + } + ], + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check": { + "name": "Start Project", + "command": "node node_modules/@angular/cli/bin/ng serve -o --disable-host-check", + "runAtStart": true + } + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-strip-layer/.stackblitzrc b/samples/charts/data-chart/data-annotation-strip-layer/.stackblitzrc new file mode 100644 index 000000000..dd44ea00f --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/.stackblitzrc @@ -0,0 +1 @@ +{"installDependencies":true, "startCommand":"npm start"} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-strip-layer/angular.json b/samples/charts/data-chart/data-annotation-strip-layer/angular.json new file mode 100644 index 000000000..ff6803cf7 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/angular.json @@ -0,0 +1,120 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "demo": { + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "src/polyfills.ts" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "demo:build:production" + }, + "development": { + "buildTarget": "demo:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/assets" + ], + "inlineStyleLanguage": "scss", + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"] + } + } + } + } + } + }, + "defaultProject": "demo", + "cli": { + "analytics": false + } +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/package.json b/samples/charts/data-chart/data-annotation-strip-layer/package.json new file mode 100644 index 000000000..5565041b2 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/package.json @@ -0,0 +1,43 @@ +{ + "scripts": { + "ng": "ng", + "update": "ng update", + "start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve -o", + "build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build --configuration production", + "lint": "ng lint" + }, + "dependencies": { + "@angular/animations": "19.0.4", + "@angular/common": "19.0.4", + "@angular/compiler": "19.0.4", + "@angular/core": "19.0.4", + "@angular/forms": "19.0.4", + "@angular/platform-browser": "19.0.4", + "@angular/platform-browser-dynamic": "19.0.4", + "@types/hammerjs": "2.0.40", + "classlist.js": "1.1.20150312", + "hammerjs": "2.0.8", + "igniteui-angular-charts": "19.0.1", + "igniteui-angular-core": "19.0.1", + "intl": "1.2.5", + "jszip": "3.8.0", + "rxjs": "7.8.1", + "tslib": "2.6.1", + "web-animations-js": "2.3.2", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/cli": "19.0.4", + "@angular/compiler-cli": "19.0.4", + "@angular/language-service": "19.0.4", + "@angular-devkit/build-angular": "19.0.4", + "@types/node": "18.17.0", + "codelyzer": "6.0.2", + "jasmine-core": "5.1.1", + "jasmine-spec-reporter": "~4.2.1", + "sass.js": "0.11.1", + "tslint": "~6.1.3", + "ts-node": "10.9.1", + "typescript": "5.6.3" + } +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/SampleData.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/SampleData.ts new file mode 100644 index 000000000..8276a9dce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/SampleData.ts @@ -0,0 +1,39 @@ +export class AnnotationDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public start: number; + public end: number; + public label: string; + +} +export class AnnotationData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new AnnotationDataItem( + { + start: 40, + end: 45, + label: `Covid - Market Crash` + }), + new AnnotationDataItem( + { + start: 100, + end: 144, + label: `Fed Rate Up 0.25 - 5.25%` + }), + new AnnotationDataItem( + { + start: 190, + end: 205, + label: `Fed Rate Down 5.25% to 4.45%` + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/StockTesla.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/StockTesla.ts new file mode 100644 index 000000000..1efe6d6e4 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/StockTesla.ts @@ -0,0 +1,2523 @@ +export class StockTeslaItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public date: string; + public open: number; + public high: number; + public low: number; + public close: number; + public volume: number; + public change: number; + public index: number; + +} +export class StockTesla extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new StockTeslaItem( + { + date: `2019-01-10`, + open: 20.4, + high: 23, + low: 19.8, + close: 23, + volume: 779333701, + change: 12.7, + index: 0 + }), + new StockTeslaItem( + { + date: `2019-01-22`, + open: 22.8, + high: 23.5, + low: 19.7, + close: 19.9, + volume: 911781100, + change: -12.6, + index: 1 + }), + new StockTeslaItem( + { + date: `2019-01-31`, + open: 19.5, + high: 20.8, + low: 18.6, + close: 20.5, + volume: 926375717, + change: 5, + index: 2 + }), + new StockTeslaItem( + { + date: `2019-02-11`, + open: 20.4, + high: 21.6, + low: 19.9, + close: 20.9, + volume: 687520471, + change: 2.4, + index: 3 + }), + new StockTeslaItem( + { + date: `2019-02-21`, + open: 21.1, + high: 21.2, + low: 19.4, + close: 19.4, + volume: 597552272, + change: -7.9, + index: 4 + }), + new StockTeslaItem( + { + date: `2019-03-04`, + open: 19.6, + high: 21.3, + low: 18.9, + close: 19, + volume: 1218669201, + change: -3.1, + index: 5 + }), + new StockTeslaItem( + { + date: `2019-03-13`, + open: 18.8, + high: 19.5, + low: 18, + close: 19.3, + volume: 1034156904, + change: 2.5, + index: 6 + }), + new StockTeslaItem( + { + date: `2019-03-22`, + open: 19.5, + high: 19.7, + low: 17.6, + close: 17.6, + volume: 980694095, + change: -9.5, + index: 7 + }), + new StockTeslaItem( + { + date: `2019-04-02`, + open: 17.3, + high: 19.3, + low: 17, + close: 19.1, + volume: 788473494, + change: 10.1, + index: 8 + }), + new StockTeslaItem( + { + date: `2019-04-11`, + open: 19.2, + high: 19.7, + low: 17.4, + close: 17.9, + volume: 1165555442, + change: -6.6, + index: 9 + }), + new StockTeslaItem( + { + date: `2019-04-23`, + open: 18, + high: 18.3, + low: 17, + close: 17.6, + volume: 870373200, + change: -2.3, + index: 10 + }), + new StockTeslaItem( + { + date: `2019-05-02`, + open: 17.6, + high: 17.7, + low: 15.4, + close: 16.3, + volume: 1629432326, + change: -7.5, + index: 11 + }), + new StockTeslaItem( + { + date: `2019-05-13`, + open: 16.3, + high: 17.2, + low: 15, + close: 15.1, + volume: 1131045605, + change: -6.9, + index: 12 + }), + new StockTeslaItem( + { + date: `2019-05-22`, + open: 15.3, + high: 15.6, + low: 12.8, + close: 12.8, + volume: 1455503588, + change: -15.9, + index: 13 + }), + new StockTeslaItem( + { + date: `2019-06-03`, + open: 13, + high: 13.3, + low: 11.8, + close: 11.9, + volume: 1415442268, + change: -7.9, + index: 14 + }), + new StockTeslaItem( + { + date: `2019-06-12`, + open: 12.1, + high: 14.9, + low: 12, + close: 14, + volume: 1515000443, + change: 15.6, + index: 15 + }), + new StockTeslaItem( + { + date: `2019-06-21`, + open: 14, + high: 15.6, + low: 13.8, + close: 14.8, + volume: 1009123371, + change: 5.5, + index: 16 + }), + new StockTeslaItem( + { + date: `2019-07-02`, + open: 14.9, + high: 15.5, + low: 14.5, + close: 15, + volume: 766921642, + change: 0.6, + index: 17 + }), + new StockTeslaItem( + { + date: `2019-07-12`, + open: 16, + high: 16.4, + low: 15.2, + close: 16.3, + volume: 887983836, + change: 2.4, + index: 18 + }), + new StockTeslaItem( + { + date: `2019-07-23`, + open: 16.5, + high: 17.5, + low: 16.3, + close: 17.3, + volume: 788941000, + change: 4.9, + index: 19 + }), + new StockTeslaItem( + { + date: `2019-08-01`, + open: 17.3, + high: 17.7, + low: 14.8, + close: 15.6, + volume: 1175082297, + change: -9.8, + index: 20 + }), + new StockTeslaItem( + { + date: `2019-08-12`, + open: 15.4, + high: 16, + low: 15, + close: 15.3, + volume: 560129569, + change: -1, + index: 21 + }), + new StockTeslaItem( + { + date: `2019-08-21`, + open: 15.3, + high: 15.7, + low: 14.1, + close: 14.7, + volume: 677293701, + change: -3.5, + index: 22 + }), + new StockTeslaItem( + { + date: `2019-08-30`, + open: 14.9, + high: 15.5, + low: 14.1, + close: 15, + volume: 650239370, + change: 1.3, + index: 23 + }), + new StockTeslaItem( + { + date: `2019-09-11`, + open: 14.9, + high: 16.5, + low: 14.6, + close: 16.5, + volume: 636766167, + change: 10.3, + index: 24 + }), + new StockTeslaItem( + { + date: `2019-09-20`, + open: 16.5, + high: 16.9, + low: 15.9, + close: 16, + volume: 572802643, + change: -2.9, + index: 25 + }), + new StockTeslaItem( + { + date: `2019-10-01`, + open: 16, + high: 16.6, + low: 14.6, + close: 16.3, + volume: 931821239, + change: 2, + index: 26 + }), + new StockTeslaItem( + { + date: `2019-10-10`, + open: 16.2, + high: 16.6, + low: 15, + close: 16.3, + volume: 891798049, + change: 0.6, + index: 27 + }), + new StockTeslaItem( + { + date: `2019-10-21`, + open: 16.5, + high: 17.7, + low: 16.5, + close: 16.9, + volume: 713093463, + change: 2.6, + index: 28 + }), + new StockTeslaItem( + { + date: `2019-10-30`, + open: 17, + high: 22.7, + low: 16.7, + close: 21, + volume: 1752943598, + change: 23.9, + index: 29 + }), + new StockTeslaItem( + { + date: `2019-11-08`, + open: 20.9, + high: 22.8, + low: 20.6, + close: 22.5, + volume: 834957256, + change: 7.7, + index: 30 + }), + new StockTeslaItem( + { + date: `2019-11-19`, + open: 22.9, + high: 24, + low: 22.8, + close: 24, + volume: 738746390, + change: 4.5, + index: 31 + }), + new StockTeslaItem( + { + date: `2019-11-29`, + open: 24, + high: 24.1, + low: 21.8, + close: 22, + volume: 870685288, + change: -8.4, + index: 32 + }), + new StockTeslaItem( + { + date: `2019-12-10`, + open: 22, + high: 23.4, + low: 21.8, + close: 23.3, + volume: 712016613, + change: 5.9, + index: 33 + }), + new StockTeslaItem( + { + date: `2019-12-19`, + open: 23.5, + high: 27.1, + low: 23.4, + close: 26.9, + volume: 1203765433, + change: 14.8, + index: 34 + }), + new StockTeslaItem( + { + date: `2019-12-31`, + open: 27.4, + high: 29, + low: 26.7, + close: 27.9, + volume: 1195073357, + change: 2, + index: 35 + }), + new StockTeslaItem( + { + date: `2020-01-10`, + open: 28.3, + high: 33.3, + low: 28.1, + close: 31.9, + volume: 1925386078, + change: 12.6, + index: 36 + }), + new StockTeslaItem( + { + date: `2020-01-22`, + open: 32.9, + high: 39.6, + low: 32.8, + close: 38, + volume: 2364043518, + change: 15.4, + index: 37 + }), + new StockTeslaItem( + { + date: `2020-01-31`, + open: 37.6, + high: 43.5, + low: 36, + close: 43.4, + volume: 1835141382, + change: 15.3, + index: 38 + }), + new StockTeslaItem( + { + date: `2020-02-11`, + open: 44.9, + high: 64.6, + low: 44.9, + close: 51.6, + volume: 3748903126, + change: 14.9, + index: 39 + }), + new StockTeslaItem( + { + date: `2020-02-21`, + open: 51.9, + high: 63, + low: 49, + close: 60.1, + volume: 1921517039, + change: 15.8, + index: 40 + }), + new StockTeslaItem( + { + date: `2020-03-03`, + open: 55.9, + high: 57.6, + low: 40.8, + close: 49.7, + volume: 2121850940, + change: -11.1, + index: 41 + }), + new StockTeslaItem( + { + date: `2020-03-12`, + open: 50.9, + high: 51.1, + low: 36.4, + close: 37.4, + volume: 1553329923, + change: -26.6, + index: 42 + }), + new StockTeslaItem( + { + date: `2020-03-23`, + open: 39.7, + high: 40.5, + low: 23.4, + close: 29, + volume: 2487688157, + change: -27, + index: 43 + }), + new StockTeslaItem( + { + date: `2020-04-01`, + open: 31.8, + high: 37.3, + low: 31.6, + close: 32.1, + volume: 1785601357, + change: 0.9, + index: 44 + }), + new StockTeslaItem( + { + date: `2020-04-13`, + open: 32.1, + high: 43.5, + low: 29.8, + close: 43.4, + volume: 1860352620, + change: 35.3, + index: 45 + }), + new StockTeslaItem( + { + date: `2020-04-22`, + open: 46.6, + high: 51.7, + low: 44.9, + close: 48.8, + volume: 2056797321, + change: 4.7, + index: 46 + }), + new StockTeslaItem( + { + date: `2020-05-01`, + open: 48.5, + high: 58, + low: 45.5, + close: 46.8, + volume: 2093959203, + change: -3.6, + index: 47 + }), + new StockTeslaItem( + { + date: `2020-05-12`, + open: 46.7, + high: 56.2, + low: 46.5, + close: 54, + volume: 1611543246, + change: 15.5, + index: 48 + }), + new StockTeslaItem( + { + date: `2020-05-21`, + open: 54.7, + high: 55.6, + low: 50.9, + close: 55.2, + volume: 1262468113, + change: 0.8, + index: 49 + }), + new StockTeslaItem( + { + date: `2020-06-02`, + open: 54.8, + high: 60.6, + low: 52.3, + close: 58.8, + volume: 1160487993, + change: 7.2, + index: 50 + }), + new StockTeslaItem( + { + date: `2020-06-11`, + open: 59.2, + high: 68.5, + low: 57.2, + close: 64.9, + volume: 1270377400, + change: 9.5, + index: 51 + }), + new StockTeslaItem( + { + date: `2020-06-22`, + open: 65.3, + high: 67.9, + low: 60.6, + close: 66.3, + volume: 1217946366, + change: 1.5, + index: 52 + }), + new StockTeslaItem( + { + date: `2020-07-01`, + open: 66.6, + high: 75.7, + low: 62.5, + close: 74.6, + volume: 1120591270, + change: 12.1, + index: 53 + }), + new StockTeslaItem( + { + date: `2020-07-13`, + open: 81.4, + high: 119.7, + low: 79, + close: 99.8, + volume: 2244920779, + change: 22.6, + index: 54 + }), + new StockTeslaItem( + { + date: `2020-07-22`, + open: 103.7, + high: 111.7, + low: 95.4, + close: 106.2, + volume: 1662846099, + change: 2.3, + index: 55 + }), + new StockTeslaItem( + { + date: `2020-07-31`, + open: 111.9, + high: 112.6, + low: 91.1, + close: 95.4, + volume: 1573159944, + change: -14.8, + index: 56 + }), + new StockTeslaItem( + { + date: `2020-08-11`, + open: 96.6, + high: 101.8, + low: 91, + close: 91.6, + volume: 798587331, + change: -5.2, + index: 57 + }), + new StockTeslaItem( + { + date: `2020-08-20`, + open: 98, + high: 134.8, + low: 95.7, + close: 133.5, + volume: 1866534416, + change: 36.2, + index: 58 + }), + new StockTeslaItem( + { + date: `2020-08-31`, + open: 136.3, + high: 166.7, + low: 128.5, + close: 166.1, + volume: 2008507459, + change: 21.9, + index: 59 + }), + new StockTeslaItem( + { + date: `2020-09-10`, + open: 167.4, + high: 167.5, + low: 110, + close: 123.8, + volume: 1992227059, + change: -26, + index: 60 + }), + new StockTeslaItem( + { + date: `2020-09-21`, + open: 127.3, + high: 154, + low: 120.2, + close: 149.8, + volume: 1758737696, + change: 17.7, + index: 61 + }), + new StockTeslaItem( + { + date: `2020-09-30`, + open: 143.2, + high: 145.9, + low: 117.1, + close: 143, + volume: 1459893236, + change: -0.1, + index: 62 + }), + new StockTeslaItem( + { + date: `2020-10-09`, + open: 146.9, + high: 149.6, + low: 135.4, + close: 144.7, + volume: 985545158, + change: -1.5, + index: 63 + }), + new StockTeslaItem( + { + date: `2020-10-20`, + open: 147.3, + high: 155.3, + low: 139.7, + close: 140.6, + volume: 773077727, + change: -4.5, + index: 64 + }), + new StockTeslaItem( + { + date: `2020-10-29`, + open: 140.9, + high: 148.4, + low: 135.3, + close: 136.9, + volume: 615339122, + change: -2.8, + index: 65 + }), + new StockTeslaItem( + { + date: `2020-11-09`, + open: 135.6, + high: 150.8, + low: 126.4, + close: 140.4, + volume: 669171368, + change: 3.5, + index: 66 + }), + new StockTeslaItem( + { + date: `2020-11-18`, + open: 140, + high: 165.3, + low: 132, + close: 162.2, + volume: 760451265, + change: 15.8, + index: 67 + }), + new StockTeslaItem( + { + date: `2020-11-30`, + open: 164, + high: 202.6, + low: 162.5, + close: 189.2, + volume: 1046371155, + change: 15.4, + index: 68 + }), + new StockTeslaItem( + { + date: `2020-12-09`, + open: 199.2, + high: 218.1, + low: 180.4, + close: 201.5, + volume: 1055933265, + change: 1.2, + index: 69 + }), + new StockTeslaItem( + { + date: `2020-12-18`, + open: 191.5, + high: 231.7, + low: 188.8, + close: 231.7, + volume: 1593943601, + change: 21, + index: 70 + }), + new StockTeslaItem( + { + date: `2020-12-30`, + open: 222.1, + high: 232.2, + low: 204.7, + close: 231.6, + volume: 791942570, + change: 4.3, + index: 71 + }), + new StockTeslaItem( + { + date: `2021-01-11`, + open: 233.3, + high: 294.8, + low: 230.4, + close: 270.4, + volume: 1084025779, + change: 15.9, + index: 72 + }), + new StockTeslaItem( + { + date: `2021-01-21`, + open: 277, + high: 289.3, + low: 273, + close: 281.7, + volume: 663774487, + change: 1.7, + index: 73 + }), + new StockTeslaItem( + { + date: `2021-02-01`, + open: 278.1, + high: 300.1, + low: 260, + close: 279.9, + volume: 595397009, + change: 0.7, + index: 74 + }), + new StockTeslaItem( + { + date: `2021-02-10`, + open: 281.6, + high: 293.5, + low: 266.7, + close: 268.3, + volume: 445813486, + change: -4.7, + index: 75 + }), + new StockTeslaItem( + { + date: `2021-02-22`, + open: 270.8, + high: 276.6, + low: 236.7, + close: 238.2, + volume: 496372009, + change: -12.1, + index: 76 + }), + new StockTeslaItem( + { + date: `2021-03-03`, + open: 220.7, + high: 290.7, + low: 206.3, + close: 217.7, + volume: 793689739, + change: -1.3, + index: 77 + }), + new StockTeslaItem( + { + date: `2021-03-12`, + open: 218.6, + high: 291.3, + low: 179.8, + close: 231.2, + volume: 1215209162, + change: 5.8, + index: 78 + }), + new StockTeslaItem( + { + date: `2021-03-23`, + open: 231.4, + high: 237.7, + low: 208.2, + close: 220.7, + volume: 744776145, + change: -4.6, + index: 79 + }), + new StockTeslaItem( + { + date: `2021-04-01`, + open: 222.6, + high: 230.8, + low: 197, + close: 220.6, + volume: 730733684, + change: -0.9, + index: 80 + }), + new StockTeslaItem( + { + date: `2021-04-13`, + open: 235.9, + high: 254.3, + low: 222.6, + close: 254.1, + volume: 646721884, + change: 7.7, + index: 81 + }), + new StockTeslaItem( + { + date: `2021-04-22`, + open: 256.9, + high: 260.3, + low: 230.6, + close: 239.9, + volume: 740840774, + change: -6.6, + index: 82 + }), + new StockTeslaItem( + { + date: `2021-05-03`, + open: 239.9, + high: 249.8, + low: 222, + close: 228.3, + volume: 623423313, + change: -4.8, + index: 83 + }), + new StockTeslaItem( + { + date: `2021-05-12`, + open: 226.3, + high: 230, + low: 195.6, + close: 196.6, + volume: 643844974, + change: -13.1, + index: 84 + }), + new StockTeslaItem( + { + date: `2021-05-21`, + open: 200.5, + high: 202.2, + low: 182.3, + close: 193.6, + volume: 729192883, + change: -3.4, + index: 85 + }), + new StockTeslaItem( + { + date: `2021-06-02`, + open: 193.9, + high: 211.9, + low: 191.2, + close: 201.7, + volume: 545095944, + change: 4, + index: 86 + }), + new StockTeslaItem( + { + date: `2021-06-11`, + open: 200.6, + high: 207.7, + low: 190.4, + close: 203.3, + volume: 478366128, + change: 1.3, + index: 87 + }), + new StockTeslaItem( + { + date: `2021-06-22`, + open: 204.1, + high: 210.5, + low: 197.8, + close: 207.9, + volume: 454698495, + change: 1.9, + index: 88 + }), + new StockTeslaItem( + { + date: `2021-07-01`, + open: 210.7, + high: 232.5, + low: 210, + close: 226, + volume: 558441596, + change: 7.3, + index: 89 + }), + new StockTeslaItem( + { + date: `2021-07-13`, + open: 226.3, + high: 233.3, + low: 206.8, + close: 222.8, + volume: 470942387, + change: -1.5, + index: 90 + }), + new StockTeslaItem( + { + date: `2021-07-22`, + open: 223.6, + high: 226.2, + low: 207.1, + close: 216.4, + volume: 372195097, + change: -3.2, + index: 91 + }), + new StockTeslaItem( + { + date: `2021-08-02`, + open: 215.5, + high: 242.3, + low: 209.1, + close: 236.6, + volume: 547284685, + change: 9.8, + index: 92 + }), + new StockTeslaItem( + { + date: `2021-08-11`, + open: 239.7, + high: 241.6, + low: 232.5, + close: 235.9, + volume: 315341455, + change: -1.6, + index: 93 + }), + new StockTeslaItem( + { + date: `2021-08-20`, + open: 235.4, + high: 243.3, + low: 216.3, + close: 226.8, + volume: 392227478, + change: -3.7, + index: 94 + }), + new StockTeslaItem( + { + date: `2021-08-31`, + open: 228.5, + high: 246.8, + low: 226.9, + close: 245.2, + volume: 337503634, + change: 7.3, + index: 95 + }), + new StockTeslaItem( + { + date: `2021-09-10`, + open: 244.7, + high: 254.8, + low: 241.4, + close: 245.4, + volume: 328100734, + change: 0.3, + index: 96 + }), + new StockTeslaItem( + { + date: `2021-09-21`, + open: 246.7, + high: 253.7, + low: 236.3, + close: 246.5, + volume: 420153012, + change: -0.1, + index: 97 + }), + new StockTeslaItem( + { + date: `2021-09-30`, + open: 247.8, + high: 266.3, + low: 246.4, + close: 258.5, + volume: 422393262, + change: 4.3, + index: 98 + }), + new StockTeslaItem( + { + date: `2021-10-11`, + open: 259.5, + high: 269, + low: 254.5, + close: 264, + volume: 392144589, + change: 1.7, + index: 99 + }), + new StockTeslaItem( + { + date: `2021-10-20`, + open: 267, + high: 292.6, + low: 265.5, + close: 288.6, + volume: 368796877, + change: 8.1, + index: 100 + }), + new StockTeslaItem( + { + date: `2021-10-29`, + open: 285.3, + high: 371.7, + low: 285.2, + close: 371.3, + volume: 825862313, + change: 30.1, + index: 101 + }), + new StockTeslaItem( + { + date: `2021-11-09`, + open: 381.7, + high: 414.5, + low: 337.2, + close: 341.2, + volume: 818978542, + change: -10.6, + index: 102 + }), + new StockTeslaItem( + { + date: `2021-11-18`, + open: 336.8, + high: 373.2, + low: 326.2, + close: 365.5, + volume: 613304311, + change: 8.5, + index: 103 + }), + new StockTeslaItem( + { + date: `2021-11-30`, + open: 366.3, + high: 400.6, + low: 354, + close: 381.6, + volume: 515052382, + change: 4.2, + index: 104 + }), + new StockTeslaItem( + { + date: `2021-12-09`, + open: 386.9, + high: 390.9, + low: 316.8, + close: 334.6, + volume: 473333567, + change: -13.5, + index: 105 + }), + new StockTeslaItem( + { + date: `2021-12-20`, + open: 336.2, + high: 340.3, + low: 297.8, + close: 300, + volume: 524367113, + change: -10.8, + index: 106 + }), + new StockTeslaItem( + { + date: `2021-12-30`, + open: 305.6, + high: 373, + low: 295.4, + close: 356.8, + volume: 492530059, + change: 16.7, + index: 107 + }), + new StockTeslaItem( + { + date: `2022-01-10`, + open: 357.8, + high: 402.7, + low: 326.7, + close: 352.7, + volume: 592103938, + change: -1.4, + index: 108 + }), + new StockTeslaItem( + { + date: `2022-01-20`, + open: 351.2, + high: 371.9, + low: 331.3, + close: 332.1, + volume: 532857144, + change: -5.4, + index: 109 + }), + new StockTeslaItem( + { + date: `2022-01-31`, + open: 332.1, + high: 334.8, + low: 264, + close: 312.2, + volume: 833589022, + change: -6, + index: 110 + }), + new StockTeslaItem( + { + date: `2022-02-09`, + open: 311.7, + high: 315.9, + low: 293.5, + close: 310.7, + volume: 456395505, + change: -0.3, + index: 111 + }), + new StockTeslaItem( + { + date: `2022-02-18`, + open: 302.8, + high: 314.6, + low: 279.2, + close: 285.7, + volume: 446153356, + change: -5.7, + index: 112 + }), + new StockTeslaItem( + { + date: `2022-03-02`, + open: 278, + high: 296.6, + low: 233.3, + close: 293.3, + volume: 638352514, + change: 5.5, + index: 113 + }), + new StockTeslaItem( + { + date: `2022-03-11`, + open: 292.9, + high: 295.5, + low: 260.7, + close: 265.1, + volume: 466566467, + change: -9.5, + index: 114 + }), + new StockTeslaItem( + { + date: `2022-03-22`, + open: 260.2, + high: 332.6, + low: 252, + close: 331.3, + volume: 576869668, + change: 27.3, + index: 115 + }), + new StockTeslaItem( + { + date: `2022-03-31`, + open: 326.6, + high: 371.6, + low: 325.5, + close: 359.2, + volume: 536607263, + change: 10, + index: 116 + }), + new StockTeslaItem( + { + date: `2022-04-11`, + open: 360.4, + high: 384.3, + low: 324.9, + close: 325.3, + volume: 499682510, + change: -9.7, + index: 117 + }), + new StockTeslaItem( + { + date: `2022-04-21`, + open: 332.5, + high: 364.1, + low: 324.4, + close: 336.3, + volume: 457210487, + change: 1.1, + index: 118 + }), + new StockTeslaItem( + { + date: `2022-05-02`, + open: 338.3, + high: 345, + low: 273.9, + close: 301, + volume: 639990965, + change: -11, + index: 119 + }), + new StockTeslaItem( + { + date: `2022-05-11`, + open: 301.1, + high: 318.5, + low: 242.4, + close: 244.7, + volume: 583211967, + change: -18.7, + index: 120 + }), + new StockTeslaItem( + { + date: `2022-05-20`, + open: 233.7, + high: 262.4, + low: 211, + close: 221.3, + volume: 721880082, + change: -5.3, + index: 121 + }), + new StockTeslaItem( + { + date: `2022-06-01`, + open: 218.3, + high: 259.6, + low: 206.9, + close: 246.8, + volume: 644596235, + change: 13, + index: 122 + }), + new StockTeslaItem( + { + date: `2022-06-10`, + open: 244.2, + high: 264.2, + low: 227.9, + close: 232.2, + volume: 633672873, + change: -4.9, + index: 123 + }), + new StockTeslaItem( + { + date: `2022-06-22`, + open: 223.2, + high: 246.8, + low: 208.7, + close: 236.1, + volume: 744240764, + change: 5.8, + index: 124 + }), + new StockTeslaItem( + { + date: `2022-07-01`, + open: 237.9, + high: 252.1, + low: 218.9, + close: 227.3, + volume: 631776422, + change: -4.5, + index: 125 + }), + new StockTeslaItem( + { + date: `2022-07-13`, + open: 223, + high: 255, + low: 216.2, + close: 237, + volume: 625812242, + change: 6.3, + index: 126 + }), + new StockTeslaItem( + { + date: `2022-07-22`, + open: 234.9, + high: 280.8, + low: 229.3, + close: 272.2, + volume: 646037224, + change: 15.9, + index: 127 + }), + new StockTeslaItem( + { + date: `2022-08-02`, + open: 272.2, + high: 311.9, + low: 256.3, + close: 300.6, + volume: 611660612, + change: 10.4, + index: 128 + }), + new StockTeslaItem( + { + date: `2022-08-11`, + open: 305, + high: 313.6, + low: 279.4, + close: 286.6, + volume: 616204291, + change: -6, + index: 129 + }), + new StockTeslaItem( + { + date: `2022-08-22`, + open: 289.4, + high: 314.7, + low: 285, + close: 289.9, + volume: 490658060, + change: 0.2, + index: 130 + }), + new StockTeslaItem( + { + date: `2022-08-31`, + open: 291.5, + high: 303.6, + low: 271.8, + close: 275.6, + volume: 376152572, + change: -5.4, + index: 131 + }), + new StockTeslaItem( + { + date: `2022-09-12`, + open: 272.6, + high: 305.5, + low: 265.7, + close: 304.4, + volume: 367924580, + change: 11.7, + index: 132 + }), + new StockTeslaItem( + { + date: `2022-09-21`, + open: 292.9, + high: 313.8, + low: 290.4, + close: 300.8, + volume: 477171180, + change: 2.7, + index: 133 + }), + new StockTeslaItem( + { + date: `2022-09-30`, + open: 299.9, + high: 301.3, + low: 262.5, + close: 265.2, + volume: 454307920, + change: -11.5, + index: 134 + }), + new StockTeslaItem( + { + date: `2022-10-11`, + open: 254.5, + high: 257.5, + low: 215, + close: 216.5, + volume: 593078170, + change: -14.9, + index: 135 + }), + new StockTeslaItem( + { + date: `2022-10-20`, + open: 215.3, + high: 229.8, + low: 202, + close: 207.3, + volume: 592158560, + change: -3.7, + index: 136 + }), + new StockTeslaItem( + { + date: `2022-10-31`, + open: 206.4, + high: 233.8, + low: 198.6, + close: 227.5, + volume: 550341050, + change: 10.2, + index: 137 + }), + new StockTeslaItem( + { + date: `2022-11-09`, + open: 234, + high: 237.4, + low: 177.1, + close: 177.6, + volume: 630702790, + change: -24.1, + index: 138 + }), + new StockTeslaItem( + { + date: `2022-11-18`, + open: 189.9, + high: 200.8, + low: 176.6, + close: 180.2, + volume: 637579480, + change: -5.1, + index: 139 + }), + new StockTeslaItem( + { + date: `2022-11-30`, + open: 175.8, + high: 194.8, + low: 166.2, + close: 194.7, + volume: 617126140, + change: 10.7, + index: 140 + }), + new StockTeslaItem( + { + date: `2022-12-09`, + open: 197.1, + high: 198.9, + low: 169.1, + close: 179, + volume: 625675690, + change: -9.1, + index: 141 + }), + new StockTeslaItem( + { + date: `2022-12-20`, + open: 176.1, + high: 177.4, + low: 137.7, + close: 137.8, + volume: 986660100, + change: -21.7, + index: 142 + }), + new StockTeslaItem( + { + date: `2022-12-30`, + open: 139.3, + high: 141.3, + low: 108.2, + close: 123.2, + volume: 1331911900, + change: -11.6, + index: 143 + }), + new StockTeslaItem( + { + date: `2023-01-11`, + open: 118.5, + high: 126, + low: 101.8, + close: 123.2, + volume: 1332426500, + change: 4, + index: 144 + }), + new StockTeslaItem( + { + date: `2023-01-23`, + open: 122.6, + high: 145.4, + low: 115.6, + close: 143.8, + volume: 1244541500, + change: 17.3, + index: 145 + }), + new StockTeslaItem( + { + date: `2023-02-01`, + open: 143, + high: 183.8, + low: 138.1, + close: 181.4, + volume: 1534337700, + change: 26.9, + index: 146 + }), + new StockTeslaItem( + { + date: `2023-02-10`, + open: 187.3, + high: 214, + low: 182.6, + close: 196.9, + volume: 1423167800, + change: 5.1, + index: 147 + }), + new StockTeslaItem( + { + date: `2023-02-22`, + open: 194.4, + high: 217.6, + low: 187.6, + close: 200.9, + volume: 1386211900, + change: 3.3, + index: 148 + }), + new StockTeslaItem( + { + date: `2023-03-03`, + open: 203.9, + high: 211.2, + low: 186, + close: 197.8, + volume: 1095786600, + change: -3, + index: 149 + }), + new StockTeslaItem( + { + date: `2023-03-14`, + open: 198.5, + high: 198.6, + low: 163.9, + close: 183.3, + volume: 1101144600, + change: -7.7, + index: 150 + }), + new StockTeslaItem( + { + date: `2023-03-23`, + open: 180.8, + high: 200.7, + low: 176, + close: 192.2, + volume: 978213300, + change: 6.3, + index: 151 + }), + new StockTeslaItem( + { + date: `2023-04-03`, + open: 191.6, + high: 207.8, + low: 185.4, + close: 194.8, + volume: 909718040, + change: 1.6, + index: 152 + }), + new StockTeslaItem( + { + date: `2023-04-13`, + open: 197.3, + high: 198.7, + low: 176.1, + close: 185.9, + volume: 905319000, + change: -5.8, + index: 153 + }), + new StockTeslaItem( + { + date: `2023-04-24`, + open: 184, + high: 189.7, + low: 158.6, + close: 162.6, + volume: 905416980, + change: -11.6, + index: 154 + }), + new StockTeslaItem( + { + date: `2023-05-03`, + open: 159.8, + high: 165.5, + low: 152.4, + close: 160.6, + volume: 881897100, + change: 0.5, + index: 155 + }), + new StockTeslaItem( + { + date: `2023-05-12`, + open: 162.7, + high: 177.4, + low: 159.6, + close: 168, + volume: 785510430, + change: 3.2, + index: 156 + }), + new StockTeslaItem( + { + date: `2023-05-23`, + open: 167.7, + high: 193, + low: 164.4, + close: 185.8, + volume: 864025390, + change: 10.8, + index: 157 + }), + new StockTeslaItem( + { + date: `2023-06-02`, + open: 182.2, + high: 217.2, + low: 178.2, + close: 214, + volume: 988496020, + change: 17.4, + index: 158 + }), + new StockTeslaItem( + { + date: `2023-06-13`, + open: 217.8, + high: 259.7, + low: 212.5, + close: 258.7, + volume: 1161622400, + change: 18.8, + index: 159 + }), + new StockTeslaItem( + { + date: `2023-06-23`, + open: 260.2, + high: 277, + low: 247.3, + close: 256.6, + volume: 1220407300, + change: -1.4, + index: 160 + }), + new StockTeslaItem( + { + date: `2023-07-05`, + open: 250.1, + high: 284.2, + low: 240.7, + close: 282.5, + volume: 999163700, + change: 13, + index: 161 + }), + new StockTeslaItem( + { + date: `2023-07-14`, + open: 278.1, + high: 285.3, + low: 265.1, + close: 281.4, + volume: 774400400, + change: 1.2, + index: 162 + }), + new StockTeslaItem( + { + date: `2023-07-25`, + open: 286.6, + high: 299.3, + low: 254.1, + close: 265.3, + volume: 973076400, + change: -7.4, + index: 163 + }), + new StockTeslaItem( + { + date: `2023-08-03`, + open: 263.2, + high: 269.1, + low: 250.5, + close: 259.3, + volume: 678809820, + change: -1.5, + index: 164 + }), + new StockTeslaItem( + { + date: `2023-08-14`, + open: 261, + high: 264.8, + low: 233.8, + close: 239.8, + volume: 716008860, + change: -8.1, + index: 165 + }), + new StockTeslaItem( + { + date: `2023-08-23`, + open: 238.7, + high: 240.8, + low: 212.4, + close: 236.9, + volume: 825055300, + change: -0.8, + index: 166 + }), + new StockTeslaItem( + { + date: `2023-09-01`, + open: 238.7, + high: 261.2, + low: 228.2, + close: 245, + volume: 811502630, + change: 2.7, + index: 167 + }), + new StockTeslaItem( + { + date: `2023-09-13`, + open: 245, + high: 278.4, + low: 243.3, + close: 271.3, + volume: 902643400, + change: 10.7, + index: 168 + }), + new StockTeslaItem( + { + date: `2023-09-22`, + open: 271.3, + high: 279, + low: 244.5, + close: 244.9, + volume: 816639600, + change: -9.7, + index: 169 + }), + new StockTeslaItem( + { + date: `2023-10-03`, + open: 243.4, + high: 254.8, + low: 234.6, + close: 246.5, + volume: 814604700, + change: 1.3, + index: 170 + }), + new StockTeslaItem( + { + date: `2023-10-12`, + open: 248.1, + high: 268.9, + low: 247.6, + close: 258.9, + volume: 806250900, + change: 4.3, + index: 171 + }), + new StockTeslaItem( + { + date: `2023-10-23`, + open: 258.9, + high: 259.6, + low: 202.5, + close: 212.1, + volume: 869390890, + change: -18.1, + index: 172 + }), + new StockTeslaItem( + { + date: `2023-11-01`, + open: 216.5, + high: 222, + low: 194.1, + close: 205.7, + volume: 811468170, + change: -5, + index: 173 + }), + new StockTeslaItem( + { + date: `2023-11-10`, + open: 213, + high: 226.4, + low: 205.7, + close: 214.6, + volume: 859763700, + change: 0.8, + index: 174 + }), + new StockTeslaItem( + { + date: `2023-11-21`, + open: 215.6, + high: 246.7, + low: 211.6, + close: 241.2, + volume: 959006600, + change: 11.9, + index: 175 + }), + new StockTeslaItem( + { + date: `2023-12-01`, + open: 242, + high: 252.8, + low: 231.4, + close: 238.8, + volume: 832910200, + change: -1.3, + index: 176 + }), + new StockTeslaItem( + { + date: `2023-12-12`, + open: 235.8, + high: 246.7, + low: 233.3, + close: 237, + volume: 772018400, + change: 0.5, + index: 177 + }), + new StockTeslaItem( + { + date: `2023-12-21`, + open: 234.2, + high: 259.8, + low: 228.2, + close: 254.5, + volume: 900893400, + change: 8.7, + index: 178 + }), + new StockTeslaItem( + { + date: `2024-01-03`, + open: 256.8, + high: 265.1, + low: 236.3, + close: 238.4, + volume: 727005170, + change: -7.1, + index: 179 + }), + new StockTeslaItem( + { + date: `2024-01-12`, + open: 239.2, + high: 242.7, + low: 217.2, + close: 218.9, + volume: 697536380, + change: -8.5, + index: 180 + }), + new StockTeslaItem( + { + date: `2024-01-24`, + open: 215.1, + high: 223.5, + low: 206.3, + close: 207.8, + volume: 777303400, + change: -3.4, + index: 181 + }), + new StockTeslaItem( + { + date: `2024-02-02`, + open: 189.7, + high: 196.4, + low: 180.1, + close: 187.9, + volume: 846092780, + change: -0.9, + index: 182 + }), + new StockTeslaItem( + { + date: `2024-02-13`, + open: 184.3, + high: 194.7, + low: 175, + close: 184, + volume: 718274070, + change: -0.1, + index: 183 + }), + new StockTeslaItem( + { + date: `2024-02-23`, + open: 185.3, + high: 203.2, + low: 183.4, + close: 192, + volume: 693352670, + change: 3.6, + index: 184 + }), + new StockTeslaItem( + { + date: `2024-03-05`, + open: 192.3, + high: 205.6, + low: 177.6, + close: 180.7, + volume: 742344460, + change: -6, + index: 185 + }), + new StockTeslaItem( + { + date: `2024-03-14`, + open: 180, + high: 182.9, + low: 160.5, + close: 162.5, + volume: 701227950, + change: -9.7, + index: 186 + }), + new StockTeslaItem( + { + date: `2024-03-25`, + open: 163.2, + high: 178.2, + low: 160.8, + close: 172.6, + volume: 589466660, + change: 5.8, + index: 187 + }), + new StockTeslaItem( + { + date: `2024-04-04`, + open: 178.6, + high: 184.2, + low: 163.3, + close: 171.1, + volume: 676969950, + change: -4.2, + index: 188 + }), + new StockTeslaItem( + { + date: `2024-04-15`, + open: 169.1, + high: 179.2, + low: 160.5, + close: 161.5, + volume: 694829970, + change: -4.5, + index: 189 + }), + new StockTeslaItem( + { + date: `2024-04-24`, + open: 156.7, + high: 168, + low: 138.8, + close: 162.1, + volume: 775433710, + change: 3.4, + index: 190 + }), + new StockTeslaItem( + { + date: `2024-05-03`, + open: 159, + high: 198.9, + low: 158.4, + close: 181.2, + volume: 864614000, + change: 14, + index: 191 + }), + new StockTeslaItem( + { + date: `2024-05-14`, + open: 183.8, + high: 187.6, + low: 167.8, + close: 177.6, + volume: 531409380, + change: -3.4, + index: 192 + }), + new StockTeslaItem( + { + date: `2024-05-23`, + open: 179.9, + high: 186.9, + low: 171.4, + close: 173.7, + volume: 554203970, + change: -3.4, + index: 193 + }), + new StockTeslaItem( + { + date: `2024-06-04`, + open: 174.8, + high: 182.7, + low: 173.2, + close: 174.8, + volume: 453828370, + change: 0, + index: 194 + }), + new StockTeslaItem( + { + date: `2024-06-13`, + open: 175.4, + high: 191.1, + low: 167.4, + close: 182.5, + volume: 509090870, + change: 4.1, + index: 195 + }), + new StockTeslaItem( + { + date: `2024-06-25`, + open: 185.8, + high: 188.8, + low: 176.9, + close: 187.4, + volume: 505399520, + change: 0.8, + index: 196 + }), + new StockTeslaItem( + { + date: `2024-07-05`, + open: 186.5, + high: 252.4, + low: 186.4, + close: 251.5, + volume: 925723660, + change: 34.8, + index: 197 + }), + new StockTeslaItem( + { + date: `2024-07-16`, + open: 247.7, + high: 271, + low: 233.1, + close: 256.6, + volume: 1097390000, + change: 3.6, + index: 198 + }), + new StockTeslaItem( + { + date: `2024-07-25`, + open: 252.7, + high: 258.5, + low: 214.7, + close: 220.2, + volume: 795590700, + change: -12.9, + index: 199 + }), + new StockTeslaItem( + { + date: `2024-08-05`, + open: 221.2, + high: 234.7, + low: 182, + close: 198.9, + volume: 658914080, + change: -10.1, + index: 200 + }), + new StockTeslaItem( + { + date: `2024-08-14`, + open: 200.8, + high: 208.5, + low: 191.5, + close: 201.4, + volume: 479168160, + change: 0.3, + index: 201 + }), + new StockTeslaItem( + { + date: `2024-08-23`, + open: 205, + high: 228.2, + low: 204.8, + close: 220.3, + volume: 560235700, + change: 7.5, + index: 202 + }), + new StockTeslaItem( + { + date: `2024-09-04`, + open: 218.8, + high: 222.2, + low: 202.6, + close: 219.4, + volume: 469284350, + change: 0.3, + index: 203 + }), + new StockTeslaItem( + { + date: `2024-09-13`, + open: 223.5, + high: 235, + low: 210.5, + close: 230.3, + volume: 592950440, + change: 3, + index: 204 + }), + new StockTeslaItem( + { + date: `2024-09-24`, + open: 229.3, + high: 257.2, + low: 223.5, + close: 254.3, + volume: 577086700, + change: 10.9, + index: 205 + }), + new StockTeslaItem( + { + date: `2024-10-03`, + open: 252.5, + high: 264.9, + low: 237.8, + close: 240.7, + volume: 546148740, + change: -4.7, + index: 206 + }), + new StockTeslaItem( + { + date: `2024-10-14`, + open: 246.7, + high: 251, + low: 213.7, + close: 219.2, + volume: 589440130, + change: -11.2, + index: 207 + }), + new StockTeslaItem( + { + date: `2024-10-23`, + open: 220, + high: 224.3, + low: 212.1, + close: 213.6, + volume: 384561880, + change: -2.9, + index: 208 + }), + new StockTeslaItem( + { + date: `2024-11-01`, + open: 244.7, + high: 273.5, + low: 242.6, + close: 249, + volume: 732392780, + change: 1.8, + index: 209 + }), + new StockTeslaItem( + { + date: `2024-11-12`, + open: 244.6, + high: 358.6, + low: 238.9, + close: 328.5, + volume: 991653160, + change: 34.3, + index: 210 + }), + new StockTeslaItem( + { + date: `2024-11-21`, + open: 335.8, + high: 348.5, + low: 309.2, + close: 339.6, + volume: 700324320, + change: 1.1, + index: 211 + }), + new StockTeslaItem( + { + date: `2024-12-03`, + open: 341.1, + high: 361.9, + low: 326.6, + close: 351.4, + volume: 478645220, + change: 3, + index: 212 + }), + new StockTeslaItem( + { + date: `2024-12-12`, + open: 353, + high: 429.3, + low: 348.6, + close: 418.1, + volume: 599082110, + change: 18.4, + index: 213 + }), + new StockTeslaItem( + { + date: `2024-12-23`, + open: 420, + high: 481.5, + low: 415.4, + close: 430.6, + volume: 807128120, + change: 2.5, + index: 214 + }), + new StockTeslaItem( + { + date: `2025-01-03`, + open: 435.9, + high: 465.3, + low: 373, + close: 410.4, + volume: 565769940, + change: -5.8, + index: 215 + }), + new StockTeslaItem( + { + date: `2025-01-15`, + open: 423.2, + high: 429.8, + low: 377.3, + close: 428.2, + volume: 530063170, + change: 1.2, + index: 216 + }), + new StockTeslaItem( + { + date: `2025-01-27`, + open: 423.5, + high: 439.7, + low: 389, + close: 397.2, + volume: 476854060, + change: -6.2, + index: 217 + }), + new StockTeslaItem( + { + date: `2025-02-05`, + open: 396.9, + high: 420, + low: 374.4, + close: 378.2, + volume: 507024510, + change: -4.7, + index: 218 + }), + new StockTeslaItem( + { + date: `2025-02-14`, + open: 373, + high: 380.6, + low: 325.1, + close: 355.8, + volume: 607376290, + change: -4.6, + index: 219 + }), + new StockTeslaItem( + { + date: `2025-02-26`, + open: 355, + high: 367.3, + low: 288, + close: 290.8, + volume: 549149490, + change: -18.1, + index: 220 + }), + new StockTeslaItem( + { + date: `2025-03-07`, + open: 291.2, + high: 303.9, + low: 250.7, + close: 262.7, + volume: 754567280, + change: -9.8, + index: 221 + }), + new StockTeslaItem( + { + date: `2025-03-18`, + open: 252.5, + high: 253.4, + low: 217, + close: 225.3, + volume: 944623000, + change: -10.8, + index: 222 + }), + new StockTeslaItem( + { + date: `2025-03-27`, + open: 231.6, + high: 291.8, + low: 229.2, + close: 273.1, + volume: 982018670, + change: 17.9, + index: 223 + }), + new StockTeslaItem( + { + date: `2025-04-07`, + open: 275.6, + high: 285, + low: 214.2, + close: 233.3, + volume: 1117950500, + change: -15.3, + index: 224 + }), + new StockTeslaItem( + { + date: `2025-04-16`, + open: 245, + high: 274.7, + low: 217.8, + close: 241.6, + volume: 993815820, + change: -1.4, + index: 225 + }), + new StockTeslaItem( + { + date: `2025-04-28`, + open: 243.5, + high: 294.9, + low: 222.8, + close: 285.9, + volume: 866169890, + change: 17.4, + index: 226 + }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.html b/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.html new file mode 100644 index 000000000..cbf4aa032 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.html @@ -0,0 +1,115 @@ +
+
+ + + + + + + + + + + + + + + + +
+
diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.scss b/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.scss new file mode 100644 index 000000000..cbff781da --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.scss @@ -0,0 +1,3 @@ +/* styles are loaded the Shared CSS file located at: +https://static.infragistics.com/xplatform/css/samples/ +*/ diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.ts new file mode 100644 index 000000000..99c6cd2ac --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/app.component.ts @@ -0,0 +1,60 @@ +import { AfterViewInit, Component, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { AnnotationDataItem, AnnotationData } from './SampleData'; +import { StockTeslaItem, StockTesla } from './StockTesla'; +import { IgxDataChartComponent, IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxFinancialPriceSeriesComponent, IgxDataToolTipLayerComponent, IgxDataAnnotationStripLayerComponent } from 'igniteui-angular-charts'; + +@Component({ + standalone: false, + selector: "app-root", + styleUrls: ["./app.component.scss"], + templateUrl: "./app.component.html", + changeDetection: ChangeDetectionStrategy.OnPush +}) + +export class AppComponent implements AfterViewInit +{ + + @ViewChild("chart", { static: true } ) + private chart: IgxDataChartComponent + @ViewChild("xAxisBottom", { static: true } ) + private xAxisBottom: IgxCategoryXAxisComponent + @ViewChild("xAxisTop", { static: true } ) + private xAxisTop: IgxCategoryXAxisComponent + @ViewChild("yAxisLeft", { static: true } ) + private yAxisLeft: IgxNumericYAxisComponent + @ViewChild("yAxisRight", { static: true } ) + private yAxisRight: IgxNumericYAxisComponent + @ViewChild("series1", { static: true } ) + private series1: IgxFinancialPriceSeriesComponent + @ViewChild("tooltip", { static: true } ) + private tooltip: IgxDataToolTipLayerComponent + @ViewChild("stripLayer", { static: true } ) + private stripLayer: IgxDataAnnotationStripLayerComponent + private _annotationData: AnnotationData = null; + public get annotationData(): AnnotationData { + if (this._annotationData == null) + { + this._annotationData = new AnnotationData(); + } + return this._annotationData; + } + + private _stockTesla: StockTesla = null; + public get stockTesla(): StockTesla { + if (this._stockTesla == null) + { + this._stockTesla = new StockTesla(); + } + return this._stockTesla; + } + + public constructor(private _detector: ChangeDetectorRef) + { + } + + public ngAfterViewInit(): void + { + } + +} + diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/app.module.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/app.module.ts new file mode 100644 index 000000000..93dfa67a9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/app.module.ts @@ -0,0 +1,35 @@ +import { NgModule } from "@angular/core"; +import { FormsModule } from "@angular/forms"; +import { CommonModule } from "@angular/common"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppComponent } from "./app.component"; + +import { IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartCategoryCoreModule, IgxDataChartFinancialCoreModule, IgxDataChartFinancialModule, IgxDataChartFinancialOverlaysModule, IgxDataChartInteractivityModule, IgxDataChartAnnotationModule, IgxDataAnnotationStripLayerModule, IgxNumberAbbreviatorModule, IgxAnnotationLayerProxyModule } from 'igniteui-angular-charts'; + +@NgModule({ + bootstrap: [AppComponent], + declarations: [ + AppComponent +], + imports: [ + BrowserModule, + BrowserAnimationsModule, + CommonModule, + FormsModule, + IgxDataChartCoreModule, + IgxDataChartCategoryModule, + IgxDataChartCategoryCoreModule, + IgxDataChartFinancialCoreModule, + IgxDataChartFinancialModule, + IgxDataChartFinancialOverlaysModule, + IgxDataChartInteractivityModule, + IgxDataChartAnnotationModule, + IgxDataAnnotationStripLayerModule, + IgxNumberAbbreviatorModule, + IgxAnnotationLayerProxyModule +], + providers: [], + schemas: [] +}) +export class AppModule {} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/environments/environment.prod.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/environments/environment.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/environments/environment.ts new file mode 100644 index 000000000..7b4f817ad --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/index.html b/samples/charts/data-chart/data-annotation-strip-layer/src/index.html new file mode 100644 index 000000000..7650dfb64 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/index.html @@ -0,0 +1,23 @@ + + + + + + IgniteUI for Angular | Example | infragistics + + + + + + + + + + + + + + + + + diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/main.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/main.ts new file mode 100644 index 000000000..ec9adcd4a --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/main.ts @@ -0,0 +1,15 @@ +// tslint:disable:no-string-literal +import "./polyfills"; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; +import { AppModule } from "./app.module"; + +platformBrowserDynamic().bootstrapModule(AppModule).then(ref => { + // ensure Angular destroys itself on hot reloads. + if (window["ngRef"]) { + window["ngRef"].destroy(); + } + window["ngRef"] = ref; + + // otherwise, log the boot error +}).catch(err => console.error(err)); diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/polyfills.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/polyfills.ts new file mode 100644 index 000000000..bea4237c0 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/polyfills.ts @@ -0,0 +1,61 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** +* BROWSER POLYFILLS +*/ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +//import "classlist.js"; // run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ + +/* Evergreen browsers require these. */ +// used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. + +/* + * Required to support Web Animations `@angular/platform-browser/animations`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + */ +//import "web-animations-js"; // run `npm install --save web-animations-js`. + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import "hammerjs/hammer"; +import "zone.js"; // included with Angular CLI. + +/*************************************************************************************************** + * @angular/animations polyfill + */ +// if (!Element.prototype.matches) { +// Element.prototype.matches = (Element.prototype as any).msMatchesSelector; +// } + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import "intl"; // Run `npm install --save intl`. +// import "intl/locale-data/jsonp/de"; +/** + * Need to import at least one locale-data with intl. + */ +// import "intl/locale-data/jsonp/en"; diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/styles.scss b/samples/charts/data-chart/data-annotation-strip-layer/src/styles.scss new file mode 100644 index 000000000..9b431e92d --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/styles.scss @@ -0,0 +1,9 @@ +/* autoprefixer grid: on */ +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + margin: 0; + box-sizing: border-box; +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/src/typings.d.ts b/samples/charts/data-chart/data-annotation-strip-layer/src/typings.d.ts new file mode 100644 index 000000000..ef5c7bd62 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/tsconfig.app.json b/samples/charts/data-chart/data-annotation-strip-layer/tsconfig.app.json new file mode 100644 index 000000000..ff396d4ce --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/samples/charts/data-chart/data-annotation-strip-layer/tsconfig.json b/samples/charts/data-chart/data-annotation-strip-layer/tsconfig.json new file mode 100644 index 000000000..22d546ab3 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "importHelpers": true, + "module": "esnext", + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": false, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "downlevelIteration": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableIvy": true + } +} \ No newline at end of file diff --git a/samples/charts/data-chart/data-annotation-strip-layer/tslint.json b/samples/charts/data-chart/data-annotation-strip-layer/tslint.json new file mode 100644 index 000000000..777c777d9 --- /dev/null +++ b/samples/charts/data-chart/data-annotation-strip-layer/tslint.json @@ -0,0 +1,31 @@ +{ + "extends": "tslint:latest", + "rules": { + "deprecation": { + "severity": "warning" + }, + "arrow-parens": false, + "indent": [true, "spaces"], + "interface-name": [true, "always-prefix"], + "max-classes-per-file": false, + "no-bitwise": false, + "no-console": false, + "no-empty": false, + "no-duplicate-imports": false, + "no-implicit-dependencies": false, + "no-object-literal-type-assertion": false, + "no-submodule-imports": [false], + "no-string-literal": false, + "no-trailing-whitespace": false, + "no-var-keyword": false, + "object-literal-sort-keys": false, + "only-arrow-functions": false, + "prefer-conditional-expression": false, + "prefer-const": false, + "prefer-for-of": false, + "prefer-object-spread": false, + "space-within-parens": false, + "trailing-comma": [true, {"multiline": "never", "singleline": "never"}], + "variable-name": [true, "allow-leading-underscore"] + } +} diff --git a/samples/charts/data-chart/radial-label-mode/package.json b/samples/charts/data-chart/radial-label-mode/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-chart/radial-label-mode/package.json +++ b/samples/charts/data-chart/radial-label-mode/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/data-chart/scatter-bubble-chart-fill-scale/src/WorldStats.ts b/samples/charts/data-chart/scatter-bubble-chart-fill-scale/src/WorldStats.ts index 2c09f68a2..42b539d0b 100644 --- a/samples/charts/data-chart/scatter-bubble-chart-fill-scale/src/WorldStats.ts +++ b/samples/charts/data-chart/scatter-bubble-chart-fill-scale/src/WorldStats.ts @@ -199,7 +199,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 157826578, gdpTotal: 628400, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 89.935, @@ -291,7 +291,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 105350020, gdpTotal: 174700, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 40.489, @@ -383,7 +383,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 83301151, gdpTotal: 66010, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 21.738, @@ -567,7 +567,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 55123814, gdpTotal: 311100, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 96.028, @@ -613,7 +613,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 53950935, gdpTotal: 150600, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 34.894, @@ -797,7 +797,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 39570125, gdpTotal: 84930, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 32.27, @@ -912,7 +912,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 34124811, gdpTotal: 64080, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 66.041, @@ -1050,7 +1050,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 29384297, gdpTotal: 71520, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 82.328, @@ -1073,7 +1073,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 29310273, gdpTotal: 189000, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 18.097, @@ -1119,7 +1119,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 28036829, gdpTotal: 73450, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle East`, status: `Country`, longitude: 48.53, @@ -1165,7 +1165,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 26573706, gdpTotal: 35010, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 38.075, @@ -1188,7 +1188,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 25248140, gdpTotal: 40000, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 127.01, @@ -1211,7 +1211,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 25054161, gdpTotal: 36860, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 46.87, @@ -1372,7 +1372,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 20107509, gdpTotal: 32990, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -1.567, @@ -1395,7 +1395,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 19245344, gdpTotal: 20150, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Country`, longitude: 10.845, @@ -1418,7 +1418,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 19196246, gdpTotal: 21200, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 34.282, @@ -1487,7 +1487,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 17885245, gdpTotal: 38090, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -1.496, @@ -1579,7 +1579,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 16204486, gdpTotal: 58940, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 104.96, @@ -1602,7 +1602,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 15972000, gdpTotal: 65170, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 26.301, @@ -1648,7 +1648,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 14668522, gdpTotal: 39720, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -14.76, @@ -1694,7 +1694,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 13026129, gdpTotal: 20880, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.708, @@ -1717,7 +1717,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 12413867, gdpTotal: 16080, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -9.522, @@ -1740,7 +1740,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 12075985, gdpTotal: 30590, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Country`, longitude: 18.716, @@ -1763,7 +1763,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11901484, gdpTotal: 21970, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.867, @@ -1809,7 +1809,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11466756, gdpTotal: 7892, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.913, @@ -1901,7 +1901,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11038805, gdpTotal: 24310, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: 2.704, @@ -2016,7 +2016,7 @@ export class WorldStats extends Array { continent: `North America`, population: 10646714, gdpTotal: 19340, - economy: `Least developed`, + economy: `Least Developed`, region: `Central America`, status: `Country`, longitude: -72.23, @@ -2269,7 +2269,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 7965055, gdpTotal: 11610, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: 1.146, @@ -2292,7 +2292,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 7531386, gdpTotal: 4719, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 44.134, @@ -2338,7 +2338,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 7126706, gdpTotal: 40960, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 102.36, @@ -2522,7 +2522,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 6163195, gdpTotal: 10640, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -11.78, @@ -2591,7 +2591,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 5918919, gdpTotal: 9169, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 39.772, @@ -2660,7 +2660,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 5625118, gdpTotal: 3206, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 20.917, @@ -2890,7 +2890,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 4689021, gdpTotal: 3881, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -9.454, @@ -3005,7 +3005,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 3758571, gdpTotal: 16710, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -8.89, @@ -3396,7 +3396,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 2051363, gdpTotal: 3387, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -15.32, @@ -3442,7 +3442,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 1958042, gdpTotal: 6019, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Africa`, status: `Country`, longitude: 28.221, @@ -3511,7 +3511,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 1792338, gdpTotal: 2851, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -14.59, @@ -3626,7 +3626,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 1291358, gdpTotal: 4975, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 125.66, @@ -3741,7 +3741,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 865267, gdpTotal: 3345, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 42.587, @@ -3764,7 +3764,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 808080, gdpTotal: 1259, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 43.877, @@ -3787,7 +3787,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 778358, gdpTotal: 31770, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 10.521, @@ -3810,7 +3810,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 758288, gdpTotal: 6432, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 90.411, @@ -3856,7 +3856,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 647581, gdpTotal: 1198, - economy: `Least developed`, + economy: `Least Developed`, region: `Melanesia`, status: `Country`, longitude: 161.3, @@ -3902,7 +3902,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 603253, gdpTotal: 907, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Dependency`, longitude: -12.89, @@ -4224,7 +4224,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 282814, gdpTotal: 723, - economy: `Least developed`, + economy: `Least Developed`, region: `Melanesia`, status: `Country`, longitude: 168.21, @@ -4293,7 +4293,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 201025, gdpTotal: 694, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 6.598, @@ -4316,7 +4316,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 200108, gdpTotal: 1046, - economy: `Least developed`, + economy: `Least Developed`, region: `Polynesia`, status: `Country`, longitude: -172.1, @@ -4454,7 +4454,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 108145, gdpTotal: 211, - economy: `Least developed`, + economy: `Least Developed`, region: `Micronesia`, status: `Country`, longitude: -157.333, diff --git a/samples/charts/data-chart/scatter-bubble-chart-single-source/src/WorldStats.ts b/samples/charts/data-chart/scatter-bubble-chart-single-source/src/WorldStats.ts index 2c09f68a2..42b539d0b 100644 --- a/samples/charts/data-chart/scatter-bubble-chart-single-source/src/WorldStats.ts +++ b/samples/charts/data-chart/scatter-bubble-chart-single-source/src/WorldStats.ts @@ -199,7 +199,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 157826578, gdpTotal: 628400, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 89.935, @@ -291,7 +291,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 105350020, gdpTotal: 174700, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 40.489, @@ -383,7 +383,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 83301151, gdpTotal: 66010, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 21.738, @@ -567,7 +567,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 55123814, gdpTotal: 311100, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 96.028, @@ -613,7 +613,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 53950935, gdpTotal: 150600, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 34.894, @@ -797,7 +797,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 39570125, gdpTotal: 84930, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 32.27, @@ -912,7 +912,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 34124811, gdpTotal: 64080, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 66.041, @@ -1050,7 +1050,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 29384297, gdpTotal: 71520, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 82.328, @@ -1073,7 +1073,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 29310273, gdpTotal: 189000, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 18.097, @@ -1119,7 +1119,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 28036829, gdpTotal: 73450, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle East`, status: `Country`, longitude: 48.53, @@ -1165,7 +1165,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 26573706, gdpTotal: 35010, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 38.075, @@ -1188,7 +1188,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 25248140, gdpTotal: 40000, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 127.01, @@ -1211,7 +1211,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 25054161, gdpTotal: 36860, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 46.87, @@ -1372,7 +1372,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 20107509, gdpTotal: 32990, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -1.567, @@ -1395,7 +1395,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 19245344, gdpTotal: 20150, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Country`, longitude: 10.845, @@ -1418,7 +1418,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 19196246, gdpTotal: 21200, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 34.282, @@ -1487,7 +1487,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 17885245, gdpTotal: 38090, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -1.496, @@ -1579,7 +1579,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 16204486, gdpTotal: 58940, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 104.96, @@ -1602,7 +1602,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 15972000, gdpTotal: 65170, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 26.301, @@ -1648,7 +1648,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 14668522, gdpTotal: 39720, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -14.76, @@ -1694,7 +1694,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 13026129, gdpTotal: 20880, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.708, @@ -1717,7 +1717,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 12413867, gdpTotal: 16080, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -9.522, @@ -1740,7 +1740,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 12075985, gdpTotal: 30590, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Country`, longitude: 18.716, @@ -1763,7 +1763,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11901484, gdpTotal: 21970, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.867, @@ -1809,7 +1809,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11466756, gdpTotal: 7892, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.913, @@ -1901,7 +1901,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11038805, gdpTotal: 24310, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: 2.704, @@ -2016,7 +2016,7 @@ export class WorldStats extends Array { continent: `North America`, population: 10646714, gdpTotal: 19340, - economy: `Least developed`, + economy: `Least Developed`, region: `Central America`, status: `Country`, longitude: -72.23, @@ -2269,7 +2269,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 7965055, gdpTotal: 11610, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: 1.146, @@ -2292,7 +2292,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 7531386, gdpTotal: 4719, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 44.134, @@ -2338,7 +2338,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 7126706, gdpTotal: 40960, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 102.36, @@ -2522,7 +2522,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 6163195, gdpTotal: 10640, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -11.78, @@ -2591,7 +2591,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 5918919, gdpTotal: 9169, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 39.772, @@ -2660,7 +2660,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 5625118, gdpTotal: 3206, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 20.917, @@ -2890,7 +2890,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 4689021, gdpTotal: 3881, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -9.454, @@ -3005,7 +3005,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 3758571, gdpTotal: 16710, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -8.89, @@ -3396,7 +3396,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 2051363, gdpTotal: 3387, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -15.32, @@ -3442,7 +3442,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 1958042, gdpTotal: 6019, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Africa`, status: `Country`, longitude: 28.221, @@ -3511,7 +3511,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 1792338, gdpTotal: 2851, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -14.59, @@ -3626,7 +3626,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 1291358, gdpTotal: 4975, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 125.66, @@ -3741,7 +3741,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 865267, gdpTotal: 3345, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 42.587, @@ -3764,7 +3764,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 808080, gdpTotal: 1259, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 43.877, @@ -3787,7 +3787,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 778358, gdpTotal: 31770, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 10.521, @@ -3810,7 +3810,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 758288, gdpTotal: 6432, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 90.411, @@ -3856,7 +3856,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 647581, gdpTotal: 1198, - economy: `Least developed`, + economy: `Least Developed`, region: `Melanesia`, status: `Country`, longitude: 161.3, @@ -3902,7 +3902,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 603253, gdpTotal: 907, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Dependency`, longitude: -12.89, @@ -4224,7 +4224,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 282814, gdpTotal: 723, - economy: `Least developed`, + economy: `Least Developed`, region: `Melanesia`, status: `Country`, longitude: 168.21, @@ -4293,7 +4293,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 201025, gdpTotal: 694, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 6.598, @@ -4316,7 +4316,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 200108, gdpTotal: 1046, - economy: `Least developed`, + economy: `Least Developed`, region: `Polynesia`, status: `Country`, longitude: -172.1, @@ -4454,7 +4454,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 108145, gdpTotal: 211, - economy: `Least developed`, + economy: `Least Developed`, region: `Micronesia`, status: `Country`, longitude: -157.333, diff --git a/samples/charts/data-chart/scatter-bubble-chart-styling/src/WorldStats.ts b/samples/charts/data-chart/scatter-bubble-chart-styling/src/WorldStats.ts index 2c09f68a2..42b539d0b 100644 --- a/samples/charts/data-chart/scatter-bubble-chart-styling/src/WorldStats.ts +++ b/samples/charts/data-chart/scatter-bubble-chart-styling/src/WorldStats.ts @@ -199,7 +199,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 157826578, gdpTotal: 628400, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 89.935, @@ -291,7 +291,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 105350020, gdpTotal: 174700, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 40.489, @@ -383,7 +383,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 83301151, gdpTotal: 66010, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 21.738, @@ -567,7 +567,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 55123814, gdpTotal: 311100, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 96.028, @@ -613,7 +613,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 53950935, gdpTotal: 150600, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 34.894, @@ -797,7 +797,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 39570125, gdpTotal: 84930, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 32.27, @@ -912,7 +912,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 34124811, gdpTotal: 64080, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 66.041, @@ -1050,7 +1050,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 29384297, gdpTotal: 71520, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 82.328, @@ -1073,7 +1073,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 29310273, gdpTotal: 189000, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 18.097, @@ -1119,7 +1119,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 28036829, gdpTotal: 73450, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle East`, status: `Country`, longitude: 48.53, @@ -1165,7 +1165,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 26573706, gdpTotal: 35010, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 38.075, @@ -1188,7 +1188,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 25248140, gdpTotal: 40000, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 127.01, @@ -1211,7 +1211,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 25054161, gdpTotal: 36860, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 46.87, @@ -1372,7 +1372,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 20107509, gdpTotal: 32990, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -1.567, @@ -1395,7 +1395,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 19245344, gdpTotal: 20150, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Country`, longitude: 10.845, @@ -1418,7 +1418,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 19196246, gdpTotal: 21200, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 34.282, @@ -1487,7 +1487,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 17885245, gdpTotal: 38090, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -1.496, @@ -1579,7 +1579,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 16204486, gdpTotal: 58940, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 104.96, @@ -1602,7 +1602,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 15972000, gdpTotal: 65170, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 26.301, @@ -1648,7 +1648,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 14668522, gdpTotal: 39720, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -14.76, @@ -1694,7 +1694,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 13026129, gdpTotal: 20880, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.708, @@ -1717,7 +1717,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 12413867, gdpTotal: 16080, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -9.522, @@ -1740,7 +1740,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 12075985, gdpTotal: 30590, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Country`, longitude: 18.716, @@ -1763,7 +1763,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11901484, gdpTotal: 21970, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.867, @@ -1809,7 +1809,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11466756, gdpTotal: 7892, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 29.913, @@ -1901,7 +1901,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 11038805, gdpTotal: 24310, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: 2.704, @@ -2016,7 +2016,7 @@ export class WorldStats extends Array { continent: `North America`, population: 10646714, gdpTotal: 19340, - economy: `Least developed`, + economy: `Least Developed`, region: `Central America`, status: `Country`, longitude: -72.23, @@ -2269,7 +2269,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 7965055, gdpTotal: 11610, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: 1.146, @@ -2292,7 +2292,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 7531386, gdpTotal: 4719, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 44.134, @@ -2338,7 +2338,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 7126706, gdpTotal: 40960, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 102.36, @@ -2522,7 +2522,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 6163195, gdpTotal: 10640, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -11.78, @@ -2591,7 +2591,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 5918919, gdpTotal: 9169, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 39.772, @@ -2660,7 +2660,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 5625118, gdpTotal: 3206, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 20.917, @@ -2890,7 +2890,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 4689021, gdpTotal: 3881, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -9.454, @@ -3005,7 +3005,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 3758571, gdpTotal: 16710, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -8.89, @@ -3396,7 +3396,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 2051363, gdpTotal: 3387, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -15.32, @@ -3442,7 +3442,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 1958042, gdpTotal: 6019, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Africa`, status: `Country`, longitude: 28.221, @@ -3511,7 +3511,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 1792338, gdpTotal: 2851, - economy: `Least developed`, + economy: `Least Developed`, region: `Western Africa`, status: `Country`, longitude: -14.59, @@ -3626,7 +3626,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 1291358, gdpTotal: 4975, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Asia`, status: `Country`, longitude: 125.66, @@ -3741,7 +3741,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 865267, gdpTotal: 3345, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 42.587, @@ -3764,7 +3764,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 808080, gdpTotal: 1259, - economy: `Least developed`, + economy: `Least Developed`, region: `Eastern Africa`, status: `Country`, longitude: 43.877, @@ -3787,7 +3787,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 778358, gdpTotal: 31770, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 10.521, @@ -3810,7 +3810,7 @@ export class WorldStats extends Array { continent: `Asia`, population: 758288, gdpTotal: 6432, - economy: `Least developed`, + economy: `Least Developed`, region: `Southern Asia`, status: `Country`, longitude: 90.411, @@ -3856,7 +3856,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 647581, gdpTotal: 1198, - economy: `Least developed`, + economy: `Least Developed`, region: `Melanesia`, status: `Country`, longitude: 161.3, @@ -3902,7 +3902,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 603253, gdpTotal: 907, - economy: `Least developed`, + economy: `Least Developed`, region: `Northern Africa`, status: `Dependency`, longitude: -12.89, @@ -4224,7 +4224,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 282814, gdpTotal: 723, - economy: `Least developed`, + economy: `Least Developed`, region: `Melanesia`, status: `Country`, longitude: 168.21, @@ -4293,7 +4293,7 @@ export class WorldStats extends Array { continent: `Africa`, population: 201025, gdpTotal: 694, - economy: `Least developed`, + economy: `Least Developed`, region: `Middle Africa`, status: `Country`, longitude: 6.598, @@ -4316,7 +4316,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 200108, gdpTotal: 1046, - economy: `Least developed`, + economy: `Least Developed`, region: `Polynesia`, status: `Country`, longitude: -172.1, @@ -4454,7 +4454,7 @@ export class WorldStats extends Array { continent: `Oceania`, population: 108145, gdpTotal: 211, - economy: `Least developed`, + economy: `Least Developed`, region: `Micronesia`, status: `Country`, longitude: -157.333, diff --git a/samples/charts/data-chart/transition-event/package.json b/samples/charts/data-chart/transition-event/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-chart/transition-event/package.json +++ b/samples/charts/data-chart/transition-event/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/data-pie-chart/animation-replay/package.json b/samples/charts/data-pie-chart/animation-replay/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-pie-chart/animation-replay/package.json +++ b/samples/charts/data-pie-chart/animation-replay/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/data-pie-chart/animation/package.json b/samples/charts/data-pie-chart/animation/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-pie-chart/animation/package.json +++ b/samples/charts/data-pie-chart/animation/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/data-pie-chart/highlighting/package.json b/samples/charts/data-pie-chart/highlighting/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-pie-chart/highlighting/package.json +++ b/samples/charts/data-pie-chart/highlighting/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/data-pie-chart/others/package.json b/samples/charts/data-pie-chart/others/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-pie-chart/others/package.json +++ b/samples/charts/data-pie-chart/others/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/data-pie-chart/others/src/EnergyGlobalDemand.ts b/samples/charts/data-pie-chart/others/src/EnergyGlobalDemand.ts deleted file mode 100644 index 3d2ed388a..000000000 --- a/samples/charts/data-pie-chart/others/src/EnergyGlobalDemand.ts +++ /dev/null @@ -1,51 +0,0 @@ -export class EnergyGlobalDemandItem { - public constructor(init: Partial) { - Object.assign(this, init); - } - - public value: number; - public category: string; - public summary: string; - -} -export class EnergyGlobalDemand extends Array { - public constructor(items: Array | number = -1) { - if (Array.isArray(items)) { - super(...items); - } else { - const newItems = [ - new EnergyGlobalDemandItem( - { - value: 37, - category: `Cooling`, - summary: `Cooling 37%` - }), - new EnergyGlobalDemandItem( - { - value: 25, - category: `Residential`, - summary: `Residential 25%` - }), - new EnergyGlobalDemandItem( - { - value: 12, - category: `Heating`, - summary: `Heating 12%` - }), - new EnergyGlobalDemandItem( - { - value: 11, - category: `Lighting`, - summary: `Lighting 11%` - }), - new EnergyGlobalDemandItem( - { - value: 15, - category: `Other`, - summary: `Other 15%` - }), - ]; - super(...newItems.slice(0)); - } - } -} diff --git a/samples/charts/data-pie-chart/selection/package.json b/samples/charts/data-pie-chart/selection/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/data-pie-chart/selection/package.json +++ b/samples/charts/data-pie-chart/selection/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/sparkline/markers/package.json b/samples/charts/sparkline/markers/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/sparkline/markers/package.json +++ b/samples/charts/sparkline/markers/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/sparkline/normal-range/package.json b/samples/charts/sparkline/normal-range/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/sparkline/normal-range/package.json +++ b/samples/charts/sparkline/normal-range/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/sparkline/trendlines/package.json b/samples/charts/sparkline/trendlines/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/sparkline/trendlines/package.json +++ b/samples/charts/sparkline/trendlines/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/sparkline/unknown-values/package.json b/samples/charts/sparkline/unknown-values/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/sparkline/unknown-values/package.json +++ b/samples/charts/sparkline/unknown-values/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/toolbar/actions-built-in-category-chart/src/app.module.ts b/samples/charts/toolbar/actions-built-in-category-chart/src/app.module.ts index 4a7d03597..48b99e2d3 100644 --- a/samples/charts/toolbar/actions-built-in-category-chart/src/app.module.ts +++ b/samples/charts/toolbar/actions-built-in-category-chart/src/app.module.ts @@ -7,7 +7,7 @@ import { AppComponent } from "./app.component"; import { IgxLegendModule, IgxCategoryChartModule, IgxCategoryChartToolbarModule } from 'igniteui-angular-charts'; import { IgxToolbarModule } from 'igniteui-angular-layouts'; -import { IgxCheckboxListModule } from 'igniteui-angular-grids'; +import { IgxCheckboxListModule } from 'igniteui-angular-data-grids'; @NgModule({ bootstrap: [AppComponent], diff --git a/samples/charts/toolbar/theming/package.json b/samples/charts/toolbar/theming/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/toolbar/theming/package.json +++ b/samples/charts/toolbar/theming/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/tree-map/highlighting/package.json b/samples/charts/tree-map/highlighting/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/tree-map/highlighting/package.json +++ b/samples/charts/tree-map/highlighting/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1", diff --git a/samples/charts/tree-map/layout/package.json b/samples/charts/tree-map/layout/package.json index 8e079030d..ddff1b85f 100644 --- a/samples/charts/tree-map/layout/package.json +++ b/samples/charts/tree-map/layout/package.json @@ -21,7 +21,7 @@ "igniteui-angular-core": "19.0.1", "igniteui-angular-inputs": "19.0.1", "igniteui-angular-layouts": "19.0.1", - "igniteui-webcomponents": "5.2.4", + "igniteui-webcomponents": "6.0.0", "intl": "1.2.5", "jszip": "3.8.0", "rxjs": "7.8.1",