| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | 
/** 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 zrUtil = require("zrender/lib/core/util");var _layout = require("../../util/layout");var getLayoutRect = _layout.getLayoutRect;/** 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.*//** * @param {module:echarts/component/visualMap/VisualMapModel} visualMapModel\ * @param {module:echarts/ExtensionAPI} api * @param {Array.<number>} itemSize always [short, long] * @return {string} 'left' or 'right' or 'top' or 'bottom' */function getItemAlign(visualMapModel, api, itemSize) {  var modelOption = visualMapModel.option;  var itemAlign = modelOption.align;  if (itemAlign != null && itemAlign !== 'auto') {    return itemAlign;  } // Auto decision align.  var ecSize = {    width: api.getWidth(),    height: api.getHeight()  };  var realIndex = modelOption.orient === 'horizontal' ? 1 : 0;  var paramsSet = [['left', 'right', 'width'], ['top', 'bottom', 'height']];  var reals = paramsSet[realIndex];  var fakeValue = [0, null, 10];  var layoutInput = {};  for (var i = 0; i < 3; i++) {    layoutInput[paramsSet[1 - realIndex][i]] = fakeValue[i];    layoutInput[reals[i]] = i === 2 ? itemSize[0] : modelOption[reals[i]];  }  var rParam = [['x', 'width', 3], ['y', 'height', 0]][realIndex];  var rect = getLayoutRect(layoutInput, ecSize, modelOption.padding);  return reals[(rect.margin[rParam[2]] || 0) + rect[rParam[0]] + rect[rParam[1]] * 0.5 < ecSize[rParam[1]] * 0.5 ? 0 : 1];}/** * Prepare dataIndex for outside usage, where dataIndex means rawIndex, and * dataIndexInside means filtered index. */function makeHighDownBatch(batch, visualMapModel) {  zrUtil.each(batch || [], function (batchItem) {    if (batchItem.dataIndex != null) {      batchItem.dataIndexInside = batchItem.dataIndex;      batchItem.dataIndex = null;    }    batchItem.highlightKey = 'visualMap' + (visualMapModel ? visualMapModel.componentIndex : '');  });  return batch;}exports.getItemAlign = getItemAlign;exports.makeHighDownBatch = makeHighDownBatch;
 |