@antv/g2plot
Version:
An interactive and responsive charting library
66 lines (56 loc) • 1.34 kB
text/typescript
import { getActionClass } from '@antv/g2';
import { placeElementsOrdered } from '../util';
const ElementSelectedAction: any = getActionClass('element-selected');
const ElementSingleSelectedAction: any = getActionClass('element-single-selected');
/**
* 韦恩图元素 多选交互
*/
export class VennElementSelected extends ElementSelectedAction {
/**
* 同步所有元素的位置
*/
protected syncElementsPos() {
placeElementsOrdered(this.context.view);
}
/** 激活图形元素 */
public selected() {
super.selected();
this.syncElementsPos();
}
/** toggle 图形元素激活状态 */
public toggle() {
super.toggle();
this.syncElementsPos();
}
/** 重置 */
public reset() {
super.reset();
this.syncElementsPos();
}
}
/**
* 韦恩图元素 单选交互
*/
export class VennElementSingleSelected extends ElementSingleSelectedAction {
/**
* 同步所有元素的位置
*/
protected syncElementsPos() {
placeElementsOrdered(this.context.view);
}
/** 激活图形元素 */
public selected() {
super.selected();
this.syncElementsPos();
}
/** toggle 图形元素激活状态 */
public toggle() {
super.toggle();
this.syncElementsPos();
}
/** 重置 */
public reset() {
super.reset();
this.syncElementsPos();
}
}