From a3c2247ef1ec7957ebe2635ae2d644097a4cb3e6 Mon Sep 17 00:00:00 2001 From: Xiao Gui <xgui3783@gmail.com> Date: Thu, 7 Oct 2021 10:38:54 +0200 Subject: [PATCH] feat: add keyboard shortcut to mesh togglers --- src/viewerModule/threeSurfer/module.ts | 2 ++ .../threeSurfer/threeSurferGlue/threeSurfer.component.ts | 6 ++++++ .../threeSurfer/threeSurferGlue/threeSurfer.template.html | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/src/viewerModule/threeSurfer/module.ts b/src/viewerModule/threeSurfer/module.ts index 5c58247b6..21f11580b 100644 --- a/src/viewerModule/threeSurfer/module.ts +++ b/src/viewerModule/threeSurfer/module.ts @@ -1,6 +1,7 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; import { FormsModule } from "@angular/forms"; +import { ComponentsModule } from "src/components"; import { AngularMaterialModule } from "src/sharedModules"; import { UtilModule } from "src/util"; import { ThreeSurferGlueCmp } from "./threeSurferGlue/threeSurfer.component"; @@ -12,6 +13,7 @@ import { ThreeSurferViewerConfig } from "./tsViewerConfig/tsViewerConfig.compone AngularMaterialModule, UtilModule, FormsModule, + ComponentsModule, ], declarations: [ ThreeSurferGlueCmp, diff --git a/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts b/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts index 1623089a1..551bec7a5 100644 --- a/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts +++ b/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.component.ts @@ -688,4 +688,10 @@ export class ThreeSurferGlueCmp implements IViewer<'threeSurfer'>, OnChanges, Af ngOnDestroy() { while (this.onDestroyCb.length > 0) this.onDestroyCb.pop()() } + + toggleMode(){ + const currIdx = this.modes.findIndex(m => m.name === this.selectedMode) + const newIdx = (currIdx + 1) % this.modes.length + this.loadMode(this.modes[newIdx]) + } } diff --git a/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.template.html b/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.template.html index 56a25de05..c1981ce4f 100644 --- a/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.template.html +++ b/src/viewerModule/threeSurfer/threeSurferGlue/threeSurfer.template.html @@ -7,6 +7,8 @@ <!-- selector & configurator --> <button mat-icon-button + [iav-key-listener]="[{ type: 'keydown', key: 'q', target: 'document' }]" + (iav-key-event)="toggleMode()" color="primary" class="pe-all" [matMenuTriggerFor]="fsModeSelMenu"> @@ -39,5 +41,9 @@ <span> {{ mode.name }} </span> + <markdown-dom *ngIf="mode.name === selectedMode" + class="d-inline-block"> + `[q]` + </markdown-dom> </button> </mat-menu> -- GitLab