summaryrefslogtreecommitdiff
path: root/www/js/MenuController.js
blob: e353d310241ff3bafa1f586c2bd218dffcaa42b4 (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
/* jshint -W041 */
/* jslint browser: true*/
/* global cordova,StatusBar,angular,console */

angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVRDataModel', '$rootScope', '$ionicPopup', '$translate', '$timeout', function($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVRDataModel, $rootScope, $ionicPopup, $translate, $timeout)
{
    $scope.openMenu = function()
    {
        $ionicSideMenuDelegate.toggleLeft();
    };

    //----------------------------------------------------------------
    // This controller sits along with the main app to  bring up 
    // the language menu from the main menu
    //----------------------------------------------------------------



    $scope.navigateView = function(view,args) {

        if (view == $state.current.name) return;
        NVRDataModel.debug ("Navigating view to: " + view);
        $ionicHistory.nextViewOptions({
            disableBack: true
          });
          $state.go(view,args);

        /*  $timeout (function() {
            window.stop();
            // after window stop executes, in next cycle
            // this _should_ ensure stop concludes before
            // exit/entry lifecycles kick in?
            $timeout (function() {$state.go(view,args);});
            
          });*/
          
    };


    $scope.switchLang = function()
    {
        $scope.lang = NVRDataModel.getLanguages();
        $scope.myopt = {
            lang: ""
        };

        $rootScope.zmPopup = $ionicPopup.show(
        {
            scope: $scope,
            template: '<ion-radio-fix ng-repeat="item in lang" ng-value="item.value" ng-model="myopt.lang"> {{item.text}} </ion-radio-fix>',

            title: $translate.instant('kSelectLanguage'),

            buttons: [
            {
                text: $translate.instant('kButtonCancel'),
                onTap: function(e)
                {
                    //return "CANCEL";
                }

            },
            {
                text: $translate.instant('kButtonOk'),
                onTap: function(e)
                {
                    NVRDataModel.log("Language selected:" + $scope.myopt.lang);
                    NVRDataModel.setDefaultLanguage($scope.myopt.lang, true);
                    $rootScope.$broadcast('language-changed');

                    //return "OK";

                }
            }]
        });

    };

}]);