Skip to content
Snippets Groups Projects
Commit 7d68c8b9 authored by jojohoch's avatar jojohoch
Browse files

[player] Rename variables and methods for hardware keyboard detection

parent 59acdfd0
No related branches found
No related tags found
No related merge requests found
import { Component, OnInit, ViewChild } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { takeUntil } from 'rxjs/operators';
import { UnitStateService } from '../../services/unit-state.service';
import { ElementComponent } from 'common/directives/element-component.directive';
import { ElementModelElementCodeMappingService } from '../../services/element-model-element-code-mapping.service';
......@@ -12,10 +11,12 @@ import { KeypadService } from '../../services/keypad.service';
import { ElementFormGroupDirective } from '../../directives/element-form-group.directive';
import { KeyboardService } from '../../services/keyboard.service';
import { DeviceService } from '../../services/device.service';
import { TextFieldSimpleComponent } from 'common/components/compound-elements/cloze/cloze-child-elements/text-field-simple.component';
import {
TextFieldSimpleComponent
} from 'common/components/compound-elements/cloze/cloze-child-elements/text-field-simple.component';
import { ClozeElement } from 'common/models/elements/compound-elements/cloze/cloze';
import { LikertElement } from 'common/models/elements/compound-elements/likert/likert';
import { InputElement } from 'common/models/elements/element';
import { CompoundElement, InputElement } from 'common/models/elements/element';
@Component({
selector: 'aspect-element-compound-group',
......@@ -44,11 +45,7 @@ export class ElementCompoundGroupComponent extends ElementFormGroupDirective imp
}
ngOnInit(): void {
const childModels = this.elementModel.type === 'cloze' ?
// ClozeUtils.getClozeChildElements(this.elementModel as ClozeElement) :
[] :
(this.elementModel as LikertElement).rows;
this.createForm(childModels);
this.createForm((this.elementModel as CompoundElement).getChildElements() as InputElement[]);
}
onChildrenAdded(children: ElementComponent[]): void {
......@@ -71,7 +68,7 @@ export class ElementCompoundGroupComponent extends ElementFormGroupDirective imp
.onKeyDown
.pipe(takeUntil(this.ngUnsubscribe))
.subscribe(element => {
this.registerHardwareKeyboard(element, textFieldSimpleComponent);
this.detectHardwareKeyboard(element, textFieldSimpleComponent);
});
}
});
......@@ -88,9 +85,10 @@ export class ElementCompoundGroupComponent extends ElementFormGroupDirective imp
}
}
private registerHardwareKeyboard(inputElement: HTMLElement | null,
elementComponent: TextFieldSimpleComponent): void {
this.deviceService.registerHardwareKeyboard();
private detectHardwareKeyboard(inputElement: HTMLElement | null,
elementComponent: TextFieldSimpleComponent): void {
this.deviceService.hasHardwareKeyboard = true;
this.keyboardService.toggle(inputElement, elementComponent, this.deviceService.isMobileWithoutHardwareKeyboard);
}
}
......@@ -5,7 +5,7 @@
#elementComponent
[parentForm]="form"
[elementModel]="elementModel | cast: TextAreaElement"
(onKeyDown)="registerHardwareKeyboard($event, elementComponent)"
(onKeyDown)="detectHardwareKeyboard($event, elementComponent)"
(onFocusChanged)="onFocusChanged($event, elementComponent)">
</aspect-text-area>
<aspect-text-field
......@@ -13,7 +13,7 @@
#elementComponent
[parentForm]="form"
[elementModel]="elementModel | cast: TextFieldElement"
(onKeyDown)="registerHardwareKeyboard($event, elementComponent)"
(onKeyDown)="detectHardwareKeyboard($event, elementComponent)"
(onFocusChanged)="onFocusChanged($event, elementComponent)">
</aspect-text-field>
<aspect-spell-correct
......@@ -21,7 +21,7 @@
#elementComponent
[parentForm]="form"
[elementModel]="elementModel | cast: SpellCorrectElement"
(onKeyDown)="registerHardwareKeyboard($event, elementComponent)"
(onKeyDown)="detectHardwareKeyboard($event, elementComponent)"
(onFocusChanged)="onFocusChanged($event, elementComponent)">
</aspect-spell-correct>
</form>
......
......@@ -71,9 +71,9 @@ export class ElementTextInputGroupComponent extends ElementFormGroupDirective im
}
}
registerHardwareKeyboard(inputElement: HTMLElement | null,
elementComponent: TextAreaComponent | TextFieldComponent | SpellCorrectComponent): void {
this.deviceService.registerHardwareKeyboard();
detectHardwareKeyboard(inputElement: HTMLElement | null,
elementComponent: TextAreaComponent | TextFieldComponent | SpellCorrectComponent): void {
this.deviceService.hasHardwareKeyboard = true;
this.keyboardService.toggle(inputElement, elementComponent, this.deviceService.isMobileWithoutHardwareKeyboard);
}
}
......@@ -4,7 +4,7 @@ import {
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { NativeEventService } from '../../services/native-event.service';
import { Page } from 'common/interfaces/unit';
import { Page } from 'common/models/page';
import { VeronaPostService } from 'player/modules/verona/services/verona-post.service';
import { NavigationService } from 'player/src/app/services/navigation.service';
import { VopPageNavigationCommand } from 'player/modules/verona/models/verona';
......
......@@ -6,8 +6,8 @@ import { LogService } from 'player/modules/logging/services/log.service';
providedIn: 'root'
})
export class DeviceService {
hasHardwareKeyboard: boolean = false;
private readonly isTouch!: boolean;
private hasHardwareKeyboard: boolean = false;
private noSleep!: NoSleep; // Cannot be instanced in a constructor, must be instanced by a user event
constructor() {
......@@ -25,8 +25,4 @@ export class DeviceService {
get isMobileWithoutHardwareKeyboard(): boolean {
return this.isTouch && !this.hasHardwareKeyboard;
}
registerHardwareKeyboard(): void {
this.hasHardwareKeyboard = true;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment