config/Options/interaction/interaction.ts

  1. /**
  2. * Copyright (c) 2017 ~ present NAVER Corp.
  3. * billboard.js project is licensed under the MIT license
  4. */
  5. /**
  6. * interaction config options
  7. */
  8. export default {
  9. /**
  10. * Interaction options
  11. * @name interaction
  12. * @memberof Options
  13. * @type {object}
  14. * @property {object} interaction Intersection object
  15. * @property {boolean} [interaction.enabled=true] Indicate if the chart should have interactions.<br>
  16. * If `false` is set, all of interactions (showing/hiding tooltip, selection, mouse events, etc) will be disabled.
  17. * @property {boolean} [interaction.brighten=true] Make brighter for the selected area (ex. 'pie' type data selected area)
  18. * @property {boolean} [interaction.inputType.mouse=true] enable or disable mouse interaction
  19. * @property {boolean} [interaction.inputType.touch=true] enable or disable touch interaction
  20. * @property {boolean|number} [interaction.inputType.touch.preventDefault=false] enable or disable to call event.preventDefault on touchstart & touchmove event. It's usually used to prevent document scrolling.
  21. * @property {boolean} [interaction.onout=true] Enable or disable "onout" event.<br>
  22. * When is disabled, defocus(hiding tooltip, focused gridline, etc.) event won't work.
  23. * @see [Demo: touch.preventDefault](https://naver.github.io/billboard.js/demo/#Interaction.PreventScrollOnTouch)
  24. * @example
  25. * interaction: {
  26. * enabled: false,
  27. * brighten: false,
  28. * inputType: {
  29. * mouse: true,
  30. * touch: false
  31. *
  32. * // or declare preventDefault explicitly.
  33. * // In this case touch inputType is enabled by default
  34. * touch: {
  35. * preventDefault: true
  36. *
  37. * // or threshold pixel value (pixel moved from touchstart to touchmove)
  38. * preventDefault: 5
  39. * }
  40. * },
  41. *
  42. * // disable "onout" event
  43. * onout: false
  44. * }
  45. */
  46. interaction_enabled: true,
  47. interaction_brighten: true,
  48. interaction_inputType_mouse: true,
  49. interaction_inputType_touch: <boolean | {preventDefault?: boolean | number}>{},
  50. interaction_onout: true
  51. };