UNPKG

highcharts

Version:
13 lines 4.87 kB
/** * Highstock JS v12.6.0 (2026-04-13) * @module highcharts/modules/full-screen * @requires highcharts * * Advanced Highcharts Stock tools * * (c) 2010-2026 Highsoft AS * Author: Torstein Hønsi * * A commercial license may be required depending on use. * See www.highcharts.com/license */import*as e from"../highcharts.js";var t={};t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let n=e.default;var r=t.n(n);let s=e.default.AST;var l=t.n(s);let{doc:i,win:o}=r();function c(e,t,n,s={}){let l="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(l,"hcEvents")||(l.hcEvents={});let i=l.hcEvents;r().Point&&e instanceof r().Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let o=e.addEventListener;o&&o.call(e,t,n,!!r().supportsPassiveEvents&&{passive:void 0===s.passive?-1!==t.indexOf("touch"):s.passive,capture:!1}),i[t]||(i[t]=[]);let u={fn:n,order:"number"==typeof s.order?s.order:1/0};return i[t].push(u),i[t].sort((e,t)=>e.order-t.order),function(){!function(e,t,n){function r(t,n){let r=e.removeEventListener;r&&r.call(e,t,n,!1)}function s(n){let s,l;if(e.nodeName){t?(s={})[t]=!0:s=n;var i=s,o=function(e,t){if(n[t])for(l=n[t].length;l--;)r(t,n[t][l].fn)};for(let e in i)Object.hasOwnProperty.call(i,e)&&o.call(i[e],i[e],e,i)}}let l="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(l,"hcEvents")){let e=l.hcEvents;if(t){let l=e[t]||[];n?(e[t]=l.filter(function(e){return n!==e.fn}),r(t,n)):(s(e),e[t]=[])}else s(e),delete l.hcEvents}}(e,t,n)}}function u(e,t){let n;for(n in e||(e={}),t)e[n]=t[n];return e}function h(e,t,n,s){if(n=n||{},i?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==r())){let r=i.createEvent("Events");r.initEvent(t,!0,!0),n=u(r,n),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent(t,n)}else if(e.hcEvents){n.target||u(n,{preventDefault:function(){n.defaultPrevented=!0},target:e,type:t});let r=[],s=e,l=!1;for(;s.hcEvents;)Object.hasOwnProperty.call(s,"hcEvents")&&s.hcEvents[t]&&(r.length&&(l=!0),r.unshift.apply(r,s.hcEvents[t])),s=Object.getPrototypeOf(s);l&&r.sort((e,t)=>e.order-t.order),r.forEach(t=>{!1===t.fn.call(e,n,e)&&n.preventDefault()})}s&&!n.defaultPrevented&&s.call(e,n)}Array.prototype.find;let{composed:a}=r();function f(){this.fullscreen=new p(this)}class p{static compose(e){0>a.indexOf("Fullscreen")&&a.push("Fullscreen")&&c(e,"beforeRender",f)}constructor(e){this.chart=e,this.isOpen=!1;let t=e.renderTo;!this.browserProps&&("function"==typeof t.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:t.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:t.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:t.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;h(t,"fullscreenClose",void 0,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let e=this,t=e.chart,n=t.options.chart;h(t,"fullscreenOpen",void 0,function(){if(n&&(e.origWidthOption=n.width,e.origHeightOption=n.height),e.origWidth=t.chartWidth,e.origHeight=t.chartHeight,e.browserProps){let n=c(t.container.ownerDocument,e.browserProps.fullscreenChange,function(){e.isOpen?(e.isOpen=!1,e.close()):(t.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),r=c(t,"destroy",n);e.unbindFullscreenEvent=()=>{n(),r()};let s=t.renderTo[e.browserProps.requestFullscreen]();s&&s.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exporting?.divElements,n=e.options.exporting,r=n&&n.buttons&&n.buttons.contextButton.menuItems,s=e.options.lang;if(n?.menuItemDefinitions&&s?.exitFullscreen&&s.viewFullscreen&&r&&t){let e=t[r.indexOf("viewFullscreen")];e&&l().setElementHTML(e,this.isOpen?s.exitFullscreen:n.menuItemDefinitions.viewFullscreen?.textKey||s.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}let d=r();d.Fullscreen=d.Fullscreen||p,d.Fullscreen.compose(d.Chart);let v=r();export{v as default};