diff --git a/src/mol-plugin/ui/sequence/sequence.tsx b/src/mol-plugin/ui/sequence/sequence.tsx index 70328b9099e33fd3f210e5eb744a1d50ea5d991d..13921cc3a702d4e56fd460fdeb5d0828bf9769eb 100644 --- a/src/mol-plugin/ui/sequence/sequence.tsx +++ b/src/mol-plugin/ui/sequence/sequence.tsx @@ -9,7 +9,7 @@ import * as React from 'react' import { PluginUIComponent } from '../base'; import { Interactivity } from '../../util/interactivity'; import { MarkerAction } from '../../../mol-util/marker-action'; -import { ButtonsType, ModifiersKeys, getButtons, getModifiers, MouseModifiers } from '../../../mol-util/input/input-observer'; +import { ButtonsType, ModifiersKeys, getButtons, getModifiers } from '../../../mol-util/input/input-observer'; import { SequenceWrapper } from './wrapper'; import { StructureElement } from '../../../mol-model/structure'; import { Subject } from 'rxjs'; @@ -22,7 +22,7 @@ type SequenceProps = { sequenceWrapper: SequenceWrapper.Any } export class Sequence<P extends SequenceProps> extends PluginUIComponent<P> { private parentDiv = React.createRef<HTMLDivElement>(); private lastMouseOverSeqIdx = -1; - private highlightQueue = new Subject<{ seqIdx: number, buttons: number, modifiers: MouseModifiers }>(); + private highlightQueue = new Subject<{ seqIdx: number, buttons: number, modifiers: ModifiersKeys }>(); private lociHighlightProvider = (loci: Interactivity.Loci, action: MarkerAction) => { const changed = this.props.sequenceWrapper.markResidue(loci.loci, action) @@ -38,7 +38,7 @@ export class Sequence<P extends SequenceProps> extends PluginUIComponent<P> { this.plugin.interactivity.lociHighlights.addProvider(this.lociHighlightProvider) this.plugin.interactivity.lociSelects.addProvider(this.lociSelectionProvider) - this.subscribe(debounceTime<{ seqIdx: number, buttons: number, modifiers: MouseModifiers }>(15)(this.highlightQueue), (e) => { + this.subscribe(debounceTime<{ seqIdx: number, buttons: number, modifiers: ModifiersKeys }>(15)(this.highlightQueue), (e) => { this.hover(e.seqIdx < 0 ? void 0 : e.seqIdx, e.buttons, e.modifiers); }); } diff --git a/src/mol-util/input/input-observer.ts b/src/mol-util/input/input-observer.ts index e759309164d335a9a929c04892613111bd681e6b..92f0850e107a15c7be583dd0705cc34199577cc9 100644 --- a/src/mol-util/input/input-observer.ts +++ b/src/mol-util/input/input-observer.ts @@ -37,8 +37,7 @@ export function getButtons(event: MouseEvent | Touch) { return 0 } -export type MouseModifiers = { alt: boolean, shift: boolean, control: boolean, meta: boolean } -export function getModifiers(event: MouseEvent | Touch): MouseModifiers { +export function getModifiers(event: MouseEvent | Touch): ModifiersKeys { return { alt: 'altKey' in event ? event.altKey : false, shift: 'shiftKey' in event ? event.shiftKey : false,