PageSourceSearch

https://www.cfu-airport.gr/etc/clientlibs/fraport-airport/fraport.…ec588b2661b1f6e03eb07435ad96f.js?1788772496

js cfu-airport.gr collected 2026-10-02 06:58:00 UTC 18,919 bytes, 241 lines download raw bytes

1define("parking/actions",["jquery"],function(){var a=require("jquery");
2return{events:{"state:route":"onRoute"},initialize:function(){var b=this;
3this.listenTo(this.vent,"state:change",function(i,d){var h=b.config.tracking.module.type;
4var f=b.layout.$el.find(".fra_headline_1_module").text();
5var e=b.layout.$el.find(".fra_js_parking_tag option:selected").text();
6var g=b.layout.$el.find(".fra_js_parking_terminal option:selected").text();
7var c={module_type:h,module_name:f};
8if(i.search){c.search=i.search
9}else{c.category=e;
10c.subCategory=g
11}fra.tracking.submitTrackingInformation(c)
12})
13},onRun:function(){this.layout.set({filter:"filter",viewToggle:"viewToggle",pagination:"pagination"},{unset:false});
14this.data.parkOffers.doFetch(this.state.attributes);
15this.layout.set("showcase","parkComposite",{unset:false});
16this._bindAutoLoadOnScroll()
17},onRoute:function(){if(_.isEqual(this.stateAttributes,this.state.attributes)){return
18}this.stateAttributes=fra.utils.deepClone(this.state.attributes);
19this._alreadyRun=true;
20if(this.state.attributes.tag){this.layout.ui.tag.val(this.state.attributes.tag)
21}if(this.state.attributes.terminal){this.layout.ui.terminal.val(this.state.attributes.terminal)
22}this.layout.set({filter:"filter",viewToggle:"viewToggle",pagination:"pagination"},{unset:false});
23this.data.parkOffers.doFetch(this.state.attributes);
24this.layout.set("showcase","parkComposite",{unset:false});
25this._bindAutoLoadOnScroll()
26},renderPaging:function(){this.layout.bindUIElements();
27if(this.info.maxOffset>0){this.layout.set("pagination","pagination",{unset:false});
28this.layout.ui.paginationWrapper.addClass("fra_active")
29}else{this.layout.ui.paginationWrapper.removeClass("fra_active")
30}},_bindAutoLoadOnScroll:function(){var d=this,c,b=a("<div class='fra_mini_spinner fra_disabled'><div class='fra_loading__blue'></div></div>");
31a(window).scroll(function(){c=a(document).height()-a(window).height()-a(window).scrollTop();
32if(fra.bps.getBreakpoint()<1&&c<(a(".fra_footer").outerHeight())-30){if(!d.info.loading){d.info.loading=true;
33d.layout.regionManager.get("showcase").currentView.$el.append(b);
34d.state.set("page",d.state.get("page")+1)
35}}})
36}}
37});
38define("parking/models/ParkCollection",["require","jquery","../../abstracts/utils","../../abstracts/mixinModelDeps","backbone"],function(b){var d=b("jquery"),c=b("../../abstracts/utils"),a=b("../../abstracts/mixinModelDeps"),e=b("backbone");
39return e.Collection.extend(c.mixin({hasFetched:false,mixin:[a],initialize:function(f){this.app=f.app;
40_.bindAll(this,"fetchSuccess");
41this.listenTo(this.app.vent,"state:change",function(g){this.doFetch(g)
42})
43},doFetch:function(j){var h=this.url(),f=true,k=true,l={},i,g;
44j.itemsPerRequest=this.app.config.itemsperpage;
45for(i in j){if(j.hasOwnProperty(i)){if(!j.search||(i!=="tag"&&i!=="terminal")){l[i]=j[i];
46if(i==="page"){l[i]=l[i]-1
47}}}}if(this.app.state.changed.page&&this.app.state.get("page")!==1&&fra.bps.getBreakpoint()<1){d.log("add entries");
48f=false;
49k=false
50}else{this.app.layout.ui.itemsOuterContainer.addClass(this.app.config.stateClass.disabled)
51}this.fetch({url:fra.utils.buildUrl(this.url(),l),reset:k,remove:f,error:this.onErrorHandler,success:this.fetchSuccess})
52},fetchSuccess:function(g,f){var h=false;
53if(g.length===0||f.error){this.onErrorHandler(this,null,f.error);
54return
55}if(arguments.length>=3){h=arguments[2].reset
56}this.app.layout.$el.removeClass(this.app.config.stateClass.error);
57this.app.info.loading=false;
58this.app.vent.trigger("reRender:pagination");
59this.app.layout.ui.itemsOuterContainer.removeClass(this.app.config.stateClass.disabled);
60if(!h){this.app.layout.regionManager.get("showcase").currentView.$el.find(".fra_mini_spinner").remove();
61this.app.layout.regionManager.get("showcase").currentView.triggerMethod("item:added")
62}},onErrorHandler:function(f,g,h){f.app.layout.ui.itemsOuterContainer.removeClass(f.app.config.stateClass.disabled);
63f.app.layout.$el.addClass(f.app.config.stateClass.error);
64fra.utils.onErrorHandler(g,h,f.app.layout.ui.errorContainer)
65},parse:function(f){this.hasFetched=true;
66this.app.info.maxOffset=f.maxPageNumber;
67return f.items
68},url:function(){return fra.config.frontEnd?this.app.config.source+"?":this.app.config.source
69}}))
70});
71define("parking/templates",["handlebars"],function(a){this["JST"]=this["JST"]||{};
72this["JST"]["pagination"]=a.template({"1":function(i,e,b,g){var c,d,h=e.helperMissing,f="function";
73return"    <li"+((c=e["if"].call(i,(i!=null?i.active:i),{name:"if",hash:{},fn:this.program(2,g,0),inverse:this.noop,data:g}))!=null?c:"")+'><a href="#" data-page="'+((c=((d=(d=e.page||(i!=null?i.page:i))!=null?d:h),(typeof d===f?d.call(i,{name:"page",hash:{},data:g}):d)))!=null?c:"")+'">'+((c=((d=(d=e.page||(i!=null?i.page:i))!=null?d:h),(typeof d===f?d.call(i,{name:"page",hash:{},data:g}):d)))!=null?c:"")+"</a></li>\r\n"
74},"2":function(e,c,b,d){return' class="fra_active"'
75},compiler:[6,">
75= 2.0.0-beta.1"],main:function(i,g,d,h){var e,f,c,b='<ul class="pagination">\r\n';
76e=((f=(f=g.items||(i!=null?i.items:i))!=null?f:g.helperMissing),(c={name:"items",hash:{},fn:this.program(1,h,0),inverse:this.noop,data:h}),(typeof f==="function"?f.call(i,c):f));
77if(!g.items){e=g.blockHelperMissing.call(i,e,c)
78}if(e!=null){b+=e
79}return b+"</ul>"
80},useData:true});
81this["JST"]["parkingTable"]=a.template({compiler:[6,">= 2.0.0-beta.1"],main:function(g,d,b,e){var c,f=d.helperMissing;
82return'<!-- Table header, hide on XS -->\r\n<!-- tr -->\r\n\r\n<ul class="fra_table_thead hidden-xs">\r\n  <!-- th -->\r\n  <li class="fra_table_th">\r\n  </li>\r\n  <!-- th -->\r\n  <li class="fra_table_th">\r\n    '+((c=(d.i18n||(g&&g.i18n)||f).call(g,"app.parking.rowHead.price",{name:"i18n",hash:{},data:e}))!=null?c:"")+'\r\n  </li>\r\n  <!-- th -->\r\n  <li class="fra_table_th">\r\n    '+((c=(d.i18n||(g&&g.i18n)||f).call(g,"app.parking.rowHead.name",{name:"i18n",hash:{},data:e}))!=null?c:"")+'\r\n  </li>\r\n  <!-- th -->\r\n  <li class="fra_table_th">\r\n    '+((c=(d.i18n||(g&&g.i18n)||f).call(g,"app.parking.rowHead.summary",{name:"i18n",hash:{},data:e}))!=null?c:"")+'\r\n  </li>\r\n  <li class="fra_table_th">\r\n  </li>\r\n</ul>\r\n\r\n<!--<tbody>\r\n\r\n</tbody>-->'
83},useData:true});
84this["JST"]["parkingTableRow"]=a.template({"1":function(g,d,b,e){var c,f=this.lambda;
85return'    <span class="fra_badge fra_badge__'+((c=f(((c=(g!=null?g.badge:g))!=null?c.color:c),g))!=null?c:"")+'">\n      <span class="fra_badge_text">'+((c=f(((c=(g!=null?g.badge:g))!=null?c.text:c),g))!=null?c:"")+"</span>\n    </span>\n"
86},"3":function(g,e,b,f){var c,d;
87return"    "+((c=((d=(d=e.offerText1||(g!=null?g.offerText1:g))!=null?d:e.helperMissing),(typeof d==="function"?d.call(g,{name:"offerText1",hash:{},data:f}):d)))!=null?c:"")+"\n"
88},"5":function(e,c,b,d){return"    -\n"
89},"7":function(e,c,b,d){return" fra_row_inner_link"
90},"9":function(g,d,b,e){var c,f=this.lambda;
91return'  <a href="'+((c=f(((c=(g!=null?g.action:g))!=null?c.url:c),g))!=null?c:"")+'" class="btn-link" role="button">\n    <span class="fra_single_line_clamp fra_icon_link hidden-xs">\n      '+((c=f(((c=(g!=null?g.action:g))!=null?c.label:c),g))!=null?c:"")+'\n    </span>\n    <span class="fra_icon">\n      <svg role="presentation" class="icon hidden-xs">\n        <use xlink:href="#icon-arrow-right"></use>\n      </svg>\n      <svg role="presentation" class="icon visible-xs">\n        <use xlink:href="#icon-link"></use>\n      </svg>\n    </span>\n  </a>\n'
92},"11":function(g,e,b,f){var c,d;
93return'    <a href="'+((c=((d=(d=e.detailPageUrl||(g!=null?g.detailPageUrl:g))!=null?d:e.helperMissing),(typeof d==="function"?d.call(g,{name:"detailPageUrl",hash:{},data:f}):d)))!=null?c:"")+'"></a>\n'
94},compiler:[6,">= 2.0.0-beta.1"],main:function(i,e,b,g){var c,d,h=e.helperMissing,f="function";
95return'<li class="fra_table_td fra_table_td__icon">\n  <span class="fra_icon">\n'+((c=e["if"].call(i,((c=(i!=null?i.badge:i))!=null?c.text:c),{name:"if",hash:{},fn:this.program(1,g,0),inverse:this.noop,data:g}))!=null?c:"")+'    <svg class="icon" role="presentation">\n      <use xlink:href="#icon-parking-'+((c=((d=(d=e.category||(i!=null?i.category:i))!=null?d:h),(typeof d===f?d.call(i,{name:"category",hash:{},data:g}):d)))!=null?c:"")+'"></use>\n    </svg>\n  </span>\n</li>\n\n<li class="fra_table_td fra_table_td__price">\n  '+((c=((d=(d=e.price||(i!=null?i.price:i))!=null?d:h),(typeof d===f?d.call(i,{name:"price",hash:{},data:g}):d)))!=null?c:"")+'\n</li>\n\n<li class="fra_table_td fra_table_td__name">\n  '+((c=((d=(d=e.shortTitle||(i!=null?i.shortTitle:i))!=null?d:h),(typeof d===f?d.call(i,{name:"shortTitle",hash:{},data:g}):d)))!=null?c:"")+'\n</li>\n\n<li class="fra_table_td fra_table_td__offer">\n'+((c=e["if"].call(i,(i!=null?i.offerText1:i),{name:"if",hash:{},fn:this.program(3,g,0),inverse:this.program(5,g,0),data:g}))!=null?c:"")+'</li>\n\n<li class="fra_table_td'+((c=e["if"].call(i,(i!=null?i.action:i),{name:"if",hash:{},fn:this.program(7,g,0),inverse:this.noop,data:g}))!=null?c:"")+'">\n'+((c=e["if"].call(i,(i!=null?i.action:i),{name:"if",hash:{},fn:this.program(9,g,0),inverse:this.noop,data:g}))!=null?c:"")+'</li>\n\n<li class="fra_row_link">\n'+((c=e["if"].call(i,(i!=null?i.detailPageUrl:i),{name:"if",hash:{},fn:this.program(11,g,0),inverse:this.noop,data:g}))!=null?c:"")+"</li>"
96},useData:true});
97return this["JST"]
98});
99define("parking/views/ParkingCompositeView",["require","jquery","../templates","../../abstracts/view/AbstractCompositeView"],function(b){var d=b("jquery"),c=b("../templates"),a=b("../../abstracts/view/AbstractCompositeView");
100return a.extend({_App:null,_events:{"view:switch:child":"_switchView"},_templates:{list:c.parkingTable},_childTemplates:{list:c.parkingTableRow},_initialize:function(e){d.log("Parking compo _init this:",this,e);
101this._App=e.app;
102this.collection=this._App.data.parkOffers
103},onAddChild:function(e){fra.utils.refreshAjaxContent(e.$el)
104}})
105});
106define("abstracts/mixinSearch",["require","jquery"],function(a){var b=a("jquery");
107return{ui:{searchWrapper:".fra_js_mixin_search_wrapper",searchForm:".fra_js_mixin_search_form",searchInput:".fra_js_mixin_search_input",searchOpener:".fra_js_mixin_search_opener",searchClear:".fra_js_mixin_search_clear",searchClose:".fra_js_mixin_search_close",searchReset:".fra_js_filter_reset",searchSuggestion:"fra_js_mixin_search_suggestions",searchOutputWrapper:".fra_js_mixin_filter_output_wrapper",searchOutputText:".fra_js_mixin_filter_output_text"},events:{"click @ui.searchOpener":"openSearchBar","click @ui.searchClear":"clearSearchBar","click @ui.searchClose":"closeSearchBar","submit @ui.searchForm":"submitSearch","click @ui.searchReset":"removeFilter","keyup @ui.searchInput":"_handleSearchInputKeyUp"},searchStateKey:false,searchText:fra.i18n.app.mixinSearch.text,initialize:function(c){if(c&&c.app){this.appInstance=c.app
108}},onDestroy:function(){this._outsideHandler.unbind()
109},_handleSearchInputKeyUp:function(c){if(c.keyCode===27){this.closeSearchBar()
110}this.triggerMethod("search:keyUp",c.keyCode)
111},onRender:function(){var c;
112if(this.searchStateKey&&this.appInstance.state.has(this.searchStateKey)){c=this.appInstance.state.get(this.searchStateKey);
113this.ui.searchInput.val(c);
114this.setSearchQuery(c)
115}
115this._outsideHandler=fra.utils.outsideHandler(this.ui.searchWrapper,this.closeSearchBar,{ctx:this})
116},openSearchBar:function(){this.ui.searchWrapper.addClass(this.appInstance.config.stateClass.active);
117this.ui.searchInput.focus();
118this._outsideHandler.bind();
119this.triggerMethod("search:open")
120},clearSearchBar:function(){this.ui.searchInput.val("");
121this.ui.searchInput.focus();
122this.triggerMethod("search:clear");
123this.ui.searchOutputWrapper.removeClass(this.appInstance.config.stateClass.active);
124if(this.searchStateKey){this.appInstance.state.unset(this.searchStateKey)
125}},closeSearchBar:function(){this.ui.searchWrapper.removeClass(this.appInstance.config.stateClass.active);
126this.ui.searchInput.blur();
127this._outsideHandler.unbind();
128this.triggerMethod("search:close")
129},submitSearch:function(d){var c;
130if(d&&d.preventDefault){d.preventDefault()
131}c=b.trim(this.ui.searchInput.val());
132if(c.length===0){return
133}if(this.searchStateKey){this.appInstance.state.set(this.searchStateKey,c)
134}this.triggerMethod("search:submit",c);
135this.closeSearchBar();
136this.setSearchQuery(c)
137},setSearchQuery:function(c){this.ui.searchOutputText.text(this.searchText.replace("{{search}}",c));
138this.ui.searchOutputWrapper.addClass(this.appInstance.config.stateClass.active)
139},removeFilter:function(){this.ui.searchInput.val("");
140this.triggerMethod("search:remove");
141this.closeSearchBar();
142this.ui.searchOutputWrapper.removeClass(this.appInstance.config.stateClass.active);
143if(this.searchStateKey){this.appInstance.state.unset(this.searchStateKey)
144}}}
145});
146define("parking/views/FilterView",["require","jquery","marionette","../../abstracts/mixinSearch"],function(b){var c=b("jquery"),d=b("marionette"),a=b("../../abstracts/mixinSearch");
147return d.ItemView.extend({template:false,el:".fra_js_parking_filter",ui:{tag:".fra_js_parking_tag",terminal:".fra_js_parking_terminal",formSelects:".fra_dropdown__select"},mixins:[a],searchStateKey:"search",events:{"change @ui.tag":"onChangeTag","change @ui.terminal":"onChangeTerminal"},initialize:function(e){this.$el=e.app.config.$el.find(this.$el.selector);
148this.el=this.$el[0];
149this.app=e.app
150},onRender:function(){var e=this;
151if(this.searchStateKey&&this.app.state.has(this.searchStateKey)){this.toggleSelectState(false)
152}if(this.app.config.suggest){this.ui.searchInput.fra_autocomplete({url:this.app.config.suggest.url,parser:"suggestions",onClick:function(){e.submitSearch()
153}})
154}},resetPagination:function(){this.app.state.set("page",1,{silent:true})
155},onChangeTag:function(){this.resetPagination();
156this.app.state.set("tag",this.ui.tag.val())
157},onChangeTerminal:function(){this.resetPagination();
158this.app.state.set("terminal",this.ui.terminal.val())
159},onSearchSubmit:function(){this.resetPagination();
160this.toggleSelectState(false)
161},onSearchRemove:function(){this.resetPagination();
162this.toggleSelectState(true)
163},toggleSelectState:function(e){if(e){this.ui.tag.removeProp("disabled");
164this.ui.terminal.removeProp("disabled");
165this.ui.formSelects.removeClass("disabled")
166}else{this.ui.tag.prop("disabled",true);
167this.ui.terminal.prop("disabled",true);
168this.ui.formSelects.addClass("disabled")
169}}})
170});
171define("parking/views/PaginationView",["require","jquery","underscore","marionette","../templates"],function(b){var d=b("jquery"),a=b("underscore"),e=b("marionette"),c=b("../templates");
172return e.ItemView.extend({app:null,template:c.pagination,className:"fra_js_pagination",ui:{items:".pagination a"},events:{"click @ui.items":"onClick"},serializeData:function(){var h=[],f,g,j=this.app.info.maxOffset+1,i=this.app.state.get("page");
173if(i-3>0){f=i-3
174}else{f=1;
175g=j>=7?7:j
176}if(!g){if(i+3<=j){g=i+3
177}else{f=j<7?1:j-6;
178g=j
179}}for(;
180f<=g;
181f++){h.push({page:f,active:f===i})
182}return{items:h}
183},initialize:function(f){this.app=f.app;
184this.listenTo(this.app.vent,"state:change:page",function(){this.render()
185});
186this.listenTo(this.app.vent,"reRender:pagination",this.render)
187},onClick:function(g){var f=d(g.currentTarget);
188g.preventDefault();
189this.app.state.set("page",f.data("page"))
190},onRender:function(){this.updateNextPrevButton();
191if(this.app.info.maxOffset>0){this.app.layout.ui.paginationWrapper.addClass("fra_active")
192}else{this.app.layout.ui.paginationWrapper.removeClass("fra_active")
193}},updateNextPrevButton:function(){var f=this.app.state.get("page");
194this.app.layout.ui.pagePrev.data("page",f-1);
195this.app.layout.ui.pageNext.data("page",f+1);
196this.app.layout.ui.pagePrev.toggleClass("hidden",f<=1);
197this.app.layout.ui.pageNext.toggleClass("hidden",f>this.app.info.maxOffset);
198this.app.layout.ui.pagePrev.off(fra.integrator.isTouchDevice()?"touchstart":"click");
199this.app.layout.ui.pageNext.off(fra.integrator.isTouchDevice()?"touchstart":"click");
200this.app.layout.ui.pagePrev.on(fra.integrator.isTouchDevice()?"touchstart":"click",a.bind(this.onClick,this));
201this.app.layout.ui.pageNext.on(fra.integrator.isTouchDevice()?"touchstart":"click",a.bind(this.onClick,this))
202}})
203});
204define("parking/views/RootLayout",["require","../../abstracts/AbstractLayout","./ParkingCompositeView","./FilterView","./PaginationView","../../abstracts/view/ViewToggle"],function(a){var c=a("../../abstracts/AbstractLayout"),b=a("./ParkingCompositeView"),e=a("./FilterView"),d=a("./PaginationView"),f=a("../../abstracts/view/ViewToggle");
205return c.extend({el:".fra_js_app_parking",baar:{},regions:{showcase:".fra_js_parking_table_container",filter:".fra_js_parking_filter_container",viewToggle:".fra_js_toggle",pagination:".fra_pagination_container"},views:{parkComposite:b,filter:e,viewToggle:{view:f,options:{App:null,createInstance:true}},pagination:d},ui:{pageNext:".fra_js_page_next",pagePrev:".fra_js_page_prev",tag:".fra_js_parking_tag",terminal:".fra_js_parking_terminal",paginationWrapper:".fra_pagination_wrapper",itemsOuterContainer:".fra_js_parking_items_outer_container",errorContainer:".fra_request_error__container"},onBeforeInitialize:function(g){this.app=g.app
206}})
207});
208define("parking/app",["require","exports","module","jquery","../abstracts/AbstractApplication","./actions","./models/ParkCollection","./views/RootLayout","../abstracts/StateRouter"],function(b,d){var e=b("jquery"),g=b("../abstracts/AbstractApplication"),a=b("./actions"),h=b("./models/ParkCollection"),f=b("./views/RootLayout"),i=b("../abstracts/StateRouter");
209var c=g.extend({setup:{appName:"Parking",appVentPrefix:"parking",layout:f,actions:a,data:{parkOffers:h},info:{},_onStart:function(){var j=this;
210this.layout.bindUIElements();
211if(fra.utils.hasNestedKey(this.config,"module.name")){this.appVentPrefix=this.config.module.name
212}this.config.tag=this.layout.ui.tag.val();
213this.config.terminal=this.layout.ui.terminal.val();
214this.state=i.create(this.appVentPrefix,{tag:{dataType:"string",defaults:this.config.tag},terminal:{dataType:"string",defaults:this.config.terminal},search:"string",page:{dataType:"number",defaults:1}});
215this.state.connectWith(this.vent);
216this.state.check();
217this.state.on("change",function(k){j.stateAttributes=fra.utils.deepClone(j.state.attributes)
218});
219this.vent.on("all",function(k){e.log("~Parking DEBUG: Event Caught: "+k)
220});
221this.layout.bindUIElements()
222}}});
223return c
224});
225if(typeof fra_jquery==="function"){define("jquery",function(){return fra_jquery
226})
227}if(typeof Handlebars==="object"){define("handlebars",function(){return Handlebars
228})
229}if(fra.config.requirejsConfig){requirejs.config(fra.config.requirejsConfig)
230}fra_jquery.log("main: load Parking module");
231define("parking/main",["require","./app","jquery"],function(d){var e=d("./app"),f=d("jquery"),b=f(".fra_js_app_parking");
232var a;
233var c,g;
234if(window.__agent){window.__agent.start(Backbone,Marionette)
235}b.each(function(){c=f(this).data("moduleName");
236g=new e({appName:c});
237g.start({$el:f(this),app:g});
238g.run()
239})
240});
241require(["parking/main"]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.