Skip to content

Commit

Permalink
修改数据过少时,显示所有数据
Browse files Browse the repository at this point in the history
  • Loading branch information
zcZhang123 committed Apr 16, 2019
1 parent 8483c59 commit e01b87a
Show file tree
Hide file tree
Showing 11 changed files with 142 additions and 104 deletions.
2 changes: 1 addition & 1 deletion src/components/mobileKline.vue
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export default {
if (this.isRefresh) {
this.init(true);
if (this.currentCycle !== "everyhour") {
this.kline.setMobileOption(this.klineConfig.size);
this.kline.setMobileOption(this.klineConfig.size, this.chartDataObj.candleData);
this.isRefresh = false;
} else {
this.kline.setTimeDivisionsOption(this.klineConfig.size);
Expand Down
4 changes: 2 additions & 2 deletions src/js/KLine.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ class KLineController {
return this.setMobileKLineChart.getToolTipIndex();
}

setMobileOption(size) {
this.setMobileKLineChart.setOption(size);
setMobileOption(size, data) {
this.setMobileKLineChart.setOption(size, data);
}

setTimeDivisionsOption(size) {
Expand Down
31 changes: 28 additions & 3 deletions src/js/KLineMobileSetChart.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@ class KLineMobileSetChartController {
this.kline.hideLoading();
}

setOption(size) {
setOption(size, data) {
config = JSON.parse(JSON.stringify(this.klineConfig));
let option = {
grid: this.getGrid(size)
grid: this.getGrid(size),
dataZoom: this.getDataZoom(data)
};
toolTipIndex = null;
merge(config, option);
Expand Down Expand Up @@ -157,7 +158,7 @@ class KLineMobileSetChartController {
data: data.categoryData,
axisLabel: {
formatter(value) {
if(cycle.indexOf('minute') !== -1) {
if (cycle.indexOf('minute') !== -1) {
return value.substring(5);
}
if (cycle.indexOf('hour') !== -1) {
Expand Down Expand Up @@ -247,6 +248,30 @@ class KLineMobileSetChartController {
return g;
}

getDataZoom(data) {
if (!data) { return; }
let start = 0;
if (data.values.length > 40) {
start = 60;
}
if (data.values.length > 100) {
start = 80;
}
var dataZoom = [
{
id: 'dataZoomX',
type: 'inside',
filterMode: 'filter',
start: start,
end: 100,
minSpan: 5
}
];

this.klineConfig.dataZoom = dataZoom;
return dataZoom;
}

changeDataZoom(type) {
let dataZoom = JSON.parse(JSON.stringify(this.kline.getOption().dataZoom));
if (type === 'leftShift' && dataZoom[0].start >= 2) {
Expand Down
24 changes: 20 additions & 4 deletions src/js/KLineSetChart.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,8 @@ class KLineSetChartController {
let klineOption = {
tooltip: this.getToolTip(),
xAxis: this.getXAxis(data, cycle),
series: this.getSeries(data)
series: this.getSeries(data),
dataZoom: this.getDataZoom(data)
};
merge(config, klineOption);
this.kline.setOption(config, true);
Expand Down Expand Up @@ -231,17 +232,32 @@ class KLineSetChartController {
return s;
}

getDataZoom() {
return [
getDataZoom(data) {
let start = 0;
if (data.values.length > 80) {
start = 20;
}
if (data.values.length > 120) {
start = 30;
}
if (data.values.length > 160) {
start = 50;
}
if (data.values.length > 200) {
start = 60;
}
var dataZoom = [
{
id: 'dataZoomX',
type: 'inside',
filterMode: 'filter',
start: 60,
start: start,
end: 100,
minSpan: 5
}
];
this.klineConfig.dataZoom = dataZoom;
return dataZoom;
}

changeDataZoom(type) {
Expand Down
41 changes: 39 additions & 2 deletions src/js/SetMACDChart.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ class MACDChart {
xAxis: this.getMACDXAxis(data),
yAxis: this.getMACDYAxis(),
tooltip: this.getMACDToolTip(),
series: this.getMACDSeries(data)
series: this.getMACDSeries(data),
dataZoom: this.getDataZoom(data)
};
merge(MACDOption, option);
this.macd.setOption(MACDOption, true);
Expand Down Expand Up @@ -131,7 +132,6 @@ class MACDChart {
}
}
];
// }
}

getMACDSeries(data) {
Expand Down Expand Up @@ -159,6 +159,43 @@ class MACDChart {
];
}

getDataZoom(data) {
let start = 0;
if (this.macdConfig.platform === 'mobile') {
if (data.macds.length > 40) {
start = 60;
}
if (data.macds.length > 100) {
start = 80;
}
} else {
if (data.macds.length > 80) {
start = 20;
}
if (data.macds.length > 120) {
start = 30;
}
if (data.macds.length > 160) {
start = 50;
}
if (data.macds.length > 200) {
start = 60;
}
}
var dataZoom = [
{
id: 'dataZoomX',
type: 'inside',
filterMode: 'filter',
start: start,
end: 100,
minSpan: 5
}
];
this.macdConfig.dataZoom = dataZoom;
return dataZoom;
}

disposeMACDEChart() {
if (this.macd) {
this.macd.dispose();
Expand Down
40 changes: 39 additions & 1 deletion src/js/SetVolumeChart.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ class VolumeChart {
xAxis: this.getVolumeXAxis(data, cycle),
yAxis: this.getVolumeYAxis(),
tooltip: this.getVolumeToolTip(),
series: this.getVolumeSeries(data)
series: this.getVolumeSeries(data),
dataZoom: this.getDataZoom(data)
};
merge(volumeOption, option);
this.volume.setOption(volumeOption, true);
Expand Down Expand Up @@ -199,6 +200,43 @@ class VolumeChart {
];
}

getDataZoom(data) {
let start = 0;
if (this.volumeConfig.platform === 'mobile') {
if (data.volumes.length > 40) {
start = 60;
}
if (data.volumes.length > 100) {
start = 80;
}
} else {
if (data.volumes.length > 80) {
start = 20;
}
if (data.volumes.length > 120) {
start = 30;
}
if (data.volumes.length > 160) {
start = 50;
}
if (data.volumes.length > 200) {
start = 60;
}
}
var dataZoom = [
{
id: 'dataZoomX',
type: 'inside',
filterMode: 'filter',
start: start,
end: 100,
minSpan: 5
}
];
this.volumeConfig.dataZoom = dataZoom;
return dataZoom;
}

disposeVolumeEChart() {
if (this.volume) {
this.volume.dispose();
Expand Down
10 changes: 5 additions & 5 deletions test/unit/specs/Chart.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -270,19 +270,19 @@ describe('test Chart', () => {
volume.initVolumeChart(element)
volume.setVolumeOption(data)
volume.changeDataZoom('leftShift')
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(58);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(28);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].end).toBe(98);
volume.changeDataZoom('rightShift')
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(60);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(30);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].end).toBe(100);
volume.changeDataZoom('enlarge')
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(65);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(35);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].end).toBe(100);
volume.changeDataZoom('refresh')
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(60);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(30);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].end).toBe(100);
volume.changeDataZoom('narrow')
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(55);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].start).toBe(25);
expect(volume.setVolumeChart.volume.getOption().dataZoom[0].end).toBe(100);
})

Expand Down
10 changes: 5 additions & 5 deletions test/unit/specs/KLine.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,15 @@ describe('test KLine', () => {
let mobileKline = new klineController('mobile', klineConfig)
const element = document.createElement('div');
mobileKline.initMobileChart(element)
mobileKline.setMobileOption(moboleSize, cycle)
mobileKline.setMobileOption(moboleSize, mobileData)
expect(mobileKline.setMobileKLineChart.kline).not.toBeNull()
})

it('test updateMobileOption if platform is mobile', () => {
let mobileKline = new klineController('mobile', klineConfig)
const element = document.createElement('div');
mobileKline.initMobileChart(element)
mobileKline.setMobileOption(moboleSize, cycle)
mobileKline.setMobileOption(moboleSize, mobileData)
mobileKline.updateMobileOption(mobileData, cycle)
expect(mobileKline.setMobileKLineChart.kline.getOption()).not.toBeNull();
})
Expand All @@ -183,7 +183,7 @@ describe('test KLine', () => {
let mobileKline = new klineController('mobile', klineConfig)
const element = document.createElement('div');
mobileKline.initMobileChart(element)
mobileKline.setMobileOption(moboleSize, cycle)
mobileKline.setMobileOption(moboleSize, mobileData)
mobileKline.updateMobileOption(mobileData, cycle)
let mobileTipIndex = mobileKline.getMobileToolTipIndex()
expect(mobileTipIndex).not.toBeNull();
Expand All @@ -193,7 +193,7 @@ describe('test KLine', () => {
let mobileKline = new klineController('mobile', klineConfig)
const element = document.createElement('div');
mobileKline.initMobileChart(element)
mobileKline.setMobileOption(moboleSize, cycle)
mobileKline.setMobileOption(moboleSize, mobileData)
mobileKline.updateMobileOption(mobileData, cycle)
mobileKline.changeMobileDataZoom('leftShift')
expect(mobileKline.setMobileKLineChart.kline.getOption().dataZoom[0].start).toBe(78);
Expand All @@ -216,7 +216,7 @@ describe('test KLine', () => {
let mobileKline = new klineController('mobile', klineConfig)
const element = document.createElement('div');
mobileKline.initMobileChart(element)
mobileKline.setMobileOption(moboleSize, cycle)
mobileKline.setMobileOption(moboleSize, mobileData)
mobileKline.updateMobileOption(mobileData, cycle)
mobileKline.disposeMobileChart()
expect(mobileKline.setMobileKLineChart.kline).not.toBeNull();
Expand Down
29 changes: 1 addition & 28 deletions test/unit/specs/KLineMobileSetChart.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,34 +62,7 @@ describe('test KLineMobileSetChart', () => {
const element = document.createElement('div');
let mobileKline = new klineMobileSetChart(mobileOption);
mobileKline.initMobileECharts(element)
mobileKline.setOption(mobileData)
expect(mobileKline.kline).not.toBeNull();
})

it('test mobile setOption if cycle is day', () => {
cycle = "day"
const element = document.createElement('div');
let mobileKline = new klineMobileSetChart(mobileOption);
mobileKline.initMobileECharts(element)
mobileKline.setOption(mobileData, cycle)
expect(mobileKline.kline).not.toBeNull();
})

it('test mobile setOption if cycle is week', () => {
cycle = "week"
const element = document.createElement('div');
let mobileKline = new klineMobileSetChart(mobileOption);
mobileKline.initMobileECharts(element)
mobileKline.setOption(mobileData, cycle)
expect(mobileKline.kline).not.toBeNull();
})

it('test mobile setOption if cycle is month', () => {
cycle = "month"
const element = document.createElement('div');
let mobileKline = new klineMobileSetChart(mobileOption);
mobileKline.initMobileECharts(element)
mobileKline.setOption(mobileData, cycle)
mobileKline.setOption(mobileData, data)
expect(mobileKline.kline).not.toBeNull();
})

Expand Down
2 changes: 1 addition & 1 deletion test/unit/specs/KLineSetChart.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ describe('test KLineSetChart', () => {

it('test getDataZoom', () => {
let kline = new klineSetChart(option);
expect(kline.getDataZoom()).not.toBeNull()
expect(kline.getDataZoom(klineData)).not.toBeNull()
})

it('test initECharts', () => {
Expand Down
Loading

0 comments on commit e01b87a

Please sign in to comment.