summaryrefslogtreecommitdiff
path: root/www/js/MonitorCtrl.js
blob: 8b60c1a497c4cf9de394e8f5a2a4f4c54c1a8514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/* jshint -W041 */
/* jslint browser: true*/
/* global cordova,StatusBar,angular,console */

// controller for Monitor View
// refer to comments in EventCtrl for the modal stuff. They are almost the same

angular.module('zmApp.controllers').controller('zmApp.MonitorCtrl', ['$ionicPopup', '$scope', 'ZMDataModel', 'message', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http',  function ($ionicPopup,$scope, ZMDataModel, message, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope) {

    $scope.monitors = [];




    $scope.openMenu = function () {
        $ionicSideMenuDelegate.toggleLeft();
    };

    $scope.reloadView = function () {
        console.log("*** Refreshing Modal view ***");
        $scope.rand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111;
        $ionicLoading.show({
            template: "refreshed view",
            noBackdrop: true,
            duration: 2000
        });
    };

    $scope.notSupported = function()
    {

        $ionicPopup.alert({
                title: 'In a Galaxy Far Far Away...',
                template: 'This feature will be supported sometime in the future.'
            });
    };


    $scope.isSimulated = function () {
        return ZMDataModel.isSimulated();
    };

    // same logic as EventCtrl.js
    $scope.finishedLoadingImage = function () {
        console.log("***Monitor image FINISHED Loading***");
        $ionicLoading.hide();
        /* $ionicLoading.show({
             template: "loading, please wait...",
             noBackdrop: true,
         });*/
    };



    $scope.$on('$ionicView.loaded', function () {
        console.log("**VIEW ** Monitor Ctrl Loaded");
    });

    $scope.$on('$ionicView.enter', function () {
        console.log("**VIEW ** Monitor Ctrl Entered");

    });

    $scope.$on('$ionicView.leave', function () {
        console.log("**VIEW ** Monitor Ctrl Left");
    });

    $scope.$on('$ionicView.unloaded', function () {
        console.log("**VIEW ** Monitor Ctrl Unloaded");
    });

    $scope.openModal = function (mid) {
        console.log("Open Monitor Modal");

       $scope.monitorId = mid;
    $scope.LoginData = ZMDataModel.getLogin();
    $scope.rand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111;

    // This is a modal to show the monitor footage
    $ionicModal.fromTemplateUrl('templates/monitors-modal.html', {
            scope: $scope,
            animation: 'slide-in-up'
        })
        .then(function (modal) {
            $scope.modal = modal;

            $ionicLoading.show({
                template: "please wait...",
                noBackdrop: true,
                duration: 15000
            });
            $scope.modal.show();
        });

    };

    $scope.closeModal = function () {
    console.log("Close & Destroy Monitor Modal");
    $scope.modal.remove();

    };
    //Cleanup the modal when we're done with it!
    $scope.$on('$destroy', function () {
    console.log("Destroy Monitor Modal");
    $scope.modal.remove();
});



    console.log("***EVENTS: Waiting for Monitors to load before I proceed");

    $scope.monitors = message;

    $scope.doRefresh = function () {
    console.log("***Pull to Refresh");
    $scope.monitors = [];

    var refresh = ZMDataModel.getMonitors(1);
    refresh.then(function (data) {
        $scope.monitors = data;
        $scope.$broadcast('scroll.refreshComplete');
    });

    };

}]);