@visactor/vchart
Version:
charts lib based @visactor/VGrammar
50 lines (43 loc) • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.parseHoverSelect = exports.getDefaultInteractionConfigByMode = void 0;
const vutils_extension_1 = require("@visactor/vutils-extension"), common_1 = require("../typings/spec/common"), util_1 = require("../util"), vutils_1 = require("@visactor/vutils");
function getDefaultInteractionConfigByMode(mode) {
return mode === common_1.RenderModeEnum["desktop-browser"] || mode === common_1.RenderModeEnum["desktop-miniApp"] ? {
hover: {
enable: !0,
trigger: "pointermove",
triggerOff: "view:pointerleave"
},
select: {
enable: !0,
trigger: "pointertap"
}
} : (0, util_1.isMobileLikeMode)(mode) || (0, util_1.isMiniAppLikeMode)(mode) ? {
hover: {
enable: !0,
trigger: [ "pointerdown", "pointermove" ],
triggerOff: "view:pointerleave"
},
select: {
enable: !0,
trigger: "tap"
}
} : null;
}
exports.getDefaultInteractionConfigByMode = getDefaultInteractionConfigByMode;
const parseHoverSelect = (mode, hoverSpec, selectSpec) => {
const defaultConfig = getDefaultInteractionConfigByMode(mode);
let finalHoverSpec = Object.assign({}, null == defaultConfig ? void 0 : defaultConfig.hover), finalSelectSpec = Object.assign({}, null == defaultConfig ? void 0 : defaultConfig.select);
return (0, vutils_1.isBoolean)(hoverSpec) ? finalHoverSpec.enable = hoverSpec : (0,
vutils_1.isObject)(hoverSpec) && (finalHoverSpec.enable = !0, finalHoverSpec = (0,
vutils_extension_1.mergeSpec)(finalHoverSpec, hoverSpec)), (0, vutils_1.isBoolean)(selectSpec) ? finalSelectSpec.enable = selectSpec : (0,
vutils_1.isObject)(selectSpec) && (finalSelectSpec.enable = !0, finalSelectSpec = (0,
vutils_extension_1.mergeSpec)(finalSelectSpec, selectSpec)), {
select: finalSelectSpec,
hover: finalHoverSpec
};
};
exports.parseHoverSelect = parseHoverSelect;
//# sourceMappingURL=config.js.map