| |
| /* |
| * 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; |
| var refContainer = layout.createBoxLayoutReference(model, api).refContainer; |
| layout.positionElement(group, model.getBoxLayoutParams(), refContainer); |
| }; |
| VisualMapView.prototype.doRender = function (visualMapModel, ecModel, api, payload) {}; |
| VisualMapView.type = 'visualMap'; |
| return VisualMapView; |
| }(ComponentView); |
| export default VisualMapView; |