mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Merge from master
This commit is contained in:
@@ -2,12 +2,11 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import * as dom from 'vs/base/browser/dom';
|
||||
import { IframeUtils } from 'vs/base/browser/iframe';
|
||||
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
|
||||
import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
|
||||
export interface IStandardMouseMoveEventData {
|
||||
leftButton: boolean;
|
||||
@@ -40,9 +39,9 @@ export function standardMouseMoveMerger(lastEvent: IStandardMouseMoveEventData,
|
||||
export class GlobalMouseMoveMonitor<R> extends Disposable {
|
||||
|
||||
private hooks: IDisposable[];
|
||||
private mouseMoveEventMerger: IEventMerger<R>;
|
||||
private mouseMoveCallback: IMouseMoveCallback<R>;
|
||||
private onStopCallback: IOnStopCallback;
|
||||
private mouseMoveEventMerger: IEventMerger<R> | null;
|
||||
private mouseMoveCallback: IMouseMoveCallback<R> | null;
|
||||
private onStopCallback: IOnStopCallback | null;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -70,7 +69,7 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
|
||||
let onStopCallback = this.onStopCallback;
|
||||
this.onStopCallback = null;
|
||||
|
||||
if (invokeStopCallback) {
|
||||
if (invokeStopCallback && onStopCallback) {
|
||||
onStopCallback();
|
||||
}
|
||||
}
|
||||
@@ -95,8 +94,8 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
|
||||
let windowChain = IframeUtils.getSameOriginWindowChain();
|
||||
for (let i = 0; i < windowChain.length; i++) {
|
||||
this.hooks.push(dom.addDisposableThrottledListener(windowChain[i].window.document, 'mousemove',
|
||||
(data: R) => this.mouseMoveCallback(data),
|
||||
(lastEvent: R, currentEvent) => this.mouseMoveEventMerger(lastEvent, currentEvent as MouseEvent)
|
||||
(data: R) => this.mouseMoveCallback!(data),
|
||||
(lastEvent: R, currentEvent) => this.mouseMoveEventMerger!(lastEvent, currentEvent as MouseEvent)
|
||||
));
|
||||
this.hooks.push(dom.addDisposableListener(windowChain[i].window.document, 'mouseup', (e: MouseEvent) => this.stopMonitoring(true)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user