| 
/* 
 | 
* 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. 
 | 
*/ 
 | 
// @ts-nocheck 
 | 
import * as echarts from 'echarts'; 
 | 
function isEmptyObject(obj) { 
 | 
  for (var key in obj) { 
 | 
    if (obj.hasOwnProperty(key)) { 
 | 
      return false; 
 | 
    } 
 | 
  } 
 | 
  return true; 
 | 
} 
 | 
export default echarts.extendComponentView({ 
 | 
  type: 'bmap', 
 | 
  render: function (bMapModel, ecModel, api) { 
 | 
    var rendering = true; 
 | 
    var bmap = bMapModel.getBMap(); 
 | 
    var viewportRoot = api.getZr().painter.getViewportRoot(); 
 | 
    var coordSys = bMapModel.coordinateSystem; 
 | 
    var moveHandler = function (type, target) { 
 | 
      if (rendering) { 
 | 
        return; 
 | 
      } 
 | 
      var offsetEl = viewportRoot.parentNode.parentNode.parentNode; 
 | 
      var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0]; 
 | 
      // only update style when map offset changed 
 | 
      var viewportRootStyle = viewportRoot.style; 
 | 
      var offsetLeft = mapOffset[0] + 'px'; 
 | 
      var offsetTop = mapOffset[1] + 'px'; 
 | 
      if (viewportRootStyle.left !== offsetLeft) { 
 | 
        viewportRootStyle.left = offsetLeft; 
 | 
      } 
 | 
      if (viewportRootStyle.top !== offsetTop) { 
 | 
        viewportRootStyle.top = offsetTop; 
 | 
      } 
 | 
      coordSys.setMapOffset(mapOffset); 
 | 
      bMapModel.__mapOffset = mapOffset; 
 | 
      api.dispatchAction({ 
 | 
        type: 'bmapRoam', 
 | 
        animation: { 
 | 
          duration: 0 
 | 
        } 
 | 
      }); 
 | 
    }; 
 | 
    function zoomEndHandler() { 
 | 
      if (rendering) { 
 | 
        return; 
 | 
      } 
 | 
      api.dispatchAction({ 
 | 
        type: 'bmapRoam', 
 | 
        animation: { 
 | 
          duration: 0 
 | 
        } 
 | 
      }); 
 | 
    } 
 | 
    bmap.removeEventListener('moving', this._oldMoveHandler); 
 | 
    bmap.removeEventListener('moveend', this._oldMoveHandler); 
 | 
    bmap.removeEventListener('zoomend', this._oldZoomEndHandler); 
 | 
    bmap.addEventListener('moving', moveHandler); 
 | 
    bmap.addEventListener('moveend', moveHandler); 
 | 
    bmap.addEventListener('zoomend', zoomEndHandler); 
 | 
    this._oldMoveHandler = moveHandler; 
 | 
    this._oldZoomEndHandler = zoomEndHandler; 
 | 
    var roam = bMapModel.get('roam'); 
 | 
    if (roam && roam !== 'scale') { 
 | 
      bmap.enableDragging(); 
 | 
    } else { 
 | 
      bmap.disableDragging(); 
 | 
    } 
 | 
    if (roam && roam !== 'move') { 
 | 
      bmap.enableScrollWheelZoom(); 
 | 
      bmap.enableDoubleClickZoom(); 
 | 
      bmap.enablePinchToZoom(); 
 | 
    } else { 
 | 
      bmap.disableScrollWheelZoom(); 
 | 
      bmap.disableDoubleClickZoom(); 
 | 
      bmap.disablePinchToZoom(); 
 | 
    } 
 | 
    /* map 2.0 */ 
 | 
    var originalStyle = bMapModel.__mapStyle; 
 | 
    var newMapStyle = bMapModel.get('mapStyle') || {}; 
 | 
    // FIXME, Not use JSON methods 
 | 
    var mapStyleStr = JSON.stringify(newMapStyle); 
 | 
    if (JSON.stringify(originalStyle) !== mapStyleStr) { 
 | 
      // FIXME May have blank tile when dragging if setMapStyle 
 | 
      if (!isEmptyObject(newMapStyle)) { 
 | 
        bmap.setMapStyle(echarts.util.clone(newMapStyle)); 
 | 
      } 
 | 
      bMapModel.__mapStyle = JSON.parse(mapStyleStr); 
 | 
    } 
 | 
    /* map 3.0 */ 
 | 
    var originalStyle2 = bMapModel.__mapStyle2; 
 | 
    var newMapStyle2 = bMapModel.get('mapStyleV2') || {}; 
 | 
    // FIXME, Not use JSON methods 
 | 
    var mapStyleStr2 = JSON.stringify(newMapStyle2); 
 | 
    if (JSON.stringify(originalStyle2) !== mapStyleStr2) { 
 | 
      // FIXME May have blank tile when dragging if setMapStyle 
 | 
      if (!isEmptyObject(newMapStyle2)) { 
 | 
        bmap.setMapStyleV2(echarts.util.clone(newMapStyle2)); 
 | 
      } 
 | 
      bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2); 
 | 
    } 
 | 
    rendering = false; 
 | 
  } 
 | 
}); 
 |