travel-sales.min.js 8.39 KB
Newer Older
nabil el mahiri committed
1 2
!function(){"use strict";angular.module("travel-sales",["ui.router","travel"]),angular.module("travel",["ui.router","hc.marked","ui.bootstrap","angulartics","angulartics.google.analytics"]),angular.module("travel").config(["$analyticsProvider",function(a){a.withAutoBase(!0)}]),angular.module("travel-sales").config(["$sceProvider","$stateProvider","$urlRouterProvider","$httpProvider","$locationProvider","settings",function(a,b,c,d,e,f){function g(a){return a.data}e.hashPrefix("!");var h={search:{url:"/?country&destination&period&theme&budget"},searchByType:{url:"/:family?country&destination&period&theme&budget"},searchInCountry:{url:"/:country?&family&destination&period&theme&budget"},view:{url:"/:countries/:name,:travel"}};b.state("search",{url:h.search.url,templateUrl:"hermes-travel-search",controller:"travel_SearchCtrl",resolve:{options:["$http","$q",function(a,b){var c={};return c.themes=a.get("/themes?skip=0&limit=1000").then(g),c.countries=a.get("/countries?qt=index&skip=0&limit=1000").then(g),c.destinations=a.get("/destinations?skip=0&limit=1000").then(g),c.families=f.travels.families,c.types=f.travels.types,b.all(c)}]}}).state("view",{url:h.view.url,templateUrl:"hermes-travel-view",controller:"travel_ViewCtrl"}).state("searchByType",{url:"/:family?country&destination&period&theme&budget",templateUrl:"hermes-travel-search",controller:"travel_SearchCtrl",resolve:{options:["$http","$q",function(a,b){var c={};return c.themes=a.get("/themes?skip=0&limit=1000").then(g),c.countries=a.get("/countries?qt=index&skip=0&limit=1000").then(g),c.destinations=a.get("/destinations?skip=0&limit=1000").then(g),c.families=f.travels.families,c.types=f.travels.types,b.all(c)}]}}).state("agences",{url:"/nos-agences",templateUrl:"agences-list",controller:"agencesCtrl"}),c.otherwise("/"),d.defaults.headers.common.Accept="application/json"}]),angular.module("travel").controller("agencesCtrl",["$scope","$http","$log",function(a,b,c){c.info("in agencesCtrl")}]),angular.module("travel").controller("travels_SearchFormCtrl",["$scope","$http","$window","$location","$log","settings",function(a,b,c,d,e,f){function g(b){if(console.log("serach type",b),"OMRA"===b){var e=a.query.travel,f={type:"OMRA",lang:"fr"};e.from&&(f.from=moment(e.from).format("YYYY-MM-DD"),f.to=moment(f.from).add(2,"M").format("YYYY-MM-DD"));var g=[];angular.forEach(f,function(a,b){g.push(b+"="+a)}),console.log("$window.location.href","/ngapps/omra-sales#/?"+g.join("&")),c.location.href="/ngapps/omra-sales#/?"+g.join("&")}else if(void 0!==e.destination){console.log("country variable",e.destination);var e=a.query.travel,h=e.destination,f={country:h.code+":"+h.name,type:e.type||b||"vo",lang:e.lang||"fr"};e.from&&(f.from=moment(e.from).format("YYYY-MM-DD"),f.to=moment(f.from).add(2,"M").format("YYYY-MM-DD")),e.theme&&(f.theme=e.theme);var g=[];angular.forEach(f,function(a,b){g.push(b+"="+a)}),"/voyages"===c.location.pathname?(d.path("/"),d.search(f)):"VO"===b?c.location.href="/ngapps/vo-sales#/?"+g.join("&"):"CLUBMED"===b?c.location.href="/ngapps/clubmed-sales#/?"+g.join("&"):"CRUISE"===b&&(c.location.href="/ngapps/cruise-sales#/?"+g.join("&"))}}function h(b,c){b.preventDefault(),b.stopPropagation(),angular.forEach(a.calendarsOpen,function(b,c){a.calendarsOpen[c]=!1}),a.calendarsOpen[c]=!a.calendarsOpen[c]}a.query;a.query.travel=a.query.travel||{},angular.extend(a,{maxAdults:4,maxChildren:4,search:g,toggleCalendar:h,calendarsOpen:{},options:{adults:[1,2,3,4],children:[0,1,2,3,4],ages:[1,2,3,4,5,6,7,8,9,10,11,12],durations:[5,7,14,15],minStartDate:moment().startOf("day").toDate(),minEndDate:moment().add(1,"days").startOf("day").toDate(),minEndMonth:moment().add(1,"days").startOf("month").toDate(),datepickerTo:{initDate:"$parent.$parent.options.minEndDate"},months:["Janvier","Férvier","Mars","Avril","Mais","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre"],types:[{name:"Tout"},{code:"tour",name:"Circuit"},{code:"stay",name:"Séjour"},{code:"club",name:"Club/All Inclusive"}],vo:{countries:f.vo.default.countries,themes:f.vo.default.themes},cruise:{countries:f.cruise.default.countries},clubmed:{countries:f.clubmed.default.countries}}}),a.query.travel.destination=a.options.vo.countries[0],a.query.travel.from=moment().format("YYYY-MM-DD")}]),angular.module("travel").controller("travel_SearchCtrl",["$scope","$log","$rootScope","$state","$stateParams","$http","options","$location",function(a,b,c,d,e,f,g,h){function i(a,b){h.search(a.code,b[a.itemCode]||null)}function j(a,b){for(var c=a.items.length;c--;)if(a.items[c][a.itemCode]==b)return a.items[c];return!1}function k(a,b,c){var d=b.length;for(c=c||"code";d--;)if(b[d][c]===a)return b[d];return null}function l(b){var c=angular.copy(e);c.limit=20,c.qt="search",b?c.skip=u.length:(c.skip=0,u.length=0),t.skip=c.skip,c.country&&(c.country=c.country.toUpperCase()),a.status="searching",f.get("/travels",{params:c}).then(m,p)}function m(b){if(a.status="results",!b.data)return void(0===u.length&&(a.status="nocontent"));c.meta={title:"Voyages organisés : "+b.data[0].destinations[0].country.name,description:"Voyages organisés par Atlas Voyages, destination "+b.data[0].destinations[0].country.name},a.$emit("pageView",c.meta),angular.forEach(b.data,n),u.push.apply(u,b.data),u.length<20?a.hasMore=!1:a.hasMore=!0}function n(a){if(a.links.view=window.location.pathname+"#!/"+a.links.view,a.photos&&0!==a.photos.length){var b=a.photos[0].href;b&&(a.photos[0].href=b.replace("http://atlasvoyages.s3.amazonaws.com/","//d38217paua6wkj.cloudfront.net/320x240/"))}}function o(){t.country&&h.search("country",t.country._id||null),t.destination&&h.search("destination",t.destination._id||null)}function p(){b.error("search returned an error",arguments),a.status="error"}function q(){var a=moment.months();a=["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"];var b=moment().month(),c=a.slice(b);c=c.concat(a.slice(void 0,b));for(var d=[{label:"Toutes les périodes"}],e=0;0!==c.length;)d.push({code:e,label:c.shift()}),e++;return d}function r(){return[{label:"Tous budgets"},{code:"0,5000",label:"moins de 5.000 Dh (par pers.)"},{code:"5000,10000",label:"5.000 - 10.000 Dh par pers."},{code:"10000,15000",label:"10 000 - 15 000 Dh (par pers.)"},{code:"15000,20000",label:"15 000 - 20 000 Dh (par pers.)"},{code:"20000,999999",label:"plus de 20 000 Dh (par pers.)"}]}var s={},t={},u=[];s.period={weight:3,label:"Toutes les périodes",code:"period",itemLabel:"label",itemCode:"code",items:q()},s.theme={weight:2,label:"Tous les thèmes",code:"theme",itemLabel:"name",itemCode:"_id",items:g.themes},s.budget={weight:4,label:"Tous les budget",code:"budget",itemLabel:"label",itemCode:"code",items:r()};for(var v in s)t[v]=j(s[v],e[v]);if(g.countries.unshift({code:null,name:"Tous les pays"}),g.destinations.unshift({code:null,name:"Toutes les destinations"}),angular.extend(a,{filters:s,filter:i,search:l,context:"search",query:t,results:u,options:g,changeDestination:o}),e.family)for(var w=0;w<g.families.length;w++)if(g.families[w].code===e.family){a.family=g.families[w];break}e.country&&(t.country=k(e.country,g.countries,"_id")),e.destination&&f.get("/destinations/"+e.destination).then(function(a){t.destination=a.data}),l()}]),angular.module("travel").controller("travel_ViewCtrl",["$scope","$rootScope","$log","$state","$stateParams","$http",function(a,b,c,d,e,f){function g(){f.get("/travels/"+e.travel).then(h,i)}function h(d){a.status="results",c.debug("travel_ViewCtrl",d.data),document.title=d.data.name,b.meta={title:d.data.name,description:d.data.teaser},a.$emit("pageView",b.meta),angular.forEach(d.data.photos,function(a){a.href=a.href.replace("http://atlasvoyages.s3.amazonaws.com/","//d38217paua6wkj.cloudfront.net/640x480/")}),a.travel=d.data,o.product={_id:d.data._id,name:d.data.name},a.requestStatus="blank"}function i(){c.error("search returned an error",arguments),a.status="error"}function j(){a.status="saving",f.post("/travel-product-requests",a.request).success(k).error(l)}function k(){a.requestStatus="success",window.ga&&window.ga("send","event","voyage","demande",b.meta.title)}function l(){a.requestStatus="failed"}function m(){}function n(a){for(console.log(o);o.children.length<a;)o.children.push({age:0});for(;o.children.length>a;)o.children.pop()}c.debug("travel_SearchCtrl\n========="),a.context="travel";var o={children:[]};g(),angular.extend(a,{toggleCalendar:m,sendReservation:j,childCountChanged:n,options:{minDeparture:moment().toDate()},request:o,childCount:0})}])}();
//# sourceMappingURL=travel-sales.min.js.map