| 
/* 
 | 
* 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 zrUtil from 'zrender/lib/core/util.js'; 
 | 
import { Rect } from '../../util/graphic.js'; 
 | 
import * as formatUtil from '../../util/format.js'; 
 | 
import * as layout from '../../util/layout.js'; 
 | 
import VisualMapping from '../../visual/VisualMapping.js'; 
 | 
import ComponentView from '../../view/Component.js'; 
 | 
var VisualMapView = /** @class */function (_super) { 
 | 
  __extends(VisualMapView, _super); 
 | 
  function VisualMapView() { 
 | 
    var _this = _super !== null && _super.apply(this, arguments) || this; 
 | 
    _this.type = VisualMapView.type; 
 | 
    _this.autoPositionValues = { 
 | 
      left: 1, 
 | 
      right: 1, 
 | 
      top: 1, 
 | 
      bottom: 1 
 | 
    }; 
 | 
    return _this; 
 | 
  } 
 | 
  VisualMapView.prototype.init = function (ecModel, api) { 
 | 
    this.ecModel = ecModel; 
 | 
    this.api = api; 
 | 
  }; 
 | 
  /** 
 | 
   * @protected 
 | 
   */ 
 | 
  VisualMapView.prototype.render = function (visualMapModel, ecModel, api, payload // TODO: TYPE 
 | 
  ) { 
 | 
    this.visualMapModel = visualMapModel; 
 | 
    if (visualMapModel.get('show') === false) { 
 | 
      this.group.removeAll(); 
 | 
      return; 
 | 
    } 
 | 
    this.doRender(visualMapModel, ecModel, api, payload); 
 | 
  }; 
 | 
  /** 
 | 
   * @protected 
 | 
   */ 
 | 
  VisualMapView.prototype.renderBackground = function (group) { 
 | 
    var visualMapModel = this.visualMapModel; 
 | 
    var padding = formatUtil.normalizeCssArray(visualMapModel.get('padding') || 0); 
 | 
    var rect = group.getBoundingRect(); 
 | 
    group.add(new Rect({ 
 | 
      z2: -1, 
 | 
      silent: true, 
 | 
      shape: { 
 | 
        x: rect.x - padding[3], 
 | 
        y: rect.y - padding[0], 
 | 
        width: rect.width + padding[3] + padding[1], 
 | 
        height: rect.height + padding[0] + padding[2] 
 | 
      }, 
 | 
      style: { 
 | 
        fill: visualMapModel.get('backgroundColor'), 
 | 
        stroke: visualMapModel.get('borderColor'), 
 | 
        lineWidth: visualMapModel.get('borderWidth') 
 | 
      } 
 | 
    })); 
 | 
  }; 
 | 
  /** 
 | 
   * @protected 
 | 
   * @param targetValue can be Infinity or -Infinity 
 | 
   * @param visualCluster Only can be 'color' 'opacity' 'symbol' 'symbolSize' 
 | 
   * @param opts 
 | 
   * @param opts.forceState Specify state, instead of using getValueState method. 
 | 
   * @param opts.convertOpacityToAlpha For color gradient in controller widget. 
 | 
   * @return {*} Visual value. 
 | 
   */ 
 | 
  VisualMapView.prototype.getControllerVisual = function (targetValue, visualCluster, opts) { 
 | 
    opts = opts || {}; 
 | 
    var forceState = opts.forceState; 
 | 
    var visualMapModel = this.visualMapModel; 
 | 
    var visualObj = {}; 
 | 
    // Default values. 
 | 
    if (visualCluster === 'color') { 
 | 
      var defaultColor = visualMapModel.get('contentColor'); 
 | 
      visualObj.color = defaultColor; 
 | 
    } 
 | 
    function getter(key) { 
 | 
      return visualObj[key]; 
 | 
    } 
 | 
    function setter(key, value) { 
 | 
      visualObj[key] = value; 
 | 
    } 
 | 
    var mappings = visualMapModel.controllerVisuals[forceState || visualMapModel.getValueState(targetValue)]; 
 | 
    var visualTypes = VisualMapping.prepareVisualTypes(mappings); 
 | 
    zrUtil.each(visualTypes, function (type) { 
 | 
      var visualMapping = mappings[type]; 
 | 
      if (opts.convertOpacityToAlpha && type === 'opacity') { 
 | 
        type = 'colorAlpha'; 
 | 
        visualMapping = mappings.__alphaForOpacity; 
 | 
      } 
 | 
      if (VisualMapping.dependsOn(type, visualCluster)) { 
 | 
        visualMapping && visualMapping.applyVisual(targetValue, getter, setter); 
 | 
      } 
 | 
    }); 
 | 
    return visualObj[visualCluster]; 
 | 
  }; 
 | 
  VisualMapView.prototype.positionGroup = function (group) { 
 | 
    var model = this.visualMapModel; 
 | 
    var api = this.api; 
 | 
    layout.positionElement(group, model.getBoxLayoutParams(), { 
 | 
      width: api.getWidth(), 
 | 
      height: api.getHeight() 
 | 
    }); 
 | 
  }; 
 | 
  VisualMapView.prototype.doRender = function (visualMapModel, ecModel, api, payload) {}; 
 | 
  VisualMapView.type = 'visualMap'; 
 | 
  return VisualMapView; 
 | 
}(ComponentView); 
 | 
export default VisualMapView; 
 |