1 line
40 KiB
JSON
1 line
40 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.error.cause.js\";\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * AUTO-GENERATED FILE. DO NOT MODIFY.\r\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as graphic from '../../util/graphic.js';\nimport { toggleHoverEmphasis } from '../../util/states.js';\nimport HeatmapLayer from './HeatmapLayer.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport ChartView from '../../view/Chart.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\n\nfunction getIsInPiecewiseRange(dataExtent, pieceList, selected) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n pieceList = zrUtil.map(pieceList, function (piece) {\n return {\n interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]\n };\n });\n var len = pieceList.length;\n var lastIndex = 0;\n return function (val) {\n var i; // Try to find in the location of the last found\n\n for (i = lastIndex; i < len; i++) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n\n if (i === len) {\n // Not found, back interation\n for (i = lastIndex - 1; i >= 0; i--) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n }\n\n return i >= 0 && i < len && selected[i];\n };\n}\n\nfunction getIsInContinuousRange(dataExtent, range) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n range = [(range[0] - dataExtent[0]) / dataSpan, (range[1] - dataExtent[0]) / dataSpan];\n return function (val) {\n return val >= range[0] && val <= range[1];\n };\n}\n\nfunction isGeoCoordSys(coordSys) {\n var dimensions = coordSys.dimensions; // Not use coorSys.type === 'geo' because coordSys maybe extended\n\n return dimensions[0] === 'lng' && dimensions[1] === 'lat';\n}\n\nvar HeatmapView =\n/** @class */\nfunction (_super) {\n __extends(HeatmapView, _super);\n\n function HeatmapView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = HeatmapView.type;\n return _this;\n }\n\n HeatmapView.prototype.render = function (seriesModel, ecModel, api) {\n var visualMapOfThisSeries;\n ecModel.eachComponent('visualMap', function (visualMap) {\n visualMap.eachTargetSeries(function (targetSeries) {\n if (targetSeries === seriesModel) {\n visualMapOfThisSeries = visualMap;\n }\n });\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (!visualMapOfThisSeries) {\n throw new Error('Heatmap must use with visualMap');\n }\n } // Clear previously rendered progressive elements.\n\n\n this._progressiveEls = null;\n this.group.removeAll();\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {\n this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());\n } else if (isGeoCoordSys(coordSys)) {\n this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api);\n }\n };\n\n HeatmapView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\n this.group.removeAll();\n };\n\n HeatmapView.prototype.incrementalRender = function (params, seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n // geo does not support incremental rendering?\n if (isGeoCoordSys(coordSys)) {\n this.render(seriesModel, ecModel, api);\n } else {\n this._progressiveEls = [];\n\n this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);\n }\n }\n };\n\n HeatmapView.prototype.eachRendered = function (cb) {\n graphic.traverseElements(this._progressiveEls || this.group, cb);\n };\n\n HeatmapView.prototype._renderOnCartesianAndCalendar = function (seriesModel, api, start, end, incremental) {\n var coordSys = seriesModel.coordinateSystem;\n var isCartesian2d = isCoordinateSystemType(coordSys, 'cartesian2d');\n var width;\n var height;\n var xAxisExtent;\n var yAxisExtent;\n\n if (isCartesian2d) {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(xAxis.type === 'category' && yAxis.type === 'category')) {\n throw new Error('Heatmap on cartesian must have two category axes');\n }\n\n if (!(xAxis.onBand && yAxis.onBand)) {\n throw new Error('Heatmap on cartesian must have two axes with boundaryGap true');\n }\n } // add 0.5px to avoid the gaps\n\n\n width = xAxis.getBandWidth() + .5;\n height = yAxis.getBandWidth() + .5;\n xAxisExtent = xAxis.scale.getExtent();\n yAxisExtent = yAxis.scale.getExtent();\n }\n\n var group = this.group;\n var data = seriesModel.getData();\n var emphasisStyle = seriesModel.getModel(['emphasis', 'itemStyle']).getItemStyle();\n var blurStyle = seriesModel.getModel(['blur', 'itemStyle']).getItemStyle();\n var selectStyle = seriesModel.getModel(['select', 'itemStyle']).getItemStyle();\n var borderRadius = seriesModel.get(['itemStyle', 'borderRadius']);\n var labelStatesModels = getLabelStatesModels(seriesModel);\n var emphasisModel = seriesModel.getModel('emphasis');\n var focus = emphasisModel.get('focus');\n var blurScope = emphasisModel.get('blurScope');\n var emphasisDisabled = emphasisModel.get('disabled');\n var dataDims = isCartesian2d ? [data.mapDimension('x'), data.mapDimension('y'), data.mapDimension('value')] : [data.mapDimension('time'), data.mapDimension('value')];\n\n for (var idx = start; idx < end; idx++) {\n var rect = void 0;\n var style = data.getItemVisual(idx, 'style');\n\n if (isCartesian2d) {\n var dataDimX = data.get(dataDims[0], idx);\n var dataDimY = data.get(dataDims[1], idx); // Ignore empty data and out of extent data\n\n if (isNaN(data.get(dataDims[2], idx)) || dataDimX < xAxisExtent[0] || dataDimX > xAxisExtent[1] || dataDimY < yAxisExtent[0] || dataDimY > yAxisExtent[1]) {\n continue;\n }\n\n var point = coordSys.dataToPoint([dataDimX, dataDimY]);\n rect = new graphic.Rect({\n shape: {\n x: point[0] - width / 2,\n y: point[1] - height / 2,\n width: width,\n height: height\n },\n style: style\n });\n } else {\n // Ignore empty data\n if (isNaN(data.get(dataDims[1], idx))) {\n continue;\n }\n\n rect = new graphic.Rect({\n z2: 1,\n shape: coordSys.dataToRect([data.get(dataDims[0], idx)]).contentShape,\n style: style\n });\n } // Optimization for large datset\n\n\n if (data.hasItemOption) {\n var itemModel = data.getItemModel(idx);\n var emphasisModel_1 = itemModel.getModel('emphasis');\n emphasisStyle = emphasisModel_1.getModel('itemStyle').getItemStyle();\n blurStyle = itemModel.getModel(['blur', 'itemStyle']).getItemStyle();\n selectStyle = itemModel.getModel(['select', 'itemStyle']).getItemStyle(); // Each item value struct in the data would be firstly\n // {\n // itemStyle: { borderRadius: [30, 30] },\n // value: [2022, 02, 22]\n // }\n\n borderRadius = itemModel.get(['itemStyle', 'borderRadius']);\n focus = emphasisModel_1.get('focus');\n blurScope = emphasisModel_1.get('blurScope');\n emphasisDisabled = emphasisModel_1.get('disabled');\n labelStatesModels = getLabelStatesModels(itemModel);\n }\n\n rect.shape.r = borderRadius;\n var rawValue = seriesModel.getRawValue(idx);\n var defaultText = '-';\n\n if (rawValue && rawValue[2] != null) {\n defaultText = rawValue[2] + '';\n }\n\n setLabelStyle(rect, labelStatesModels, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultOpacity: style.opacity,\n defaultText: defaultText\n });\n rect.ensureState('emphasis').style = emphasisStyle;\n rect.ensureState('blur').style = blurStyle;\n rect.ensureState('select').style = selectStyle;\n toggleHoverEmphasis(rect, focus, blurScope, emphasisDisabled);\n rect.incremental = incremental; // PENDING\n\n if (incremental) {\n // Rect must use hover layer if it's incremental.\n rect.states.emphasis.hoverLayer = true;\n }\n\n group.add(rect);\n data.setItemGraphicEl(idx, rect);\n\n if (this._progressiveEls) {\n this._progressiveEls.push(rect);\n }\n }\n };\n\n HeatmapView.prototype._renderOnGeo = function (geo, seriesModel, visualMapModel, api) {\n var inRangeVisuals = visualMapModel.targetVisuals.inRange;\n var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange; // if (!visualMapping) {\n // throw new Error('Data range must have color visuals');\n // }\n\n var data = seriesModel.getData();\n var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer();\n hmLayer.blurSize = seriesModel.get('blurSize');\n hmLayer.pointSize = seriesModel.get('pointSize');\n hmLayer.minOpacity = seriesModel.get('minOpacity');\n hmLayer.maxOpacity = seriesModel.get('maxOpacity');\n var rect = geo.getViewRect().clone();\n var roamTransform = geo.getRoamTransform();\n rect.applyTransform(roamTransform); // Clamp on viewport\n\n var x = Math.max(rect.x, 0);\n var y = Math.max(rect.y, 0);\n var x2 = Math.min(rect.width + rect.x, api.getWidth());\n var y2 = Math.min(rect.height + rect.y, api.getHeight());\n var width = x2 - x;\n var height = y2 - y;\n var dims = [data.mapDimension('lng'), data.mapDimension('lat'), data.mapDimension('value')];\n var points = data.mapArray(dims, function (lng, lat, value) {\n var pt = geo.dataToPoint([lng, lat]);\n pt[0] -= x;\n pt[1] -= y;\n pt.push(value);\n return pt;\n });\n var dataExtent = visualMapModel.getExtent();\n var isInRange = visualMapModel.type === 'visualMap.continuous' ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);\n hmLayer.update(points, width, height, inRangeVisuals.color.getNormalizer(), {\n inRange: inRangeVisuals.color.getColorMapper(),\n outOfRange: outOfRangeVisuals.color.getColorMapper()\n }, isInRange);\n var img = new graphic.Image({\n style: {\n width: width,\n height: height,\n x: x,\n y: y,\n image: hmLayer.canvas\n },\n silent: true\n });\n this.group.add(img);\n };\n\n HeatmapView.type = 'heatmap';\n return HeatmapView;\n}(ChartView);\n\nexport default HeatmapView;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/qingge-Market/qingge-vue/node_modules/echarts/lib/chart/heatmap/HeatmapView.js"],"names":["__extends","graphic","toggleHoverEmphasis","HeatmapLayer","zrUtil","ChartView","isCoordinateSystemType","setLabelStyle","getLabelStatesModels","getIsInPiecewiseRange","dataExtent","pieceList","selected","dataSpan","map","piece","interval","len","length","lastIndex","val","i","getIsInContinuousRange","range","isGeoCoordSys","coordSys","dimensions","HeatmapView","_super","_this","apply","arguments","type","prototype","render","seriesModel","ecModel","api","visualMapOfThisSeries","eachComponent","visualMap","eachTargetSeries","targetSeries","process","env","NODE_ENV","Error","_progressiveEls","group","removeAll","coordinateSystem","_renderOnCartesianAndCalendar","getData","count","_renderOnGeo","incrementalPrepareRender","incrementalRender","params","start","end","eachRendered","cb","traverseElements","incremental","isCartesian2d","width","height","xAxisExtent","yAxisExtent","xAxis","getAxis","yAxis","onBand","getBandWidth","scale","getExtent","data","emphasisStyle","getModel","getItemStyle","blurStyle","selectStyle","borderRadius","get","labelStatesModels","emphasisModel","focus","blurScope","emphasisDisabled","dataDims","mapDimension","idx","rect","style","getItemVisual","dataDimX","dataDimY","isNaN","point","dataToPoint","Rect","shape","x","y","z2","dataToRect","contentShape","hasItemOption","itemModel","getItemModel","emphasisModel_1","r","rawValue","getRawValue","defaultText","labelFetcher","labelDataIndex","defaultOpacity","opacity","ensureState","states","emphasis","hoverLayer","add","setItemGraphicEl","push","geo","visualMapModel","inRangeVisuals","targetVisuals","inRange","outOfRangeVisuals","outOfRange","hmLayer","_hmLayer","blurSize","pointSize","minOpacity","maxOpacity","getViewRect","clone","roamTransform","getRoamTransform","applyTransform","Math","max","x2","min","getWidth","y2","getHeight","dims","points","mapArray","lng","lat","value","pt","isInRange","option","getPieceList","update","color","getNormalizer","getColorMapper","img","Image","image","canvas","silent"],"mappings":"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","sourcesContent":["\r\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\r\n\r\n\r\n/**\r\n * AUTO-GENERATED FILE. DO NOT MODIFY.\r\n */\r\n\r\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport * as graphic from '../../util/graphic.js';\r\nimport { toggleHoverEmphasis } from '../../util/states.js';\r\nimport HeatmapLayer from './HeatmapLayer.js';\r\nimport * as zrUtil from 'zrender/lib/core/util.js';\r\nimport ChartView from '../../view/Chart.js';\r\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\r\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\r\n\r\nfunction getIsInPiecewiseRange(dataExtent, pieceList, selected) {\r\n var dataSpan = dataExtent[1] - dataExtent[0];\r\n pieceList = zrUtil.map(pieceList, function (piece) {\r\n return {\r\n interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]\r\n };\r\n });\r\n var len = pieceList.length;\r\n var lastIndex = 0;\r\n return function (val) {\r\n var i; // Try to find in the location of the last found\r\n\r\n for (i = lastIndex; i < len; i++) {\r\n var interval = pieceList[i].interval;\r\n\r\n if (interval[0] <= val && val <= interval[1]) {\r\n lastIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (i === len) {\r\n // Not found, back interation\r\n for (i = lastIndex - 1; i >= 0; i--) {\r\n var interval = pieceList[i].interval;\r\n\r\n if (interval[0] <= val && val <= interval[1]) {\r\n lastIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return i >= 0 && i < len && selected[i];\r\n };\r\n}\r\n\r\nfunction getIsInContinuousRange(dataExtent, range) {\r\n var dataSpan = dataExtent[1] - dataExtent[0];\r\n range = [(range[0] - dataExtent[0]) / dataSpan, (range[1] - dataExtent[0]) / dataSpan];\r\n return function (val) {\r\n return val >= range[0] && val <= range[1];\r\n };\r\n}\r\n\r\nfunction isGeoCoordSys(coordSys) {\r\n var dimensions = coordSys.dimensions; // Not use coorSys.type === 'geo' because coordSys maybe extended\r\n\r\n return dimensions[0] === 'lng' && dimensions[1] === 'lat';\r\n}\r\n\r\nvar HeatmapView =\r\n/** @class */\r\nfunction (_super) {\r\n __extends(HeatmapView, _super);\r\n\r\n function HeatmapView() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n\r\n _this.type = HeatmapView.type;\r\n return _this;\r\n }\r\n\r\n HeatmapView.prototype.render = function (seriesModel, ecModel, api) {\r\n var visualMapOfThisSeries;\r\n ecModel.eachComponent('visualMap', function (visualMap) {\r\n visualMap.eachTargetSeries(function (targetSeries) {\r\n if (targetSeries === seriesModel) {\r\n visualMapOfThisSeries = visualMap;\r\n }\r\n });\r\n });\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!visualMapOfThisSeries) {\r\n throw new Error('Heatmap must use with visualMap');\r\n }\r\n } // Clear previously rendered progressive elements.\r\n\r\n\r\n this._progressiveEls = null;\r\n this.group.removeAll();\r\n var coordSys = seriesModel.coordinateSystem;\r\n\r\n if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {\r\n this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());\r\n } else if (isGeoCoordSys(coordSys)) {\r\n this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api);\r\n }\r\n };\r\n\r\n HeatmapView.prototype.incrementalPrepareRender = function (seriesModel, ecModel, api) {\r\n this.group.removeAll();\r\n };\r\n\r\n HeatmapView.prototype.incrementalRender = function (params, seriesModel, ecModel, api) {\r\n var coordSys = seriesModel.coordinateSystem;\r\n\r\n if (coordSys) {\r\n // geo does not support incremental rendering?\r\n if (isGeoCoordSys(coordSys)) {\r\n this.render(seriesModel, ecModel, api);\r\n } else {\r\n this._progressiveEls = [];\r\n\r\n this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);\r\n }\r\n }\r\n };\r\n\r\n HeatmapView.prototype.eachRendered = function (cb) {\r\n graphic.traverseElements(this._progressiveEls || this.group, cb);\r\n };\r\n\r\n HeatmapView.prototype._renderOnCartesianAndCalendar = function (seriesModel, api, start, end, incremental) {\r\n var coordSys = seriesModel.coordinateSystem;\r\n var isCartesian2d = isCoordinateSystemType(coordSys, 'cartesian2d');\r\n var width;\r\n var height;\r\n var xAxisExtent;\r\n var yAxisExtent;\r\n\r\n if (isCartesian2d) {\r\n var xAxis = coordSys.getAxis('x');\r\n var yAxis = coordSys.getAxis('y');\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!(xAxis.type === 'category' && yAxis.type === 'category')) {\r\n throw new Error('Heatmap on cartesian must have two category axes');\r\n }\r\n\r\n if (!(xAxis.onBand && yAxis.onBand)) {\r\n throw new Error('Heatmap on cartesian must have two axes with boundaryGap true');\r\n }\r\n } // add 0.5px to avoid the gaps\r\n\r\n\r\n width = xAxis.getBandWidth() + .5;\r\n height = yAxis.getBandWidth() + .5;\r\n xAxisExtent = xAxis.scale.getExtent();\r\n yAxisExtent = yAxis.scale.getExtent();\r\n }\r\n\r\n var group = this.group;\r\n var data = seriesModel.getData();\r\n var emphasisStyle = seriesModel.getModel(['emphasis', 'itemStyle']).getItemStyle();\r\n var blurStyle = seriesModel.getModel(['blur', 'itemStyle']).getItemStyle();\r\n var selectStyle = seriesModel.getModel(['select', 'itemStyle']).getItemStyle();\r\n var borderRadius = seriesModel.get(['itemStyle', 'borderRadius']);\r\n var labelStatesModels = getLabelStatesModels(seriesModel);\r\n var emphasisModel = seriesModel.getModel('emphasis');\r\n var focus = emphasisModel.get('focus');\r\n var blurScope = emphasisModel.get('blurScope');\r\n var emphasisDisabled = emphasisModel.get('disabled');\r\n var dataDims = isCartesian2d ? [data.mapDimension('x'), data.mapDimension('y'), data.mapDimension('value')] : [data.mapDimension('time'), data.mapDimension('value')];\r\n\r\n for (var idx = start; idx < end; idx++) {\r\n var rect = void 0;\r\n var style = data.getItemVisual(idx, 'style');\r\n\r\n if (isCartesian2d) {\r\n var dataDimX = data.get(dataDims[0], idx);\r\n var dataDimY = data.get(dataDims[1], idx); // Ignore empty data and out of extent data\r\n\r\n if (isNaN(data.get(dataDims[2], idx)) || dataDimX < xAxisExtent[0] || dataDimX > xAxisExtent[1] || dataDimY < yAxisExtent[0] || dataDimY > yAxisExtent[1]) {\r\n continue;\r\n }\r\n\r\n var point = coordSys.dataToPoint([dataDimX, dataDimY]);\r\n rect = new graphic.Rect({\r\n shape: {\r\n x: point[0] - width / 2,\r\n y: point[1] - height / 2,\r\n width: width,\r\n height: height\r\n },\r\n style: style\r\n });\r\n } else {\r\n // Ignore empty data\r\n if (isNaN(data.get(dataDims[1], idx))) {\r\n continue;\r\n }\r\n\r\n rect = new graphic.Rect({\r\n z2: 1,\r\n shape: coordSys.dataToRect([data.get(dataDims[0], idx)]).contentShape,\r\n style: style\r\n });\r\n } // Optimization for large datset\r\n\r\n\r\n if (data.hasItemOption) {\r\n var itemModel = data.getItemModel(idx);\r\n var emphasisModel_1 = itemModel.getModel('emphasis');\r\n emphasisStyle = emphasisModel_1.getModel('itemStyle').getItemStyle();\r\n blurStyle = itemModel.getModel(['blur', 'itemStyle']).getItemStyle();\r\n selectStyle = itemModel.getModel(['select', 'itemStyle']).getItemStyle(); // Each item value struct in the data would be firstly\r\n // {\r\n // itemStyle: { borderRadius: [30, 30] },\r\n // value: [2022, 02, 22]\r\n // }\r\n\r\n borderRadius = itemModel.get(['itemStyle', 'borderRadius']);\r\n focus = emphasisModel_1.get('focus');\r\n blurScope = emphasisModel_1.get('blurScope');\r\n emphasisDisabled = emphasisModel_1.get('disabled');\r\n labelStatesModels = getLabelStatesModels(itemModel);\r\n }\r\n\r\n rect.shape.r = borderRadius;\r\n var rawValue = seriesModel.getRawValue(idx);\r\n var defaultText = '-';\r\n\r\n if (rawValue && rawValue[2] != null) {\r\n defaultText = rawValue[2] + '';\r\n }\r\n\r\n setLabelStyle(rect, labelStatesModels, {\r\n labelFetcher: seriesModel,\r\n labelDataIndex: idx,\r\n defaultOpacity: style.opacity,\r\n defaultText: defaultText\r\n });\r\n rect.ensureState('emphasis').style = emphasisStyle;\r\n rect.ensureState('blur').style = blurStyle;\r\n rect.ensureState('select').style = selectStyle;\r\n toggleHoverEmphasis(rect, focus, blurScope, emphasisDisabled);\r\n rect.incremental = incremental; // PENDING\r\n\r\n if (incremental) {\r\n // Rect must use hover layer if it's incremental.\r\n rect.states.emphasis.hoverLayer = true;\r\n }\r\n\r\n group.add(rect);\r\n data.setItemGraphicEl(idx, rect);\r\n\r\n if (this._progressiveEls) {\r\n this._progressiveEls.push(rect);\r\n }\r\n }\r\n };\r\n\r\n HeatmapView.prototype._renderOnGeo = function (geo, seriesModel, visualMapModel, api) {\r\n var inRangeVisuals = visualMapModel.targetVisuals.inRange;\r\n var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange; // if (!visualMapping) {\r\n // throw new Error('Data range must have color visuals');\r\n // }\r\n\r\n var data = seriesModel.getData();\r\n var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer();\r\n hmLayer.blurSize = seriesModel.get('blurSize');\r\n hmLayer.pointSize = seriesModel.get('pointSize');\r\n hmLayer.minOpacity = seriesModel.get('minOpacity');\r\n hmLayer.maxOpacity = seriesModel.get('maxOpacity');\r\n var rect = geo.getViewRect().clone();\r\n var roamTransform = geo.getRoamTransform();\r\n rect.applyTransform(roamTransform); // Clamp on viewport\r\n\r\n var x = Math.max(rect.x, 0);\r\n var y = Math.max(rect.y, 0);\r\n var x2 = Math.min(rect.width + rect.x, api.getWidth());\r\n var y2 = Math.min(rect.height + rect.y, api.getHeight());\r\n var width = x2 - x;\r\n var height = y2 - y;\r\n var dims = [data.mapDimension('lng'), data.mapDimension('lat'), data.mapDimension('value')];\r\n var points = data.mapArray(dims, function (lng, lat, value) {\r\n var pt = geo.dataToPoint([lng, lat]);\r\n pt[0] -= x;\r\n pt[1] -= y;\r\n pt.push(value);\r\n return pt;\r\n });\r\n var dataExtent = visualMapModel.getExtent();\r\n var isInRange = visualMapModel.type === 'visualMap.continuous' ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);\r\n hmLayer.update(points, width, height, inRangeVisuals.color.getNormalizer(), {\r\n inRange: inRangeVisuals.color.getColorMapper(),\r\n outOfRange: outOfRangeVisuals.color.getColorMapper()\r\n }, isInRange);\r\n var img = new graphic.Image({\r\n style: {\r\n width: width,\r\n height: height,\r\n x: x,\r\n y: y,\r\n image: hmLayer.canvas\r\n },\r\n silent: true\r\n });\r\n this.group.add(img);\r\n };\r\n\r\n HeatmapView.type = 'heatmap';\r\n return HeatmapView;\r\n}(ChartView);\r\n\r\nexport default HeatmapView;"]},"metadata":{},"sourceType":"module"} |