{"version":3,"sources":["../ts/education/lightbox.ts"],"names":["getHashMapValues","hashValue","hashDictionary","split","forEach","item","decodeURIComponent","loadlightboxPopup","hash","urijs_1","default","fragmentPrefix","fragment","lightbox","getDialogContent","standardssearch","dialogId","lightboxUrl","dataUrl","dialog","jquery_1","length","remove","html","load","r","s","x","status","statusText","slick","infinite","slidesToShow","slidesToScroll","on","e","preventDefault","videoIframe","videoID","this","attr","content","nextAll","empty","append","children","clone","find","width","height","removeClass","addClass","parent","history","replaceState","document","title","location","pathname","search","ev","which","window","fragement"],"mappings":"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","file":"lightbox.js","sourcesContent":["import $ from 'jquery';\r\nimport URI from 'urijs';\r\nimport 'urijs/URI.fragmentQuery';\r\nimport 'slick-carousel';\r\n\r\ntype Dictionary = { [ key: string ]: string; };\r\n\r\nfunction getHashMapValues(hashValue) {\r\n  const hashDictionary:Dictionary = {};\r\n  hashValue.split('&').forEach(item => {\r\n    hashDictionary[item.split('=')[0]] = decodeURIComponent(item.split('=')[1]);\r\n  });\r\n  //console.log(\"1\" +hashDictionary.toString());\r\n  return hashDictionary;\r\n}\r\n\r\nfunction loadlightboxPopup () {\r\n  var hash:Dictionary = getHashMapValues(URI().fragmentPrefix('').fragment());\r\n    if (hash.lightbox) {\r\n      var videoID = hash.lightbox;\r\n      getDialogContent(videoID);\r\n    } else if(hash.standardssearch) {\r\n        var standardId = hash.standardssearch;\r\n        getDialogContent(standardId, '/system/standardssearch');\r\n    }\r\n}\r\n\r\nfunction initCarousel() {\r\n  $('.lb-carouselgroup').slick({\r\n    infinite: false,\r\n    slidesToShow: 3,\r\n    slidesToScroll: 3\r\n  });\r\n\r\n  $('.lb-carouselgroup').slick('setPosition'); \r\n  $('a.switchlightbox').on('click', function (e) {\r\n    e.preventDefault(); \r\n    var videoIframe = $('.youtube-video');\r\n    var videoID = $(this).attr('href').split('#')[1];\r\n    videoIframe.attr('src', 'https://www.youtube.com/embed/' + videoID + '?autoplay=True&loop=0&rel=0&search=0&wmode=opaque&enablejsapi=1');\r\n    var content = $(this).nextAll('.video-content');\r\n    $('.dv-content').empty().append(content.children().clone());\r\n  });\r\n}\r\n\r\n// Asyncronously load dialog content\r\nfunction getDialogContent(dialogId, lightboxUrl = \"/system/lightbox\") {\r\n    var param = \"?id=\" + dialogId;\r\n    var dataUrl = lightboxUrl + param;\r\n     var dialog = $('.dialog');\r\n\r\n    if ($('#scWebEditRibbon').length > 0 ) { \r\n      $('#ribbonPreLoadingIndicator').remove();\r\n    }\r\n  \r\n    $(\".dialog-asset\")\r\n        .html(\"\")\r\n        .load(dataUrl,\r\n            function (r, s, x) {\r\n          \r\n                if (s === \"error\") {\r\n                    var err = \"Error: \" + x.status + \" \" + x.statusText;\r\n                    // console.log(err);\r\n\r\n                    $(\".dialog-asset\")\r\n                        .html(\"<div class=\\\"error\\\"><p>Sorry! There was a problem loading the resource: \" +\r\n                            dataUrl +\r\n                            \"</p></div>\");\r\n                }\r\n                if (s == \"success\") {\r\n                     initCarousel();\r\n                }\r\n               \r\n                \r\n            });\r\n\r\n     var contentWidth = $(\"#\" + dialogId).find('.dialog-content').width();\r\n      var target = $(\"#\" + dialogId).find('.dialog-content').html();\r\n      var bodyHeight = $('html').height() + 70;\r\n\r\n      dialog.attr('id', dialogId).attr('aria-labeledby', dialogId);\r\n      dialog.attr('aria-hidden', 'false').removeClass('hidden');\r\n      dialog.find(\".dialog-asset\").on('focus', null);\r\n      $('a, input, button').attr('tabindex', '-1');\r\n      $('button.close').attr('tabindex', '0');\r\n      $('html').addClass('noscroll');\r\n\r\n}\r\n\r\n$(function() {\r\n  //Open popup\r\n \r\n    //Close dialogs\r\n    $('button.close').on('click', function () {\r\n      var dialog = $(this).parent().parent('.dialog');\r\n      dialog.find('.dialog-asset').empty();\r\n      dialog.attr('aria-hidden', 'true').addClass('hidden');\r\n      $('a, input, button').attr('tabindex', '0');\r\n      $('html').removeClass('noscroll');\r\n      //location.hash = URI().fragmentPrefix('').removeFragment('lightbox').removeFragment('standardssearch').fragment();\r\n      if (history.replaceState) {\r\n        history.replaceState('', document.title, location.pathname + location.search);\r\n      } else {\r\n        location.hash = '';\r\n      }\r\n    });\r\n\r\n  //if they are focused inside the dialog you can escape\r\n  $(\".dialog\").on('keydown', function(ev: JQuery.Event) {\r\n        if (ev.which == 27) {\r\n            $(\".close\").on('click', ()=>{});\r\n        }\r\n  });\r\n  loadlightboxPopup();\r\n  $(window).on( 'hashchange', function(){\r\n      var fragement:Dictionary = getHashMapValues(URI().fragmentPrefix('').fragment());\r\n      if(fragement.lightbox || fragement.standardssearch) {\r\n        loadlightboxPopup();\r\n      }\r\n  });\r\n});\r\n"]}