115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| /*
 | |
| * 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.
 | |
| */
 | |
| 
 | |
| var graphic = require("../../util/graphic");
 | |
| 
 | |
| var zrUtil = require("zrender/lib/core/util");
 | |
| 
 | |
| /*
 | |
| * 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.
 | |
| */
 | |
| 
 | |
| /**
 | |
|  * @module echarts/chart/helper/Line
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * @constructor
 | |
|  * @extends {module:zrender/graphic/Group}
 | |
|  * @alias {module:echarts/chart/helper/Polyline}
 | |
|  */
 | |
| function Polyline(lineData, idx, seriesScope) {
 | |
|   graphic.Group.call(this);
 | |
| 
 | |
|   this._createPolyline(lineData, idx, seriesScope);
 | |
| }
 | |
| 
 | |
| var polylineProto = Polyline.prototype;
 | |
| 
 | |
| polylineProto._createPolyline = function (lineData, idx, seriesScope) {
 | |
|   // var seriesModel = lineData.hostModel;
 | |
|   var points = lineData.getItemLayout(idx);
 | |
|   var line = new graphic.Polyline({
 | |
|     shape: {
 | |
|       points: points
 | |
|     }
 | |
|   });
 | |
|   this.add(line);
 | |
| 
 | |
|   this._updateCommonStl(lineData, idx, seriesScope);
 | |
| };
 | |
| 
 | |
| polylineProto.updateData = function (lineData, idx, seriesScope) {
 | |
|   var seriesModel = lineData.hostModel;
 | |
|   var line = this.childAt(0);
 | |
|   var target = {
 | |
|     shape: {
 | |
|       points: lineData.getItemLayout(idx)
 | |
|     }
 | |
|   };
 | |
|   graphic.updateProps(line, target, seriesModel, idx);
 | |
| 
 | |
|   this._updateCommonStl(lineData, idx, seriesScope);
 | |
| };
 | |
| 
 | |
| polylineProto._updateCommonStl = function (lineData, idx, seriesScope) {
 | |
|   var line = this.childAt(0);
 | |
|   var itemModel = lineData.getItemModel(idx);
 | |
|   var visualColor = lineData.getItemVisual(idx, 'color');
 | |
|   var lineStyle = seriesScope && seriesScope.lineStyle;
 | |
|   var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;
 | |
| 
 | |
|   if (!seriesScope || lineData.hasItemOption) {
 | |
|     lineStyle = itemModel.getModel('lineStyle').getLineStyle();
 | |
|     hoverLineStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();
 | |
|   }
 | |
| 
 | |
|   line.useStyle(zrUtil.defaults({
 | |
|     strokeNoScale: true,
 | |
|     fill: 'none',
 | |
|     stroke: visualColor
 | |
|   }, lineStyle));
 | |
|   line.hoverStyle = hoverLineStyle;
 | |
|   graphic.setHoverStyle(this);
 | |
| };
 | |
| 
 | |
| polylineProto.updateLayout = function (lineData, idx) {
 | |
|   var polyline = this.childAt(0);
 | |
|   polyline.setShape('points', lineData.getItemLayout(idx));
 | |
| };
 | |
| 
 | |
| zrUtil.inherits(Polyline, graphic.Group);
 | |
| var _default = Polyline;
 | |
| module.exports = _default; | 
