{"version":3,"sources":["webpack:///ctrl-popup-youtube.js","webpack:///./Sig.Web/src/controller/ctrl-popup-youtube/ctrl-popup-youtube.chunk.js","webpack:///./Sig.Web/src/utils/popup/index.js"],"names":["webpackJsonp","229","module","exports","__webpack_require__","$","require","each","onPopupReady","$elm","on","e","preventDefault","videoPopup","open","Popup","PopupYoutube","closeLabel","length","this","videoId","attr","trim","view","onDomReady","230","$window","window","$document","document","$body","opts","$popup","options","windowWidth","isVisible","wasFullpage","scrollPos","Open","not","get","close","Update","onOpen","Close","CloseStateStyle","isFullpage","scrollTop","onClose","OnResize","w","Math","max","documentElement","clientWidth","innerWidth","requestAnimationFrame","isOpening","OpenStateStyle","pageContainer","css","extend","getHtml","html","append","keyup","keyCode"],"mappings":"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","file":"ctrl-popup-youtube.js","sourcesContent":["webpackJsonp([16],{\n\n/***/ 229:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $ = __webpack_require__(0);\n\n$('[data-popup-youtube]').each(function () {\n\n var Popup = __webpack_require__(230);\n var PopupYoutube = __webpack_require__(162);\n\n var closeLabel = \"Fermer\";\n if ($('html[lang*=en]').length > 0) {\n closeLabel = \"Close\";\n }\n\n var $elm = $(this),\n videoId = \"\";\n\n if ($elm.attr(\"data-popup-youtube\").trim() != \"\") videoId = $elm.attr(\"data-popup-youtube\").trim();\n\n var videoPopup = new Popup({\n view: new PopupYoutube({\n closeLabel: closeLabel,\n videoId: videoId\n }),\n onDomReady: onPopupReady\n });\n\n function onPopupReady() {\n $elm.on('click', function (e) {\n e.preventDefault();\n videoPopup.open();\n return false;\n });\n }\n});\n\n/***/ }),\n\n/***/ 230:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//***********************************************\n// Require\nvar $ = __webpack_require__(0);\n\n//***********************************************\n// Variables\n\nvar $window = $(window),\n $document = $(document),\n $body = $('body');\n\n//***********************************************\n// Modules export\n\nmodule.exports = function (opts) {\n\n //-----------------------------------------------\n // Variables \n var $popup = null,\n options = null,\n windowWidth = 0,\n isVisible = false,\n wasFullpage = false,\n scrollPos = null;\n\n //-----------------------------------------------\n // Constructor\n\n var Construct = function Construct(opts) {\n\n // Default options\n options = $.extend({\n // View used to wrap the \"html\"\n // The HTML returned by this function must\n // be compatible with this plugin.\n //\n // The function in the \"view\" should be comming\n // from a \"view\" module.\n view: function view() {\n // Function that return jQuery object of the \n // complete popup HTML to inject at the end \n // of the body\n this.getHtml = function () {\n return $(html);\n },\n // Function that return a boolean indicating\n // in the page page content should be visible\n // during the popup display \n // (used for fullpage display).\n this.isFullpage = function () {\n return false;\n },\n // Callback on dom ready\n this.onDomReady = function () {},\n // Callback on popup open\n this.onOpen = function () {},\n // Callback on popup close\n this.onClose = function () {};\n },\n // jQuery object used to wrap the page .\n // The content of the page will be hidden\n // on mobile (phone).\n pageContainer: $(\"body > .document, body > #page\"),\n // Callback on dom ready\n onDomReady: function onDomReady() {},\n // Callback on open\n onOpen: function onOpen() {},\n // Callback on close\n onClose: function onClose() {}\n }, opts);\n\n // Build popup HTML and append to the body\n $popup = options.view.getHtml();\n $popup.attr('data-utils-popup', '');\n $body.append($popup);\n\n // Manage resize event\n $window.on('resize.utils-popup', function (e) {\n requestAnimationFrame(OnResize);\n });\n OnResize(); // Not called through requestAnimationFrame because we need this ASAP.\n\n\n // Close popup on ESC key press\n $document.keyup(function (e) {\n if (e.keyCode == 27) {\n Close();\n }\n });\n\n // Add a method to the HTMLElement\n $popup.get(0).open = function () {\n requestAnimationFrame(Open);\n };\n $popup.get(0).close = function () {\n requestAnimationFrame(Close);\n };\n\n // Callback\n options.view.onDomReady();\n options.onDomReady();\n };\n\n //-----------------------------------------------\n // Open\n\n var Open = function Open() {\n\n if (isVisible) {\n return;\n }\n\n isVisible = true;\n\n $('*[data-utils-popup]').not($popup.get(0)).each(function () {\n this.close();\n });\n\n Update(true);\n\n options.view.onOpen();\n options.onOpen();\n };\n\n //-----------------------------------------------\n // Close\n\n var Close = function Close() {\n\n if (!isVisible) {\n return;\n }\n\n isVisible = false;\n\n CloseStateStyle();\n\n if (options.view.isFullpage()) {\n $('html, body').scrollTop(scrollPos);\n scrollPos = 0;\n }\n\n options.view.onClose();\n options.onClose();\n };\n\n //-----------------------------------------------\n // Resize\n\n var OnResize = function OnResize() {\n // Force close the popup on window width change\n // Retreive viewport width : http://stackoverflow.com/a/8876069\n var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n if (windowWidth != w) {\n if (windowWidth != 0) {\n requestAnimationFrame(function () {\n Update(false);\n });\n }\n windowWidth = w;\n }\n };\n\n //-----------------------------------------------\n // Update\n\n var Update = function Update(isOpening) {\n\n if (!isVisible) {\n return;\n }\n\n // Fullpage presentation\n if (options.view.isFullpage() && (!wasFullpage || isOpening)) {\n scrollPos = $document.scrollTop();\n OpenStateStyle();\n $('html, body').scrollTop(0);\n }\n\n // Regular presentation\n if (!options.view.isFullpage() && (wasFullpage || isOpening)) {\n OpenStateStyle();\n if (wasFullpage) {\n $('html, body').scrollTop(scrollPos);\n scrollPos = 0;\n }\n }\n\n wasFullpage = options.view.isFullpage();\n };\n\n //-----------------------------------------------\n // Open State Style\n\n var OpenStateStyle = function OpenStateStyle() {\n if (options.view.isFullpage()) {\n options.pageContainer.css({\n 'display': 'none'\n });\n $body.css({\n 'overflow': ''\n });\n } else {\n options.pageContainer.css({\n 'display': ''\n });\n $body.css({\n 'overflow': 'hidden'\n });\n }\n };\n\n //-----------------------------------------------\n // Close State Style\n\n var CloseStateStyle = function CloseStateStyle() {\n options.pageContainer.css({\n 'display': ''\n });\n $body.css({\n 'overflow': ''\n });\n };\n\n // Constructor\n Construct(opts);\n\n // API\n this.open = Open;\n this.close = Close;\n};\n\n/***/ })\n\n},[229]);\n\n\n// WEBPACK FOOTER //\n// ctrl-popup-youtube.js","var $ = require(\"jquery\");\r\n\r\n$('[data-popup-youtube]').each(function () {\r\n\r\n var Popup = require(\"utils/popup\");\r\n var PopupYoutube = require(\"atomic/organism/o-popup-youtube/o-popup-youtube.chunk.js\");\r\n\r\n var closeLabel = \"Fermer\";\r\n if ($('html[lang*=en]').length > 0) {\r\n closeLabel = \"Close\";\r\n }\r\n\r\n var $elm = $(this),\r\n videoId = \"\";\r\n\r\n if ($elm.attr(\"data-popup-youtube\").trim() != \"\")\r\n videoId = $elm.attr(\"data-popup-youtube\").trim();\r\n\r\n var videoPopup = new Popup({\r\n view: new PopupYoutube({\r\n closeLabel: closeLabel,\r\n videoId: videoId\r\n }),\r\n onDomReady: onPopupReady\r\n });\r\n\r\n function onPopupReady() {\r\n $elm.on('click', function (e) {\r\n e.preventDefault();\r\n videoPopup.open();\r\n return false;\r\n });\r\n }\r\n\r\n});\n\n\n// WEBPACK FOOTER //\n// ./Sig.Web/src/controller/ctrl-popup-youtube/ctrl-popup-youtube.chunk.js","//***********************************************\r\n// Require\r\nvar $ = require(\"jquery\");\r\n\r\n\r\n\r\n//***********************************************\r\n// Variables\r\n\r\nvar $window = $(window),\r\n $document = $(document),\r\n $body = $('body');\r\n\r\n\r\n\r\n//***********************************************\r\n// Modules export\r\n\r\nmodule.exports = function (opts) {\r\n\r\n //-----------------------------------------------\r\n // Variables \r\n var $popup = null,\r\n options = null,\r\n windowWidth = 0,\r\n isVisible = false,\r\n wasFullpage = false,\r\n scrollPos = null;\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Constructor\r\n\r\n var Construct = function (opts) {\r\n\r\n\r\n // Default options\r\n options = $.extend({\r\n // View used to wrap the \"html\"\r\n // The HTML returned by this function must\r\n // be compatible with this plugin.\r\n //\r\n // The function in the \"view\" should be comming\r\n // from a \"view\" module.\r\n view: function () {\r\n // Function that return jQuery object of the \r\n // complete popup HTML to inject at the end \r\n // of the body\r\n this.getHtml = function () { return $(html); },\r\n // Function that return a boolean indicating\r\n // in the page page content should be visible\r\n // during the popup display \r\n // (used for fullpage display).\r\n this.isFullpage = function () { return false; },\r\n // Callback on dom ready\r\n this.onDomReady = function () { },\r\n // Callback on popup open\r\n this.onOpen = function () { },\r\n // Callback on popup close\r\n this.onClose = function () { }\r\n },\r\n // jQuery object used to wrap the page .\r\n // The content of the page will be hidden\r\n // on mobile (phone).\r\n pageContainer: $(\"body > .document, body > #page\"),\r\n // Callback on dom ready\r\n onDomReady: function () { },\r\n // Callback on open\r\n onOpen: function () { },\r\n // Callback on close\r\n onClose: function () { }\r\n }, opts);\r\n\r\n\r\n // Build popup HTML and append to the body\r\n $popup = options.view.getHtml();\r\n $popup.attr('data-utils-popup', '');\r\n $body.append($popup);\r\n\r\n\r\n // Manage resize event\r\n $window.on('resize.utils-popup', function (e) { requestAnimationFrame(OnResize); });\r\n OnResize(); // Not called through requestAnimationFrame because we need this ASAP.\r\n\r\n\r\n // Close popup on ESC key press\r\n $document.keyup(function (e) {\r\n if (e.keyCode == 27) {\r\n Close();\r\n }\r\n });\r\n\r\n\r\n // Add a method to the HTMLElement\r\n $popup.get(0).open = function () {\r\n requestAnimationFrame(Open);\r\n };\r\n $popup.get(0).close = function () {\r\n requestAnimationFrame(Close);\r\n };\r\n\r\n\r\n // Callback\r\n options.view.onDomReady();\r\n options.onDomReady();\r\n\r\n\r\n };\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Open\r\n\r\n var Open = function () {\r\n\r\n if (isVisible) {\r\n return;\r\n }\r\n\r\n isVisible = true;\r\n\r\n $('*[data-utils-popup]').not($popup.get(0)).each(function () {\r\n this.close();\r\n });\r\n\r\n Update(true);\r\n\r\n options.view.onOpen();\r\n options.onOpen();\r\n };\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Close\r\n\r\n var Close = function () {\r\n\r\n if (!isVisible) {\r\n return;\r\n }\r\n\r\n isVisible = false;\r\n\r\n CloseStateStyle();\r\n\r\n if (options.view.isFullpage()) {\r\n $('html, body').scrollTop(scrollPos);\r\n scrollPos = 0;\r\n }\r\n\r\n options.view.onClose();\r\n options.onClose();\r\n };\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Resize\r\n\r\n var OnResize = function () {\r\n // Force close the popup on window width change\r\n // Retreive viewport width : http://stackoverflow.com/a/8876069\r\n var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n if (windowWidth != w) {\r\n if (windowWidth != 0) {\r\n requestAnimationFrame(function () { Update(false); });\r\n }\r\n windowWidth = w;\r\n }\r\n };\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Update\r\n\r\n var Update = function (isOpening) {\r\n\r\n if (!isVisible) {\r\n return;\r\n }\r\n\r\n // Fullpage presentation\r\n if (options.view.isFullpage() && (!wasFullpage || isOpening)) {\r\n scrollPos = $document.scrollTop();\r\n OpenStateStyle();\r\n $('html, body').scrollTop(0);\r\n }\r\n\r\n // Regular presentation\r\n if (!options.view.isFullpage() && (wasFullpage || isOpening)) {\r\n OpenStateStyle();\r\n if (wasFullpage) {\r\n $('html, body').scrollTop(scrollPos);\r\n scrollPos = 0;\r\n }\r\n }\r\n\r\n wasFullpage = options.view.isFullpage();\r\n };\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Open State Style\r\n\r\n var OpenStateStyle = function () {\r\n if (options.view.isFullpage()) {\r\n options.pageContainer.css({\r\n 'display': 'none'\r\n });\r\n $body.css({\r\n 'overflow': ''\r\n });\r\n } else {\r\n options.pageContainer.css({\r\n 'display': ''\r\n });\r\n $body.css({\r\n 'overflow': 'hidden'\r\n });\r\n }\r\n };\r\n\r\n\r\n\r\n //-----------------------------------------------\r\n // Close State Style\r\n\r\n var CloseStateStyle = function () {\r\n options.pageContainer.css({\r\n 'display': ''\r\n });\r\n $body.css({\r\n 'overflow': ''\r\n });\r\n };\r\n\r\n\r\n\r\n // Constructor\r\n Construct(opts);\r\n\r\n // API\r\n this.open = Open;\r\n this.close = Close;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./Sig.Web/src/utils/popup/index.js"],"sourceRoot":""}