commonroutesApp/www/js/controllers.js
www/js/controllers.jsRaw
1
2//var urlapi="http://localhost:3000/api/";
3var urlapi="https://collectivecar.paas.primustech.io/api/";
4
5
6//localStorage.setItem("c_username", "user2");
7//localStorage.setItem("c_token", "");
8
9
10angular.module('starter.controllers', ['pascalprecht.translate'])
11
12.controller('AppCtrl', function($scope, $ionicModal, $timeout, $http, $window, $ionicLoading) {
13 // With the new view caching in Ionic, Controllers are only called
14 // when they are recreated or on app start, instead of every page change.
15 // To listen for when this page is active (for example, to refresh data),
16 // listen for the $ionicView.enter event:
17 //$scope.$on('$ionicView.enter', function(e) {
18 //});
19
20 // Form data for the login modal
21 $scope.loginData = {};
22 $scope.signupData= {};
23
24 $scope.storageusername=localStorage.getItem("c_username");
25 $scope.storageavatar=localStorage.getItem("c_avatar");
26 // Create the login modal that we will use later
27 $ionicModal.fromTemplateUrl('templates/login.html', {
28 scope: $scope
29 }).then(function(modal) {
30 $scope.modalLogin = modal;
31 });
32 $ionicModal.fromTemplateUrl('templates/signup.html', {
33 scope: $scope
34 }).then(function(modal) {
35 $scope.modalSignup = modal;
36 });
37
38 // Triggered in the login modal to close it
39 $scope.closeLogin = function() {
40 $scope.modalLogin.hide();
41 };
42 $scope.closeSignup = function() {
43 $scope.modalSignup.hide();
44 };
45
46 // Open the login modal
47 $scope.login = function() {
48 $scope.modalLogin.show();
49 };
50 $scope.signup = function() {
51 $scope.modalSignup.show();
52 };
53
54 // Perform the login action when the user submits the login form
55 $scope.doLogin = function() {
56 console.log('Doing login', $scope.loginData);
57
58 $http({
59 url: urlapi + 'auth',
60 method: "POST",
61 data: $scope.loginData
62 })
63 .then(function(response) {
64 // success
65 console.log("response: ");
66 console.log(response.data);
67 if(response.data.success==true)
68 {
69 console.log("login successful");
70 localStorage.setItem("c_username", $scope.loginData.username);
71 localStorage.setItem("c_token", response.data.token);
72 localStorage.setItem("c_userid", response.data.userid);
73 localStorage.setItem("c_avatar", response.data.avatar);
74
75 localStorage.setItem("c_userdata", JSON.stringify(response.data.userdata));
76
77 $timeout(function() {
78 $scope.closeLogin();
79 $window.location.reload(true);
80 }, 1000);
81 }else{
82 console.log("login failed");
83 $ionicLoading.show({ template: 'Login failed, user or password error.', noBackdrop: true, duration: 2000 });
84 }
85
86
87 },
88 function(response) { // optional
89 // failed
90 console.log(response);
91 });
92
93 };
94 $scope.doSignup = function() {
95 console.log('Doing signup', $scope.signupData);
96 if($scope.emptyParams($scope.signupData))
97 {
98 $http({
99 url: urlapi + 'users',
100 method: "POST",
101 data: $scope.signupData
102 })
103 .then(function(response) {
104 // success
105 console.log("response: ");
106 console.log(response.data);
107 $scope.loginData.username=$scope.signupData.username;
108 $timeout(function() {
109 $scope.closeSignup();
110 $scope.login();
111 }, 1000);
112
113 },
114 function(response) { // optional
115 // failed
116 $ionicLoading.show({ template: 'Username already taken', noBackdrop: true, duration: 2000 });
117 });
118 }else{
119 $ionicLoading.show({ template: 'First complete all parameters', noBackdrop: true, duration: 2000 });
120 }
121
122 };
123 $scope.emptyParams = function(obj){
124 if(obj.username==undefined)
125 {
126 return(false);
127 }
128 if(obj.password==undefined)
129 {
130 return(false);
131 }
132 if(obj.mail==undefined)
133 {
134 return(false);
135 }
136 if(obj.avatar==undefined)
137 {
138 return(false);
139 }
140 return(true);
141 };
142 $scope.avatars=[
143 "turtle",
144 "cat",
145 "toucan",
146 "racoon",
147 "tiger",
148 "squirrel",
149 "sheep",
150 "penguin",
151 "panda",
152 "owl",
153 "pelican",
154 "whale",
155 "snake",
156 "mouse",
157 "giraffe",
158 "macaw",
159 "lion",
160 "llama",
161 "kangaroo",
162 "hen",
163 "frog",
164 "clown-fish",
165 "chameleon",
166 "octopus"
167 ];
168 $scope.avatarSelect = function(avat){
169 $scope.signupData.avatar=avat;
170 //alert($scope.signupData.avatar);
171 };
172 $scope.logout = function(){
173 localStorage.removeItem("c_username");
174 localStorage.removeItem("c_token");
175 localStorage.removeItem("c_avatar");
176 localStorage.removeItem("c_userid");
177 localStorage.removeItem("c_userdata");
178 $window.location.reload(true);
179 };
180
181 /* if no logged, suggest to login */
182 if(localStorage.getItem('c_token')){// adding token to the headers
183 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
184 }else{
185 setTimeout(function(){
186 $scope.login();
187 },1000);
188 }
189})
190
191
192.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading) {
193 if(localStorage.getItem('c_token')){// adding token to the headers
194 //console.log("token added to headers in run module");
195 //console.log($http.defaults);
196 $http.defaults.headers.post['X-Access-Token'] = localStorage.getItem('c_token');
197 //$http.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded; charset=UTF-8";
198 //console.log($http.defaults.headers);
199 }
200 /*if(localStorage.getItem('c_token')){// adding token to the headers
201 $http.defaults.headers.token = localStorage.getItem('c_token');
202 }*/
203
204 $scope.travels="";
205 $scope.travels=JSON.parse(localStorage.getItem('c_travels'));
206 $scope.userdata=JSON.parse(localStorage.getItem('c_userdata'));
207 console.log($scope.userdata);
208
209 $scope.doRefresh = function() {
210 /* travels refresh: */
211 $http.get(urlapi + 'travels')
212 .success(function(data, status, headers,config){
213 console.log('data success');
214 console.log(data); // for browser console
215 $scope.travels = data; // for UI
216 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
217 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
218 $scope.$broadcast('scroll.refreshComplete');//refresher stop
219
220 })
221 .error(function(data, status, headers,config){
222 console.log('data error');
223 $scope.$broadcast('scroll.refreshComplete');//refresher stop
224 $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
225
226 })
227 .then(function(result){
228 travels = result.data;
229 $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
230 });
231
232 /* users refresh: */
233 $http.get(urlapi + 'users')
234 .success(function(data, status, headers, config){
235 console.log('data success');
236 console.log(data); // for browser console
237 $scope.users = data; // for UI
238 localStorage.setItem('c_users', JSON.stringify($scope.users));
239 $scope.$broadcast('scroll.refreshComplete');//refresher stop
240 })
241 .error(function(data, status, headers,config){
242 console.log('data error');
243 $scope.$broadcast('scroll.refreshComplete');//refresher stop
244 })
245 .then(function(result){
246 users = result.data;
247 });
248 };
249 $scope.newtravel={};
250 /*$scope.newtravel={
251 title: "prova",
252 from: "prova",
253 to: "prova",
254 seats: 3,
255 package: true,
256 phone: 123,
257 telegram: "telusr",
258 description: "this is the description of prova"
259 };*/
260
261 // Create the login modal that we will use later
262 $ionicModal.fromTemplateUrl('templates/newofferingtravel.html', {
263 scope: $scope
264 }).then(function(modal) {
265 $scope.modalOffering = modal;
266 });
267
268 // Create the login modal that we will use later
269 $ionicModal.fromTemplateUrl('templates/newaskingtravel.html', {
270 scope: $scope
271 }).then(function(modal) {
272 $scope.modalAsking = modal;
273 });
274
275 $ionicModal.fromTemplateUrl('templates/newaskingpackage.html', {
276 scope: $scope
277 }).then(function(modal) {
278 $scope.modalPackage = modal;
279 });
280
281 // Triggered in the login modal to close it
282 $scope.closeNewOfferingTravel = function() {
283 $scope.modalOffering.hide();
284 };
285 // Triggered in the login modal to close it
286 $scope.closeNewAskingTravel = function() {
287 $scope.modalAsking.hide();
288 };
289 $scope.closeNewAskingPackage = function() {
290 $scope.modalPackage.hide();
291 };
292
293 // Open the login modal
294 $scope.showNewOfferingTravel = function() {
295 $scope.modalOffering.show();
296 };
297 // Open the login modal
298 $scope.showNewAskingTravel = function() {
299 $scope.modalAsking.show();
300 };
301 $scope.showNewAskingPackage = function() {
302 $scope.modalPackage.show();
303 };
304
305 // Perform the login action when the user submits the login form
306 $scope.doNewOfferingTravel = function() {
307 console.log('Doing new travel', $scope.newtravel);
308 $scope.newtravel.icon="lorry";
309 $scope.newtravel.generateddate=$scope.newtravel.date;
310 $scope.newtravel.owner=localStorage.getItem("c_username");
311 $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
312 $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;
313 $scope.newtravel.modality="offering";
314 //$scope.newtravel.token=localStorage.getItem("c_token");
315 console.log($scope.newtravel);
316 $http({
317 url: urlapi + 'travels',
318 method: "POST",
319 data: $scope.newtravel
320 })
321 .then(function(response) {
322 // success
323 console.log("response: ");
324 console.log(response);
325 //$scope.newtravel._id=response.data._id;
326 //$scope.travels.push($scope.newtravel);
327 $scope.travels=response.data;
328 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
329 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
330 $scope.newtravel={};
331 if(response.data.success==false){
332
333 $ionicLoading.show({ template: 'failed to generate new travel', noBackdrop: true, duration: 2000 });
334 }
335 },
336 function(response) { // optional
337 // failed
338 $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
339 });
340
341 // Simulate a login delay. Remove this and replace with your login
342 // code if using a login system
343 $timeout(function() {
344 $scope.closeNewOfferingTravel();
345 }, 1000);
346 };
347
348 $scope.doNewAskingTravel = function() {
349 console.log('Doing new travel', $scope.newtravel);
350 $scope.newtravel.icon="lorry";
351 $scope.newtravel.generateddate=$scope.newtravel.date;
352 $scope.newtravel.owner=localStorage.getItem("c_username");
353 $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
354 $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;
355
356 $scope.newtravel.modality="asking";
357 console.log($scope.newtravel);
358 $http({
359 url: urlapi + 'travels',
360 method: "POST",
361 data: $scope.newtravel
362 })
363 .then(function(response) {
364 // success
365 console.log("response: ");
366 console.log(response);
367 //$scope.newtravel._id=response.data._id;
368 //$scope.travels.push($scope.newtravel);
369 $scope.travels=response.data;
370 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
371 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
372 $scope.newtravel={};
373 if(response.data.success==false){
374
375 $ionicLoading.show({ template: 'failed to generate new asking travel', noBackdrop: true, duration: 2000 });
376 }
377 },
378 function(response) { // optional
379 // failed
380 $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
381 });
382
383 // Simulate a login delay. Remove this and replace with your login
384 // code if using a login system
385 $timeout(function() {
386 $scope.closeNewAskingTravel();
387 }, 1000);
388 };
389
390 $scope.doNewAskingPackage = function() {
391 console.log('Doing new package', $scope.newtravel);
392 $scope.newtravel.icon="lorry";
393 $scope.newtravel.generateddate=$scope.newtravel.date;
394 $scope.newtravel.owner=localStorage.getItem("c_username");
395 $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
396 $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;
397
398 $scope.newtravel.package=true;
399
400 $scope.newtravel.modality="package";
401 console.log($scope.newtravel);
402 $http({
403 url: urlapi + 'travels',
404 method: "POST",
405 data: $scope.newtravel
406 })
407 .then(function(response) {
408 // success
409 console.log("response: ");
410 console.log(response);
411 //$scope.newtravel._id=response.data._id;
412 //$scope.travels.push($scope.newtravel);
413 $scope.travels=response.data;
414 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
415 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
416 $scope.newtravel={};
417 if(response.data.success==false){
418
419 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
420 }
421 },
422 function(response) { // optional
423 // failed
424 $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
425 });
426
427 // Simulate a login delay. Remove this and replace with your login
428 // code if using a login system
429 $timeout(function() {
430 $scope.closeNewAskingPackage();
431 }, 1000);
432 };
433})
434
435.controller('TravelCtrl', function($scope, $stateParams, $http, $ionicModal, $ionicPopup, $filter) {
436 if(localStorage.getItem('c_token')){// adding token to the headers
437 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
438 }
439 $scope.storageusername=localStorage.getItem("c_username");
440 console.log($stateParams.travelId);
441 $scope.travels= JSON.parse(localStorage.getItem('c_travels'));
442 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
443
444 /*$http.get(urlapi + 'travels/comment/'+$stateParams.travelId)
445 .success(function(data, status, headers,config){
446 console.log(data); // for browser console
447 $scope.comments = data; // for UI
448 })
449 .error(function(data, status, headers,config){
450 console.log('data error');
451 })
452 .then(function(result){
453 comments = result.data;
454 });*/
455
456 $scope.deleteTravel = function(){
457
458 var confirmPopup = $ionicPopup.confirm({
459 title: 'Deleting publication',
460 template: 'Are you sure you want to delete <b>'+ $scope.travel.title+'</b>?'
461 });
462 confirmPopup.then(function(res) {
463 if(res) {
464 console.log('You are sure');
465 console.log("delete travel: " + $stateParams.travelId);
466 $http({
467 url: urlapi + 'travels/' + $stateParams.travelId,
468 method: "DELETE"
469 })
470 .then(function(response) {
471 console.log(response);
472 $scope.travels=response.data;
473 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
474 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
475
476 },
477 function(response) { // optional
478 // failed
479 });
480 } else {
481 console.log('You are not sure');
482 }
483 });
484
485
486 };
487 $scope.joinTravel = function(){
488 $scope.newjoin={
489 //travelId: $stateParams.travelId,
490 joinedUserId: localStorage.getItem("c_userid"),
491 joinedUsername: localStorage.getItem("c_username"),
492 joinedAvatar: localStorage.getItem("c_avatar")
493 };
494 $http({
495 url: urlapi + 'travels/'+ $stateParams.travelId+'/join',
496 method: "POST",
497 data: $scope.newjoin
498 })
499 .then(function(response) {
500 // success
501 console.log("response: ");
502 console.log(response);
503
504 $scope.travels=response.data;
505 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
506 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
507 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
508
509 },
510 function(response) { // optional
511 // failed
512 });
513 };
514 $scope.unjoinTravel = function(){
515 console.log("unjoin");
516 $scope.unjoin={
517 travelId: $stateParams.travelId,
518 joinedUserId: localStorage.getItem("c_userid"),
519 joinedUsername: localStorage.getItem("c_username"),
520 joinedAvatar: localStorage.getItem("c_avatar")
521 };
522 $http({
523 url: urlapi + 'travels/'+ $stateParams.travelId+'/unjoin',
524 method: "POST",
525 data: $scope.unjoin
526 })
527 .then(function(response) {
528 // success
529 console.log("response: ");
530 console.log(response);
531
532 $scope.travels=response.data;
533 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
534 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
535 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
536
537 },
538 function(response) { // optional
539 // failed
540 });
541 };
542
543 /* adding comment */
544 $scope.doingNewComment=false;
545 $scope.newComment={};
546
547 $scope.showNewComment = function() {
548 $scope.doingNewComment=true;
549 };
550 $scope.closeNewComment = function() {
551 $scope.doingNewComment=false;
552 };
553 $scope.doNewComment = function() {
554 $scope.newComment.commentUserId=localStorage.getItem("c_userid");
555 $scope.newComment.commentUsername=localStorage.getItem("c_username");
556 $scope.newComment.commentAvatar=localStorage.getItem("c_avatar");
557console.log($scope.newComment);
558 $http({
559 url: urlapi + 'travels/'+ $stateParams.travelId+'/comment',
560 method: "POST",
561 data: $scope.newComment
562 })
563 .then(function(response) {
564 // success
565 console.log("newComment added to server: " + response);
566 console.log(response);
567 $scope.travels=response.data;
568 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
569 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
570 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
571
572 if(response.data.success==false){
573
574 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
575 }
576 },
577 function(response) { // optional
578 // failed
579 });
580 $scope.closeNewComment();
581 };
582 console.log("a");
583 console.log($scope.storageusername);
584 console.log($scope.travel.owner);
585
586
587 $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
588 //console.log(myArray+", "+searchTerm+", "+property);
589 if(myArray)
590 {
591 for(var i = 0, len = myArray.length; i < len; i++) {
592 if (myArray[i][property] === searchTerm){
593 //console.log("i: " + i);
594 return i;
595 }
596 }
597 }
598 //console.log("i: -1");
599 return -1;
600 };
601})
602
603.controller('UsersCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading) {
604 $scope.users="";
605
606 $scope.users=JSON.parse(localStorage.getItem('c_users'));
607
608 $scope.doRefresh = function() {
609 /* travels refresh: */
610 $http.get(urlapi + 'travels')
611 .success(function(data, status, headers,config){
612 console.log('data success');
613 console.log(data); // for browser console
614 $scope.travels = data; // for UI
615 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
616 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
617 $scope.$broadcast('scroll.refreshComplete');//refresher stop
618
619 })
620 .error(function(data, status, headers,config){
621 console.log('data error');
622 $scope.$broadcast('scroll.refreshComplete');//refresher stop
623 $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
624
625 })
626 .then(function(result){
627 travels = result.data;
628 $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
629 });
630
631 /* users refresh: */
632 $http.get(urlapi + 'users')
633 .success(function(data, status, headers, config){
634 console.log('data success');
635 console.log(data); // for browser console
636 $scope.users = data; // for UI
637 localStorage.setItem('c_users', JSON.stringify($scope.users));
638 $scope.$broadcast('scroll.refreshComplete');//refresher stop
639 })
640 .error(function(data, status, headers,config){
641 console.log('data error');
642 $scope.$broadcast('scroll.refreshComplete');//refresher stop
643 })
644 .then(function(result){
645 users = result.data;
646 });
647 };
648})
649
650.controller('UserCtrl', function($scope, $stateParams, $http, $filter, $ionicModal) {
651 if(localStorage.getItem('c_token')){// adding token to the headers
652 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
653 }
654 $scope.storageusername=localStorage.getItem("c_username");
655 $scope.users= JSON.parse(localStorage.getItem('c_users'));
656 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
657 //$scope.user="";
658 console.log($stateParams.username);
659 /*$http.get(urlapi + 'users/byusername/'+$stateParams.username)
660 .success(function(data, status, headers,config){
661 console.log('data success');
662 console.log(data); // for browser console
663 $scope.user = data; // for UI
664 })
665 .error(function(data, status, headers,config){
666 console.log('data error');
667 })
668 .then(function(result){
669 user = result.data;
670 });*/
671
672 $http.get(urlapi + 'travels/user/'+$stateParams.username)
673 .success(function(data, status, headers,config){
674 console.log('data success');
675 console.log(data); // for browser console
676 $scope.travels = data; // for UI
677 })
678 .error(function(data, status, headers,config){
679 console.log('data error');
680 })
681 .then(function(result){
682 travels = result.data;
683 });
684
685
686
687 $scope.favUser = function(){
688 $scope.newfav={
689 //travelId: $stateParams.travelId,
690 userId: localStorage.getItem("c_userid"),
691 username: localStorage.getItem("c_username"),
692 avatar: localStorage.getItem("c_avatar")
693 };
694 $scope.user.favs.push($scope.newfav);//al unfav no cal fer aquest simulacre pq ja no existeix a l'array i no el resta dos cops en cas de que cliquin dos cops
695 $http({
696 //url: urlapi + 'users/'+ $stateParams.username+'/fav',
697 url: urlapi + 'users/'+ $scope.user._id+'/fav',
698 method: "POST",
699 data: $scope.newfav
700 })
701 .then(function(response) {
702 // success
703 console.log("response: ");
704 console.log(response);
705
706 $scope.users=response.data;
707 localStorage.setItem('c_users', JSON.stringify($scope.users));
708 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
709
710 },
711 function(response) { // optional
712 // failed
713 });
714 };
715 $scope.unfavUser = function(){
716 console.log("unfav");
717 $scope.unfav={
718 userId: localStorage.getItem("c_userid"),
719 username: localStorage.getItem("c_username"),
720 avatar: localStorage.getItem("c_avatar")
721 };
722 $http({
723 //url: urlapi + 'users/'+ $stateParams.username+'/fav',
724 url: urlapi + 'users/'+ $scope.user._id+'/unfav',
725 method: "POST",
726 data: $scope.unfav
727 })
728 .then(function(response) {
729 // success
730 console.log("response: ");
731 console.log(response);
732
733 $scope.users=response.data;
734 localStorage.setItem('c_users', JSON.stringify($scope.users));
735 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
736
737 },
738 function(response) { // optional
739 // failed
740 });
741 };
742
743 $ionicModal.fromTemplateUrl('templates/favsList.html', {
744 scope: $scope
745 }).then(function(modal) {
746 $scope.modalFavsList = modal;
747 });
748 $scope.closeModalFavsList = function() {
749 $scope.modalFavsList.hide();
750 };
751 $scope.showFavsList = function(){
752 $scope.modalFavsList.show();
753 };
754 $scope.closeModalAndGoUser = function(){
755 $scope.modalFavsList.hide();
756 };
757
758 $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
759 if(myArray){
760 for(var i = 0, len = myArray.length; i < len; i++) {
761 if (myArray[i][property] === searchTerm){
762 return i;
763 }
764 }
765 }
766 return -1;
767 };
768})
769.controller('SettingsCtrl', function($scope, $stateParams, $translate) {
770 if(localStorage.getItem('lang'))//initialization
771 {
772 $scope.lang=localStorage.getItem('lang');
773 }else{
774 localStorage.setItem('lang', 'english');
775 $scope.lang=localStorage.getItem('lang');
776 }
777
778 $scope.langChange = function(lang){
779 console.log(lang);
780 window.localStorage.setItem('lang', lang);
781 $translate.use(lang);
782 };
783})
784.controller('HelpCtrl', function($scope, $stateParams, $translate) {
785 console.log("help page");
786});