| <!DOCTYPE html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| <script src="lib/esl.js"></script> |
| <script src="lib/config.js"></script> |
| <script src="lib/jquery.min.js"></script> |
| <script src="lib/facePrint.js"></script> |
| <script src="lib/testHelper.js"></script> |
| <!-- <script src="ut/lib/canteen.js"></script> --> |
| <link rel="stylesheet" href="lib/reset.css" /> |
| </head> |
| <body> |
| <style> |
| </style> |
| |
| |
| |
| <div id="main_normalMerge_basic"></div> |
| <div id="main_replaceMerge_basic"></div> |
| <div id="main_normalMerge_add"></div> |
| <div id="main_replaceMerge_add_no_id"></div> |
| <div id="main_replaceMerge_add_new_id"></div> |
| <div id="main_replaceMerge_add_find_hole"></div> |
| <div id="main_normalMerge_add_find_hole"></div> |
| <div id="main_replaceMerge_internal_and_other_cmpt_not_effect"></div> |
| <div id="main_replaceMerge_remove_all"></div> |
| <div id="main_replaceMerge_reproduce_by_getOption_src"></div> |
| <div id="main_replaceMerge_reproduce_by_getOption_tar"></div> |
| <div id="main_replaceMerge_if_not_declared_in_option"></div> |
| <div id="main_throw_error_when_id_duplicated"></div> |
| |
| |
| |
| |
| <script> |
| function makeBasicOption(opt) { |
| return { |
| xAxis: { |
| type: 'category' |
| }, |
| yAxis: {}, |
| legend: {}, |
| tooltip: {}, |
| dataZoom: [{ |
| type: 'slider' |
| }, { |
| type: 'inside' |
| }], |
| series: [{ |
| id: 'a', |
| name: 'aa', |
| type: 'line', |
| data: [['a11', 22], ['a33', 44]] |
| }, { |
| id: 'b', |
| name: 'bb', |
| type: 'line', |
| data: [['a11', 55], ['a33', 77]] |
| }, { |
| id: 'c', |
| name: 'cc', |
| type: 'line', |
| data: [['a11', 66], ['a33', 100]] |
| }, { |
| id: 'd', |
| name: 'dd', |
| type: 'line', |
| data: [['a11', 99], ['a33', 130]] |
| }, { |
| name: 'no_id', |
| type: 'line', |
| data: [['a11', 130], ['a33', 160]] |
| }] |
| }; |
| } |
| |
| </script> |
| |
| |
| |
| <!-- ----------------------------- --> |
| <!-- ----------------------------- --> |
| <!-- ----------------------------- --> |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_normalMerge_basic', { |
| title: [ |
| 'normalMerge: basic case', |
| 'click "setOption": "bb" become bar chart, "aa" become **rect** symbol', |
| 'other series **do not change**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'b', |
| type: 'bar', |
| data: [['a11', 55], ['a33', 77]] |
| }, { |
| id: 'a', |
| symbol: 'rect' |
| }] |
| }) |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_basic', { |
| title: [ |
| 'replaceMerge: basic case', |
| 'click "setOption": "bb" become bar chart, "aa" become **rect** symbol', |
| 'other series **removed**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'b', |
| type: 'bar', |
| data: [['a11', 55], ['a33', 77]] |
| }, { |
| id: 'a', |
| symbol: 'rect' |
| }] |
| }, {replaceMerge: 'series'}) |
| } |
| }, { |
| text: 'check after click setOption', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 2); |
| assert(chart.getModel().getSeriesCount() === 2); |
| }); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_normalMerge_add', { |
| title: [ |
| 'normalMerge: add', |
| 'click "setOption": "aa" become **rect** symbol, "no_id" become "new_no_id" and bar', |
| 'other series **do not change**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'a', |
| symbol: 'rect' |
| }, { |
| name: 'new_no_id', |
| type: 'bar', |
| data: [['a11', 10], ['a33', 20]] |
| }] |
| }) |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_add_no_id', { |
| title: [ |
| 'replaceMerge: add (add no id)', |
| 'click "setOption": "aa" become **rect** symbol, bar series "new_no_id" added', |
| 'other series **removed**', |
| 'click "check": should show **checked: Pass**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'a', |
| symbol: 'rect' |
| }, { |
| name: 'new_no_id', |
| type: 'bar', |
| data: [['a11', 10], ['a33', 20]] |
| }] |
| }, {replaceMerge: ['series']}); |
| } |
| }, { |
| text: 'check after click setOption', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 2); |
| assert( |
| seriesModels[1].componentIndex === 1 |
| && seriesModels[1].name === 'new_no_id' |
| ); |
| assert(chart.getModel().getSeriesCount() === 2); |
| }); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_add_new_id', { |
| title: [ |
| 'replaceMerge: add (has new id)', |
| 'click "setOption": "aa" become **rect** symbol, bar series "xx" added', |
| 'other series **removed**', |
| 'click "check": should show **checked: Pass**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'a', |
| symbol: 'rect' |
| }, { |
| id: 'x', |
| name: 'xx', |
| type: 'bar', |
| data: [['a11', 10], ['a33', 20]] |
| }] |
| }, {replaceMerge: 'series'}); |
| } |
| }, { |
| text: 'check after click setOption', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 2); |
| assert( |
| seriesModels[1].componentIndex === 1 |
| && seriesModels[1].name === 'xx' |
| ); |
| assert(chart.getModel().getSeriesCount() === 2); |
| }); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| function makeInitOption() { |
| var option = makeBasicOption(); |
| |
| option.toolbox = { |
| left: 'center', |
| top: 25, |
| feature: { |
| magicType: { |
| show: true, |
| type: ['line', 'bar'] |
| }, |
| dataZoom: {}, |
| restore: {}, |
| dataView: {} |
| } |
| }; |
| |
| return option; |
| } |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_add_find_hole', { |
| title: [ |
| '**replaceMerge**: add (find the first hole)', |
| '<1> click the buttons one by one from left to right', |
| 'should show **TWO checked: Pass**', |
| '<2> use **toolbox.dataZoom**, then click btns again, should be OK', |
| '<3> use **toolbox.magicType**, then click btns again, should be OK', |
| '<4> use **toolbox.dataView**, then click btns again, should be OK', |
| '<5> use **toolbox.restore**, then click btns again, should be OK', |
| ], |
| option: makeInitOption(), |
| buttons: [{ |
| text: 'remove some', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'a' |
| }, { |
| id: 'c' |
| }, { |
| id: 'd' |
| }] |
| }, {replaceMerge: 'series'}); |
| } |
| }, { |
| text: 'then check', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 3); |
| assert(seriesModels[0].componentIndex === 0); |
| assert(seriesModels[1].componentIndex === 2); |
| assert(seriesModels[2].componentIndex === 3); |
| assert(seriesModels[0].id === 'a'); |
| assert(seriesModels[1].id === 'c'); |
| assert(seriesModels[2].id === 'd'); |
| |
| assert(chart.getModel().getSeriesCount() === 3); |
| |
| var optionGotten = chart.getOption(); |
| assert(optionGotten.series.length === 4); |
| assert(optionGotten.series[0].name === 'aa'); |
| assert(optionGotten.series[1] == null); |
| assert(optionGotten.series[2].name === 'cc'); |
| assert(optionGotten.series[3].name === 'dd'); |
| |
| assert(chart.getModel().getSeriesByIndex(1) == null); |
| assert(chart.getModel().getComponent('series', 1) == null); |
| |
| var eachModelResult = []; |
| var eachIndexResult = []; |
| chart.getModel().eachComponent('series', function (seriesModel, seriesIndex) { |
| eachModelResult.push(seriesModel); |
| eachIndexResult.push(seriesIndex); |
| }); |
| assert(eachModelResult.length === 3 && eachIndexResult.length === 3); |
| for (var i = 0; i < 3; i++) { |
| assert(eachModelResult[i] === seriesModels[i]); |
| assert(eachIndexResult[i] === seriesModels[i].componentIndex); |
| } |
| }); |
| } |
| }, { |
| text: 'replaceMerge', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'm', |
| type: 'bar', |
| data: [['a11', 22], ['a33', 44]] |
| }, { |
| id: 'n', |
| type: 'bar', |
| data: [['a11', 32], ['a33', 54]] |
| }, { |
| id: 'a' |
| }, { |
| id: 'c' |
| }, { |
| id: 'd' |
| }] |
| }, {replaceMerge: 'series'}); |
| } |
| }, { |
| text: 'then check', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 5); |
| assert(seriesModels[0].componentIndex === 0); |
| assert(seriesModels[1].componentIndex === 1); |
| assert(seriesModels[2].componentIndex === 2); |
| assert(seriesModels[3].componentIndex === 3); |
| assert(seriesModels[4].componentIndex === 4); |
| assert(seriesModels[0].id === 'a'); |
| assert(seriesModels[1].id === 'm'); |
| assert(seriesModels[2].id === 'c'); |
| assert(seriesModels[3].id === 'd'); |
| assert(seriesModels[4].id === 'n'); |
| |
| assert(chart.getModel().getSeriesCount() === 5); |
| |
| var optionGotten = chart.getOption(); |
| assert(optionGotten.series.length === 5); |
| assert(optionGotten.series[0].id === 'a'); |
| assert(optionGotten.series[1].id === 'm'); |
| assert(optionGotten.series[2].id === 'c'); |
| assert(optionGotten.series[3].id === 'd'); |
| assert(optionGotten.series[4].id === 'n'); |
| |
| assert(chart.getModel().getSeriesByIndex(1).id == 'm'); |
| assert(chart.getModel().getComponent('series', 1).id == 'm'); |
| |
| var eachModelResult = []; |
| var eachIndexResult = []; |
| chart.getModel().eachComponent('series', function (seriesModel, seriesIndex) { |
| eachModelResult.push(seriesModel); |
| eachIndexResult.push(seriesIndex); |
| }); |
| assert(eachModelResult.length === 5 && eachIndexResult.length === 5); |
| for (var i = 0; i < 5; i++) { |
| assert(eachModelResult[i] === seriesModels[i]); |
| assert(eachIndexResult[i] === seriesModels[i].componentIndex); |
| } |
| }); |
| } |
| }, { |
| text: 'reset all', |
| onclick: function () { |
| chart.setOption(makeInitOption(), true); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_normalMerge_add_find_hole', { |
| title: [ |
| '**normalMerge**: add (find the first hole)', |
| 'click the buttons one by one from left to right', |
| 'should show **TWO checked: Pass**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption_remove', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'a' |
| }, { |
| id: 'c' |
| }, { |
| id: 'd' |
| }] |
| }, {replaceMerge: 'series'}); |
| } |
| }, { |
| text: 'check after click setOption_remove', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 3); |
| assert(seriesModels[0].componentIndex === 0); |
| assert(seriesModels[1].componentIndex === 2); |
| assert(seriesModels[2].componentIndex === 3); |
| assert(seriesModels[0].id === 'a'); |
| assert(seriesModels[1].id === 'c'); |
| assert(seriesModels[2].id === 'd'); |
| |
| assert(chart.getModel().getSeriesCount() === 3); |
| |
| var optionGotten = chart.getOption(); |
| assert(optionGotten.series.length === 4); |
| assert(optionGotten.series[0].name === 'aa'); |
| assert(optionGotten.series[1] == null); |
| assert(optionGotten.series[2].name === 'cc'); |
| assert(optionGotten.series[3].name === 'dd'); |
| |
| assert(chart.getModel().getSeriesByIndex(1) == null); |
| assert(chart.getModel().getComponent('series', 1) == null); |
| }); |
| } |
| }, { |
| text: 'setOption_normalMerge', |
| onclick: function () { |
| chart.setOption({ |
| series: [{ |
| id: 'm', |
| type: 'bar', |
| data: [['a11', 22], ['a33', 44]] |
| }, { |
| id: 'n', |
| type: 'bar', |
| data: [['a11', 32], ['a33', 54]] |
| }] |
| }); |
| } |
| }, { |
| text: 'check after click setOption_normalMerge', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 5); |
| assert(seriesModels[0].componentIndex === 0); |
| assert(seriesModels[1].componentIndex === 1); |
| assert(seriesModels[2].componentIndex === 2); |
| assert(seriesModels[3].componentIndex === 3); |
| assert(seriesModels[4].componentIndex === 4); |
| assert(seriesModels[0].id === 'a'); |
| assert(seriesModels[1].id === 'm'); |
| assert(seriesModels[2].id === 'c'); |
| assert(seriesModels[3].id === 'd'); |
| assert(seriesModels[4].id === 'n'); |
| |
| assert(chart.getModel().getSeriesCount() === 5); |
| |
| var optionGotten = chart.getOption(); |
| assert(optionGotten.series.length === 5); |
| assert(optionGotten.series[0].id === 'a'); |
| assert(optionGotten.series[1].id === 'm'); |
| assert(optionGotten.series[2].id === 'c'); |
| assert(optionGotten.series[3].id === 'd'); |
| assert(optionGotten.series[4].id === 'n'); |
| |
| assert(chart.getModel().getSeriesByIndex(1).id == 'm'); |
| assert(chart.getModel().getComponent('series', 1).id == 'm'); |
| }); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = { |
| xAxis: { |
| type: 'category' |
| }, |
| yAxis: {}, |
| legend: {}, |
| tooltip: {}, |
| toolbox: { |
| feature: { |
| dataZoom: {} |
| } |
| }, |
| dataZoom: [{ |
| id: 'inside_dz', |
| type: 'inside' |
| }], |
| series: [{ |
| id: 'a', |
| name: 'aa', |
| type: 'line', |
| data: [['a11', 22], ['a33', 44]] |
| }, { |
| id: 'b', |
| name: 'bb', |
| type: 'line', |
| data: [['a11', 55], ['a33', 77]] |
| }] |
| }; |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_internal_and_other_cmpt_not_effect', { |
| title: [ |
| 'replaceMerge: inner not effect', |
| 'click "setOption": a dataZoom.slider added', |
| 'check **inside dataZoom** and **select dataZoom** on toolbox still OK', |
| 'series **not change**', |
| 'click "check": should show **checked: Pass**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| dataZoom: [{ |
| type: 'slider' |
| }, { |
| id: 'inside_dz' |
| }] |
| }, {replaceMerge: ['dataZoom']}); |
| } |
| }, { |
| text: 'check after click setOption', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var insideDZ = chart.getModel().getComponent('dataZoom', 0); |
| var selectDZX = chart.getModel().getComponent('dataZoom', 1); |
| var selectDZY = chart.getModel().getComponent('dataZoom', 2); |
| var sliderDZ = chart.getModel().getComponent('dataZoom', 3); |
| assert(insideDZ.type === 'dataZoom.inside'); |
| assert(selectDZX.type === 'dataZoom.select'); |
| assert(selectDZY.type === 'dataZoom.select'); |
| assert(sliderDZ.type === 'dataZoom.slider'); |
| assert(chart.getModel().getComponent('dataZoom', 4) == null); |
| }); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option = makeBasicOption(); |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_remove_all', { |
| title: [ |
| 'replaceMerge: remove all', |
| 'click "setOption": "all series should be removed"', |
| 'click "check": should show **checked: Pass**' |
| ], |
| option: option, |
| buttons: [{ |
| text: 'setOption', |
| onclick: function () { |
| chart.setOption({ |
| series: [] |
| }, {replaceMerge: 'series'}); |
| } |
| }, { |
| text: 'check after click setOption', |
| onclick: function () { |
| testHelper.printAssert(chart, function (assert) { |
| var seriesModels = chart.getModel().getSeries(); |
| assert(seriesModels.length === 0); |
| assert(chart.getModel().getSeriesCount() === 0); |
| }); |
| } |
| }], |
| height: 300 |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| function makeInitOption() { |
| var option = { |
| grid: [{ |
| right: '55%', |
| bottom: 70 |
| }, { |
| id: 'grid-r', |
| left: '55%', |
| bottom: 70 |
| }], |
| xAxis: [{ |
| type: 'category', |
| gridIndex: 0, |
| }, { |
| id: 'xAxis-r', |
| type: 'category', |
| gridIndex: 1, |
| }], |
| yAxis: [{ |
| gridIndex: 0 |
| }, { |
| id: 'yAxis-r', |
| gridIndex: 1 |
| }], |
| legend: {}, |
| tooltip: {}, |
| dataZoom: [{ |
| type: 'slider' |
| }, { |
| type: 'inside' |
| }], |
| toolbox: { |
| left: 'center', |
| top: 25, |
| feature: { |
| magicType: { |
| show: true, |
| type: ['line', 'bar'] |
| }, |
| dataZoom: {}, |
| restore: {}, |
| dataView: {} |
| } |
| }, |
| series: [{ |
| id: 'a', |
| name: 'aa', |
| type: 'line', |
| data: [['a11', 22], ['a33', 44]] |
| }, { |
| id: 'b', |
| name: 'bb', |
| type: 'line', |
| data: [['a11', 55], ['a33', 77]], |
| xAxisIndex: 1, |
| yAxisIndex: 1, |
| }, { |
| id: 'c', |
| name: 'cc', |
| type: 'line', |
| data: [['a11', 66], ['a33', 100]] |
| }, { |
| name: 'no_id', |
| type: 'line', |
| data: [['a11', 130], ['a33', 160]] |
| }] |
| }; |
| |
| return option; |
| } |
| |
| var chartSrc = testHelper.create(echarts, 'main_replaceMerge_reproduce_by_getOption_src', { |
| title: [ |
| '**replaceMerge**: test reproduce via **getOption**', |
| 'Click "remove left grid"', |
| 'left grid removed and dataZoom go to right grid', |
| 'use insideZoom', |
| 'Click "reproduce1"', |
| 'should show **TWO checked: Pass**', |
| 'The chart reproduced below should be **the same**' |
| ], |
| option: makeInitOption(), |
| buttons: [{ |
| text: 'remove left grid', |
| onclick: function () { |
| chartSrc.setOption({ |
| grid: { |
| id: 'grid-r' |
| }, |
| xAxis: { |
| id: 'xAxis-r' |
| }, |
| yAxis: { |
| id: 'yAxis-r' |
| }, |
| series: [{ |
| id: 'b' |
| }] |
| }, { replaceMerge: ['series', 'grid', 'xAxis', 'yAxis'] }); |
| } |
| }, { |
| text: 'reproduce', |
| onclick: function () { |
| testHelper.printAssert(chartSrc, function (assert) { |
| var seriesModels = chartSrc.getModel().getSeries(); |
| assert(seriesModels.length === 1); |
| assert(seriesModels[0].componentIndex === 1); |
| |
| var optionGotten = chartSrc.getOption(); |
| assert(optionGotten.series.length === 2); |
| assert(optionGotten.series[0] === null); |
| assert(optionGotten.series[1].id === 'b'); |
| |
| console.log(optionGotten); |
| chartTar.setOption(optionGotten); |
| }); |
| } |
| }], |
| height: 200 |
| }); |
| |
| var chartTar = testHelper.create(echarts, 'main_replaceMerge_reproduce_by_getOption_tar', { |
| title: [ |
| '↓↓↓ reproduce ↓↓↓ ', |
| ], |
| option: {}, |
| height: 200 |
| }); |
| |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| function makePartialOption() { |
| return { |
| grid: [{ |
| bottom: '60%' |
| }, { |
| id: 'gb', |
| top: '60%' |
| }], |
| xAxis: [{ |
| type: 'category' |
| }, { |
| type: 'category' |
| }, { |
| id: 'xb0', |
| type: 'category', |
| gridIndex: 1 |
| }, { |
| id: 'xb1', |
| type: 'category', |
| gridIndex: 1 |
| }], |
| yAxis: [{ |
| |
| }, { |
| id: 'yb', |
| gridIndex: 1 |
| }], |
| series: [{ |
| type: 'line', |
| data: [[11, 22], [33, 44]] |
| }, { |
| type: 'line', |
| xAxisIndex: 1, |
| data: [[11111, 52], [21133, 74]] |
| }, { |
| id: 'sb0', |
| type: 'line', |
| xAxisIndex: 2, |
| yAxisIndex: 1, |
| data: [[23, 432], [54, 552]] |
| }, { |
| id: 'sb1', |
| type: 'line', |
| xAxisIndex: 3, |
| yAxisIndex: 1, |
| data: [[222233, 1432], [111154, 1552]] |
| }] |
| }; |
| } |
| |
| var option = echarts.util.extend(makePartialOption(), { |
| toolbox: { |
| left: 'center', |
| feature: { |
| dataZoom: {} |
| } |
| }, |
| dataZoom: [{ |
| type: 'slider', |
| xAxisIndex: 'all' |
| }, { |
| type: 'inside', |
| xAxisIndex: 'all' |
| }] |
| }); |
| |
| var chart = testHelper.create(echarts, 'main_replaceMerge_if_not_declared_in_option', { |
| title: [ |
| 'DataZoom controlls all of the axes.', |
| 'Click btn "remove all grids".', |
| 'Should no error.', |
| 'Click btn "addback".', |
| 'Functionalities should be OK.' |
| ], |
| option: option, |
| height: 350, |
| buttons: [{ |
| text: 'remove all grids', |
| onclick: function () { |
| chart.setOption({ |
| // Not declared in option |
| }, { replaceMerge: ['grid', 'xAxis', 'yAxis', 'series'] }); |
| } |
| }, { |
| text: 'addback', |
| onclick: function () { |
| chart.setOption(makePartialOption()); |
| } |
| }] |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'], function (echarts) { |
| var option; |
| |
| option = { |
| xAxis: [{ |
| type: 'category' |
| }], |
| yAxis: [{ |
| }], |
| series: [{ |
| id: 'sb0', |
| type: 'line', |
| data: [[11, 22], [33, 44]] |
| }, { |
| type: 'line', |
| data: [[11111, 52], [21133, 74]] |
| }, { |
| id: 'sb0', |
| type: 'line', |
| data: [[222233, 1432], [111154, 1552]] |
| }] |
| }; |
| |
| testHelper.printAssert('main_throw_error_when_id_duplicated', function (assert) { |
| try { |
| var chart = testHelper.create(echarts, 'main_throw_error_when_id_duplicated', { |
| title: [ |
| 'Check throw error when id duplicated', |
| 'Should show **checked: Pass**' |
| ], |
| option: option, |
| height: 100, |
| }); |
| assert(false); |
| } |
| catch (err) { |
| assert(true); |
| } |
| }); |
| |
| }); |
| </script> |
| |
| |
| |
| |
| |
| </body> |
| </html> |
| |