From b28028ac4082842143b0f528d6bc539da6ccb419 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Thu, 21 Sep 2017 12:49:18 -0400 Subject: mega changes, including updates and X --- www/js/HelpCtrl.js | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 www/js/HelpCtrl.js (limited to 'www/js/HelpCtrl.js') diff --git a/www/js/HelpCtrl.js b/www/js/HelpCtrl.js new file mode 100644 index 00000000..51da877b --- /dev/null +++ b/www/js/HelpCtrl.js @@ -0,0 +1,92 @@ +/* jshint -W041 */ +/* jslint browser: true*/ +/* global cordova,StatusBar,angular,console, Masonry */ + +angular.module('zmApp.controllers').controller('zmApp.HelpCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$q', '$templateRequest', '$sce', '$compile', function($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $q, $templateRequest, $sce, $compile) +{ + $scope.openMenu = function() + { + $ionicSideMenuDelegate.toggleLeft(); + }; + + //---------------------------------------------------------------- + // Alarm notification handling + //---------------------------------------------------------------- + $scope.handleAlarms = function() + { + $rootScope.isAlarm = !$rootScope.isAlarm; + if (!$rootScope.isAlarm) + { + $rootScope.alarmCount = "0"; + $ionicHistory.nextViewOptions( + { + disableBack: true + }); + $state.go("events", + { + "id": 0, + "playEvent": false + }, + { + reload: true + }); + return; + } + }; + + //---------------------------------------------------------------- + // This function dynamically inserts the relevant help text file + // based on selected language + //---------------------------------------------------------------- + + function insertHelp() + { + + var l = NVRDataModel.getDefaultLanguage() || 'en'; + var lang = "lang/help/help-" + l + ".html"; + //console.log ("LANG IS " + lang); + var templateUrl = $sce.getTrustedResourceUrl(lang); + var lang_fb = "lang/help/help-" + "en" + ".html"; + var templateUrlFB = $sce.getTrustedResourceUrl(lang_fb); + + $templateRequest(lang) + .then(function(template) + { + var elem = angular.element(document.getElementById('insertHelp')); + $compile(elem.html(template).contents())($scope); + }, + function(error) + { + NVRDataModel.log("Language file " + lang + " not found, falling back"); + $templateRequest(templateUrlFB) + .then(function(template) + { + var elem = angular.element(document.getElementById('insertHelp')); + $compile(elem.html(template).contents())($scope); + }, + function(error) + { + NVRDataModel.log("fallback help not found"); + }); + } + ); + + } + + //------------------------------------------------------------------------- + // Lets make sure we set screen dim properly as we enter + // The problem is we enter other states before we leave previous states + // from a callback perspective in ionic, so we really can't predictably + // reset power state on exit as if it is called after we enter another + // state, that effectively overwrites current view power management needs + //------------------------------------------------------------------------ + $scope.$on('$ionicView.enter', function() + { + //console.log("**VIEW ** Help Ctrl Entered"); + NVRDataModel.setAwake(false); + $scope.zmAppVersion = NVRDataModel.getAppVersion(); + insertHelp(); + + }); + +}]); -- cgit v1.2.3