@antv/g2
Version:
the Grammar of Graphics in Javascript
50 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setHighlightBy = exports.clearHighlight = void 0;
var util_1 = require("@antv/util");
var util_2 = require("../util");
var STATUS_UNACTIVE = 'inactive';
var STATUS_ACTIVE = 'active';
/**
* @ignore
* 清理 highlight 效果
* @param view View 或者 Chart
*/
function clearHighlight(view) {
var elements = (0, util_2.getElements)(view);
(0, util_1.each)(elements, function (el) {
if (el.hasState(STATUS_ACTIVE)) {
el.setState(STATUS_ACTIVE, false);
}
if (el.hasState(STATUS_UNACTIVE)) {
el.setState(STATUS_UNACTIVE, false);
}
});
}
exports.clearHighlight = clearHighlight;
/**
* @ignore
* 设置多个元素的 highlight
* @param elements 元素集合
* @param callback 设置回调函数
* @param enable 设置或者取消
*/
function setHighlightBy(elements, callback, enable) {
(0, util_1.each)(elements, function (el) {
// 需要处理 active 和 unactive 的互斥
if (callback(el)) {
if (el.hasState(STATUS_UNACTIVE)) {
el.setState(STATUS_UNACTIVE, false);
}
el.setState(STATUS_ACTIVE, enable);
}
else {
if (el.hasState(STATUS_ACTIVE)) {
el.setState(STATUS_ACTIVE, false);
}
el.setState(STATUS_UNACTIVE, enable);
}
});
}
exports.setHighlightBy = setHighlightBy;
//# sourceMappingURL=highlight-util.js.map