| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 | 
							
- /*
 
- * 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 SeriesModel from '../../model/Series.js';
 
- import createGraphFromNodeEdge from '../helper/createGraphFromNodeEdge.js';
 
- import Model from '../../model/Model.js';
 
- import { createTooltipMarkup } from '../../component/tooltip/tooltipMarkup.js';
 
- var SankeySeriesModel =
 
- /** @class */
 
- function (_super) {
 
-   __extends(SankeySeriesModel, _super);
 
-   function SankeySeriesModel() {
 
-     var _this = _super !== null && _super.apply(this, arguments) || this;
 
-     _this.type = SankeySeriesModel.type;
 
-     return _this;
 
-   }
 
-   /**
 
-    * Init a graph data structure from data in option series
 
-    */
 
-   SankeySeriesModel.prototype.getInitialData = function (option, ecModel) {
 
-     var links = option.edges || option.links;
 
-     var nodes = option.data || option.nodes;
 
-     var levels = option.levels;
 
-     this.levelModels = [];
 
-     var levelModels = this.levelModels;
 
-     for (var i = 0; i < levels.length; i++) {
 
-       if (levels[i].depth != null && levels[i].depth >= 0) {
 
-         levelModels[levels[i].depth] = new Model(levels[i], this, ecModel);
 
-       } else {
 
-         if (process.env.NODE_ENV !== 'production') {
 
-           throw new Error('levels[i].depth is mandatory and should be natural number');
 
-         }
 
-       }
 
-     }
 
-     if (nodes && links) {
 
-       var graph = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);
 
-       return graph.data;
 
-     }
 
-     function beforeLink(nodeData, edgeData) {
 
-       nodeData.wrapMethod('getItemModel', function (model, idx) {
 
-         var seriesModel = model.parentModel;
 
-         var layout = seriesModel.getData().getItemLayout(idx);
 
-         if (layout) {
 
-           var nodeDepth = layout.depth;
 
-           var levelModel = seriesModel.levelModels[nodeDepth];
 
-           if (levelModel) {
 
-             model.parentModel = levelModel;
 
-           }
 
-         }
 
-         return model;
 
-       });
 
-       edgeData.wrapMethod('getItemModel', function (model, idx) {
 
-         var seriesModel = model.parentModel;
 
-         var edge = seriesModel.getGraph().getEdgeByIndex(idx);
 
-         var layout = edge.node1.getLayout();
 
-         if (layout) {
 
-           var depth = layout.depth;
 
-           var levelModel = seriesModel.levelModels[depth];
 
-           if (levelModel) {
 
-             model.parentModel = levelModel;
 
-           }
 
-         }
 
-         return model;
 
-       });
 
-     }
 
-   };
 
-   SankeySeriesModel.prototype.setNodePosition = function (dataIndex, localPosition) {
 
-     var nodes = this.option.data || this.option.nodes;
 
-     var dataItem = nodes[dataIndex];
 
-     dataItem.localX = localPosition[0];
 
-     dataItem.localY = localPosition[1];
 
-   };
 
-   /**
 
-    * Return the graphic data structure
 
-    *
 
-    * @return graphic data structure
 
-    */
 
-   SankeySeriesModel.prototype.getGraph = function () {
 
-     return this.getData().graph;
 
-   };
 
-   /**
 
-    * Get edge data of graphic data structure
 
-    *
 
-    * @return data structure of list
 
-    */
 
-   SankeySeriesModel.prototype.getEdgeData = function () {
 
-     return this.getGraph().edgeData;
 
-   };
 
-   SankeySeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {
 
-     function noValue(val) {
 
-       return isNaN(val) || val == null;
 
-     } // dataType === 'node' or empty do not show tooltip by default
 
-     if (dataType === 'edge') {
 
-       var params = this.getDataParams(dataIndex, dataType);
 
-       var rawDataOpt = params.data;
 
-       var edgeValue = params.value;
 
-       var edgeName = rawDataOpt.source + ' -- ' + rawDataOpt.target;
 
-       return createTooltipMarkup('nameValue', {
 
-         name: edgeName,
 
-         value: edgeValue,
 
-         noValue: noValue(edgeValue)
 
-       });
 
-     } // dataType === 'node'
 
-     else {
 
-         var node = this.getGraph().getNodeByIndex(dataIndex);
 
-         var value = node.getLayout().value;
 
-         var name_1 = this.getDataParams(dataIndex, dataType).data.name;
 
-         return createTooltipMarkup('nameValue', {
 
-           name: name_1 != null ? name_1 + '' : null,
 
-           value: value,
 
-           noValue: noValue(value)
 
-         });
 
-       }
 
-   };
 
-   SankeySeriesModel.prototype.optionUpdated = function () {}; // Override Series.getDataParams()
 
-   SankeySeriesModel.prototype.getDataParams = function (dataIndex, dataType) {
 
-     var params = _super.prototype.getDataParams.call(this, dataIndex, dataType);
 
-     if (params.value == null && dataType === 'node') {
 
-       var node = this.getGraph().getNodeByIndex(dataIndex);
 
-       var nodeValue = node.getLayout().value;
 
-       params.value = nodeValue;
 
-     }
 
-     return params;
 
-   };
 
-   SankeySeriesModel.type = 'series.sankey';
 
-   SankeySeriesModel.defaultOption = {
 
-     // zlevel: 0,
 
-     z: 2,
 
-     coordinateSystem: 'view',
 
-     left: '5%',
 
-     top: '5%',
 
-     right: '20%',
 
-     bottom: '5%',
 
-     orient: 'horizontal',
 
-     nodeWidth: 20,
 
-     nodeGap: 8,
 
-     draggable: true,
 
-     layoutIterations: 32,
 
-     label: {
 
-       show: true,
 
-       position: 'right',
 
-       fontSize: 12
 
-     },
 
-     levels: [],
 
-     nodeAlign: 'justify',
 
-     lineStyle: {
 
-       color: '#314656',
 
-       opacity: 0.2,
 
-       curveness: 0.5
 
-     },
 
-     emphasis: {
 
-       label: {
 
-         show: true
 
-       },
 
-       lineStyle: {
 
-         opacity: 0.5
 
-       }
 
-     },
 
-     select: {
 
-       itemStyle: {
 
-         borderColor: '#212121'
 
-       }
 
-     },
 
-     animationEasing: 'linear',
 
-     animationDuration: 1000
 
-   };
 
-   return SankeySeriesModel;
 
- }(SeriesModel);
 
- export default SankeySeriesModel;
 
 
  |