full-screen.src.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* *
  2. *
  3. * (c) 2009-2019 Sebastian Bochann
  4. *
  5. * Full screen for Highcharts
  6. *
  7. * License: www.highcharts.com/license
  8. *
  9. * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
  10. *
  11. * */
  12. import H from '../parts/Globals.js';
  13. /* eslint-disable no-invalid-this, valid-jsdoc */
  14. /**
  15. * The FullScreen class.
  16. * The module allows user to enable full screen mode in StockTools.
  17. * Based on default solutions in browsers.
  18. *
  19. * @private
  20. * @class
  21. * @name Highcharts.FullScreen
  22. *
  23. * @param {Highcharts.HTMLDOMElement} container
  24. * Chart container
  25. */
  26. var FullScreen = H.FullScreen = function (container) {
  27. this.init(container.parentNode);
  28. };
  29. FullScreen.prototype = {
  30. /**
  31. * Init function
  32. * @private
  33. * @param {Highcharts.HTMLDOMElement} container
  34. * Chart container's parent
  35. * @return {void}
  36. */
  37. init: function (container) {
  38. var promise;
  39. if (container.requestFullscreen) {
  40. promise = container.requestFullscreen();
  41. }
  42. else if (container.mozRequestFullScreen) {
  43. promise = container.mozRequestFullScreen();
  44. }
  45. else if (container.webkitRequestFullscreen) {
  46. promise = container.webkitRequestFullscreen();
  47. }
  48. else if (container.msRequestFullscreen) {
  49. promise = container.msRequestFullscreen();
  50. }
  51. if (promise) {
  52. promise['catch'](function () {
  53. alert('Full screen is not supported inside a frame'); // eslint-disable-line no-alert
  54. });
  55. }
  56. }
  57. };