commonroutesApp/www/js/travel.js
www/js/travel.jsRaw
1angular.module('app.travel', ['pascalprecht.translate', 'ui-leaflet'])
2
3.controller('TravelCtrl', function($scope, $stateParams, $http,
4 $ionicModal, $ionicLoading, $ionicPopup, $filter) {
5
6 $scope.center= {
7 lat: 0,
8 lng: 0,
9 zoom: 1
10 };
11 $scope.markers=[];
12 $scope.tiles= {
13 url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
14 options: {
15 attribution: '<a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
16 }
17 };
18
19 $scope.travel={};
20 $scope.doRefresh = function() {
21 /* travels refresh: */
22 $http.get(urlapi + 'travels/id/' + $stateParams.travelid)
23 .then(function(data){
24 console.log('data success travels');
25 console.log(data); // for browser console
26 $scope.travel = data.data; // for UI
27 $scope.markers=[];
28 $scope.markers.push({
29 lat: Number($scope.travel.from.lat),
30 lng: Number($scope.travel.from.long),
31 message: $scope.travel.from.name
32 });
33 $scope.markers.push({
34 lat: Number($scope.travel.to.lat),
35 lng: Number($scope.travel.to.long),
36 message: $scope.travel.to.name
37 });
38 $scope.$broadcast('scroll.refreshComplete');//refresher stop
39
40 }, function(data){
41 console.log('data error');
42 $scope.$broadcast('scroll.refreshComplete');//refresher stop
43 $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
44
45 });
46 };
47 $scope.doRefresh();
48
49 $scope.deleteTravel = function(){
50
51 var confirmPopup = $ionicPopup.confirm({
52 title: 'Deleting publication',
53 template: 'Are you sure you want to delete <b>'+ $scope.travel.title+'</b>?'
54 });
55 confirmPopup.then(function(res) {
56 if(res) {
57 console.log('You are sure');
58 console.log("delete travel: " + $stateParams.travelId);
59 $http({
60 url: urlapi + 'travels/' + $stateParams.travelId,
61 method: "DELETE"
62 })
63 .then(function(response) {
64 console.log(response);
65 $scope.travels=response.data;
66 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
67 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
68
69 },
70 function(response) { // optional
71 // failed
72 });
73 } else {
74 console.log('You are not sure');
75 }
76 });
77
78
79 };
80 $scope.joinTravel = function(){
81 $http({
82 url: urlapi + 'travels/join/'+ $stateParams.travelid,
83 method: "POST",
84 data: {}
85 })
86 .then(function(data) {
87 console.log("data: ");
88 console.log(data);
89 if(data.success==false){
90 $ionicLoading.show({template: 'Error on unjoin', noBackdrop: true, duration: 2000});
91 }else{
92 $scope.travel=data.data;
93 }
94 },
95 function(response) { // optional
96 // failed
97 });
98 };
99 $scope.unjoinTravel = function(){
100 $http({
101 url: urlapi + 'travels/unjoin/'+ $stateParams.travelid,
102 method: "POST",
103 data: {}
104 })
105 .then(function(data) {
106 console.log("data: ");
107 console.log(data);
108 if(data.success==false){
109 $ionicLoading.show({template: 'Error on unjoin', noBackdrop: true, duration: 2000});
110 }else{
111 $scope.travel=data.data;
112 }
113 },
114 function(response) { // optional
115 // failed
116 });
117 };
118
119 /* adding comment */
120 $scope.doingNewComment=false;
121 $scope.newComment={};
122
123 $scope.showNewComment = function() {
124 $scope.doingNewComment=true;
125 };
126 $scope.closeNewComment = function() {
127 $scope.doingNewComment=false;
128 };
129 $scope.doNewComment = function() {
130 /*$scope.newComment.commentUserId=localStorage.getItem("c_userid");
131 $scope.newComment.commentUsername=localStorage.getItem("c_username");
132 $scope.newComment.commentAvatar=localStorage.getItem("c_avatar");*/
133console.log($scope.newComment);
134 $http({
135 url: urlapi + 'travels/'+ $stateParams.travelId+'/comment',
136 method: "POST",
137 data: $scope.newComment
138 })
139 .then(function(response) {
140 // success
141 console.log("newComment added to server: " + response);
142 console.log(response);
143 $scope.travels=response.data;
144 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
145 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
146 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
147
148 if(response.data.success==false){
149
150 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
151 }
152 },
153 function(response) { // optional
154 // failed
155 });
156 $scope.closeNewComment();
157 };
158
159
160 $scope.userHasJoined = function(myArray, searchTerm) {
161 //console.log(myArray+", "+searchTerm+", "+property);
162 if(myArray)
163 {
164 for(var i = 0, len = myArray.length; i < len; i++) {
165 //console.log(myArray[i] + " - " + searchTerm);
166 if (myArray[i] === searchTerm){
167 //console.log("i: " + i);
168 return i;
169 }
170 }
171 }
172 //console.log("i: -1");
173 return -1;
174 };
175});