1define("map/views/FilterLayout",["require","jquery","marionette"],function(a){var b=a("jquery"),c=a("marionette"); 2return c.ItemView.extend({ui:{checkbox:".fra_checkbox",submitButton:".fra_filter_submit",panels:".panel",openButton:".fra_js_filter_popup",closeButton:".fra_js_filter_close"},events:{"click @ui.submitButton":"submit","click @ui.openButton":"opened","click @ui.closeButton":"closed"},initialize:function(d){b.log("filter view init opt:",d,this); 3this.$el=d.$el; 4this.el=this.$el[0]; 5this.app=d.app; 6this.bindUIElements(); 7this.listenTo(this.app.vent,"filter:set",function(e){this.setFilter(e) 8}); 9this.listenTo(this.app.vent,"filter:reset",function(){this.app.state.set("page",1,{silent:true}); 10this.app.info.activePages=[1]; 11this.resetFilter() 12}) 13},opened:function(){this.$el.addClass("fra_active") 14},closed:function(){this.$el.removeClass("fra_active") 15},submit:function(){this.$el.removeClass("fra_active"); 16this.app.state.set("page",1,{silent:true}); 17this.app.info.activePages=[1]; 18this.getFilter() 19},getFilter:function(f){var h={},e,g=[],d,i; 20f=f||{}; 21this.ui.panels.each(function(){g=[]; 22b(this).find(":checked").each(function(){d=b(this); 23e=d.attr("name"); 24i=d.val(); 25if(f.useText){i=d.data("text") 26}g.push(i) 27}); 28if(g.length!==0){h[e]=g 29}}); 30b.log("filter: ",h,this); 31if(!b.isEmptyObject(h)&&!f.useText){this.app.vent.trigger("before:filter:updated",h); 32this.app.state.set("filter",h); 33this.app.state.unset("poi"); 34this.updateFilterInfoBox(h) 35}else{if(!f.useText){this.app.state.unset("filter"); 36this.updateFilterInfoBox(false) 37}else{for(e in h){if(h.hasOwnProperty(e)){h[e]=h[e].join(", ") 38}}}}return h 39},setFilter:function(d){if(!d||d==={}){this.resetFilter(); 40return 41}this.ui.panels.each(function(){b(this).find(".fra_checkbox").each(function(){var g=false; 42var e=b(this); 43var f=e.attr("name"); 44var h=e.attr("value"); 45if(d.hasOwnProperty(f)){if(b.inArray(h,d[f])!==-1){e.prop("checked",true); 46g=true 47}}if(!g){e.prop("checked",false) 48}if(!g){e.prop("checked",false) 49}}) 50}); 51this.updateFilterInfoBox(d) 52},resetFilter:function(){this.ui.checkbox.prop("checked",false); 53this.app.state.unset("filter"); 54this.updateFilterInfoBox(false) 55},updateFilterInfoBox:function(d){if(d){d=this.getFilter({useText:true}); 56this.app.layout.ui.filterInfo.addClass("fra_active"); 57this.app.layout.ui.filterInfoText.text(this._buildInfoBoxText(d)); 58this.app.vent.trigger("filter:updated",d) 59}else{this.app.layout.ui.filterInfo.removeClass("fra_active"); 60this.app.vent.trigger("filter:removed") 61}},_buildInfoBoxText:function(e){var d=[]; 62var f; 63for(f in e){if(e.hasOwnProperty(f)){d.push(fra.i18n.app.retailer.filterInfo.filterTypes[f]) 64}}d=d.join(", "); 65d=fra.i18n.app.retailer.filterInfo.text+d; 66return fra.utils.miniTemplating(d,e) 67}}) 68}); 69define("map/actions",["require","jquery","../abstracts/StateRouter","./views/FilterLayout"],function(a){var b=a("jquery"),c=a("../abstracts/StateRouter"),d=a("./views/FilterLayout"); 70return{events:{"state:route":"onRoute","render:paging":"renderPaging","state:page":"pageChange"},initialize:function(){var e=this; 71this.listenTo(this.vent,"state:change",function(l,g){var k=e.config.tracking.module.type; 72var i=e.layout.$el.find(".fra_headline_1_module").text(); 73var h=e.layout.$el.find(".fra_js_map_category option:selected").text(); 74var j=e.layout.$el.find(".fra_js_map_subcategory option:selected").text(); 75var f={module_type:k,module_name:i}; 76if(l.search){f.search=l.search 77}else{f.category=h; 78f.subCategory=j 79}if(l.filter){if(l.filter.hall){f.hall=l.filter.hall.join(",") 80}if(l.filter.terminal){f.terminal=l.filter.terminal.join(",") 81}if(l.filter.area){f.area=l.filter.area.join(",") 82}}fra.tracking.submitTrackingInformation(f) 83}) 84},onRun:function(){this.data.pois.doFetch(this.state.attributes); 85this.setCommonViews(); 86this.updateOverviewLink(); 87this._bindAutoLoadOnScroll() 88},onRoute:function(e){if(_.isEqual(this.stateAttributes,this.state.attributes)){if(this.config.module.type==="profile"&&this.state.firstFragment()){fra.integrator.scrollToDomElement(this.layout.el) 89}return 90}this.stateAttributes=fra.utils.deepClone(this.state.attributes); 91if(e.hasOwnProperty("page")){this.info.activePages=[e.page] 92}this.data.pois.doFetch(this.state.attributes); 93b.log("on route: state",this.state.attributes); 94this.setCommonViews(); 95if(this.state.has("filter")){this.vent.trigger("filter:set",this.state.get("filter")) 96}else{if(this._alreadyRun){this.vent.trigger("filter:reset") 97}}this.layout.bindUIElements(); 98this.updateOverviewLink(); 99if(this.config.module.type==="profile"&&this.state.firstFragment()){fra.integrator.scrollToDomElement(this.layout.el) 100}this._alreadyRun=true 101},setCommonViews:function(){this.layout.set({showcase:"poisComposite",sectionFilter:"searchView",viewToggle:"viewToggle"},{unset:false}); 102this.layout.getChildView("sectionFilter").setCategory(this.state.get("category"),this.state.get("subCategory")); 103if(!this._hasFilterView){this._hasFilterView=true; 104this.layout.filter.attachView(new d({$el:this.layout.$el.find(".fra_js_filter_popup__container"),app:this})) 105}},renderPaging:function(){this.layout.bindUIElements(); 106if((this.info.maxPage>1)&&(this.config.module.type==="overview")){this.layout.set("pagination","pagination",{unset:false}); 107this.layout.ui.paginationWrapper.addClass("fra_active") 108}else{this.layout.ui.paginationWrapper.removeClass("fra_active") 109}},updateOverviewLink:function(){var e,h,g={},f=""; 110if(this.config.module.type!=="profile"){return 111}if(this.layout.ui.overViewButton.length>
1110){for(e in this.state.attributes){if(this.state.attributes.hasOwnProperty(e)){h=this.state.attributes[e]; 112g[e]=c.encodeProp(e,h); 113f+="/"+e+"="+c.encodeProp(e,h) 114}}this.layout.ui.overViewButton.attr("href",this.config.overview.page.url+"#"+this.appVentPrefix+f) 115}else{this.layout.ui.overViewButton.attr("href",this.config.overview.page.url) 116}},_bindAutoLoadOnScroll:function(){var g=this,f,e=b('<div class="fra_mini_spinner fra_disabled"><div class="fra_loading__blue"></div></div>'); 117b(window).scroll(function(){f=b(document).height()-b(window).height()-b(window).scrollTop(); 118if(fra.bps.getBreakpoint()<1&&g.config.module.type==="overview"&&f<(b(".fra_footer").outerHeight())-30){if(g.info.activePages[g.info.activePages.length-1]>=g.info.maxPage){return 119}if(!g.info.loading){g.info.loading=true; 120g.layout.regionManager.get("showcase").currentView.$el.append(e); 121setTimeout(function(){g.info.activePages.push(g.info.activePages[g.info.activePages.length-1]+1); 122g.layout.regionManager.get("showcase").currentView.updateView(); 123g.state.set("page",g.info.activePages[g.info.activePages.length-1]) 124},500) 125}}}) 126},pageChange:function(e){if(e===1){this.info.activePages=[1] 127}}} 128}); 129define("map/mapActions",["require","jquery"],function(a){var b=a("jquery"); 130return{events:{"map:update":"_updateMap","map:draw":"_drawMap","route:start":"_startRoute","route:close":"_closeRoute","route:draw":"_addRoute"},onPoiClicked:function(d,c){b.log("poiClicked on::",d,c); 131this.vent.trigger("highlight:poi:"+d[0].id) 132},onMapChanged:function(e,f){var d={},c; 133b.log("MapChanged on::",e," | ",f," this: ",this); 134for(c in f.displayedpois){if(f.displayedpois.hasOwnProperty(c)){d[f.displayedpois[c].id]=f.displayedpois[c].label 135}}this.vent.trigger("set:label",d) 136},_updateMap:function(d,c){this.mapOptions=this.data.mapOptions(c); 137this.mapOptions.displayedpois=d; 138this._drawMap(this.mapOptions) 139},_drawMap:function(c){var e,d; 140if(!c){c={} 141}this.mapOptions=c; 142e=this.layout.ui.mapRegion; 143this.layout.ui.mapRegion.addClass("fra_active"); 144d=b.extend({},this.config.map,c); 145this.map=e.initializeMap(d); 146return 147},_setLabels:function(c){var d=this; 148b.each(c,function(f,e){d.vent.trigger("set:label:"+f,e) 149}) 150},_startRoute:function(c){this.layout.getRegion("poiRegion").$el.toggleClass("fra_active"); 151this.layout.ui.mapRegion.toggleClass("fra_map_route"); 152b(".fra_map_reoute_form").addClass("fra_active"); 153b(".fra_map_filter_container").removeClass("fra_active"); 154b("#destination").val(c) 155},_closeRoute:function(){var c; 156this.state.clear(); 157this.layout.ui.routeForm.removeClass("fra_active"); 158this.layout.ui.filterContainer.addClass("fra_active"); 159this.layout.poiRegion.$el.toggleClass("fra_active"); 160this.layout.ui.mapRegion.toggleClass("fra_map_route"); 161c=this.mapOptions; 162delete this.mapOptions.sratid; 163delete this.mapOptions.endid; 164this._drawMap(c) 165},_addRoute:function(){var e,h,f; 166var d=this.layout.ui.routeForm; 167var g=d.find("#start").val(); 168var c=d.find("#destination").val(); 169this.state.clear(); 170this.state.set("start",g); 171this.state.set("destination",c); 172h=this.data.poi(g).ID; 173f=this.data.poi(c).ID; 174h=573; 175f=577; 176e=this.data.mapOptions("routeExample"); 177e.startid=h; 178e.endid=f; 179e.displayedpois=[h,f]; 180this._drawMap(e) 181},_loadRouteDataFromUrl:function(e){var f=e.start,c=e.destination; 182var d=this.layout.ui.routeForm; 183if(f){d.find("#start").val(f) 184}if(c){this._startRoute(c) 185}else{this._startRoute() 186}this._addRoute() 187}} 188}); 189define("map/models/PoiModel",["require","backbone"],function(a){var b=a("backbone"); 190return b.Model.extend({initialize:function(c){this.app=c.app; 191this.listenTo(this.app.vent,"set:label",function(d){if(this.get("poiId") in d){if(this.get("pinNum")!==d[this.get("poiId")]){this.set("pinNum",d[this.get("poiId")]) 192}}else{if(this.get("pinNum")){this.unset("pinNum") 193}}}) 194}}) 195}); 196define("map/models/PoisCollection",["require","../../abstracts/mixinModelDeps","backbone","./PoiModel"],function(c){var a=c("../../abstracts/mixinModelDeps"),d=c("backbone"),b=c("./PoiModel"); 197return d.Collection.extend({hasFetched:false,mixin:[a],model:b,initialize:function(e){var f=this; 198_.bindAll(this,"fetchSuccess"); 199this.app=e.app; 200this.listenTo(this.app.vent,"state:change",function(h,g){if(g.hasOwnProperty("page")){this.app.vent.trigger("view:reRender",g.page) 201}else{this.doFetch(h); 202this.app.updateOverviewLink() 203}}); 204this.app.reqres.setHandler("get:pois",function(){return f._getPois() 205}) 206},doFetch:function(g){var e,h,i={},f; 207for(f in g){if(g.hasOwnProperty(f)){if(f==="filter"){for(h in g[f]){if(g[f].hasOwnProperty(h)){i[h]=g[f][h].join(",") 208}}}else{i[f]=g[f] 209}}}i.page=i.page-1; 210this.app.layout.ui.poiOuterContainer.addClass(this.app.config.stateClass.disabled); 211this.fetch({url:fra.utils.buildUrl(this.url(),i),reset:true,error:this.onErrorHandler,success:this.fetchSuccess}) 212},fetchSuccess:function(f,e){if(f.length===0||e.error){this.onErrorHandler(this,null,e.error); 213return 214}this.app.vent.trigger("reRender:page"); 215this.app.layout.ui.poiOuterContainer.removeClass(this.app.config.stateClass.disabled); 216this.app.layout.$el.removeClass(this.app.config.stateClass.error); 217this.app.vent.trigger("map:draw",{displayedpois:this._getPois()}) 218},onErrorHandler:function(e,f,g){e.app.vent.trigger("map:draw"); 219e.app.layout.ui.poiOuterContainer.removeClass(e.app.config.stateClass.disabled); 220e.app.layout.$el.addClass(e.app.config.stateClass.error); 221fra.utils.onErrorHandler(f,g,e.app.layout.ui.errorContainer) 222},parse:function(g){var f=this; 223this.hasFetched=true; 224this.app.info.maxPage=Math.ceil((g.items.length)/this.app.config.itemsperpage); 225this.app.vent.trigger("render:paging"); 226if(g.items){for(var e in g.items){if(g.items.hasOwnProperty(e)){g.items[e].app=f.app 227}}}return g.items 228},url:function(){return fra.config.frontEnd?this.app.config.source+"?":this.app.config.source 229},_getPois:function(){var e=[],g,f;
230for(f in this.models){if(this.models.hasOwnProperty(f)){g=this.models[f]; 231if(g.attributes.poiId){e.push(g.attributes.poiId) 232}}}return e 233}}) 234}); 235define("map/templates",["handlebars"],function(a){this["JST"]=this["JST"]||{}; 236this["JST"]["dropDown"]=a.template({"1":function(i,e,b,g){var c,d,h=e.helperMissing,f="function"; 237return' <option value="'+((c=((d=(d=e.value||(i!=null?i.value:i))!=null?d:h),(typeof d===f?d.call(i,{name:"value",hash:{},data:g}):d)))!=null?c:"")+'" '+((c=e["if"].call(i,(i!=null?i.selected:i),{name:"if",hash:{},fn:this.program(2,g,0),inverse:this.noop,data:g}))!=null?c:"")+" "+((c=((d=(d=e.disabled||(i!=null?i.disabled:i))!=null?d:h),(typeof d===f?d.call(i,{name:"disabled",hash:{},data:g}):d)))!=null?c:"")+" "+((c=((d=(d=e.hidden||(i!=null?i.hidden:i))!=null?d:h),(typeof d===f?d.call(i,{name:"hidden",hash:{},data:g}):d)))!=null?c:"")+">"+((c=((d=(d=e.text||(i!=null?i.text:i))!=null?d:h),(typeof d===f?d.call(i,{name:"text",hash:{},data:g}):d)))!=null?c:"")+"</option>\r\n" 238},"2":function(e,c,b,d){return'selected="selected"' 239},compiler:[6,">= 2.0.0-beta.1"],main:function(h,f,c,g){var d,e,b; 240d=((e=(e=f.items||(h!=null?h.items:h))!=null?e:f.helperMissing),(b={name:"items",hash:{},fn:this.program(1,g,0),inverse:this.noop,data:g}),(typeof e==="function"?e.call(h,b):e)); 241if(!f.items){d=f.blockHelperMissing.call(h,d,b) 242}if(d!=null){return d 243}else{return"" 244}},useData:true}); 245this["JST"]["mapTable"]=a.template({compiler:[6,">= 2.0.0-beta.1"],main:function(g,d,b,e){var c,f=d.helperMissing; 246return'<!-- 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 </li>\r\n <!-- th -->\r\n <li class="fra_table_th">\r\n '+((c=(d.i18n||(g&&g.i18n)||f).call(g,"app.map.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.map.rowHead.location",{name:"i18n",hash:{},data:e}))!=null?c:"")+'\r\n </li>\r\n <!-- th -->\r\n <li class="fra_table_th">\r\n </li>\r\n</ul>\r\n\r\n<!--<tbody>\r\n\r\n</tbody>-->' 247},useData:true}); 248this["JST"]["mapTableRow"]=a.template({"1":function(g,e,b,f){var c,d; 249return' <svg class="icon" role="presentation">\n <use xlink:href="#icon-location-pin"/>\n </svg>\n <span class="fra_copy_5 fra_map_pin_num">'+((c=((d=(d=e.pinNum||(g!=null?g.pinNum:g))!=null?d:e.helperMissing),(typeof d==="function"?d.call(g,{name:"pinNum",hash:{},data:f}):d)))!=null?c:"")+"</span>\n" 250},"3":function(g,e,b,f){var c,d; 251return'<span class="hidden-xs">,</span></span><span class="hidden-xs"> '+((c=((d=(d=e.shortTitle||(g!=null?g.shortTitle:g))!=null?d:e.helperMissing),(typeof d==="function"?d.call(g,{name:"shortTitle",hash:{},data:f}):d)))!=null?c:"")+" " 252},"5":function(e,c,b,d){return" fra_row_inner_link" 253},"7":function(f,d,b,e){var c; 254return' <a href="'+((c=this.lambda(((c=(f!=null?f.action:f))!=null?c.url:c),f))!=null?c:"")+'" class="btn-link" role="button">
254\n <span class="fra_icon">\n <svg role="presentation" class="icon">\n <use xlink:href="#icon-link"/>\n </svg>\n </span>\n </a>\n' 255},"9":function(g,e,b,f){var c,d; 256return' <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' 257},compiler:[6,">= 2.0.0-beta.1"],main:function(g,c,f,e){var b,d,j=this.lambda,i=c.helperMissing,h="function"; 258return'<li class="fra_table_td fra_table_td__img">\n <img alt="'+((b=j(((b=(g!=null?g.media:g))!=null?b.altText:b),g))!=null?b:"")+'" class="fra_js_lazy_img" data-original="'+((b=j(((b=((b=(g!=null?g.image:g))!=null?b.src:b))!=null?b.md:b),g))!=null?b:"")+'">\n</li>\n<li class="fra_table_td fra_table_td__icon">\n'+((b=c["if"].call(g,(g!=null?g.pinNum:g),{name:"if",hash:{},fn:this.program(1,e,0),inverse:this.noop,data:e}))!=null?b:"")+'</li>\n\n<li class="fra_table_td fra_table_td__name">\n <span class="fra_copy_8">'+((b=((d=(d=c.title||(g!=null?g.title:g))!=null?d:i),(typeof d===h?d.call(g,{name:"title",hash:{},data:e}):d)))!=null?b:"")+" "+((b=c["if"].call(g,(g!=null?g.shortTitle:g),{name:"if",hash:{},fn:this.program(3,e,0),inverse:this.noop,data:e}))!=null?b:"")+'</span>\n</li>\n\n<li class="fra_table_td fra_table_td__offer fra_copy_8">\n '+((b=((d=(d=c.location||(g!=null?g.location:g))!=null?d:i),(typeof d===h?d.call(g,{name:"location",hash:{},data:e}):d)))!=null?b:"")+'\n</li>\n\n<li class="fra_table_td'+((b=c["if"].call(g,(g!=null?g.action:g),{name:"if",hash:{},fn:this.program(5,e,0),inverse:this.noop,data:e}))!=null?b:"")+'">\n'+((b=c["if"].call(g,(g!=null?g.action:g),{name:"if",hash:{},fn:this.program(7,e,0),inverse:this.noop,data:e}))!=null?b:"")+'</li>\n\n<li class="fra_row_link">\n'+((b=c["if"].call(g,(g!=null?g.detailPageUrl:g),{name:"if",hash:{},fn:this.program(9,e,0),inverse:this.noop,data:e}))!=null?b:"")+"</li>" 259},useData:true}); 260this["JST"]["mapTile"]=a.template({"1":function(g,e,b,f){var c,d; 261return' <div class="icon-wrapper fra_map_tile_icon__poi">\n <svg role="presentation" class="icon">\n <use xlink:href="#icon-location-pin"></use>\n </svg>
261\n <span class="fra_copy_5 fra_map_pin_num">'+((c=((d=(d=e.pinNum||(g!=null?g.pinNum:g))!=null?d:e.helperMissing),(typeof d==="function"?d.call(g,{name:"pinNum",hash:{},data:f}):d)))!=null?c:"")+"</span>\n </div>\n" 262},"3":function(g,e,b,f){var c,d; 263return' <p class="fra_copy_7">'+((c=((d=(d=e.bodyText||(g!=null?g.bodyText:g))!=null?d:e.helperMissing),(typeof d==="function"?d.call(g,{name:"bodyText",hash:{},data:f}):d)))!=null?c:"")+"</p>\n" 264},"5":function(g,e,b,f){var c,d; 265return' <a class="fra_tile_link" 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' 266},compiler:[6,">= 2.0.0-beta.1"],main:function(g,c,f,e){var b,d,j=this.lambda,i=c.helperMissing,h="function"; 267return'<div class="fra_tile_background">\n <img class="img-responsive js_responsive_image"\n data-resp-src=\'[{\n "mq": "screen_xs",\n "src": "'+((b=j(((b=((b=(g!=null?g.image:g))!=null?b.src:b))!=null?b.xs:b),g))!=null?b:"")+'"\n },{\n "mq": "screen_sd",\n "src": "'+((b=j(((b=((b=(g!=null?g.image:g))!=null?b.src:b))!=null?b.sd:b),g))!=null?b:"")+'"\n },{\n "mq": "screen_md",\n "src": "'+((b=j(((b=((b=(g!=null?g.image:g))!=null?b.src:b))!=null?b.md:b),g))!=null?b:"")+'"\n }]\'/>\n <noscript>\n <img class="img-responsive" src="'+((b=j(((b=((b=(g!=null?g.image:g))!=null?b.src:b))!=null?b.md:b),g))!=null?b:"")+'" alt="'+((b=j(((b=(g!=null?g.image:g))!=null?b.altText:b),g))!=null?b:"")+'" />\n </noscript>\n'+((b=c["if"].call(g,(g!=null?g.pinNum:g),{name:"if",hash:{},fn:this.program(1,e,0),inverse:this.noop,data:e}))!=null?b:"")+' <div class="fra_gradient_overlay"></div>\n</div>\n<div class="fra_tile_text">\n <h4 class="fra_headline_4 fra_single_line_clamp">'+((b=((d=(d=c.title||(g!=null?g.title:g))!=null?d:i),(typeof d===h?d.call(g,{name:"title",hash:{},data:e}):d)))!=null?b:"")+'</h4>\n <p class="fra_copy_6 fra_single_line_clamp">'+((b=((d=(d=c.shortTitle||(g!=null?g.shortTitle:g))!=null?d:i),(typeof d===h?d.call(g,{name:"shortTitle",hash:{},data:e}):d)))!=null?b:"")+"</p>\n"+((b=c["if"].call(g,(g!=null?g.bodyText:g),{name:"if",hash:{},fn:this.program(3,e,0),inverse:this.noop,data:e}))!=null?b:"")+"</div>\n\n"+((b=c["if"].call(g,(g!=null?g.detailPageUrl:g),{name:"if",hash:{},fn:this.program(5,e,0),inverse:this.noop,data:e}))!=null?b:"") 268},useData:true}); 269this["JST"]["pagination"]=a.template({"1":function(i,e,b,g){var c,d,h=e.helperMissing,f="function"; 270return" <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" 271},"2":function(e,c,b,d){return' class="fra_active"' 272},compiler:[6,">= 2.0.0-beta.1"],main:function(i,g,d,h){var e,f,c,b='<ul class="pagination">\r\n'; 273e=((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)); 274if(!g.items){e=g.blockHelperMissing.call(i,e,c) 275}if(e!=null){b+=e 276}return b+"</ul>" 277},useData:true}); 278return this["JST"] 279}); 280define("map/views/CommonItemViewFunctions",["require","jquery"],function(a){var b=a("jquery"); 281return{modelEvents:{change:"render"},initialize:function(c){this.bindEventListeners(c) 282},onRender:function(){fra.utils.refreshAjaxContent(this.$el) 283},bindEventListeners:function(c){this.listenTo(c.app.vent,"highlight:poi:"+this.model.get("poiId"),function(){var d=this; 284this.$el.addClass("fra_hover"); 285setTimeout(function(){d.$el.removeClass("fra_hover") 286},1500) 287}); 288this.listenTo(c.app.vent,"lowlight:poi:"+this.model.get("poiId"),function(){this.$el.removeClass("fra_hover") 289}); 290this.listenTo(c.app.vent,"up:label",function(d){b.log("bla set:label",this.model.get("poiId"),d) 291}) 292}} 293}); 294define("map/views/POIsCompositeView",["require","jquery","../app","../templates","../../abstracts/view/AbstractCompositeView","../../abstracts/view/childViews/TileView","../../abstracts/view/childViews/TableView","./CommonItemViewFunctions"],function(c){var g=c("jquery"),f=c("../app"),d=c("../templates"),a=c("../../abstracts/view/AbstractCompositeView"),h=c("../../abstracts/view/childViews/TileView"),e=c("../../abstracts/view/childViews/TableView"),b=c("./CommonItemViewFunctions");
295return a.extend({_App:f,_events:{"view:reRender":"doRender"},_childViews:{tile:h.extend(b),list:e.extend(b)},_templates:{list:d.mapTable},_childTemplates:{list:d.mapTableRow,tile:d.mapTile},_initialize:function(i){this._App=i.app; 296this.collection=this._App.data.pois 297},filter:function(m,j,l){var k=(this._App.config.itemsperpage*(this._App.info.activePages[0]-1)<=j),i=(j<this._App.config.itemsperpage*(this._App.info.activePages[this._App.info.activePages.length-1])); 298return(k&&i) 299},doRender:function(i){if(i===1||fra.bps.getBreakpoint()>1){this._App.info.activePages=[i]; 300this.render() 301}},_onRender:function(){this._App.info.loading=false 302},updateView:function(){if(this.isEmpty(this.collection)){this.showEmptyView() 303}else{this.triggerMethod("before:render:collection",this); 304this.startBuffering(); 305var j; 306var i=this._filteredSortedModels(); 307_.each(i,function(n,l){var m=(this._App.config.itemsperpage*(this._App.info.activePages[this._App.info.activePages.length-1]-1)<=l),k=(l<this._App.config.itemsperpage*(this._App.info.activePages[this._App.info.activePages.length-1])); 308if(m&&k){j=this.getChildView(n); 309this.addChild(n,j,l) 310}},this); 311this.endBuffering(); 312this.triggerMethod("render:collection",this); 313this._App.info.loading=false; 314this._App.layout.regionManager.get("showcase").currentView.$el.find(".fra_mini_spinner").remove(); 315if(this.children.isEmpty()){this.showEmptyView() 316}}this._isRendering=false; 317this.isRendered=true; 318this.triggerMethod("render",this); 319return this 320}}) 321}); 322define("map/views/PaginationView",["require","jquery","underscore","marionette","../templates"],function(b){var d=b("jquery"),a=b("underscore"),e=b("marionette"),c=b("../templates"); 323return e.ItemView.extend({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.maxPage; 324var i=this.app.state.get("page"); 325if(i-3>0){f=i-3 326}else{f=1; 327g=j>=7?7:j 328}if(!g){if(i+3<=j){g=i+3 329}else{f=j<7?1:j-6; 330g=j 331}}for(; 332f<=g; 333f++){h.push({page:f,active:f===i}) 334}return{items:h} 335},initialize:function(f){this.app=f.app; 336this.listenTo(this.app.vent,"state:change:page",this.render); 337this.listenTo(this.app.vent,"reRender:page",this.render) 338},onClick:function(g){var f; 339g.preventDefault(); 340f=d(g.currentTarget); 341this.app.state.set("page",f.data("page")); 342this.app.info.activePages=[f.data("page")] 343},onRender:function(){this.updateNextPrevButton() 344},updateNextPrevButton:function(){var f=this.app.state.get("page"); 345this.app.layout.ui.pagePrev.data("page",f-1); 346this.app.layout.ui.pageNext.data("page",f+1); 347if(f<=1){this.app.layout.ui.pagePrev.addClass("hidden") 348}else{this.app.layout.ui.pagePrev.removeClass("hidden") 349}if(f>=this.app.info.maxPage){this.app.layout.ui.pageNext.addClass("hidden") 350}else{this.app.layout.ui.pageNext.removeClass("hidden") 351}this.app.layout.ui.pagePrev.off(fra.integrator.isTouchDevice()?"touchstart":"click"); 352this.app.layout.ui.pageNext.off(fra.integrator.isTouchDevice()?"touchstart":"click"); 353this.app.layout.ui.pagePrev.on(fra.integrator.isTouchDevice()?"touchstart":"click",a.bind(this.onClick,this)); 354this.app.layout.ui.pageNext.on(fra.integrator.isTouchDevice()?"touchstart":"click",a.bind(this.onClick,this)) 355}}) 356}); 357define("abstracts/mixinSearch",["require","jquery"],function(a){var b=a("jquery"); 358return{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 359}},onDestroy:function(){this._outsideHandler.unbind() 360},_handleSearchInputKeyUp:function(c){if(c.keyCode===27){this.closeSearchBar() 361}this.triggerMethod("search:keyUp",c.keyCode) 362},onRender:function(){var c; 363if(this.searchStateKey&&this.appInstance.state.has(this.searchStateKey)){c=this.appInstance.state.get(this.searchStateKey); 364this.ui.searchInput.val(c); 365this.setSearchQuery(c) 366}
366this._outsideHandler=fra.utils.outsideHandler(this.ui.searchWrapper,this.closeSearchBar,{ctx:this}) 367},openSearchBar:function(){this.ui.searchWrapper.addClass(this.appInstance.config.stateClass.active); 368this.ui.searchInput.focus(); 369this._outsideHandler.bind(); 370this.triggerMethod("search:open") 371},clearSearchBar:function(){this.ui.searchInput.val(""); 372this.ui.searchInput.focus(); 373this.triggerMethod("search:clear"); 374this.ui.searchOutputWrapper.removeClass(this.appInstance.config.stateClass.active); 375if(this.searchStateKey){this.appInstance.state.unset(this.searchStateKey) 376}},closeSearchBar:function(){this.ui.searchWrapper.removeClass(this.appInstance.config.stateClass.active); 377this.ui.searchInput.blur(); 378this._outsideHandler.unbind(); 379this.triggerMethod("search:close") 380},submitSearch:function(d){var c; 381if(d&&d.preventDefault){d.preventDefault() 382}c=b.trim(this.ui.searchInput.val()); 383if(c.length===0){return 384}if(this.searchStateKey){this.appInstance.state.set(this.searchStateKey,c) 385}this.triggerMethod("search:submit",c); 386this.closeSearchBar(); 387this.setSearchQuery(c) 388},setSearchQuery:function(c){this.ui.searchOutputText.text(this.searchText.replace("{{search}}",c)); 389this.ui.searchOutputWrapper.addClass(this.appInstance.config.stateClass.active) 390},removeFilter:function(){this.ui.searchInput.val(""); 391this.triggerMethod("search:remove"); 392this.closeSearchBar(); 393this.ui.searchOutputWrapper.removeClass(this.appInstance.config.stateClass.active); 394if(this.searchStateKey){this.appInstance.state.unset(this.searchStateKey) 395}}} 396}); 397define("map/views/SectionFilterView",["require","jquery","marionette","../../abstracts/mixinSearch","../templates"],function(b){var d=b("jquery"),e=b("marionette"),a=b("../../abstracts/mixinSearch"),c=b("../templates"); 398return e.ItemView.extend({template:false,subcategoryTemplate:c.dropDown,el:".fra_js_section_nav_view",ui:{category:".fra_js_map_category",subCategory:".fra_js_map_subcategory"},mixins:[a],searchStateKey:"search",_subCategory:"",events:{"change @ui.category":function(){this.app.state.set("category",this.ui.category.val(),{silent:true}); 399this.app.state.unset(this.searchStateKey,{silent:true}); 400this.app.state.unset("poi",{silent:true}); 401this.app.state.set("page",1,{silent:true}); 402this.app.info.activePages=[1]; 403this.app.vent.trigger("category:changed"); 404this.setSubCategories(true) 405},"change @ui.subCategory":function(){this.app.state.set("page",1,{silent:true}); 406this.app.state.unset(this.searchStateKey,{silent:true}); 407this.app.info.activePages=[1]; 408this.app.state.set("subCategory",this.ui.subCategory.val()); 409this.app.state.unset("poi") 410}},initialize:function(f){this.app=f.app; 411this.$el=f.app.config.$el.find(this.$el.selector); 412this.el=this.$el[0]; 413this.listenTo(this.app.vent,"before:filter:updated",function(){this.app.state.unset(this.searchStateKey,{silent:true}); 414this.ui.searchInput.val("") 415}) 416},onRender:function(){var f=this; 417this.setCategory(this.app.state.get("category"),this.app.state.get("subCategory")); 418if(this.app.state.has("category")){this.ui.category.val(this.app.state.get("category")) 419}this.setSubCategories(false); 420if(this.app.state.has("subCategory")){this.ui.subCategory.val(this.app.state.get("subCategory")) 421}if(this.app.config.suggest){this.ui.searchInput.fra_autocomplete({url:this.app.config.suggest.url,parser:"suggestions",onClick:function(h,g){f.submitSearch() 422}}) 423}},setCategory:function(f,g){if(!this._isRendered){return 424}if(f){this.ui.category.val(f) 425}this.setSubCategories(false); 426if(g){this.ui.subCategory.val(g) 427}},setSubCategories:function(h){var j=this.ui.category.find(":selected"),i={items:j.data("subcategories")},f,g,l,k; 428if(h===undefined){h=true 429}if(!i.items){this.ui.subCategory.addClass("hidden"); 430if(h){this.app.state.unset("subCategory") 431}return 432}f=_.find(i.items,{selected:true}); 433if(f&&h){k=this.app.state.get("subCategory"); 434this.app.state.set("subCategory",f.value); 435l=this.app.state.get("subCategory"); 436if(l===k){this.app.vent.trigger("state:change",this.app.state.attributes,{}) 437}}if(!f){if(h){this.app.state.unset("subCategory") 438}i.items.unshift({text:fra.i18n.app.map.subCategory,selected:true,value:"all"}) 439}g=e.Renderer.render(this.subcategoryTemplate,this.mixinTemplateHelpers(i),this); 440this.ui.subCategory.html(g); 441this.ui.subCategory.removeClass("hidden") 442},onSearchSubmit:function(){this.app.state.set({category:undefined,subCategory:undefined,filter:undefined}) 443}}) 444}); 445define("map/views/RootLayout",["require","jquery","../../abstracts/AbstractLayout","./POIsCompositeView","./PaginationView","./SectionFilterView","../app","../../abstracts/view/ViewToggle"],function(b){var e=b("jquery"),d=b("../../abstracts/AbstractLayout"),a=b("./POIsCompositeView"),g=b("./PaginationView"),f=b("./SectionFilterView"),c=b("../app"),h=b("../../abstracts/view/ViewToggle");
446return d.extend({el:".fra_js_app_map",regions:{showcase:".fra_js_pois_container",viewToggle:".fra_js_toggle",filter:".fra_filter_popup__container",subCategory:".fra_js_map_subcategory_container",pagination:".fra_pagination_container",sectionFilter:".fra_js_map_search_region"},views:{poisComposite:a,viewToggle:{view:h,options:{App:c,createInstance:true}},pagination:g,searchView:f},ui:{sectionFilter:".fra_js_section_filter_region",poiOuterContainer:".fra_js_poi_outer_container",pageNext:".fra_js_page_next",pagePrev:".fra_js_page_prev",paginationWrapper:".fra_pagination_wrapper",mapRegion:".fra_map_map",overViewButton:".fra_js_map_load_overView",category:".fra_js_map_category",subCategory:".fra_js_map_subcategory",filter:".fra_js_filter_popup",filterInfo:".fra_filter_info__container",filterInfoReset:".fra_js_filter_reset",filterInfoText:".fra_filter_info__text",filterClose:".fra_js_filter_close",errorContainer:".fra_request_error__container"},events:{"click @ui.filterInfoReset":function(){this.app.vent.trigger("filter:reset") 447},"click @ui.filterClose":function(){this.app.vent.trigger("filter:set",this.app.state.get("filter")) 448}},onBeforeInitialize:function(i){},_initialize:function(){e.log("layout this",this) 449}}) 450}); 451define("map/app",["require","exports","module","jquery","../abstracts/StateRouter","../abstracts/AbstractApplication","./actions","./mapActions","./models/PoisCollection","./views/RootLayout"],function(c,e,b){var g=c("jquery"),k=c("../abstracts/StateRouter"),i=c("../abstracts/AbstractApplication"),a=c("./actions"),j=c("./mapActions"),f=c("./models/PoisCollection"),h=c("./views/RootLayout"); 452var d=i.extend({setup:{appName:"Map",appVentPrefix:"map",layout:h,actions:[a,j],data:{pois:f},appConfig:{map:{displayedpois:[],zoomlevel:15,userinteraction:true,mapChanged:this.onMapChanged,poiClicked:(function(l,m){if(m){g.log("eventType = ",m); 453if(m==="mouseover"){this.instance.vent.trigger("mouseover:"+l) 454}if(m==="mouseout"){this.instance.vent.trigger("mouseout:"+l) 455}}else{g.log(JSON.stringify(l)) 456}this.instance.onPoiClicked(arguments) 457}).bind(this),lcid:"de",selector:"map1"}},info:{activePages:[1]},_hasFilterView:false,_onStart:function(l){var m=this; 458this.appConfig.map.mapChanged=function(o,n){m.onMapChanged(o,n) 459}; 460this.appConfig.map.poiClicked=function(n,o){if(o){g.log("eventType = ",o); 461if(o==="mouseover"){m.vent.trigger("mouseover:"+n) 462}if(o==="mouseout"){m.vent.trigger("mouseout:"+n) 463}}else{g.log(JSON.stringify(n)) 464}m.onPoiClicked(arguments) 465}; 466g.log("Map app on start",this); 467this.layout.bindUIElements(); 468if(this.config.map.hasOwnProperty("zoommaptomarkerbounds")){this.appConfig.map.zoomMapToMarkerBounds=this.config.map.zoommaptomarkerbounds 469}if(this.config.map.hasOwnProperty("showmarkersfromalllevels")){this.appConfig.map.showMarkersFromAllLevels=this.config.map.showmarkersfromalllevels 470}if(this.config.map.hasOwnProperty("zoommaptomarkerboundsmaximumzoom")){this.appConfig.map.zoomMapToMarkerBoundsMaximumZoom=this.config.map.zoommaptomarkerboundsmaximumzoom 471}if(fra.utils.hasNestedKey(this.config,"map.location.latitude")){if(this.appConfig.map.location===undefined){this.appConfig.map.location={} 472}this.appConfig.map.location.latitude=this.config.map.location.latitude 473}if(fra.utils.hasNestedKey(this.config,"map.location.longitude")){if(this.appConfig.map.location===undefined){this.appConfig.map.location={} 474}this.appConfig.map.location.longitude=this.config.map.location.longitude 475}if(fra.utils.hasNestedKey(this.config,"map.location.level")){if(this.appConfig.map.location===undefined){this.appConfig.map.location={} 476}this.appConfig.map.location.level=this.config.map.location.level 477}this.appVentPrefix=this.config.module.name||this.appVentPrefix; 478g.extend(this.config,this.appConfig); 479this.config.category=this.layout.ui.category.val(); 480this.config.subCategory=this.layout.ui.subCategory.val(); 481this.state=k.create(this.appVentPrefix,{category:{dataType:"string",defaults:this.config.category},subCategory:{dataType:"string",defaults:this.config.subCategory},search:"string",page:{dataType:"number",defaults:1},filter:"object",poi:"array"}); 482this.state.connectWith(this.vent); 483this.state.check(); 484this.state.on("change",function(n){m.stateAttributes=fra.utils.deepClone(m.state.attributes) 485}); 486this.vent.on("all",function(n){g.log("~Map DEBUG: Event Caught: "+n) 487}); 488this.layout.bindUIElements() 489}}}); 490return d 491}); 492(function(){if(typeof fra_jquery==="function"){define("jquery",function(){return fra_jquery 493}) 494}if(typeof Handlebars==="object"){define("handlebars",function(){return Handlebars 495}) 496}if(typeof moment==="function"){define("moment",function(){return moment 497}) 498}if(fra.config.requirejsConfig){requirejs.config(fra.config.requirejsConfig) 499}}()); 500define("map/main",["require","backbone","marionette","./app","jquery"],function(b){var h=b("backbone"),g=b("marionette"),c=b("./app"),e=b("jquery"),d=e(".fra_js_app_map"); 501var a,f; 502if(window.__agent&&fra.config.debug){window.__agent.start(h,g) 503}d.each(function(){a=e(this).data("moduleName"); 504f=new c({appName:a}); 505f.start({$el:e(this),app:f}); 506f.run() 507}) 508}); 509require(["map/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.