| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 | 
							
- /*
 
- * 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.
 
- */
 
- /**
 
-  * AUTO-GENERATED FILE. DO NOT MODIFY.
 
-  */
 
- /*
 
- * 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.
 
- */
 
- import { __extends } from "tslib";
 
- import * as graphic from '../../util/graphic.js';
 
- import { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';
 
- import ChartView from '../../view/Chart.js';
 
- import { numericToNumber } from '../../util/number.js';
 
- import { eqNaN } from 'zrender/lib/core/util.js';
 
- import { saveOldStyle } from '../../animation/basicTransition.js';
 
- var DEFAULT_SMOOTH = 0.3;
 
- var ParallelView =
 
- /** @class */
 
- function (_super) {
 
-   __extends(ParallelView, _super);
 
-   function ParallelView() {
 
-     var _this = _super !== null && _super.apply(this, arguments) || this;
 
-     _this.type = ParallelView.type;
 
-     _this._dataGroup = new graphic.Group();
 
-     _this._initialized = false;
 
-     return _this;
 
-   }
 
-   ParallelView.prototype.init = function () {
 
-     this.group.add(this._dataGroup);
 
-   };
 
-   /**
 
-    * @override
 
-    */
 
-   ParallelView.prototype.render = function (seriesModel, ecModel, api, payload) {
 
-     // Clear previously rendered progressive elements.
 
-     this._progressiveEls = null;
 
-     var dataGroup = this._dataGroup;
 
-     var data = seriesModel.getData();
 
-     var oldData = this._data;
 
-     var coordSys = seriesModel.coordinateSystem;
 
-     var dimensions = coordSys.dimensions;
 
-     var seriesScope = makeSeriesScope(seriesModel);
 
-     data.diff(oldData).add(add).update(update).remove(remove).execute();
 
-     function add(newDataIndex) {
 
-       var line = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);
 
-       updateElCommon(line, data, newDataIndex, seriesScope);
 
-     }
 
-     function update(newDataIndex, oldDataIndex) {
 
-       var line = oldData.getItemGraphicEl(oldDataIndex);
 
-       var points = createLinePoints(data, newDataIndex, dimensions, coordSys);
 
-       data.setItemGraphicEl(newDataIndex, line);
 
-       graphic.updateProps(line, {
 
-         shape: {
 
-           points: points
 
-         }
 
-       }, seriesModel, newDataIndex);
 
-       saveOldStyle(line);
 
-       updateElCommon(line, data, newDataIndex, seriesScope);
 
-     }
 
-     function remove(oldDataIndex) {
 
-       var line = oldData.getItemGraphicEl(oldDataIndex);
 
-       dataGroup.remove(line);
 
-     } // First create
 
-     if (!this._initialized) {
 
-       this._initialized = true;
 
-       var clipPath = createGridClipShape(coordSys, seriesModel, function () {
 
-         // Callback will be invoked immediately if there is no animation
 
-         setTimeout(function () {
 
-           dataGroup.removeClipPath();
 
-         });
 
-       });
 
-       dataGroup.setClipPath(clipPath);
 
-     }
 
-     this._data = data;
 
-   };
 
-   ParallelView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {
 
-     this._initialized = true;
 
-     this._data = null;
 
-     this._dataGroup.removeAll();
 
-   };
 
-   ParallelView.prototype.incrementalRender = function (taskParams, seriesModel, ecModel) {
 
-     var data = seriesModel.getData();
 
-     var coordSys = seriesModel.coordinateSystem;
 
-     var dimensions = coordSys.dimensions;
 
-     var seriesScope = makeSeriesScope(seriesModel);
 
-     var progressiveEls = this._progressiveEls = [];
 
-     for (var dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {
 
-       var line = addEl(data, this._dataGroup, dataIndex, dimensions, coordSys);
 
-       line.incremental = true;
 
-       updateElCommon(line, data, dataIndex, seriesScope);
 
-       progressiveEls.push(line);
 
-     }
 
-   };
 
-   ParallelView.prototype.remove = function () {
 
-     this._dataGroup && this._dataGroup.removeAll();
 
-     this._data = null;
 
-   };
 
-   ParallelView.type = 'parallel';
 
-   return ParallelView;
 
- }(ChartView);
 
- function createGridClipShape(coordSys, seriesModel, cb) {
 
-   var parallelModel = coordSys.model;
 
-   var rect = coordSys.getRect();
 
-   var rectEl = new graphic.Rect({
 
-     shape: {
 
-       x: rect.x,
 
-       y: rect.y,
 
-       width: rect.width,
 
-       height: rect.height
 
-     }
 
-   });
 
-   var dim = parallelModel.get('layout') === 'horizontal' ? 'width' : 'height';
 
-   rectEl.setShape(dim, 0);
 
-   graphic.initProps(rectEl, {
 
-     shape: {
 
-       width: rect.width,
 
-       height: rect.height
 
-     }
 
-   }, seriesModel, cb);
 
-   return rectEl;
 
- }
 
- function createLinePoints(data, dataIndex, dimensions, coordSys) {
 
-   var points = [];
 
-   for (var i = 0; i < dimensions.length; i++) {
 
-     var dimName = dimensions[i];
 
-     var value = data.get(data.mapDimension(dimName), dataIndex);
 
-     if (!isEmptyValue(value, coordSys.getAxis(dimName).type)) {
 
-       points.push(coordSys.dataToPoint(value, dimName));
 
-     }
 
-   }
 
-   return points;
 
- }
 
- function addEl(data, dataGroup, dataIndex, dimensions, coordSys) {
 
-   var points = createLinePoints(data, dataIndex, dimensions, coordSys);
 
-   var line = new graphic.Polyline({
 
-     shape: {
 
-       points: points
 
-     },
 
-     // silent: true,
 
-     z2: 10
 
-   });
 
-   dataGroup.add(line);
 
-   data.setItemGraphicEl(dataIndex, line);
 
-   return line;
 
- }
 
- function makeSeriesScope(seriesModel) {
 
-   var smooth = seriesModel.get('smooth', true);
 
-   smooth === true && (smooth = DEFAULT_SMOOTH);
 
-   smooth = numericToNumber(smooth);
 
-   eqNaN(smooth) && (smooth = 0);
 
-   return {
 
-     smooth: smooth
 
-   };
 
- }
 
- function updateElCommon(el, data, dataIndex, seriesScope) {
 
-   el.useStyle(data.getItemVisual(dataIndex, 'style'));
 
-   el.style.fill = null;
 
-   el.setShape('smooth', seriesScope.smooth);
 
-   var itemModel = data.getItemModel(dataIndex);
 
-   var emphasisModel = itemModel.getModel('emphasis');
 
-   setStatesStylesFromModel(el, itemModel, 'lineStyle');
 
-   toggleHoverEmphasis(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));
 
- } // function simpleDiff(oldData, newData, dimensions) {
 
- //     let oldLen;
 
- //     if (!oldData
 
- //         || !oldData.__plProgressive
 
- //         || (oldLen = oldData.count()) !== newData.count()
 
- //     ) {
 
- //         return true;
 
- //     }
 
- //     let dimLen = dimensions.length;
 
- //     for (let i = 0; i < oldLen; i++) {
 
- //         for (let j = 0; j < dimLen; j++) {
 
- //             if (oldData.get(dimensions[j], i) !== newData.get(dimensions[j], i)) {
 
- //                 return true;
 
- //             }
 
- //         }
 
- //     }
 
- //     return false;
 
- // }
 
- // FIXME put in common util?
 
- function isEmptyValue(val, axisType) {
 
-   return axisType === 'category' ? val == null : val == null || isNaN(val); // axisType === 'value'
 
- }
 
- export default ParallelView;
 
 
  |