{"version":3,"file":"js/campaign.1b0d54dc.js","mappings":"qKAGAA,OAAOC,SAAW,CACdC,WAAY,SAAUC,EAAcC,EAAeC,EAAkBC,GACjEC,EAAAA,EAAgBL,aAChBM,EAAAA,EAAkBN,YAAW,EAAMC,EAAcC,EAAeC,EAAkBC,OAAkBG,OAAWA,EACnH,E,8ECLG,IAAIF,EAAkB,CACzBL,WAAY,WACR,IAAIQ,EAAI,IAGRA,EAAE,6BAA6BC,GAAG,SAAS,WACvCD,EAAE,kBAAkBE,YAAY,SACpC,GACJ,E,8ECRG,IAAIJ,EAAoB,CAC3BN,WAAY,SAAUW,EAA4BV,EAAsBC,EAAuBC,EAA0BC,EAA0BQ,EAA2BC,GAC1K,IAAEC,UAAUL,GAAG,QAAS,+BAA+B,WACnD,IAAIM,EAASC,EAETC,EAAW,IAAEC,MACjB,IAAKD,EACD,OAAO,EAEX,IAAIE,EAAKF,EAASG,KAAK,MACvB,IAAKD,EACD,OAAO,EAIiB,IADTA,EAAGE,MAAM,KACXC,QACbP,EAAUI,EAAGE,MAAM,KAAK,GACxBL,GAAW,IAEXD,EAAUI,EAAGE,MAAM,KAAK,GACxBL,GAAW,GAEXL,IACAK,GAAW,GAIf,IAAIO,EAAaN,EAASG,KAAK,oBAC3BI,EAAeP,EASfQ,EAAgB,IAAE,eAClBC,EAAqB,IAAE,qBAsD3B,OArDiBC,SAASF,EAAcG,SAEvB3B,EACb4B,MAAM,+DAEN,SAAO3B,EAAe,CAAC4B,SAAUf,IAAU,SAASgB,GAKhD,GAHKf,GACDQ,EAAaQ,SAAS,WAErBhB,EAAU,CACX,IAAIiB,EAAsB,IAAE,0BACxBC,EAA4B,IAAE,iCAClCD,EAAoBvB,YAAY,UAChCwB,EAA0BxB,YAAY,UACtC,IAAE,wBAAwBA,YAAY,WAC1C,CAYA,GATAe,EAAcU,KAAKJ,EAAKK,kBAAkBC,YAC1CX,EAAmBS,KAAKJ,EAAKK,kBAAkBC,YAG/C,YAAUlC,GAAkB,SAAU4B,GAClC,IAAE,gCAAgCI,KAAKJ,EAAKI,MAC5C,IAAE,uCAAuCA,KAAKJ,EAAKO,YACvD,IAEItB,EAAU,CACV,IAAIuB,EAAMnC,EACNQ,IACA2B,GAAO,IAAI3B,KAEXW,WAC0B,IAAtBgB,EAAIC,QAAQ,KACZD,GAAO,IAEPA,GAAO,IAEXA,GAAO,eAAehB,KAEtBV,KAC0B,IAAtB0B,EAAIC,QAAQ,KACZD,GAAO,IAEPA,GAAO,IAEXA,GAAO,qBAAqB1B,KAEhCf,OAAO2C,SAASC,KAAOH,CAC3B,CACJ,KAEG,CACX,GACJ,E","sources":["webpack://python-webpack-boilerplate/./frontend/src/application/campaign.js","webpack://python-webpack-boilerplate/./frontend/src/components/campaigns_button.ts","webpack://python-webpack-boilerplate/./frontend/src/components/choose_hotel_button.ts"],"sourcesContent":["import {campaignsButton} from \"../components/campaigns_button\";\nimport {chooseHotelButton} from \"../components/choose_hotel_button\";\n\nwindow.campaign = {\n    initialize: function (maxNumHotels, storeHotelURL, hotelSelectedURL, requestCreateURL) {\n        campaignsButton.initialize();\n        chooseHotelButton.initialize(true, maxNumHotels, storeHotelURL, hotelSelectedURL, requestCreateURL, undefined, undefined);\n    }\n};\n","import jQuery from \"jquery\";\n\nexport let campaignsButton = {\n    initialize: function () {\n        let $ = jQuery;\n        // Handle clicks on campaigns button\n\n        $('button[href=\"#campaigns\"]').on('click', function () {\n            $('#campaigns-row').removeClass('hidden');\n        });\n    }\n};\n","import $ from \"jquery\";\n\nexport let chooseHotelButton = {\n    initialize: function (redirectToRequest: boolean, maxNumHotels: number, storeHotelURL: string, hotelSelectedURL: string, requestCreateURL: string, searchQueryParams: string, addToHotelRequestId: number) {\n        $(document).on('click', 'button[id^=\"choose-hotel-\"]', function() {\n            let hotelId, isDirect;\n\n            let thisElem = $(this);\n            if (!thisElem) {\n                return false;\n            }\n            let id = thisElem.attr('id');\n            if (!id) {\n                return false;\n            }\n            // Get hotel ID\n            let hotelIdParts = id.split('-');\n            if (hotelIdParts.length === 4) {\n                hotelId = id.split('-')[3];\n                isDirect = true;\n            } else {\n                hotelId = id.split('-')[2];\n                isDirect = false;\n            }\n            if (redirectToRequest) {\n                isDirect = true;\n            }\n\n            // Get campaign ID if available\n            let campaignId = thisElem.attr('data-campaign-id');\n            let chooseButton = thisElem;\n\n            // Get number of people, if available\n            // let numPeople = $('input[id=input-num-people]').val() || 0;\n\n            // Get hotel name\n            // let hotelName = $('#list-grid-title-' + hotelId).text() || $('#hotel-title').text();\n\n            // Check if we have added too many hotels\n            let numHotelsElem = $('#num-hotels');\n            let numHotelsModalElem = $('#num-hotels-modal');\n            let numHotels =  parseInt(numHotelsElem.text());\n\n            if (numHotels >= maxNumHotels) {\n                alert('Du kan ikke legge til flere hotell til denne forespørselen.');\n            } else {\n                $.post(storeHotelURL, {hotel_id: hotelId}, function(data: {status: string, num_stored_hotels: number}) {\n                    // Hide the choose button\n                    if (!isDirect) {\n                        chooseButton.addClass('hidden');\n                    }\n                    if (!isDirect) {\n                        let selectedHotelsPanel = $('#selected-hotels-panel');\n                        let selectedHotelsMobilePanel = $('#selected-hotels-mobile-panel');\n                        selectedHotelsPanel.removeClass('hidden');\n                        selectedHotelsMobilePanel.removeClass('hidden');\n                        $('.btn-selected-hotels').removeClass('disabled');\n                    }\n\n                    // Update number of hotels\n                    numHotelsElem.html(data.num_stored_hotels.toString());\n                    numHotelsModalElem.html(data.num_stored_hotels.toString());\n\n                    // Update selected hotels panel\n                    $.getJSON(hotelSelectedURL, function (data: {html: string, html_mobile: string}) {\n                        $('#selected-hotels-panel-inner').html(data.html);\n                        $('#selected-hotels-mobile-panel-inner').html(data.html_mobile);\n                    });\n\n                    if (isDirect) {\n                        let url = requestCreateURL;\n                        if (searchQueryParams) {\n                            url += `?${searchQueryParams}`;\n                        }\n                        if (campaignId !== null && campaignId !== undefined) {\n                            if (url.indexOf('?') === -1) {\n                                url += '?';\n                            } else {\n                                url += '&';\n                            }\n                            url += `campaign_id=${campaignId}`;\n                        }\n                        if (addToHotelRequestId) {\n                            if (url.indexOf('?') === -1) {\n                                url += '?';\n                            } else {\n                                url += '&';\n                            }\n                            url += `add_to_request_id=${addToHotelRequestId}`;\n                        }\n                        window.location.href = url;\n                    }\n                });\n            }\n            return false;\n        });\n    }\n};\n"],"names":["window","campaign","initialize","maxNumHotels","storeHotelURL","hotelSelectedURL","requestCreateURL","campaignsButton","chooseHotelButton","undefined","$","on","removeClass","redirectToRequest","searchQueryParams","addToHotelRequestId","document","hotelId","isDirect","thisElem","this","id","attr","split","length","campaignId","chooseButton","numHotelsElem","numHotelsModalElem","parseInt","text","alert","hotel_id","data","addClass","selectedHotelsPanel","selectedHotelsMobilePanel","html","num_stored_hotels","toString","html_mobile","url","indexOf","location","href"],"sourceRoot":""}