*/
import {Directive, ElementRef, Input, OnInit} from '@angular/core';
import {AccessKeyService} from '@eg/share/accesskey/accesskey.service';
-
+import {ServerStoreService} from '@eg/core/server-store.service';
@Directive({
selector: '[egAccessKey]'
})
constructor(
private elm: ElementRef,
- private keyService: AccessKeyService
+ private keyService: AccessKeyService,
+ private store: ServerStoreService
) { }
ngOnInit() {
- if (!this.keySpec) {
- console.warn('AccessKey no keySpec provided');
- return;
- }
-
- this.keySpec.split(/ /).forEach(keySpec => {
- this.keyService.assign({
- key: keySpec,
- desc: this.keyDesc,
- ctx: this.keyCtx,
- action: () => this.elm.nativeElement.click()
+ this.store.getItem('eg.accesskeys.disable').then(accessKeysDisabled => {
+ if (accessKeysDisabled) {
+ console.log('AccessKeys disabled in user settings.');
+ return;
+ }
+
+ if (!this.keySpec) {
+ console.warn('AccessKey no keySpec provided');
+ return;
+ }
+
+ this.keySpec.split(/ /).forEach(keySpec => {
+ this.keyService.assign({
+ key: keySpec,
+ desc: this.keyDesc,
+ ctx: this.keyCtx,
+ action: () => this.elm.nativeElement.click()
+ });
});
});
+
}
}
import {AuthService, AuthWsState} from '@eg/core/auth.service';
import {NetService} from '@eg/core/net.service';
import {AccessKeyService} from '@eg/share/accesskey/accesskey.service';
-import {AccessKeyInfoComponent} from '@eg/share/accesskey/accesskey-info.component';
+import {ServerStoreService} from '@eg/core/server-store.service';
const LOGIN_PATH = '/staff/login';
const WS_BASE_PATH = '/staff/admin/workstation/workstations/';
private zone: NgZone,
private net: NetService,
private auth: AuthService,
- private keys: AccessKeyService
+ private keys: AccessKeyService,
+ private store: ServerStoreService
) {}
ngOnInit() {
+ /*
+ const disableAccessKeys = this.store.getItem('eg.accesskeys.disable').then(accessKeysDisabled => {
+ if (accessKeysDisabled) {
+ console.log(`Keyboard shortcuts disabled by user settings.`);
+ return;
+ }
+ });
+ /**/
+
// Fires on all in-staff-app router navigation, but not initial
// page load.
this.router.events.subscribe(routeEvent => {
* events down to the key service for processing.
*/
@HostListener('window:keydown', ['$event']) onKeyDown(evt: KeyboardEvent) {
- this.keys.fire(evt);
+ this.store.getItem('eg.accesskeys.disable').then(accessKeysDisabled => {
+ if (accessKeysDisabled) {
+ return;
+ }
+
+ this.keys.fire(evt);
+ });
}
/**
}
}
+ /*
+ $scope.apply_orgselect_disable_accesskeys = function() {
+ if ($scope.orgselect_disable_accesskeys) {
+ egCore.hatch.setItem('eg.accesskeys.disable', true);
+ } else {
+ egCore.hatch.removeItem('eg.accesskeys.disable');
+ }
+ }
+ /**/
+
$scope.test_audio = function(sound) {
egCore.audio.play(sound);
}