{"version":3,"sources":["youtube_player.js"],"names":["win","doc","jQuery","fn","extend","ytv","options","_targetHolder","this","addClass","Promise","resolve","$","find","length","tag","createElement","id","src","firstScriptTag","document","getElementsByTagName","parentNode","insertBefore","then","each","target","append","players","videos","map","i","container","YT","Player","height","width","videoId","events","onReady","event","item","index","getVideoData","video_id","title","listItemTemplate","on","evt","preventDefault","parent","hasClass","filter","p","pauseVideo","forEach","originalEvent","getPlayerState","playVideo","removeClass","children","hide","attr","show","replaceWith","trigger","call","window"],"mappings":"CAKA,SAAUA,EAAKC,GACX,aAwBAC,OAAOC,GAAGC,OAAO,CACbC,IAAK,SAASC,GACV,IAAIC,EAAgBC,KAsCpB,OArCAD,EAAcE,SAAS,cArBpB,IAAIC,SAAQ,SAASC,GACxB,GAAIC,EAAEX,GAAKY,KAAK,eAAeC,OAAQ,OAAOH,IAC9CX,EAAG,wBAA8B,WAAYW,KAC7C,IAAII,EAAMd,EAAIe,cAAc,UAC5BD,EAAIE,GAAK,aACTF,EAAIG,IAAM,qCACV,IAAIC,EAAiBC,SAASC,qBAAqB,UAAU,GAC7DF,EAAeG,WAAWC,aAAaR,EAAKI,MAexBK,MAAK,WACrBjB,EAAckB,MAAK,WACf,IAAIC,EAASd,EAAEJ,MACfkB,EAAOC,OAAO,yJACd,IAAIC,EAAUtB,EAAQuB,OAAOC,KAAI,SAASb,EAAIc,GAC1C,IACIC,EAAYpB,EAAE,8BADP,YAAcmB,GAC+B,YAIxD,OAHAL,EAAOb,KAAK,cAAcc,OAAOK,GACjCN,EAAOb,KAAK,gBAAgBc,OAAO,+CAAiDV,EAAK,WAElF,IAAIgB,GAAGC,OAAOF,EAAU,GAAI,CAC/BG,OAAQ,MACRC,MAAO,OACPC,QAASpB,EACTqB,OAAQ,CACJC,QAAW,SAASC,GAEhB,IAAIC,EAAO7B,EA5BpB,SAAS8B,EAAOD,GACnC,MAAO,4DAA8DC,EAAQ,iEAAmED,EAAKE,eAAeC,SAAW,oDAAsDH,EAAKE,eAAeE,MAAQ,kBA2BxNC,CAAiBf,EAAGS,EAAMd,SACvCe,EAAK5B,KAAK,iBAAiBkC,GAAG,SAAS,SAASC,GAC5CA,EAAIC,iBACArC,EAAEJ,MAAM0C,SAASC,SAAS,gBAC9BvB,EAAQwB,QAAO,SAASC,GAAI,OAAOA,GAAKA,EAAEC,YAAcD,IAAMb,EAAMd,UAAW6B,SAAQ,SAASF,GAAIA,EAAEC,gBAClGN,EAAIQ,eAAmD,IAAlChB,EAAMd,OAAO+B,kBAAwBjB,EAAMd,OAAOgC,YAC3EhC,EAAOb,KAAK,8BAA8B8C,YAAY,cACtD/C,EAAEJ,MAAM0C,SAASzC,SAAS,cAC1BiB,EAAOb,KAAK,cAAc+C,WAAWC,OACrCnC,EAAOb,KAAK,cAAcA,KAAKD,EAAEJ,MAAMsD,KAAK,gBAAgBC,WAEhErC,EAAOb,KAAK,iCAAmC2B,EAAMd,OAAOiB,eAAeC,UAAUoB,YAAYvB,GACjGf,EAAOb,KAAK,mCAAmCoD,QAAQ,sBAOxEzD,UAIhB0D,KAAK1D,KAAM2D,OAAQ/C","file":"vendor_youtube_player.min.js","sourcesContent":["/**\r\n * Headless youtube video loader from id\r\n * Burak Doğan \r\n */\r\n\r\n(function(win, doc) {\r\n 'use strict';\r\n \r\n /**\r\n * Youtube api loader\r\n */\r\n var loadYoutubePlayer = function() {\r\n return new Promise(function(resolve){\r\n if ($(doc).find('#ytb_script').length) return resolve();\r\n win['onYouTubePlayerAPIReady'] = function(){ resolve(); };\r\n var tag = doc.createElement('script');\r\n tag.id = 'ytb_script';\r\n tag.src = 'https://www.youtube.com/player_api';\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n });\r\n }\r\n\r\n var listItemTemplate = function(index, item){\r\n return \"
  • \" + item.getVideoData().title + \"
  • \";\r\n }\r\n\r\n /**\r\n * Jquery plugin\r\n */\r\n jQuery.fn.extend({\r\n ytv: function(options) {\r\n var _targetHolder = this;\r\n _targetHolder.addClass('ytv-canvas');\r\n loadYoutubePlayer().then(function(){\r\n _targetHolder.each(function(){\r\n var target = $(this);\r\n target.append(\"
      \");\r\n var players = options.videos.map(function(id, i){\r\n var elId = \"yt_video_\" + i;\r\n var container = $(\"
      \");\r\n target.find('.ytv-video').append(container);\r\n target.find('.ytv-list ul').append(\"\");\r\n // Crate video\r\n return new YT.Player(container[0], {\r\n height: '360',\r\n width: '100%',\r\n videoId: id,\r\n events: {\r\n 'onReady': function(event){\r\n // Create list item\r\n var item = $(listItemTemplate(i, event.target));\r\n item.find(\"[data-target]\").on('click', function(evt){\r\n evt.preventDefault();\r\n if ($(this).parent().hasClass('ytv-active')) return;\r\n players.filter(function(p){ return p && p.pauseVideo && p !== event.target; }).forEach(function(p){ p.pauseVideo(); });\r\n if (evt.originalEvent && event.target.getPlayerState() !== 1) event.target.playVideo();\r\n target.find('.ytv-list ul li.ytv-active').removeClass('ytv-active');\r\n $(this).parent().addClass('ytv-active');\r\n target.find('.ytv-video').children().hide();\r\n target.find('.ytv-video').find($(this).attr('data-target')).show();\r\n });\r\n target.find('.ytv-list ul li#ytv-list-item-' + event.target.getVideoData().video_id).replaceWith(item);\r\n target.find('.ytv-list ul > li:first-child a').trigger('click');\r\n },\r\n }\r\n });\r\n });\r\n });\r\n });\r\n return this;\r\n }\r\n });\r\n\r\n}).call(this, window, document);\r\n"]}