import { CLASS, isValue, isFunction, isString, isUndefined, isDefined, ceil10, asHalfPixel, diffDomain, isEmpty, notEmpty, getOption, hasValue, sanitise, getPathBox, ChartInternal } from '../chartinternal.js'; const show = function (targetIds, options) { let $$ = this.internal, targets; targetIds = $$.mapToTargetIds(targetIds); options = options || {}; $$.removeHiddenTargetIds(targetIds); targets = $$.svg.selectAll($$.selectorTargets(targetIds)); targets.transition() .style('opacity', 1, 'important') .call($$.endall, () => { targets.style('opacity', null).style('opacity', 1); }); if (options.withLegend) { $$.showLegend(targetIds); } $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true }); }; const hide = function (targetIds, options) { let $$ = this.internal, targets; targetIds = $$.mapToTargetIds(targetIds); options = options || {}; $$.addHiddenTargetIds(targetIds); targets = $$.svg.selectAll($$.selectorTargets(targetIds)); targets.transition() .style('opacity', 0, 'important') .call($$.endall, () => { targets.style('opacity', null).style('opacity', 0); }); if (options.withLegend) { $$.hideLegend(targetIds); } $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true }); }; const toggle = function (targetIds, options) { let that = this, $$ = this.internal; $$.mapToTargetIds(targetIds).forEach((targetId) => { $$.isTargetToShow(targetId) ? that.hide(targetId, options) : that.show(targetId, options); }); }; export { show, hide, toggle };