UNPKG

@visitscotland/component-library

Version:
1 lines 13.4 kB
"use strict";(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[2989],{15527:function(e,t){var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function u(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,s)}c((n=n.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return r(this,void 0,void 0,(function(){var r,a,o,u,s,c,l;return n(this,(function(n){switch(n.label){case 0:r=t.apiKey,a=t.customerId,o=t.engineId,u="".concat("https://api-eu1.cludo.com/api/v3","/").concat(a,"/").concat(o,"/Autocomplete"),s="".concat(a,":").concat(r),n.label=1;case 1:return n.trys.push([1,4,,5]),[4,fetch(u,{method:"POST",body:JSON.stringify({text:e}),headers:{"Content-Type":"application/json",Authorization:"Basic ".concat(btoa(s))}})];case 2:if(!(c=n.sent()).ok)throw new Error("Autocomplete search error ".concat(c.status));return[4,c.json()];case 3:return[2,n.sent()];case 4:throw l=n.sent(),new Error("Autocomplete search error: ".concat(l));case 5:return[2]}}))}))}},52954:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function u(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,s)}c((n=n.apply(e,t||[])).next())}))},a=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(r(72989));t.default=function(e,t,r,o,s,c,l,i,f){return n(this,void 0,void 0,(function(){var n,d,h,p;return a(this,(function(a){switch(a.label){case 0:if((n=(0,u.default)()).eventsApiError=!1,n.cludoError=!1,"events"!==o&&o)return[3,6];d="".concat(e,"?query=").concat(t,"&lang=").concat(f),d=r>1?"".concat(d,"&page=").concat(r):d,d=""!==c?"".concat(d,"&startDate=").concat(c):d,d=""!==l?"".concat(d,"&endDate=").concat(l):d,d=i?"".concat(d,"&sort=").concat(i):d,d="".concat(d,"events"===o?"&pageSize=12":"&pageSize=6"),s.forEach((function(e){d+="&category=".concat(e)})),a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch(d)];case 2:if(!(h=a.sent()).ok)throw n.isLoading=!1,n.eventsApiError=!0,new Error("Events response message: ".concat(h.status));return[4,h.json()];case 3:return[2,{results:(v=p=a.sent(),v.events.map((function(e){var t,r,n,a,o,u,s;return{id:e.id,parentId:e.parentId,title:e.name,description:(null===(r=null===(t=e.descriptions)||void 0===t?void 0:t[0])||void 0===r?void 0:r.description)||"",imgSrc:(null===(a=null===(n=e.images)||void 0===n?void 0:n[0])||void 0===a?void 0:a.url)||"",url:(null===(u=null===(o=e.performances)||void 0===o?void 0:o[0])||void 0===u?void 0:u.url)||"",placeUrl:e.place.website,location:e.place.town,startDate:e.startFormatted,endDate:e.endFormatted,minPrice:null===(s=e.minPrice)||void 0===s?void 0:s.toString(),dataSrc:"data-thistle",categoryCard:e.categoryCard||""}}))),totalResults:p.totalResults}];case 4:return a.sent(),n.isLoading=!1,n.eventsApiError=!0,[2,{results:[],totalResults:0}];case 5:return[3,7];case 6:return[2,{results:[],totalResults:0}];case 7:return[2]}var v}))}))}},64791:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function u(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,s)}c((n=n.apply(e,t||[])).next())}))},a=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(r(72989));t.default=function(e,t,r,o,s){return n(this,void 0,void 0,(function(){var n,o,c,l,i,f,d,h,p;return a(this,(function(a){switch(a.label){case 0:if(n=t.apiKey,o=t.customerId,c=t.engineId,l="https://api-eu1.cludo.com/api/v3/".concat(o,"/").concat(c,"/search"),i="".concat(o,":").concat(n),(f=(0,u.default)()).eventsApiError=!1,f.cludoError=!1,!t)return f.cludoError=!0,f.isLoading=!1,[2,{results:[],totalResults:0}];if("events"===s)return[2,{results:[],totalResults:0}];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch(l,{method:"POST",body:JSON.stringify({query:e||"*",operator:"or",responseType:"JsonObject",perPage:s?12:6,page:r,facets:{Category:s?[s]:null}}),headers:{"Content-Type":"application/json",Authorization:"Basic ".concat(btoa(i))}})];case 2:if(!(d=a.sent()).ok)throw f.cludoError=!0,f.isLoading=!1,new Error("Cludo response message: ".concat(d.status));return[4,d.json()];case 3:return h=a.sent(),p=h.TypedDocuments.map((function(e){var t;return{id:e.Fields.Id.Value||"",title:e.Fields.Title.Value||"",description:e.Fields.Description.Value||"",imgSrc:(null===(t=e.Fields.Image)||void 0===t?void 0:t.Value)||"",url:e.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:e.Fields.categoryCard.Value||""}})),[2,{results:p,totalResults:h.TotalDocument}];case 4:return a.sent(),f.cludoError=!0,f.isLoading=!1,[2,{results:[],totalResults:0}];case 5:return[2]}}))}))}},72989:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function u(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,s)}c((n=n.apply(e,t||[])).next())}))},a=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},o=this&&this.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,a=0,o=t.length;a<o;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=r(17527),c=r(48086),l=u(r(64791)),i=u(r(52954)),f=u(r(15527)),d=(0,c.defineStore)("federatedSearch",(function(){var e=(0,s.ref)(null),t=(0,s.ref)(void 0),r=(0,s.ref)(!1),u=(0,s.ref)(1),c=(0,s.ref)(void 0),d=(0,s.ref)(!1),h=(0,s.ref)(!1),p=(0,s.ref)(null),v=(0,s.ref)(""),y=(0,s.ref)(null),b=(0,s.ref)(null),g=(0,s.ref)([]),w=(0,s.ref)([]),m=(0,s.ref)(void 0),_=(0,s.ref)(void 0),P=(0,s.ref)(void 0),S=(0,s.ref)(!1),k=(0,s.ref)(""),E=(0,s.ref)(""),x=(0,s.ref)(void 0),C=(0,s.ref)(void 0),I=(0,s.ref)(void 0),R=(0,s.ref)(-1),j=(0,s.ref)("");function O(){return n(this,arguments,void 0,(function(e){var r,n;return void 0===e&&(e=!1),a(this,(function(a){switch(a.label){case 0:return h.value=!0,e||(R.value+=1),[4,(0,l.default)(v.value,t.value,u.value,y.value,b.value)];case 1:return r=a.sent(),[4,(0,i.default)(c.value,v.value,u.value,b.value,w.value,k.value,E.value,x.value,I.value)];case 2:return n=a.sent(),p.value=o(o([],r.results,!0),n.results,!0),_.value=r.totalResults,P.value=n.totalResults,m.value=r.totalResults+n.totalResults,h.value=!1,[2]}}))}))}return{filters:e,currentPage:u,cludoCredentials:t,cludoError:r,eventsApi:c,eventsApiError:d,getAutoComplete:function(){return n(this,void 0,void 0,(function(){return a(this,(function(e){return[2,(0,f.default)(v.value,t.value)]}))}))},getSearchResults:O,isLoading:h,results:p,searchTerm:v,searchUrl:C,selectedCategory:y,selectedCategoryKey:b,selectedSubCategory:g,selectedSubCategoryKey:w,totalResults:m,totalResultsCludo:_,totalResultsEvents:P,navigateToResultsPage:function(e,t){return n(this,void 0,void 0,(function(){var r,n;return a(this,(function(a){switch(a.label){case 0:return r=new URL(window.location.href),j.value=t?"Autosuggestion":"User input",v.value?r.searchParams.set("search-term",v.value):r.searchParams.delete("search-term"),b.value?r.searchParams.set("category",encodeURIComponent(b.value)):r.searchParams.delete("category"),w.value.length>0?r.searchParams.set("sub-category",encodeURIComponent(w.value.join(","))):r.searchParams.delete("sub-category"),e?(u.value=1,r.searchParams.set("page",u.value.toString())):u.value&&u.value>1?r.searchParams.set("page",u.value.toString()):r.searchParams.delete("page"),k.value?r.searchParams.set("start-date",k.value):r.searchParams.delete("start-date"),E.value?r.searchParams.set("end-date",E.value):r.searchParams.delete("end-date"),x.value?r.searchParams.set("sort-by",x.value):r.searchParams.delete("sort-by"),S.value?[3,2]:(window.history.pushState({},"",r),[4,O()]);case 1:return a.sent(),[3,3];case 2:n="".concat(C.value,"/").concat(r.search),window.location.href=n,a.label=3;case 3:return[2]}}))}))},isHomePage:S,startDate:k,endDate:E,sortBy:x,siteLanguage:I,searchInSessionCount:R,queryInput:j}}));t.default=d}}]);