Мне удалось заставить это работать, установив ряд в ChartRangeFilter, как показано ниже.
getDateRangeFilter(cid: string, startDate: Date, endDate: Date): any {
return new google.visualization.ControlWrapper({
controlType: 'ChartRangeFilter',
containerId: cid,
options: {
filterColumnIndex: 0,
ui: {
chartOptions: {
background: '#e5e5e5',
chartArea: {
backgroundColor: '#e5e5e5',
width: '98%',
},
series: {
0: { type: 'line', color: 'transparent' },
1: { type: 'line', color: 'transparent' },
2: { type: 'line', color: 'transparent' },
3: { type: 'line', color: 'transparent' },
4: { type: 'line', color: 'transparent' },
5: { type: 'line', color: 'transparent' }
}
},
snapToData: true,
hAxis: {
minValue: startDate,
maxValue: endDate
}
}
},
view: [0],
state: {
range: {
start: startDate,
end: endDate
}
}
});
}
Стоит также отметить, что если вы используете ComboChart со свечами и переходите от дней к минутам, то ваши даты необходимо установить с помощью следующего:
processMinuteHeikenAshiChart(target, haLow, haOpen, haClose, haHigh, date, mvg, mvgx, vwap): any[] {
const arrData = [];
//include minutes and seconds
const ndate = new Date(Date.UTC(date.getYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), 0, 0));
arrData.push(ndate);
arrData.push(haLow);
arrData.push(haOpen);
arrData.push(haClose);
arrData.push(haHigh);
switch (target) {
case 'short':
if (this.securityService.shortChartOptions.value.useSMA1) { arrData.push(mvg); }
if (this.securityService.shortChartOptions.value.useSMA2) { arrData.push(mvgx); }
if (this.securityService.shortChartOptions.value.showVWAP) { arrData.push(vwap); }
break;
case 'long':
if (this.securityService.longChartOptions.value.useSMA1) { arrData.push(mvg); }
if (this.securityService.longChartOptions.value.useSMA2) { arrData.push(mvgx); }
if (this.securityService.longChartOptions.value.showVWAP) { arrData.push(vwap); }
}
return arrData;
}