1
This commit is contained in:
210
node_modules/echarts/lib/coord/geo/GeoModel.js
generated
vendored
Normal file
210
node_modules/echarts/lib/coord/geo/GeoModel.js
generated
vendored
Normal file
@@ -0,0 +1,210 @@
|
||||
|
||||
/*
|
||||
* 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 * as modelUtil from '../../util/model.js';
|
||||
import ComponentModel from '../../model/Component.js';
|
||||
import Model from '../../model/Model.js';
|
||||
import geoCreator from './geoCreator.js';
|
||||
import geoSourceManager from './geoSourceManager.js';
|
||||
;
|
||||
var GeoModel = /** @class */function (_super) {
|
||||
__extends(GeoModel, _super);
|
||||
function GeoModel() {
|
||||
var _this = _super !== null && _super.apply(this, arguments) || this;
|
||||
_this.type = GeoModel.type;
|
||||
return _this;
|
||||
}
|
||||
GeoModel.prototype.init = function (option, parentModel, ecModel) {
|
||||
var source = geoSourceManager.getGeoResource(option.map);
|
||||
if (source && source.type === 'geoJSON') {
|
||||
var itemStyle = option.itemStyle = option.itemStyle || {};
|
||||
if (!('color' in itemStyle)) {
|
||||
itemStyle.color = '#eee';
|
||||
}
|
||||
}
|
||||
this.mergeDefaultAndTheme(option, ecModel);
|
||||
// Default label emphasis `show`
|
||||
modelUtil.defaultEmphasis(option, 'label', ['show']);
|
||||
};
|
||||
GeoModel.prototype.optionUpdated = function () {
|
||||
var _this = this;
|
||||
var option = this.option;
|
||||
option.regions = geoCreator.getFilledRegions(option.regions, option.map, option.nameMap, option.nameProperty);
|
||||
var selectedMap = {};
|
||||
this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {
|
||||
var regionName = regionOpt.name;
|
||||
if (regionName) {
|
||||
optionModelMap.set(regionName, new Model(regionOpt, _this, _this.ecModel));
|
||||
if (regionOpt.selected) {
|
||||
selectedMap[regionName] = true;
|
||||
}
|
||||
}
|
||||
return optionModelMap;
|
||||
}, zrUtil.createHashMap());
|
||||
if (!option.selectedMap) {
|
||||
option.selectedMap = selectedMap;
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Get model of region.
|
||||
*/
|
||||
GeoModel.prototype.getRegionModel = function (name) {
|
||||
return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);
|
||||
};
|
||||
/**
|
||||
* Format label
|
||||
* @param name Region name
|
||||
*/
|
||||
GeoModel.prototype.getFormattedLabel = function (name, status) {
|
||||
var regionModel = this.getRegionModel(name);
|
||||
var formatter = status === 'normal' ? regionModel.get(['label', 'formatter']) : regionModel.get(['emphasis', 'label', 'formatter']);
|
||||
var params = {
|
||||
name: name
|
||||
};
|
||||
if (zrUtil.isFunction(formatter)) {
|
||||
params.status = status;
|
||||
return formatter(params);
|
||||
} else if (zrUtil.isString(formatter)) {
|
||||
return formatter.replace('{a}', name != null ? name : '');
|
||||
}
|
||||
};
|
||||
GeoModel.prototype.setZoom = function (zoom) {
|
||||
this.option.zoom = zoom;
|
||||
};
|
||||
GeoModel.prototype.setCenter = function (center) {
|
||||
this.option.center = center;
|
||||
};
|
||||
// PENGING If selectedMode is null ?
|
||||
GeoModel.prototype.select = function (name) {
|
||||
var option = this.option;
|
||||
var selectedMode = option.selectedMode;
|
||||
if (!selectedMode) {
|
||||
return;
|
||||
}
|
||||
if (selectedMode !== 'multiple') {
|
||||
option.selectedMap = null;
|
||||
}
|
||||
var selectedMap = option.selectedMap || (option.selectedMap = {});
|
||||
selectedMap[name] = true;
|
||||
};
|
||||
GeoModel.prototype.unSelect = function (name) {
|
||||
var selectedMap = this.option.selectedMap;
|
||||
if (selectedMap) {
|
||||
selectedMap[name] = false;
|
||||
}
|
||||
};
|
||||
GeoModel.prototype.toggleSelected = function (name) {
|
||||
this[this.isSelected(name) ? 'unSelect' : 'select'](name);
|
||||
};
|
||||
GeoModel.prototype.isSelected = function (name) {
|
||||
var selectedMap = this.option.selectedMap;
|
||||
return !!(selectedMap && selectedMap[name]);
|
||||
};
|
||||
GeoModel.type = 'geo';
|
||||
GeoModel.layoutMode = 'box';
|
||||
GeoModel.defaultOption = {
|
||||
// zlevel: 0,
|
||||
z: 0,
|
||||
show: true,
|
||||
left: 'center',
|
||||
top: 'center',
|
||||
// Default value:
|
||||
// for geoSVG source: 1,
|
||||
// for geoJSON source: 0.75.
|
||||
aspectScale: null,
|
||||
// /// Layout with center and size
|
||||
// If you want to put map in a fixed size box with right aspect ratio
|
||||
// This two properties may be more convenient
|
||||
// layoutCenter: [50%, 50%]
|
||||
// layoutSize: 100
|
||||
silent: false,
|
||||
// Map type
|
||||
map: '',
|
||||
// Define left-top, right-bottom coords to control view
|
||||
// For example, [ [180, 90], [-180, -90] ]
|
||||
boundingCoords: null,
|
||||
// Default on center of map
|
||||
center: null,
|
||||
zoom: 1,
|
||||
scaleLimit: null,
|
||||
// selectedMode: false
|
||||
label: {
|
||||
show: false,
|
||||
color: '#000'
|
||||
},
|
||||
itemStyle: {
|
||||
borderWidth: 0.5,
|
||||
borderColor: '#444'
|
||||
// Default color:
|
||||
// + geoJSON: #eee
|
||||
// + geoSVG: null (use SVG original `fill`)
|
||||
// color: '#eee'
|
||||
},
|
||||
emphasis: {
|
||||
label: {
|
||||
show: true,
|
||||
color: 'rgb(100,0,0)'
|
||||
},
|
||||
itemStyle: {
|
||||
color: 'rgba(255,215,0,0.8)'
|
||||
}
|
||||
},
|
||||
select: {
|
||||
label: {
|
||||
show: true,
|
||||
color: 'rgb(100,0,0)'
|
||||
},
|
||||
itemStyle: {
|
||||
color: 'rgba(255,215,0,0.8)'
|
||||
}
|
||||
},
|
||||
regions: []
|
||||
// tooltip: {
|
||||
// show: false
|
||||
// }
|
||||
};
|
||||
return GeoModel;
|
||||
}(ComponentModel);
|
||||
export default GeoModel;
|
||||
Reference in New Issue
Block a user