arnaucube
arnaucube/openEventsPlatformAppPublic Self-hosted repository
openEventsPlatformApp/www/js/events.js
www/js/events.jsRaw
 1angular.module('app.events', ['pascalprecht.translate'])
 2
 3.controller('EventsCtrl', function($scope, $http, $ionicModal,
 4            $timeout, $ionicLoading, $filter, $cordovaSocialSharing) {
 5
 6
 7    $scope.events=[];
 8    $scope.alerts=[];
 9    $scope.page=0;
10
11    $scope.doRefresh = function() {
12      /* events refresh: */
13        //$http.get(urlapi + 'events?page=' + $scope.page)
14        $scope.followingUsers = JSON.parse(localStorage.getItem("events_app_followingUsers"));
15        console.log($scope.followingUsers);
16        $http({
17            url: urlapi + 'events/following',
18            method: "POST",
19            data: {users: $scope.followingUsers}
20        })
21        .then(function(data){
22            console.log('data success events');
23            console.log(data); // for browser console
24            //$scope.events = data.data; // for UI
25            $scope.events=data.data;
26            $scope.$broadcast('scroll.refreshComplete');//refresher stop
27
28        }, function(data){
29            console.log('data error');
30            $scope.$broadcast('scroll.refreshComplete');//refresher stop
31            $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
32
33        });
34        $http.get(urlapi + 'alerts')
35        .then(function(data){
36            $scope.alerts=data.data;
37        }, function(data){
38        });
39    };
40    $scope.doRefresh();
41
42    $scope.share = function(event){
43        var message = "[" + event.title + "]" + event.description;
44        /*var subject = event.title;
45        var file= ['',''];*/
46        var link = "http://duckduckgo.com";
47        $cordovaSocialSharing
48        .share(message, link) // Share via native share sheet
49        .then(function(result) {
50          // Success!
51        }, function(err) {
52          // An error occured. Show a message to the user
53      });
54    };
55    $scope.savedEvents=[];
56    $scope.$on('$ionicView.enter', function(){//per executar-ho cada cop que es carrega el view
57        if (localStorage.getItem("events_app_savedEvents")) {
58          $scope.savedEvents = JSON.parse(localStorage.getItem("events_app_savedEvents"));
59          console.log("savedEvents");
60          console.log($scope.savedEvents);
61        }
62    });
63    $scope.saveEvent = function(event){
64        $scope.savedEvents.push(event);
65        localStorage.setItem("events_app_savedEvents", JSON.stringify($scope.savedEvents));
66        $ionicLoading.show({ template: 'Event saved', noBackdrop: true, duration: 1000 });
67    };
68    $scope.unsaveEvent = function(event){
69        for(var i=0; i<$scope.savedEvents.length; i++) {
70            if ($scope.savedEvents[i]._id === event._id){
71                $scope.savedEvents.splice(i, 1);
72            }
73        }
74        localStorage.setItem("events_app_savedEvents", JSON.stringify($scope.savedEvents));
75        $ionicLoading.show({ template: 'Event unsaved', noBackdrop: true, duration: 1000 });
76    };
77    $scope.isEventSaved = function(event) {
78        for(var i=0; i<$scope.savedEvents.length; i++) {
79            if ($scope.savedEvents[i]._id === event._id){
80                return true;
81            }
82        }
83        return false;
84    };
85});