{"version":3,"file":"/assets/js/main.js","mappings":"yKAKAA,OAAOC,EAAID,OAAOE,OAASD,IAC3BD,OAAOG,MAAQA,IACfH,OAAOI,UAAYA,EAEnBC,SAASC,iBAAiB,oBAI1B,WACE,IAAMC,EAAWN,IAAE,gBAKnB,SAASO,IACP,IAAMC,EAAWR,IAAED,QAAQU,YACrBC,EAASV,IAAED,QAAQY,SACrBH,EAAWE,GACbJ,EAASM,SAAS,oBAEhBJ,EAAWE,GACbJ,EAASO,YAAY,mBAEzB,CAcAb,IAAEI,UAAUU,GAAG,QAAS,qBAAqB,WARvCf,OAAOgB,QAAU,GACnBf,IAAE,aAAagB,QAAQ,CAACP,UAAW,GAAI,IAS3C,IAKAT,IAAEI,UAAUU,GAAG,UAAU,WACvBP,GACF,IAKAA,ICrDIU,EAAajB,EAAE,iBACfkB,EAAkBlB,EAAE,4BAA4BmB,MAEhDF,EAAWG,QAcf,SAAiCC,GAC/B,IAAIC,EAAoBtB,EAAE,8BAA8BmB,MACpDI,EAAuBvB,EAAE,kCAAkCmB,MAC3DK,EAAyBxB,EAAE,oCAAoCmB,MAC/DM,EAAsBzB,EAAE,iCAAiCmB,MAEzDO,EAAUL,EAAOM,UAAUL,GAE/BI,EAAQE,KAAKL,GAAsB,SAACM,GAClC,IAAIC,EAAoB1B,SAAS2B,eAAe,oBAC/B5B,UAAU6B,MAAMC,oBAAoBH,GAE1CI,OAEXJ,EAAkBzB,iBAAiB,mBAAmB,WACpD8B,SAASC,QACX,GACF,IAEAV,EAAQE,KAAKJ,GAAwB,SAACK,GACpC,IAAIQ,EAAWR,EAAKS,UAAUC,MAAM,KAAK,GAErCC,EAAsBpC,SAAS2B,eAAe,sBAC9CU,EAAetC,UAAU6B,MAAMC,oBAAoBO,GAEnDE,EAAcF,EAAoBG,uBAAuB,cAAc,GAC3ED,EAAYE,UAAYF,EAAYE,UAAUC,QAAQ,aAAcR,GAEpEI,EAAaP,OAEbM,EAAoBnC,iBAAiB,mBAAmB,WACtD8B,SAASC,QACX,GACF,IAEAV,EAAQE,KAAKH,GAAqB,SAACI,GACjC,IAAIiB,EAAkBjB,EAAKkB,gBAAgBC,WACvCC,EAAiBpB,EAAKkB,gBAAgBG,WAEtCC,EAAmB/C,SAAS2B,eAAe,mBAC3CqB,EAAYjD,UAAU6B,MAAMC,oBAAoBkB,GAEhDT,EAAcS,EAAiBR,uBAAuB,cAAc,GACxED,EAAYE,UAAYF,EAAYE,UACjCC,QAAQ,cAAeC,GACvBD,QAAQ,aAAcI,GAEzBG,EAAUlB,OAEViB,EAAiB9C,iBAAiB,mBAAmB,WACnD8B,SAASC,QACX,GACF,GACF,CA5DEiB,CANa,IAAIC,IAAJ,CAAWrC,EAAWE,MAAO,CACxCoC,QAASvD,EAAE,yBAAyBmB,MACpCqC,aAActC,EACduC,cAAc,KARL,IACTxC,EACAC,CD0DN,IAnDO,IAAMwC,EAAyB,G","sources":["webpack:///./resources/js/main.js","webpack:///./resources/js/components/pusher.js"],"sourcesContent":["import $ from 'jquery';\nimport * as bootstrap from 'bootstrap';\nimport JSZip from 'jszip';\nimport pusher from \"./components/pusher\";\n\nwindow.$ = window.jQuery = $;\nwindow.JSZip = JSZip;\nwindow.bootstrap = bootstrap;\n\ndocument.addEventListener('DOMContentLoaded', init);\n\nexport const STATUS_CODE_NO_CONTENT = 204;\n\nfunction init() {\n const goTopBtn = $('.back-to-top');\n\n /////////////////////////////////////////////////////\n // Show or hide the buttonToTop if page scrolling //\n /////////////////////////////////////////////////////\n function trackScroll() {\n const scrolled = $(window).scrollTop();\n const coords = $(window).height();\n if (scrolled > coords) {\n goTopBtn.addClass('back-to-top-show');\n }\n if (scrolled < coords) {\n goTopBtn.removeClass('back-to-top-show');\n }\n }\n\n ////////////////////////////////\n // Scrolling page to the top //\n ////////////////////////////////\n function backToTop() {\n if (window.scrollY > 0) {\n $('body,html').animate({scrollTop: 0}, 800);\n }\n }\n\n ///////////////////////////\n // Button click handling //\n ///////////////////////////\n $(document).on('click', '.back-to-top-show', function () {\n backToTop();\n });\n\n ///////////////////////////\n // Page scrolling handling //\n ///////////////////////////\n $(document).on('scroll', function () {\n trackScroll();\n });\n\n ////////////////////////////\n // Checking button status //\n ////////////////////////////\n trackScroll();\n\n ////////////\n // Pusher //\n ////////////\n pusher();\n}\n","import Pusher from 'pusher-js';\n\nexport default function pusher() {\n let pusherData = $('[name=pusher]');\n let pusherAuthRoute = $('[name=pusher_auth_route]').val();\n\n if (pusherData.length) {\n let pusher = new Pusher(pusherData.val(), {\n cluster: $('[name=pusher_cluster]').val(),\n authEndpoint: pusherAuthRoute,\n disableStats: true,\n });\n\n listenExportFileChannel(pusher);\n }\n\n /**\n * Listen export file channel.\n * @param pusher\n */\n function listenExportFileChannel(pusher) {\n let pusherChannelName = $('[name=pusher_channel_name]').val();\n let pusherStartEventName = $('[name=pusher_start_event_name]').val();\n let pusherSuccessEventName = $('[name=pusher_success_event_name]').val();\n let pusherFailEventName = $('[name=pusher_fail_event_name]').val();\n\n let channel = pusher.subscribe(pusherChannelName);\n\n channel.bind(pusherStartEventName, (data) => {\n let startToastElement = document.getElementById('exportStartToast');\n let startToast = bootstrap.Toast.getOrCreateInstance(startToastElement);\n\n startToast.show();\n\n startToastElement.addEventListener('hidden.bs.toast', function () {\n location.reload();\n });\n });\n\n channel.bind(pusherSuccessEventName, (data) => {\n let fileName = data.file_path.split('/')[1];\n\n let successToastElement = document.getElementById('exportSuccessToast');\n let successToast = bootstrap.Toast.getOrCreateInstance(successToastElement);\n\n let bodyOfToast = successToastElement.getElementsByClassName('toast-body')[0];\n bodyOfToast.innerHTML = bodyOfToast.innerHTML.replace('{fileName}', fileName);\n\n successToast.show();\n\n successToastElement.addEventListener('hidden.bs.toast', function () {\n location.reload();\n });\n });\n\n channel.bind(pusherFailEventName, (data) => {\n let exportTableCode = data.exportFileModel.table_code;\n let exportDateTime = data.exportFileModel.created_at;\n\n let failToastElement = document.getElementById('exportFailToast');\n let failToast = bootstrap.Toast.getOrCreateInstance(failToastElement);\n\n let bodyOfToast = failToastElement.getElementsByClassName('toast-body')[0];\n bodyOfToast.innerHTML = bodyOfToast.innerHTML\n .replace('{tableCode}', exportTableCode)\n .replace('{dateTime}', exportDateTime);\n\n failToast.show();\n\n failToastElement.addEventListener('hidden.bs.toast', function () {\n location.reload();\n });\n });\n }\n}\n"],"names":["window","$","jQuery","JSZip","bootstrap","document","addEventListener","goTopBtn","trackScroll","scrolled","scrollTop","coords","height","addClass","removeClass","on","scrollY","animate","pusherData","pusherAuthRoute","val","length","pusher","pusherChannelName","pusherStartEventName","pusherSuccessEventName","pusherFailEventName","channel","subscribe","bind","data","startToastElement","getElementById","Toast","getOrCreateInstance","show","location","reload","fileName","file_path","split","successToastElement","successToast","bodyOfToast","getElementsByClassName","innerHTML","replace","exportTableCode","exportFileModel","table_code","exportDateTime","created_at","failToastElement","failToast","listenExportFileChannel","Pusher","cluster","authEndpoint","disableStats","STATUS_CODE_NO_CONTENT"],"sourceRoot":""}