| <!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/simpleRequire.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> | |
| <link rel="stylesheet" href="lib/reset.css" /> | |
| </head> | |
| <body> | |
| <style> | |
| .test-title { | |
| background: #146402; | |
| color: #fff; | |
| } | |
| </style> | |
| <div id="main0"></div> | |
| <script> | |
| require([ | |
| 'echarts'/*, 'map/js/china' */ | |
| ], function (echarts) { | |
| var data = [[10, 300], [10, 600]]; | |
| var option = { | |
| xAxis: {}, | |
| yAxis: {}, | |
| tooltip: { | |
| position: function (point, params, dom, rect, size) { | |
| return [rect.x, rect.y]; | |
| }, | |
| extraCssText: 'width: 60px; height: 60px;' | |
| }, | |
| series: [{ | |
| id: 'scatter', | |
| type: 'scatter', | |
| symbol: 'rect', | |
| symbolSize: 50, | |
| emphasis: { | |
| itemStyle: { | |
| color: 'green' | |
| } | |
| }, | |
| data: data | |
| }] | |
| }; | |
| var chart = testHelper.create(echarts, 'main0', { | |
| title: [ | |
| 'Tooltip should be event disalbed:', | |
| '(1) When hovering on the symbol', | |
| 'tooltip is shown on the symbol;', | |
| 'the symbol should keep green, but not return to red.', | |
| '(2) Enable moving the symbol without tooltip effection', | |
| '(3) click "set tooltip enterable, button in tooltip should be clickable' | |
| ], | |
| option: option, | |
| button: { | |
| text: 'set tooltip enterable', | |
| onclick: function () { | |
| chart.setOption({ | |
| tooltip: { | |
| formatter: function () { | |
| return [ | |
| '<button onclick="console.log(\'click\');">click me</button>' | |
| ].join(''); | |
| }, | |
| enterable: true | |
| } | |
| }); | |
| } | |
| } | |
| }); | |
| if (chart) { | |
| var zr = chart.getZr(); | |
| var pointerOffset; | |
| var draggingDataIndex; | |
| chart.on('mousedown', function (params) { | |
| if (params.seriesIndex === 0) { | |
| var pointerData = chart.convertFromPixel( | |
| 'grid', [params.event.offsetX, params.event.offsetY] | |
| ); | |
| draggingDataIndex = params.dataIndex; | |
| pointerOffset = [ | |
| params.data[0] - pointerData[0], | |
| params.data[1] - pointerData[1] | |
| ]; | |
| } | |
| }); | |
| zr.on('mousemove', function (params) { | |
| if (draggingDataIndex != null) { | |
| var pointerData = chart.convertFromPixel( | |
| 'grid', [params.event.offsetX, params.event.offsetY] | |
| ); | |
| data[draggingDataIndex] = [ | |
| pointerData[0] + pointerOffset[0], | |
| pointerData[1] + pointerOffset[1] | |
| ]; | |
| chart.setOption({ | |
| series: { | |
| id: 'scatter', | |
| data: data | |
| }, | |
| animationDurationUpdate: 0 | |
| }); | |
| } | |
| }); | |
| zr.on('mouseup', function (params) { | |
| draggingDataIndex = null; | |
| chart.setOption({ | |
| animationDurationUpdate: 700 | |
| }); | |
| }); | |
| } | |
| }); | |
| </script> | |
| </body> | |
| </html> |