diff --git a/app/assets/javascripts/app/services/desktopManager.js b/app/assets/javascripts/app/services/desktopManager.js index d437fa296..bbbb6673c 100644 --- a/app/assets/javascripts/app/services/desktopManager.js +++ b/app/assets/javascripts/app/services/desktopManager.js @@ -79,6 +79,10 @@ class DesktopManager { this.searchHandler = handler; } + desktop_windowLostFocus() { + this.$rootScope.$broadcast("window-lost-focus"); + } + desktop_onComponentInstallationComplete(componentData, error) { console.log("Web|Component Installation/Update Complete", componentData, error); diff --git a/app/assets/javascripts/app/services/passcodeManager.js b/app/assets/javascripts/app/services/passcodeManager.js index d203f5aba..55948953d 100644 --- a/app/assets/javascripts/app/services/passcodeManager.js +++ b/app/assets/javascripts/app/services/passcodeManager.js @@ -1,9 +1,20 @@ class PasscodeManager { - constructor(authManager, storageManager) { - document.addEventListener('visibilitychange', (e) => { - this.documentVisibilityChanged(document.visibilityState); - }); + constructor($rootScope, authManager, storageManager) { + if(isDesktopApplication()) { + // desktop only + $rootScope.$on("window-lost-focus", () => { + let visible = false; + this.documentVisibilityChanged(visible); + }) + } else { + // tab visibility listender, web only + document.addEventListener('visibilitychange', (e) => { + let visible = document.visibilityState == "visible"; + this.documentVisibilityChanged(visible); + }); + } + this.authManager = authManager; this.storageManager = storageManager; @@ -13,6 +24,7 @@ class PasscodeManager { const MillisecondsPerSecond = 1000; PasscodeManager.AutoLockIntervalNone = 0; + PasscodeManager.AutoLockIntervalImmediate = 1; PasscodeManager.AutoLockIntervalOneMinute = 60 * MillisecondsPerSecond; PasscodeManager.AutoLockIntervalFiveMinutes = 300 * MillisecondsPerSecond; PasscodeManager.AutoLockIntervalOneHour = 3600 * MillisecondsPerSecond; @@ -26,6 +38,10 @@ class PasscodeManager { value: PasscodeManager.AutoLockIntervalNone, label: "None" }, + { + value: PasscodeManager.AutoLockIntervalImmediate, + label: "Immediately" + }, { value: PasscodeManager.AutoLockIntervalOneMinute, label: "1 Min" @@ -41,8 +57,7 @@ class PasscodeManager { ] } - documentVisibilityChanged(visbility) { - let visible = document.visibilityState == "visible"; + documentVisibilityChanged(visible) { if(!visible) { this.beginAutoLockTimer(); } else { diff --git a/app/assets/stylesheets/app/_stylekit-sub.scss b/app/assets/stylesheets/app/_stylekit-sub.scss index 77a666bc0..796007d19 100644 --- a/app/assets/stylesheets/app/_stylekit-sub.scss +++ b/app/assets/stylesheets/app/_stylekit-sub.scss @@ -53,3 +53,7 @@ opacity: 1.0 } } + +button.sk-button { + border: none; +} diff --git a/app/assets/templates/directives/account-menu.html.haml b/app/assets/templates/directives/account-menu.html.haml index 3bf603c4d..698d11105 100644 --- a/app/assets/templates/directives/account-menu.html.haml +++ b/app/assets/templates/directives/account-menu.html.haml @@ -148,7 +148,7 @@ .sk-horizontal-group .sk-h4.sk-bold Autolock %a.sk-a.info{"ng-repeat" => "option in passcodeAutoLockOptions", "ng-click" => "selectAutoLockInterval(option.value)", - "ng-class" => "{'info boxed' : option.value == selectedAutoLockInterval}"} + "ng-class" => "{'boxed' : option.value == selectedAutoLockInterval}"} {{option.label}} .sk-p The autolock timer begins when the window or tab loses focus.