diff options
| author | Pliable Pixels <pliablepixels@users.noreply.github.com> | 2018-05-14 12:24:07 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-14 12:24:07 -0400 |
| commit | cb1129fddbeffa74ca730d0ab9fa33fb5727c230 (patch) | |
| tree | 46ee35674f7c1817f105b186b9dbb340ef77e022 | |
| parent | 2cc5aa1508342e18a61f96d5abe67c2518966300 (diff) | |
| parent | 91da4b8a12e7fb3dbc0183197a209a524abd851b (diff) | |
Merge pull request #631 from pliablepixels/tv
Tv init code - not ready - disabled for now
61 files changed, 191 insertions, 45 deletions
@@ -147,5 +147,5 @@ <plugin name="cordova-library-helper" spec="git+https://github.com/FlyingDonkeyDev/cordova-library-helper.git" /> <plugin name="cordova-plugin-certificates" spec="git+https://github.com/hypery2k/cordova-certificate-plugin.git" /> <engine name="ios" spec="^4.5.4" /> - <engine name="android" spec="^6.3.0" /> + <engine name="android" spec="6.4.0" /> </widget> diff --git a/hooks/before_prepare/01_pp_hacks.sh b/hooks/before_prepare/01_pp_hacks.sh index cde25dab..06980e1e 100755 --- a/hooks/before_prepare/01_pp_hacks.sh +++ b/hooks/before_prepare/01_pp_hacks.sh @@ -49,6 +49,8 @@ echo "Copying Android notification icons to resource dir" echo "--------------------------------------------------" if [ -d "platforms/android/res/" ]; then exe cp -R www/external/android-notification-icons/ platforms/android/res/ + exe cp -f www/external/android-tv-banner/banner.png platforms/android/res/drawable + else echo "Directory platforms/android/res/ does not exist, skipping..." fi diff --git a/package.json b/package.json index 25c7fd3d..d7590fe0 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,6 @@ }, "phonegap-plugin-mobile-accessibility": {}, "cordova-custom-config": {}, - "cordova.plugins.diagnostic": {}, "cordova-plugin-email": {}, "cordova-plugin-touch-id": {}, "cordova-plugin-android-fingerprint-auth": {}, @@ -50,7 +49,8 @@ "cordova-plugin-add-swift-support": {}, "ionic-plugin-keyboard": {}, "cordova-library-helper": {}, - "cordova-plugin-certificates": {} + "cordova-plugin-certificates": {}, + "cordova.plugins.diagnostic": {} } }, "dependencies": { @@ -59,7 +59,7 @@ "clivas": "^0.2.0", "com.telerik.plugins.nativepagetransitions": "^0.6.5", "cordova": "^8.0.0", - "cordova-android": "^6.3.0", + "cordova-android": "6.4.0", "cordova-custom-config": "~4.0.2", "cordova-ios": "^4.5.4", "cordova-library-helper": "git+https://github.com/FlyingDonkeyDev/cordova-library-helper.git", diff --git a/resources/android/icon/drawable-hdpi-icon.png b/resources/android/icon/drawable-hdpi-icon.png Binary files differindex 29f6e23a..97d7bd5d 100644 --- a/resources/android/icon/drawable-hdpi-icon.png +++ b/resources/android/icon/drawable-hdpi-icon.png diff --git a/resources/android/icon/drawable-ldpi-icon.png b/resources/android/icon/drawable-ldpi-icon.png Binary files differindex 82fdb670..d41cc430 100644 --- a/resources/android/icon/drawable-ldpi-icon.png +++ b/resources/android/icon/drawable-ldpi-icon.png diff --git a/resources/android/icon/drawable-mdpi-icon.png b/resources/android/icon/drawable-mdpi-icon.png Binary files differindex 5b11045c..ec0b29f4 100644 --- a/resources/android/icon/drawable-mdpi-icon.png +++ b/resources/android/icon/drawable-mdpi-icon.png diff --git a/resources/android/icon/drawable-xhdpi-icon.png b/resources/android/icon/drawable-xhdpi-icon.png Binary files differindex c4c6730a..4b461f62 100644 --- a/resources/android/icon/drawable-xhdpi-icon.png +++ b/resources/android/icon/drawable-xhdpi-icon.png diff --git a/resources/android/icon/drawable-xxhdpi-icon.png b/resources/android/icon/drawable-xxhdpi-icon.png Binary files differindex d6512f1b..d145c8af 100644 --- a/resources/android/icon/drawable-xxhdpi-icon.png +++ b/resources/android/icon/drawable-xxhdpi-icon.png diff --git a/resources/android/icon/drawable-xxxhdpi-icon.png b/resources/android/icon/drawable-xxxhdpi-icon.png Binary files differindex 8cee414d..bba2de11 100644 --- a/resources/android/icon/drawable-xxxhdpi-icon.png +++ b/resources/android/icon/drawable-xxxhdpi-icon.png diff --git a/resources/android/splash/drawable-land-hdpi-screen.png b/resources/android/splash/drawable-land-hdpi-screen.png Binary files differindex b8dd869c..0a61890d 100644 --- a/resources/android/splash/drawable-land-hdpi-screen.png +++ b/resources/android/splash/drawable-land-hdpi-screen.png diff --git a/resources/android/splash/drawable-land-ldpi-screen.png b/resources/android/splash/drawable-land-ldpi-screen.png Binary files differindex c138f74b..781674a5 100644 --- a/resources/android/splash/drawable-land-ldpi-screen.png +++ b/resources/android/splash/drawable-land-ldpi-screen.png diff --git a/resources/android/splash/drawable-land-mdpi-screen.png b/resources/android/splash/drawable-land-mdpi-screen.png Binary files differindex cae7657e..7ce49379 100644 --- a/resources/android/splash/drawable-land-mdpi-screen.png +++ b/resources/android/splash/drawable-land-mdpi-screen.png diff --git a/resources/android/splash/drawable-land-xhdpi-screen.png b/resources/android/splash/drawable-land-xhdpi-screen.png Binary files differindex 56872897..991e7041 100644 --- a/resources/android/splash/drawable-land-xhdpi-screen.png +++ b/resources/android/splash/drawable-land-xhdpi-screen.png diff --git a/resources/android/splash/drawable-land-xxhdpi-screen.png b/resources/android/splash/drawable-land-xxhdpi-screen.png Binary files differindex 19fc10c0..bc116630 100644 --- a/resources/android/splash/drawable-land-xxhdpi-screen.png +++ b/resources/android/splash/drawable-land-xxhdpi-screen.png diff --git a/resources/android/splash/drawable-land-xxxhdpi-screen.png b/resources/android/splash/drawable-land-xxxhdpi-screen.png Binary files differindex 368a3e70..9d03c6b5 100644 --- a/resources/android/splash/drawable-land-xxxhdpi-screen.png +++ b/resources/android/splash/drawable-land-xxxhdpi-screen.png diff --git a/resources/android/splash/drawable-port-hdpi-screen.png b/resources/android/splash/drawable-port-hdpi-screen.png Binary files differindex 08f065bf..67532137 100644 --- a/resources/android/splash/drawable-port-hdpi-screen.png +++ b/resources/android/splash/drawable-port-hdpi-screen.png diff --git a/resources/android/splash/drawable-port-ldpi-screen.png b/resources/android/splash/drawable-port-ldpi-screen.png Binary files differindex 64bc2d66..93b76d69 100644 --- a/resources/android/splash/drawable-port-ldpi-screen.png +++ b/resources/android/splash/drawable-port-ldpi-screen.png diff --git a/resources/android/splash/drawable-port-mdpi-screen.png b/resources/android/splash/drawable-port-mdpi-screen.png Binary files differindex ebc915e4..5a7618e1 100644 --- a/resources/android/splash/drawable-port-mdpi-screen.png +++ b/resources/android/splash/drawable-port-mdpi-screen.png diff --git a/resources/android/splash/drawable-port-xhdpi-screen.png b/resources/android/splash/drawable-port-xhdpi-screen.png Binary files differindex 7d46beb7..a78808c2 100644 --- a/resources/android/splash/drawable-port-xhdpi-screen.png +++ b/resources/android/splash/drawable-port-xhdpi-screen.png diff --git a/resources/android/splash/drawable-port-xxhdpi-screen.png b/resources/android/splash/drawable-port-xxhdpi-screen.png Binary files differindex 0e52c7db..a3171a84 100644 --- a/resources/android/splash/drawable-port-xxhdpi-screen.png +++ b/resources/android/splash/drawable-port-xxhdpi-screen.png diff --git a/resources/android/splash/drawable-port-xxxhdpi-screen.png b/resources/android/splash/drawable-port-xxxhdpi-screen.png Binary files differindex ed5ca0c7..8f221644 100644 --- a/resources/android/splash/drawable-port-xxxhdpi-screen.png +++ b/resources/android/splash/drawable-port-xxxhdpi-screen.png diff --git a/resources/ios/icon/icon-1024.png b/resources/ios/icon/icon-1024.png Binary files differindex f37b5159..dc83bb2b 100644 --- a/resources/ios/icon/icon-1024.png +++ b/resources/ios/icon/icon-1024.png diff --git a/resources/ios/icon/icon-40.png b/resources/ios/icon/icon-40.png Binary files differindex 68076c16..d62bb9e9 100644 --- a/resources/ios/icon/icon-40.png +++ b/resources/ios/icon/icon-40.png diff --git a/resources/ios/icon/icon-40@2x.png b/resources/ios/icon/icon-40@2x.png Binary files differindex 3c2bfa7b..0fceaad5 100644 --- a/resources/ios/icon/icon-40@2x.png +++ b/resources/ios/icon/icon-40@2x.png diff --git a/resources/ios/icon/icon-40@3x.png b/resources/ios/icon/icon-40@3x.png Binary files differindex 322bb744..c501fe60 100644 --- a/resources/ios/icon/icon-40@3x.png +++ b/resources/ios/icon/icon-40@3x.png diff --git a/resources/ios/icon/icon-50.png b/resources/ios/icon/icon-50.png Binary files differindex 6470a9f5..40fdaf38 100644 --- a/resources/ios/icon/icon-50.png +++ b/resources/ios/icon/icon-50.png diff --git a/resources/ios/icon/icon-50@2x.png b/resources/ios/icon/icon-50@2x.png Binary files differindex ae858faa..fb5a4b3f 100644 --- a/resources/ios/icon/icon-50@2x.png +++ b/resources/ios/icon/icon-50@2x.png diff --git a/resources/ios/icon/icon-60.png b/resources/ios/icon/icon-60.png Binary files differindex 898c4b60..cf9decf2 100644 --- a/resources/ios/icon/icon-60.png +++ b/resources/ios/icon/icon-60.png diff --git a/resources/ios/icon/icon-60@2x.png b/resources/ios/icon/icon-60@2x.png Binary files differindex 322bb744..c501fe60 100644 --- a/resources/ios/icon/icon-60@2x.png +++ b/resources/ios/icon/icon-60@2x.png diff --git a/resources/ios/icon/icon-60@3x.png b/resources/ios/icon/icon-60@3x.png Binary files differindex d68a766f..4193570d 100644 --- a/resources/ios/icon/icon-60@3x.png +++ b/resources/ios/icon/icon-60@3x.png diff --git a/resources/ios/icon/icon-72.png b/resources/ios/icon/icon-72.png Binary files differindex 88fd9594..a218b11a 100644 --- a/resources/ios/icon/icon-72.png +++ b/resources/ios/icon/icon-72.png diff --git a/resources/ios/icon/icon-72@2x.png b/resources/ios/icon/icon-72@2x.png Binary files differindex 90425a78..c31bf79d 100644 --- a/resources/ios/icon/icon-72@2x.png +++ b/resources/ios/icon/icon-72@2x.png diff --git a/resources/ios/icon/icon-76.png b/resources/ios/icon/icon-76.png Binary files differindex 5060dd22..947c8352 100644 --- a/resources/ios/icon/icon-76.png +++ b/resources/ios/icon/icon-76.png diff --git a/resources/ios/icon/icon-76@2x.png b/resources/ios/icon/icon-76@2x.png Binary files differindex 295365eb..c3de0284 100644 --- a/resources/ios/icon/icon-76@2x.png +++ b/resources/ios/icon/icon-76@2x.png diff --git a/resources/ios/icon/icon-83.5@2x.png b/resources/ios/icon/icon-83.5@2x.png Binary files differindex 67434740..680fa48a 100644 --- a/resources/ios/icon/icon-83.5@2x.png +++ b/resources/ios/icon/icon-83.5@2x.png diff --git a/resources/ios/icon/icon-small.png b/resources/ios/icon/icon-small.png Binary files differindex 8801c466..51fb4050 100644 --- a/resources/ios/icon/icon-small.png +++ b/resources/ios/icon/icon-small.png diff --git a/resources/ios/icon/icon-small@2x.png b/resources/ios/icon/icon-small@2x.png Binary files differindex cf83c273..c9528174 100644 --- a/resources/ios/icon/icon-small@2x.png +++ b/resources/ios/icon/icon-small@2x.png diff --git a/resources/ios/icon/icon-small@3x.png b/resources/ios/icon/icon-small@3x.png Binary files differindex 0d65e805..36a0a2de 100644 --- a/resources/ios/icon/icon-small@3x.png +++ b/resources/ios/icon/icon-small@3x.png diff --git a/resources/ios/icon/icon.png b/resources/ios/icon/icon.png Binary files differindex 8fc8862c..e63ce03f 100644 --- a/resources/ios/icon/icon.png +++ b/resources/ios/icon/icon.png diff --git a/resources/ios/icon/icon@2x.png b/resources/ios/icon/icon@2x.png Binary files differindex 139233e2..c380a703 100644 --- a/resources/ios/icon/icon@2x.png +++ b/resources/ios/icon/icon@2x.png diff --git a/resources/ios/splash/Default-568h@2x~iphone.png b/resources/ios/splash/Default-568h@2x~iphone.png Binary files differindex cac62e36..17941bcd 100644 --- a/resources/ios/splash/Default-568h@2x~iphone.png +++ b/resources/ios/splash/Default-568h@2x~iphone.png diff --git a/resources/ios/splash/Default-667h.png b/resources/ios/splash/Default-667h.png Binary files differindex 94114802..6f6dd023 100644 --- a/resources/ios/splash/Default-667h.png +++ b/resources/ios/splash/Default-667h.png diff --git a/resources/ios/splash/Default-736h.png b/resources/ios/splash/Default-736h.png Binary files differindex 02cfcace..62cbc78e 100644 --- a/resources/ios/splash/Default-736h.png +++ b/resources/ios/splash/Default-736h.png diff --git a/resources/ios/splash/Default-Landscape-736h.png b/resources/ios/splash/Default-Landscape-736h.png Binary files differindex 8b77eb03..21c72d97 100644 --- a/resources/ios/splash/Default-Landscape-736h.png +++ b/resources/ios/splash/Default-Landscape-736h.png diff --git a/resources/ios/splash/Default-Landscape@2x~ipad.png b/resources/ios/splash/Default-Landscape@2x~ipad.png Binary files differindex ba0edbda..a280675e 100644 --- a/resources/ios/splash/Default-Landscape@2x~ipad.png +++ b/resources/ios/splash/Default-Landscape@2x~ipad.png diff --git a/resources/ios/splash/Default-Landscape@~ipadpro.png b/resources/ios/splash/Default-Landscape@~ipadpro.png Binary files differindex 893bc568..78d3e942 100644 --- a/resources/ios/splash/Default-Landscape@~ipadpro.png +++ b/resources/ios/splash/Default-Landscape@~ipadpro.png diff --git a/resources/ios/splash/Default-Landscape~ipad.png b/resources/ios/splash/Default-Landscape~ipad.png Binary files differindex 07a3669d..d721e074 100644 --- a/resources/ios/splash/Default-Landscape~ipad.png +++ b/resources/ios/splash/Default-Landscape~ipad.png diff --git a/resources/ios/splash/Default-Portrait@2x~ipad.png b/resources/ios/splash/Default-Portrait@2x~ipad.png Binary files differindex 3e6a6c1c..85496fa8 100644 --- a/resources/ios/splash/Default-Portrait@2x~ipad.png +++ b/resources/ios/splash/Default-Portrait@2x~ipad.png diff --git a/resources/ios/splash/Default-Portrait@~ipadpro.png b/resources/ios/splash/Default-Portrait@~ipadpro.png Binary files differindex 96e5f1a8..adbc5538 100644 --- a/resources/ios/splash/Default-Portrait@~ipadpro.png +++ b/resources/ios/splash/Default-Portrait@~ipadpro.png diff --git a/resources/ios/splash/Default-Portrait~ipad.png b/resources/ios/splash/Default-Portrait~ipad.png Binary files differindex 3ad79c2a..12149532 100644 --- a/resources/ios/splash/Default-Portrait~ipad.png +++ b/resources/ios/splash/Default-Portrait~ipad.png diff --git a/resources/ios/splash/Default@2x~iphone.png b/resources/ios/splash/Default@2x~iphone.png Binary files differindex d654833d..a5d954c6 100644 --- a/resources/ios/splash/Default@2x~iphone.png +++ b/resources/ios/splash/Default@2x~iphone.png diff --git a/resources/ios/splash/Default@2x~universal~anyany.png b/resources/ios/splash/Default@2x~universal~anyany.png Binary files differindex 3a0f0e53..f6bdcd09 100644 --- a/resources/ios/splash/Default@2x~universal~anyany.png +++ b/resources/ios/splash/Default@2x~universal~anyany.png diff --git a/resources/ios/splash/Default~iphone.png b/resources/ios/splash/Default~iphone.png Binary files differindex 67b76e25..bbd4c24a 100644 --- a/resources/ios/splash/Default~iphone.png +++ b/resources/ios/splash/Default~iphone.png diff --git a/www/css/style.css b/www/css/style.css index a2ab08e5..2847d2be 100644 --- a/www/css/style.css +++ b/www/css/style.css @@ -1036,10 +1036,17 @@ videogular div.event-time { border: 2px dotted #3498db; } + + .dragborder-selected { border: 4px solid #e74c3c; } +.dpadSelected { + border: 4px solid #45AAF2 !important; + +} + .grid-sizer { width: 5%; } diff --git a/www/external/android-tv-banner/banner.png b/www/external/android-tv-banner/banner.png Binary files differnew file mode 100644 index 00000000..2a161b34 --- /dev/null +++ b/www/external/android-tv-banner/banner.png diff --git a/www/js/MenuController.js b/www/js/MenuController.js index 477849a6..f09d1c69 100644 --- a/www/js/MenuController.js +++ b/www/js/MenuController.js @@ -2,7 +2,7 @@ /* 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) { +angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVRDataModel', '$rootScope', '$ionicPopup', '$translate', '$timeout', '$location',function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVRDataModel, $rootScope, $ionicPopup, $translate, $timeout, $location) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -13,6 +13,17 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io //---------------------------------------------------------------- + $scope.go = function(p) { + + + $ionicHistory.nextViewOptions({ + historyRoot: true, + disableAnimate: true, + expire: 300 + }); + $ionicSideMenuDelegate.toggleLeft(); + $location.path(p); + }; $scope.navigateView = function (view, args) { diff --git a/www/js/app.js b/www/js/app.js index 284bc90d..0a19b987 100755 --- a/www/js/app.js +++ b/www/js/app.js @@ -11,6 +11,8 @@ var appVersion = "0.0.0"; + + // core app start stuff angular.module('zmApp', [ 'ionic', @@ -202,6 +204,8 @@ angular.module('zmApp', [ }) + + //credit: http://stackoverflow.com/a/23931217/1361529 .directive('hidepassword', function () { @@ -1210,6 +1214,7 @@ angular.module('zmApp', [ $ionicPlatform.ready(function () { //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>INSIDE RUN"); + $rootScope.dpadId = 0; $rootScope.textScaleFactor = 1.0; $rootScope.isLoggedIn = false; $rootScope.apiValid = false; @@ -1316,6 +1321,120 @@ angular.module('zmApp', [ }); } + // DPAD Handler - disabled for now + // when ready add ionic cordova plugin add https://github.com/pliablepixels/cordova-plugin-android-tv.git + + // console.log (JSON.stringify(ionic.Platform.device())); + if (0 && $ionicPlatform.is('android')) { + window.addEventListener('keydown', dPadHandler, true); + } + else { + NVRDataModel.log ("Not registering D-PAD handler, as you are not on android"); + } + + + function dPadHandler(evt){ + + var handled = false; + + var keyCodes = { + MKEYB: 77, + SELECT: 13, + + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + + PLAYPAUSE: 179, + REWIND: 227, + FORWARD:228 + }; + + $timeout (function() { + var st = '#'+$rootScope.dpadState+'-move-'; + // console.log ("IN STATE="+$rootScope.dpadState+ " with st="+st); + var keyCode=evt.keyCode; + var el, nextel; + + if (keyCode == keyCodes.REWIND) { + if (!$ionicSideMenuDelegate.isOpen()) { + $ionicSideMenuDelegate.toggleLeft(); + $rootScope.dpadState = "menu"; + $rootScope.dpadId = 0; + + } + else { + el = angular.element(document.querySelector(st +$rootScope.dpadId)); + if (el.length) el[0].classList.remove('dpadSelected'); + $ionicSideMenuDelegate.toggleLeft(); + $rootScope.dpadId = 0; + $rootScope.dpadState = $state.current.name.replace('app.',""); + } + console.log ("dpad State is: "+$rootScope.dpadState); + handled = true; + } + + else if (keyCode == keyCodes.SELECT ) { // select + if ($rootScope.dpadId >0) { + el = angular.element(document.querySelector('#'+$rootScope.dpadState+'-move-' +$rootScope.dpadId)); + // if in menu, unselect + if ($rootScope.dpadState == 'menu') { + if (el.length) { + el[0].classList.remove('dpadSelected'); + $rootScope.dpadId = 0; + } + } + el.triggerHandler('click'); + + } + handled = true; + } + + // arrows + else if (keyCode >= keyCodes.LEFT && keyCode <= keyCodes.DOWN) { + + // might be open by mouse or other event, so check first + if ($ionicSideMenuDelegate.isOpen() && $rootScope.dpadState != 'menu') { + $rootScope.dpadState = "menu"; + $rootScope.dpadId = 0; + } + + if ($rootScope.dpadId < 1) { + // console.log ("First dpad usage with st="+st); + $rootScope.dpadId = 1; + + //console.log ("looking for st="+st); + el = angular.element(document.querySelector(st+'1')); + if (el.length) { + el[0].classList.add('dpadSelected'); + el[0].scrollIntoView(); + } + + } else { + // unselect old + //console.log ("looking for st="+st); + el = angular.element(document.querySelector(st +$rootScope.dpadId)); + + var nextId = (keyCode == keyCodes.LEFT || keyCode == keyCodes.UP) ? $rootScope.dpadId -1: $rootScope.dpadId + 1; + nextel = angular.element(document.querySelector(st +nextId)); + if (nextel.length) { + if (el.length) el[0].classList.remove('dpadSelected'); + nextel[0].classList.add('dpadSelected'); + nextel[0].scrollIntoView(); + $rootScope.dpadId = nextId; + } + console.log ("dpadID="+$rootScope.dpadId+ " with state="+$rootScope.dpadState); + } + handled = true; + } + + + return handled; + + }); + } + // register callbacks for online/offline // lets see if it really works $rootScope.online = navigator.onLine; @@ -1370,9 +1489,12 @@ angular.module('zmApp', [ if (!$ionicSideMenuDelegate.isOpenLeft()) { e.preventDefault(); $ionicSideMenuDelegate.toggleLeft(); + + $rootScope.dState = "menu"; + $rootScope.dpadId = 0; //console.log("Status of SIDE MENU IS : " + $ionicSideMenuDelegate.isOpen()); } else { - + window.stop(); //ionic.Platform.exitApp(); //navigator.app.exitApp(); @@ -1420,26 +1542,29 @@ angular.module('zmApp', [ $rootScope.$on('$stateChangeStart', function (event, toState, toParams) { var requireLogin = toState.data.requireLogin; - + $rootScope.dpadId = 0; + //console.log("HERE"); if ($rootScope.apiValid == false && toState.name != 'app.invalidapi' && toState.data.requireLogin == true) { event.preventDefault(); - $state.transitionTo('app.invalidapi'); + $rootScope.dpadState = "invalidapi"; + $state.transitionTo('invalidapi'); return; } if (NVRDataModel.hasLoginInfo() || toState.data.requireLogin == false) { //console.log("State transition is authorized"); - + $rootScope.dpadState = toState.name.replace("app.",""); return; } else { NVRDataModel.log("In Auth State trans: Not logged in, requested to go to " + JSON.stringify(toState)); // event.preventDefault(); // - $state.transitionTo('app.login'); + $rootScope.dpadState = "login"; + $state.transitionTo('login'); } @@ -1452,6 +1577,7 @@ angular.module('zmApp', [ // for whatever reason, .go was resulting in digest loops. // if you don't prevent, states will stack event.preventDefault(); + $rootScope.dpadState = "login"; $state.transitionTo('app.login'); return; } diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html index e81e536f..80a1d80a 100644 --- a/www/templates/devoptions.html +++ b/www/templates/devoptions.html @@ -1,12 +1,12 @@ <ion-view view-title="{{'kDevOptions' | translate}}"> <ion-nav-buttons side="left"> - <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button> + <button id="devoptions-move-1" class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button> <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button> </ion-nav-buttons> <ion-nav-buttons side="right"> - <button class="button button-clear" ng-click="saveDevOptions()">{{'kSave' | translate}}</button> + <button id="devoptions-move-2" class="button button-clear" ng-click="saveDevOptions()">{{'kSave' | translate}}</button> </ion-nav-buttons> <ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll> <div class="list list-inset"> @@ -16,11 +16,11 @@ <div class="item item-input-inset"> {{'kFrameUpdate'|translate}} ({{'kSec'|translate}}.) <label class="item-input-wrapper"> - <input type="tel" placeholder="min is 1s" ng-model="loginData.refreshSec"> + <input id="devoptions-move-3" type="tel" placeholder="min is 1s" ng-model="loginData.refreshSec"> </label> </div> <label> - <ion-toggle ng-model="loginData.use24hr" toggle-class="toggle-calm"> + <ion-toggle id="devoptions-move-4" ng-model="loginData.use24hr" toggle-class="toggle-calm"> <span class="item-text-wrap">{{'kEnable24hr' | translate}}</span> </ion-toggle> </label> diff --git a/www/templates/menu.html b/www/templates/menu.html index 3b69b544..43833490 100644 --- a/www/templates/menu.html +++ b/www/templates/menu.html @@ -16,7 +16,7 @@ <!-- <ion-scroll scrollbar-y="false" style="height:100%" >--> <ion-list> <!--<ion-item ng-click="navigateView('app.montage')" menu-close>--> - <ion-item href="#/app/montage" menu-close> + <ion-item id="menu-move-1" href="#/app/montage" ng-click="go('/app/montage')" > <!--<span ng-if="$root.runMode=='lowbw'" style="float:right;margin-top:-18px;background-color:#f1c40f;color:#000;font-size:11px;opacity:0.7;width:20px;border-radius: 0px 0px 5px 5px;display:inline-block;text-align:center;"> <i class="icon ion-arrow-graph-down-left"></i> </span>--> <span class=" item-icon-left"> @@ -25,28 +25,28 @@ </ion-item> <!--<ion-item ng-click="navigateView('app.timeline')" menu-close>--> - <ion-item href="#/app/timeline" menu-close> + <ion-item id="menu-move-2" href="#/app/timeline" ng-click="go('/app/timeline')" > <span class=" item-icon-left"> <i class="icon ion-android-time"></i> </span>{{'kMenuTimeline'|translate}} </ion-item> <!--<ion-item ng-click="navigateView('app.events', {id:0,playEvent:false})" menu-close>--> - <ion-item href="#/app/events/0/false" menu-close> + <ion-item id="menu-move-3" href="#/app/events/0/false" ng-click="go('/app/events/0/false')" > <span class=" item-icon-left"> <i class="icon ion-ios-calendar-outline"></i> </span>{{'kMenuEvents'|translate}} </ion-item> <!--<ion-item ng-click="navigateView('app.moment')" menu-close>--> - <ion-item href="#/app/moment" menu-close> + <ion-item id="menu-move-4" ng-click="go('/app/moment')" href="#/app/moment" ng-click="go('/app/moment')"> <span class=" item-icon-left"> <i class="icon ion-star"></i> </span>{{'kMoment24Heading'|translate}} </ion-item> <!-- <ion-item ng-click="navigateView('app.montage-history')" menu-close>--> - <ion-item href="#/app/montage-history" menu-close> + <ion-item id="menu-move-5" href="#/app/montage-history" ng-click="go('/app/montage-history')" > <span class=" item-icon-left"> <i class="icon ion-ios-keypad-outline"></i> </span>{{'kMenuEventMontage'|translate}} @@ -54,21 +54,21 @@ <!--<ion-item ng-click="navigateView('app.monitors')" menu-close>--> - <ion-item href="#/app/monitors" menu-close> + <ion-item id="menu-move-6" href="#/app/monitors" ng-click="go('/app/monitors')" > <span class=" item-icon-left"> <i class="icon ion-ios-videocam-outline"></i> </span>{{'kMenuMonitors'|translate}} </ion-item> <!--<ion-item ng-click="navigateView('app.state')" menu-close>--> - <ion-item href="#/app/state" menu-close> + <ion-item id="menu-move-7" href="#/app/state" ng-click="go('/app/state')"> <span class=" item-icon-left"> <i class="icon ion-information-circled"></i> </span> {{'kMenuSystemStatus'|translate}} </ion-item> <!--<ion-item nav-clear menu-close ng-click="navigateView('app.login', {wizard:false})" >--> - <ion-item nav-clear menu-close href="#/app/login/false"> + <ion-item id="menu-move-8" nav-clear href="#/app/login/false" ng-click="go('/app/login/false')"> <span class=" item-icon-left"> <i class="icon ion-person"></i> {{'kMenuZMSettings'|translate}} @@ -79,7 +79,7 @@ </span> </ion-item> - <ion-item nav-clear menu-close href="#/app/devoptions"> + <ion-item id="menu-move-9" nav-clear href="#/app/devoptions" ng-click="go('/app/devoptions')" > <!--<ion-item nav-clear menu-close ng-click="navigateView('app.devoptions')">--> <span class=" item-icon-left"> <i class="icon ion-settings"></i> @@ -93,7 +93,7 @@ </ion-item> <!--<ion-item nav-clear menu-close ng-click="navigateView('app.help')" >--> - <ion-item nav-clear menu-close href="#/app/help"> + <ion-item id="menu-move-10" nav-clear href="#/app/help" ng-click="go('/app/help')"> <span class=" item-icon-left"> <i class="icon ion-help"></i> </span> {{'kMenuHelp'|translate}} @@ -101,7 +101,7 @@ <!--<ion-item nav-clear menu-close ng-click="navigateView('app.wizard')" >--> - <ion-item nav-clear menu-close href="#/app/wizard"> + <ion-item id="menu-move-11" nav-clear href="#/app/wizard" ng-click="go('/app/wizard')"> <span class=" item-icon-left"> <i class="icon ion-wand"></i> </span> {{'kMenuWizard'|translate}} @@ -118,7 +118,7 @@ </div> <!--<ion-item nav-clear menu-close ng-click="navigateView('app.log')" >--> - <ion-item nav-clear menu-close href="#/app/log"> + <ion-item id="menu-move-12" nav-clear href="#/app/log" ng-click="go('/app/log')"> <span class=" item-icon-left"> <i class="icon ion-clipboard"></i> </span> {{'kMenuLogs'|translate}} diff --git a/www/templates/monitors.html b/www/templates/monitors.html index 2bd5d819..6f37a6d3 100644 --- a/www/templates/monitors.html +++ b/www/templates/monitors.html @@ -1,6 +1,6 @@ <ion-view view-title="{{'kMonitors' | translate}}" cache-view="false"> <ion-nav-buttons side="left"> - <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"> + <button id="monitors-move-2" class="button button-icon button-clear ion-navicon" ng-click="openMenu()"> </button> <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button> @@ -9,7 +9,7 @@ <ion-refresher pulling-text="Pull to reload Monitors..." spinner="bubbles" on-refresh="doRefresh()"> </ion-refresher> <div style="float:right;margin-top:3px;margin-right:8px;"> - <a class="button button-small icon icon-left icon ion-ios-world-outline" href="" ng-click="changeConfig('All', '','1','Monitor');">{{'kGlobalConfiguration' | translate}}</a> + <a id="monitors-move-2" class="button button-small icon icon-left icon ion-ios-world-outline" href="" ng-click="changeConfig('All', '','1','Monitor');">{{'kGlobalConfiguration' | translate}}</a> </div> <br/> <div class="list card" ng-repeat="monitor in monitors"> @@ -53,7 +53,7 @@ <div style="float:right;"> <a class="button button-small icon icon-left icon ion-gear-a" href="" ng-click="changeConfig(monitor.Monitor.Name, monitor.Monitor.Id,monitor.Monitor.Enabled,monitor.Monitor.Function);">{{'kConfiguration' | translate}}</a> <a class="button button-small icon icon-left ion-calendar" href="#/app/events/{{monitor.Monitor.Id}}/false">{{'kEventsCap'|translate}}</a> - <a class="button button-small icon icon-left ion-ios-eye" ng-click="openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey, monitor)">{{'kLiveView' | translate}}</a> + <a class="button button-small icon icon-left ion-ios-eye" ng-click="openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey, monitor)">{{'kLiveView' | translate}} </a> </div> </div> </div> diff --git a/www/templates/montage.html b/www/templates/montage.html index 876e1125..b37e16b6 100644 --- a/www/templates/montage.html +++ b/www/templates/montage.html @@ -1,28 +1,28 @@ <ion-view cache-view="false" hide-nav-bar="{{minimal}}"> <ion-nav-title>{{currentProfileName}}</ion-nav-title> <ion-nav-buttons side="left"> - <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button> + <button id="montage-move-1" class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button> - <button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();"> + <button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();"> </button> - <button class="button button-icon button-clear ion-chevron-down" ng-click="toggleSubMenuFunction();"> + <button id="montage-move-2" class="button button-icon button-clear ion-chevron-down" ng-click="toggleSubMenuFunction();"> </button> <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button> </ion-nav-buttons> <ion-nav-buttons side="right"> - <span ng-click="toggleTimeType()" class="icon montage-time"> + <span ng-click="toggleTimeType()" class="icon montage-time"> <i ng-class="(iconTimeNow=='server')?'icon-server':'ion-ios-location'"></i> {{timeNow}} </span> - <button class="button button-icon button-clear ion-arrow-move" ng-click="dragToggle();"> + <button class="button button-icon button-clear ion-arrow-move" ng-click="dragToggle();"> </button> <!-- <button class="button button-icon button-clear ion-monitor" ng-click="cast();"> </button> --> - <button class="button button-icon button-clear ion-loop" ng-click="resetSizes();"> + <button id="montage-move-3" class="button button-icon button-clear ion-loop" ng-click="resetSizes();"> </button> - <button class="button button-icon button-clear ion-android-contract" ng-click="switchMinimal()"> + <button class="button button-icon button-clear ion-android-contract" ng-click="switchMinimal()"> </button> </ion-nav-buttons> <ion-content ng-cloak has-bouncing="false" style="background-color:#444444" delegate-handle="montage-delegate" overflow-scroll="false"> @@ -39,34 +39,34 @@ <a href="" ng-click="killAllImages()"> <i class="ion-ionic"></i></a> </li>--> - <li> - <a href="" ng-click="sliderChanged(1)"> + <li > + <a id="montage-move-4" ng-click="sliderChanged(1)" > <i class="ion-plus-circled"></i> </a> </li> - <li> - <a href="" ng-click="sliderChanged(-1)"> + <li > + <a id="montage-move-5" ng-click="sliderChanged(-1)" > <i class="ion-minus-circled"></i> </a> </li> - <li> - <a href="" ng-click="squeezeMonitors()"> + <li > + <a id="montage-move-6" ng-click="squeezeMonitors()" > <i class="ion-android-apps"></i> </a> </li> <li ng-style="{'background-color': isCycleOn()?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}" ng-if="!isDragabillyOn"> - <a href="" ng-click="toggleCycle()"> + <a ng-click="toggleCycle()"> <i class="ion-android-bicycle"></i>:{{getCycleStatus()}}</a> </li> <li ng-if="isDragabillyOn"> - <a href="" ng-click="hideMonitor(monitor.Monitor.Id)"> + <a ng-click="hideMonitor(monitor.Monitor.Id)"> <i class="ion-close-circled"></i> </a> </li> <li ng-if="isDragabillyOn"> - <a href="" ng-click="toggleStamp()"> + <a ng-click="toggleStamp()"> <i class="ion-pin"></i> </a> </li> |
