jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
89 lines (77 loc) • 3.24 kB
text/typescript
import { Component, OnInit, Input, ViewChild } from '@angular/core';
import { jqxChartComponent } from 'jqwidgets-scripts/jqwidgets-ts/angular_jqxchart';
({
selector: 'app-performance-chart',
templateUrl: './performance-chart.component.html',
styleUrls: ['./performance-chart.component.css']
})
export class PerformanceChartComponent implements OnInit {
('performanceChart') performanceChart: jqxChartComponent;
() dataToDisplay: string = 'chartperformanceaapl';
constructor() { }
ngOnInit() {
}
ngOnChanges(changes) {
if (!changes.dataToDisplay.firstChange) {
this.source.url = `../../assets/sample-data/${this.dataToDisplay}.json`;
this.dataAdapter = new jqx.dataAdapter(this.source, { async: true, autoBind: true, loadError: (xhr: any, status: any, error: any) => { alert('Error loading "' + this.source.url + '" : ' + error); } });
this.performanceChart.refresh();
}
}
padding: jqwidgets.ChartPadding =
{
left: 5,
top: 5,
right: 5,
bottom: 55
};
xAxis: jqwidgets.ChartXAxis =
{
dataField: 'day',
unitInterval: 1,
tickMarks: { visible: true, interval: 1 },
gridLines: { visible: true, interval: 1 },
valuesOnTicks: false,
padding: { bottom: 20, left: 0, right: 0, top: 0 }
}
source: any =
{
datafields: [
{ name: 'day' },
{ name: 'SPOpen' },
{ name: 'SPHigh' },
{ name: 'SPLow' },
{ name: 'SPClose' }
],
url: `../../assets/sample-data/${this.dataToDisplay}.json`,
datatype: 'json'
};
dataAdapter = new jqx.dataAdapter(this.source, { async: true, autoBind: true, loadError: (xhr: any, status: any, error: any) => { alert('Error loading "' + this.source.url + '" : ' + error); } });
toolTipCustomFormatFn = function (value) {
return '<div style="text-align:left;padding-bottom:6px;"><b><i>Close: $' + value.close +
'<br />Open: $' + value.open + '<br />High: $' + value.high + '<br />Low: $' + value.low + '</i></b></div>';
};
seriesGroups: any =
[
{
type: 'candlestick',
columnsMaxWidth: 18,
columnsMinWidth: 8,
series: [
{
dataFieldClose: 'SPClose',
displayTextClose: 'S&P Close price',
dataFieldOpen: 'SPOpen',
displayTextOpen: 'S&P Open price',
dataFieldHigh: 'SPHigh',
displayTextHigh: 'S&P High price',
dataFieldLow: 'SPLow',
displayTextLow: 'S&P Low price',
displayText: 'AAPL',
lineWidth: 1
}
],
toolTipFormatFunction: this.toolTipCustomFormatFn
}
]
}