blob: cb165b0a61362de5d28dc85a581cff3b1d304cc4 [file] [log] [blame]
define(function (require) {
require('../coord/geo/GeoModel');
require('../coord/geo/geoCreator');
require('./geo/GeoView');
require('../action/geoRoam');
var echarts = require('../echarts');
var zrUtil = require('zrender/core/util');
function makeAction(method, actionInfo) {
actionInfo.update = 'updateView';
echarts.registerAction(actionInfo, function (payload, ecModel) {
var selected = {};
ecModel.eachComponent(
{ mainType: 'geo', query: payload},
function (geoModel) {
geoModel[method](payload.name);
var geo = geoModel.coordinateSystem;
zrUtil.each(geo.regions, function (region) {
selected[region.name] = geoModel.isSelected(region.name) || false;
});
}
);
return {
selected: selected,
name: payload.name
};
});
}
makeAction('toggleSelected', {
type: 'geoToggleSelect',
event: 'geoselectchanged'
});
makeAction('select', {
type: 'geoSelect',
event: 'geoselected'
});
makeAction('unSelect', {
type: 'geoUnSelect',
event: 'geounselected'
});
});