123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- var echarts = require("../../echarts");
- var zrUtil = require("zrender/lib/core/util");
- function legendSelectActionHandler(methodName, payload, ecModel) {
- var selectedMap = {};
- var isToggleSelect = methodName === 'toggleSelected';
- var isSelected;
- ecModel.eachComponent('legend', function (legendModel) {
- if (isToggleSelect && isSelected != null) {
-
-
-
-
- legendModel[isSelected ? 'select' : 'unSelect'](payload.name);
- } else if (methodName === 'allSelect' || methodName === 'inverseSelect') {
- legendModel[methodName]();
- } else {
- legendModel[methodName](payload.name);
- isSelected = legendModel.isSelected(payload.name);
- }
- var legendData = legendModel.getData();
- zrUtil.each(legendData, function (model) {
- var name = model.get('name');
- if (name === '\n' || name === '') {
- return;
- }
- var isItemSelected = legendModel.isSelected(name);
- if (selectedMap.hasOwnProperty(name)) {
-
- selectedMap[name] = selectedMap[name] && isItemSelected;
- } else {
- selectedMap[name] = isItemSelected;
- }
- });
- });
- return methodName === 'allSelect' || methodName === 'inverseSelect' ? {
- selected: selectedMap
- } : {
- name: payload.name,
- selected: selectedMap
- };
- }
- echarts.registerAction('legendToggleSelect', 'legendselectchanged', zrUtil.curry(legendSelectActionHandler, 'toggleSelected'));
- echarts.registerAction('legendAllSelect', 'legendselectall', zrUtil.curry(legendSelectActionHandler, 'allSelect'));
- echarts.registerAction('legendInverseSelect', 'legendinverseselect', zrUtil.curry(legendSelectActionHandler, 'inverseSelect'));
- echarts.registerAction('legendSelect', 'legendselected', zrUtil.curry(legendSelectActionHandler, 'select'));
- echarts.registerAction('legendUnSelect', 'legendunselected', zrUtil.curry(legendSelectActionHandler, 'unSelect'));
|