From 66628e001ba92eb5702faec3eba3a4010a696574 Mon Sep 17 00:00:00 2001 From: sushuang Date: Tue, 16 Jan 2018 07:37:16 +0800 Subject: [PATCH] update examples and refix append data. --- src/component/dataZoom/dataZoomProcessor.js | 2 + src/model/Series.js | 2 +- src/stream/Scheduler.js | 7 +- src/stream/task.js | 1 + test/-stream-cases.html | 39 +++++ test/lines-ny-appendData.html | 139 ++++++++++++++++++ test/lines-stream-ny.html | 136 ------------------ test/scatter-gps.html | 3 +- test/stream-filter.html | 152 ++++++++++++++++++++ 9 files changed, 342 insertions(+), 139 deletions(-) create mode 100644 test/-stream-cases.html create mode 100644 test/lines-ny-appendData.html delete mode 100644 test/lines-stream-ny.html create mode 100644 test/stream-filter.html diff --git a/src/component/dataZoom/dataZoomProcessor.js b/src/component/dataZoom/dataZoomProcessor.js index e3df19e56..2ba5fd696 100644 --- a/src/component/dataZoom/dataZoomProcessor.js +++ b/src/component/dataZoom/dataZoomProcessor.js @@ -18,6 +18,8 @@ echarts.registerProcessor({ return seriesModelMap; }, + isOverallFilter: true, + // Consider appendData, where filter should be performed. Because data process is // in block mode currently, it is not need to worry about that the overallProgress // execute every frame. diff --git a/src/model/Series.js b/src/model/Series.js index c6664a371..410639c5e 100644 --- a/src/model/Series.js +++ b/src/model/Series.js @@ -231,7 +231,7 @@ var SeriesModel = ComponentModel.extend({ if (task) { var context = task.context; // Consider case: filter, data sample. - if (context.data !== data) { + if (context.data !== data && task.isOverallFilter) { task.setOutputEnd(data.count()); } context.outputData = data; diff --git a/src/stream/Scheduler.js b/src/stream/Scheduler.js index 58d63be3f..292de1420 100644 --- a/src/stream/Scheduler.js +++ b/src/stream/Scheduler.js @@ -295,6 +295,7 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM var seriesType = stageHandler.seriesType; var getTargetSeries = stageHandler.getTargetSeries; var overallProgress = true; + var isOverallFilter = stageHandler.isOverallFilter; // An overall task with seriesType detected or has `getTargetSeries`, we add // stub in each pipelines, it will set the overall task dirty when the pipeline @@ -320,7 +321,11 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM var stub = agentStubMap.get(pipelineId) || agentStubMap.set(pipelineId, createTask( {reset: stubReset, onDirty: stubOnDirty} )); - stub.context = {model: seriesModel, overallProgress: overallProgress}; + stub.context = { + model: seriesModel, + overallProgress: overallProgress, + isOverallFilter: isOverallFilter + }; stub.agent = overallTask; stub.__block = overallProgress; diff --git a/src/stream/task.js b/src/stream/task.js index 8ae11dafb..6fd949fd3 100644 --- a/src/stream/task.js +++ b/src/stream/task.js @@ -194,4 +194,5 @@ taskProto.setOutputEnd = function (end) { // that the stub of dataZoom perform again and earse the // setted end by upstream. this._outputDueEnd = this._settedOutputEnd = end; + // this._outputDueEnd = end; }; diff --git a/test/-stream-cases.html b/test/-stream-cases.html new file mode 100644 index 000000000..bfaa50202 --- /dev/null +++ b/test/-stream-cases.html @@ -0,0 +1,39 @@ + + + + + + + + +

Necessary cases for quick test.

+
+
+ + + + \ No newline at end of file diff --git a/test/lines-ny-appendData.html b/test/lines-ny-appendData.html new file mode 100644 index 000000000..3c3fb8346 --- /dev/null +++ b/test/lines-ny-appendData.html @@ -0,0 +1,139 @@ + + + + + + + + + + + +
+ + + \ No newline at end of file diff --git a/test/lines-stream-ny.html b/test/lines-stream-ny.html deleted file mode 100644 index 81d541a6a..000000000 --- a/test/lines-stream-ny.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - -
- - - \ No newline at end of file diff --git a/test/scatter-gps.html b/test/scatter-gps.html index 4f9a5c038..6304f0bed 100644 --- a/test/scatter-gps.html +++ b/test/scatter-gps.html @@ -48,8 +48,9 @@ if (idx >= CHUNK_COUNT) { return; } - var dataURL = `../../echarts-gl/test/data/gps/gps_${idx}.bin`; + // var dataURL = `../../echarts-gl/test/data/gps/gps_${idx}.bin`; // var dataURL = `../../data-online/gps/gps_${idx}.bin`; + var dataURL = `../../echarts-examples/public/data/asset/data/gps/gps_${idx}.bin`; var xhr = new XMLHttpRequest(); xhr.open('GET', dataURL, true); xhr.responseType = 'arraybuffer'; diff --git a/test/stream-filter.html b/test/stream-filter.html new file mode 100644 index 000000000..082f928dc --- /dev/null +++ b/test/stream-filter.html @@ -0,0 +1,152 @@ + + + + + + + + + also check "scatter-gps.html", filter should not block append data. +
+ + + + + \ No newline at end of file -- GitLab