Current section
Files
Jump to
Current section
Files
priv/static/dev_joy.mjs.map
{
"version": 3,
"sources": ["../../assets/js/dev_joy.js"],
"sourcesContent": ["var element = document.documentElement;\n\n/**\n * The [DevJoy](../index.html) module provides functionality for handling full screen API.\n *\n * ## Browser support\n * See: [Element API: `fullscreenchange` event | Can I use](https://caniuse.com/mdn-api_element_fullscreenchange_event)\n *\n * | Browser | Minimum Version |\n * | --- | --- |\n * | Chrome | 71 |\n * | Edge | 79 |\n * | Firefox | 64 |\n * | Internet Explorer | \u2717 Not supported |\n * | Opera | 58 |\n * | Safari | 16.4 |\n * \n * @example\n * // Establish Phoenix Socket and LiveView configuration.\n * import { Socket } from \"phoenix\";\n * import { LiveSocket } from \"phoenix_live_view\";\n * import DevJoy from \"dev_joy\";\n * \n * let csrfToken = document.querySelector(\"meta[name='csrf-token']\").getAttribute(\"content\");\n * let liveSocket = new LiveSocket(\"/live\", Socket, {\n * longPollFallbackMs: 2500,\n * params: { _csrf_token: csrfToken },\n * });\n * \n * // connect if there are any LiveViews on the page\n * liveSocket.connect();\n * DevJoy.init(liveSocket);\n * \n * @module DevJoy\n */\nexport default DevJoy = {\n /**\n * Adds event listeners to support full screen in `DevJoy`-based applications.\n * Those listeners would communicate with the default implementation\n * generated using [`DevJoy.Session.LiveView`](../DevJoy.Session.LiveView.html).\n *\n * @param {Object} liveSocket - The Phoenix LiveView socket instance.\n */\n init: function(liveSocket) {\n addEventListener(\"phx:dev_joy:fullscreen-toggle\", toggleFullscreen);\n element.addEventListener(\"fullscreenchange\", fullscreenchangeHandler.bind(liveSocket));\n fullscreenchangeHandler.bind(liveSocket)();\n },\n};\n\nfunction fullscreenchangeHandler() {\n if (document.fullscreenElement ||\n document.webkitFullscreenElement || /* Opera/Safari */\n document.msFullscreenElement /* IE11 syntax */) {\n this.main.channel.push(\"dev_joy:fullscreenchange\", {fullscreen: true})\n } else {\n this.main.channel.push(\"dev_joy:fullscreenchange\", {fullscreen: false})\n }\n}\n\nfunction toggleFullscreen(event) {\n if (document.fullscreenElement ||\n document.webkitFullscreenElement || /* Opera/Safari */\n document.msFullscreenElement /* IE11 syntax */) {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) { /* Safari */\n document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) { /* IE11 */\n document.msExitFullscreen();\n }\n } else {\n if (element.requestFullscreen) {\n element.requestFullscreen();\n } else if (element.webkitRequestFullscreen) { /* Opera/Safari */\n element.webkitRequestFullscreen();\n } else if (element.msRequestFullscreen) { /* IE11 */\n element.msRequestFullscreen();\n }\n }\n}"],
"mappings": "AAAA,IAAI,UAAU,SAAS;AAmCvB,IAAO,kBAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQtB,MAAM,SAAS,YAAY;AACzB,qBAAiB,iCAAiC,gBAAgB;AAClE,YAAQ,iBAAiB,oBAAoB,wBAAwB,KAAK,UAAU,CAAC;AACrF,4BAAwB,KAAK,UAAU,EAAE;AAAA,EAC3C;AACF;AAEA,SAAS,0BAA0B;AACjC,MAAI,SAAS,qBACT,SAAS;AAAA,EACT,SAAS,qBAAuC;AAClD,SAAK,KAAK,QAAQ,KAAK,4BAA4B,EAAC,YAAY,KAAI,CAAC;AAAA,EACvE,OAAO;AACL,SAAK,KAAK,QAAQ,KAAK,4BAA4B,EAAC,YAAY,MAAK,CAAC;AAAA,EACxE;AACF;AAEA,SAAS,iBAAiB,OAAO;AAC/B,MAAI,SAAS,qBACT,SAAS;AAAA,EACT,SAAS,qBAAuC;AAClD,QAAI,SAAS,gBAAgB;AAC3B,eAAS,eAAe;AAAA,IAC1B,WAAW,SAAS,sBAAsB;AACxC,eAAS,qBAAqB;AAAA,IAChC,WAAW,SAAS,kBAAkB;AACpC,eAAS,iBAAiB;AAAA,IAC5B;AAAA,EACF,OAAO;AACL,QAAI,QAAQ,mBAAmB;AAC7B,cAAQ,kBAAkB;AAAA,IAC5B,WAAW,QAAQ,yBAAyB;AAC1C,cAAQ,wBAAwB;AAAA,IAClC,WAAW,QAAQ,qBAAqB;AACtC,cAAQ,oBAAoB;AAAA,IAC9B;AAAA,EACF;AACF;",
"names": []
}