123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import * as helper from '../helper/treeHelper.js';
- import { noop } from 'zrender/lib/core/util.js';
- var actionTypes = ['treemapZoomToNode', 'treemapRender', 'treemapMove'];
- export function installTreemapAction(registers) {
- for (var i = 0; i < actionTypes.length; i++) {
- registers.registerAction({
- type: actionTypes[i],
- update: 'updateView'
- }, noop);
- }
- registers.registerAction({
- type: 'treemapRootToNode',
- update: 'updateView'
- }, function (payload, ecModel) {
- ecModel.eachComponent({
- mainType: 'series',
- subType: 'treemap',
- query: payload
- }, handleRootToNode);
- function handleRootToNode(model, index) {
- var types = ['treemapZoomToNode', 'treemapRootToNode'];
- var targetInfo = helper.retrieveTargetInfo(payload, types, model);
- if (targetInfo) {
- var originViewRoot = model.getViewRoot();
- if (originViewRoot) {
- payload.direction = helper.aboveViewRoot(originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';
- }
- model.resetViewRoot(targetInfo.node);
- }
- }
- });
- }
|