diff --git a/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts b/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts index d30efa4e6fbf7575fe47ce14f629bc81f7dd73e3..84cb54e6f6c3b132cc8ade888cc6b5df1a113aa0 100644 --- a/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +++ b/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts @@ -13,7 +13,7 @@ import Browser = require('vs/base/browser/browser'); import Platform = require('vs/base/common/platform'); export interface IMouseWheelEventFactory { - ():IMouseWheelEvent; + (): IMouseWheelEvent; } export class ScrollbarState { @@ -21,41 +21,41 @@ export class ScrollbarState { static MINIMUM_SLIDER_SIZE = 20; // --- immutable - private scrollbarSize:number; - private oppositeScrollbarSize:number; - private arrowSize:number; + private scrollbarSize: number; + private oppositeScrollbarSize: number; + private arrowSize: number; - // --- variables - private visibleSize:number; - private scrollSize:number; - private scrollPosition:number; + // --- letiables + private visibleSize: number; + private scrollSize: number; + private scrollPosition: number; - // --- computed variables + // --- computed letiables /** * `visibleSize` - `oppositeScrollbarSize` */ - private computedAvailableSize:number; + private computedAvailableSize: number; /** * `computedAvailableSize` - 2 * `arrowSize` */ - private computedRepresentableSize:number; + private computedRepresentableSize: number; /** * `computedRepresentableSize` / `scrollSize` */ - private computedRatio:number; + private computedRatio: number; /** * (`scrollSize` > `visibleSize`) */ - private computedIsNeeded:boolean; + private computedIsNeeded: boolean; - private computedSliderSize:number; - private computedSliderPosition:number; + private computedSliderSize: number; + private computedSliderPosition: number; - constructor(arrowSize:number, scrollbarSize:number, oppositeScrollbarSize:number) { + constructor(arrowSize: number, scrollbarSize: number, oppositeScrollbarSize: number) { this.visibleSize = 0; this.scrollSize = 0; this.scrollPosition = 0; @@ -65,7 +65,7 @@ export class ScrollbarState { this.refreshComputedValues(); } - public setVisibleSize(visibleSize:number): boolean { + public setVisibleSize(visibleSize: number): boolean { if (this.visibleSize !== visibleSize) { this.visibleSize = visibleSize; this.refreshComputedValues(); @@ -74,7 +74,7 @@ export class ScrollbarState { return false; } - public setScrollSize(scrollSize:number): boolean { + public setScrollSize(scrollSize: number): boolean { if (this.scrollSize !== scrollSize) { this.scrollSize = scrollSize; this.refreshComputedValues(); @@ -83,7 +83,7 @@ export class ScrollbarState { return false; } - public setScrollPosition(scrollPosition:number): boolean { + public setScrollPosition(scrollPosition: number): boolean { if (this.scrollPosition !== scrollPosition) { this.scrollPosition = scrollPosition; this.refreshComputedValues(); @@ -110,7 +110,7 @@ export class ScrollbarState { // The effort is to keep the slider centered around the original position, but we must take into // account the cases when the slider is too close to the top or too close to the bottom - var sliderArtificialOffset = (ScrollbarState.MINIMUM_SLIDER_SIZE - this.computedSliderSize) / 2; + let sliderArtificialOffset = (ScrollbarState.MINIMUM_SLIDER_SIZE - this.computedSliderSize) / 2; this.computedSliderSize = ScrollbarState.MINIMUM_SLIDER_SIZE; this.computedSliderPosition -= sliderArtificialOffset; @@ -152,11 +152,11 @@ export class ScrollbarState { return this.computedSliderPosition; } - public convertSliderPositionToScrollPosition(desiredSliderPosition:number): number { + public convertSliderPositionToScrollPosition(desiredSliderPosition: number): number { return desiredSliderPosition / this.computedRatio; } - public validateScrollPosition(desiredScrollPosition:number): number { + public validateScrollPosition(desiredScrollPosition: number): number { desiredScrollPosition = Math.round(desiredScrollPosition); desiredScrollPosition = Math.max(desiredScrollPosition, 0); desiredScrollPosition = Math.min(desiredScrollPosition, this.scrollSize - this.visibleSize); @@ -166,16 +166,16 @@ export class ScrollbarState { } class ScrollbarArrow { - private parent:IParent; - private mouseWheelEventFactory:IMouseWheelEventFactory; - public bgDomNode:HTMLElement; - public domNode:HTMLElement; - private toDispose:IDisposable[]; - private interval:number; - private timeout:number; - private mouseMoveMonitor:GlobalMouseMoveMonitor; - - constructor(className:string, top:number, left:number, bottom:number, right:number, bgWidth:number, bgHeight:number, mouseWheelEventFactory:IMouseWheelEventFactory, parent:IParent) { + private parent: IParent; + private mouseWheelEventFactory: IMouseWheelEventFactory; + public bgDomNode: HTMLElement; + public domNode: HTMLElement; + private toDispose: IDisposable[]; + private interval: number; + private timeout: number; + private mouseMoveMonitor: GlobalMouseMoveMonitor; + + constructor(className: string, top: number, left: number, bottom: number, right: number, bgWidth: number, bgHeight: number, mouseWheelEventFactory: IMouseWheelEventFactory, parent: IParent) { this.parent = parent; this.mouseWheelEventFactory = mouseWheelEventFactory; @@ -186,7 +186,7 @@ class ScrollbarArrow { setPosition(this.bgDomNode, (top !== null ? 0 : null), (left !== null ? 0 : null), (bottom !== null ? 0 : null), (right !== null ? 0 : null)); - this.domNode = document.createElement('div'); + this.domNode = document.createElement('div'); this.domNode.className = className; this.domNode.style.position = 'absolute'; setSize(this.domNode, AbstractScrollbar.ARROW_IMG_SIZE, AbstractScrollbar.ARROW_IMG_SIZE); @@ -195,8 +195,8 @@ class ScrollbarArrow { this.mouseMoveMonitor = new GlobalMouseMoveMonitor(); this.toDispose = []; - this.toDispose.push(DomUtils.addDisposableListener(this.bgDomNode, 'mousedown', (e:MouseEvent) => this._arrowMouseDown(e))); - this.toDispose.push(DomUtils.addDisposableListener(this.domNode, 'mousedown', (e:MouseEvent) => this._arrowMouseDown(e))); + this.toDispose.push(DomUtils.addDisposableListener(this.bgDomNode, 'mousedown', (e: MouseEvent) => this._arrowMouseDown(e))); + this.toDispose.push(DomUtils.addDisposableListener(this.domNode, 'mousedown', (e: MouseEvent) => this._arrowMouseDown(e))); this.toDispose.push(this.mouseMoveMonitor); this.interval = -1; this.timeout = -1; @@ -207,13 +207,13 @@ class ScrollbarArrow { this._clearArrowTimers(); } - private _arrowMouseDown(browserEvent:MouseEvent):void { - var repeater = () => { + private _arrowMouseDown(browserEvent: MouseEvent): void { + let repeater = () => { this.parent.onMouseWheel(this.mouseWheelEventFactory()); }; - var scheduleRepeater = () => { - this.interval = window.setInterval(repeater, 1000/24); + let scheduleRepeater = () => { + this.interval = window.setInterval(repeater, 1000 / 24); }; repeater(); @@ -222,7 +222,7 @@ class ScrollbarArrow { this.mouseMoveMonitor.startMonitoring( standardMouseMoveMerger, - (mouseMoveData:IStandardMouseMoveEventData) => { + (mouseMoveData: IStandardMouseMoveEventData) => { /* Intentional empty */ }, () => { @@ -230,11 +230,11 @@ class ScrollbarArrow { } ); - var mouseEvent = new StandardMouseEvent(browserEvent); + let mouseEvent = new StandardMouseEvent(browserEvent); mouseEvent.preventDefault(); } - private _clearArrowTimers():void { + private _clearArrowTimers(): void { if (this.interval !== -1) { window.clearInterval(this.interval); this.interval = -1; @@ -247,16 +247,16 @@ class ScrollbarArrow { } class VisibilityController implements IDisposable { - private visibility:Visibility; - private visibleClassName:string; - private invisibleClassName:string; - private domNode:HTMLElement; - private shouldBeVisible:boolean; - private isNeeded:boolean; - private isVisible:boolean; - private fadeAwayTimeout:number; - - constructor(visibility:Visibility, visibleClassName:string, invisibleClassName:string) { + private visibility: Visibility; + private visibleClassName: string; + private invisibleClassName: string; + private domNode: HTMLElement; + private shouldBeVisible: boolean; + private isNeeded: boolean; + private isVisible: boolean; + private fadeAwayTimeout: number; + + constructor(visibility: Visibility, visibleClassName: string, invisibleClassName: string) { this.visibility = visibility; this.visibleClassName = visibleClassName; this.invisibleClassName = invisibleClassName; @@ -280,7 +280,7 @@ class VisibilityController implements IDisposable { // ----------------- Hide / Reveal - private applyVisibilitySetting(shouldBeVisible:boolean): boolean { + private applyVisibilitySetting(shouldBeVisible: boolean): boolean { if (this.visibility === Visibility.Hidden) { return false; } @@ -290,8 +290,8 @@ class VisibilityController implements IDisposable { return shouldBeVisible; } - public setShouldBeVisible(rawShouldBeVisible:boolean): void { - var shouldBeVisible = this.applyVisibilitySetting(rawShouldBeVisible); + public setShouldBeVisible(rawShouldBeVisible: boolean): void { + let shouldBeVisible = this.applyVisibilitySetting(rawShouldBeVisible); if (this.shouldBeVisible !== shouldBeVisible) { this.shouldBeVisible = shouldBeVisible; @@ -299,14 +299,14 @@ class VisibilityController implements IDisposable { } } - public setIsNeeded(isNeeded:boolean): void { + public setIsNeeded(isNeeded: boolean): void { if (this.isNeeded !== isNeeded) { this.isNeeded = isNeeded; this.ensureVisibility(); } } - public setDomNode(domNode:HTMLElement): void { + public setDomNode(domNode: HTMLElement): void { this.domNode = domNode; this.domNode.className = this.invisibleClassName; @@ -329,7 +329,7 @@ class VisibilityController implements IDisposable { } } - private _revealTimeout:number = -1; + private _revealTimeout: number = -1; private _reveal(): void { if (this.isVisible) { return; @@ -350,7 +350,7 @@ class VisibilityController implements IDisposable { } } - private _hide(withFadeAway:boolean): void { + private _hide(withFadeAway: boolean): void { if (this._revealTimeout !== -1) { window.clearTimeout(this._revealTimeout); this._revealTimeout = -1; @@ -364,9 +364,9 @@ class VisibilityController implements IDisposable { } export interface IMouseMoveEventData { - leftButton:boolean; - posx:number; - posy:number; + leftButton: boolean; + posx: number; + posy: number; } export abstract class AbstractScrollbar implements IScrollbar { @@ -377,18 +377,18 @@ export abstract class AbstractScrollbar implements IScrollbar { */ static MOUSE_DRAG_RESET_DISTANCE = 140; - protected forbidTranslate3dUse:boolean; - private parent:IParent; - private scrollbarState:ScrollbarState; - private visibilityController:VisibilityController; - private mouseMoveMonitor:GlobalMouseMoveMonitor; + protected forbidTranslate3dUse: boolean; + private parent: IParent; + private scrollbarState: ScrollbarState; + private visibilityController: VisibilityController; + private mouseMoveMonitor: GlobalMouseMoveMonitor; - private toDispose:IDisposable[]; + private toDispose: IDisposable[]; - public domNode:HTMLElement; - public slider:HTMLElement; + public domNode: HTMLElement; + public slider: HTMLElement; - constructor(forbidTranslate3dUse:boolean, parent:IParent, scrollbarState:ScrollbarState, visibility:Visibility, extraScrollbarClassName:string) { + constructor(forbidTranslate3dUse: boolean, parent: IParent, scrollbarState: ScrollbarState, visibility: Visibility, extraScrollbarClassName: string) { this.forbidTranslate3dUse = forbidTranslate3dUse; this.parent = parent; this.scrollbarState = scrollbarState; @@ -415,14 +415,14 @@ export abstract class AbstractScrollbar implements IScrollbar { this.visibilityController.setDomNode(this.domNode); this.domNode.style.position = 'absolute'; - this.toDispose.push(DomUtils.addDisposableListener(this.domNode, 'mousedown', (e:MouseEvent) => this._domNodeMouseDown(e))); + this.toDispose.push(DomUtils.addDisposableListener(this.domNode, 'mousedown', (e: MouseEvent) => this._domNodeMouseDown(e))); } /** * Creates the dom node for an arrow & adds it to the container */ - public _createArrow(className:string, top:number, left:number, bottom:number, right:number, bgWidth:number, bgHeight:number, mouseWheelEventFactory:IMouseWheelEventFactory): void { - var arrow = new ScrollbarArrow(className, top, left, bottom, right, bgWidth, bgHeight, mouseWheelEventFactory, this.parent); + public _createArrow(className: string, top: number, left: number, bottom: number, right: number, bgWidth: number, bgHeight: number, mouseWheelEventFactory: IMouseWheelEventFactory): void { + let arrow = new ScrollbarArrow(className, top, left, bottom, right, bgWidth, bgHeight, mouseWheelEventFactory, this.parent); this.domNode.appendChild(arrow.bgDomNode); this.domNode.appendChild(arrow.domNode); this.toDispose.push(arrow); @@ -431,7 +431,7 @@ export abstract class AbstractScrollbar implements IScrollbar { /** * Creates the slider dom node, adds it to the container & hooks up the events */ - public _createSlider(top:number, left:number, width:number, height:number): void { + public _createSlider(top: number, left: number, width: number, height: number): void { this.slider = document.createElement('div'); this.slider.className = 'slider'; this.slider.style.position = 'absolute'; @@ -439,7 +439,7 @@ export abstract class AbstractScrollbar implements IScrollbar { setSize(this.slider, width, height); this.domNode.appendChild(this.slider); - this.toDispose.push(DomUtils.addDisposableListener(this.slider, 'mousedown', (e:MouseEvent) => this._sliderMouseDown(new StandardMouseEvent(e)))); + this.toDispose.push(DomUtils.addDisposableListener(this.slider, 'mousedown', (e: MouseEvent) => this._sliderMouseDown(new StandardMouseEvent(e)))); } /** @@ -451,7 +451,7 @@ export abstract class AbstractScrollbar implements IScrollbar { // ----------------- Update state - public onElementSize(visibleSize:number) { + public onElementSize(visibleSize: number) { if (this.scrollbarState.setVisibleSize(visibleSize)) { this._renderDomNode(this.scrollbarState.getRectangleLargeSize(), this.scrollbarState.getRectangleSmallSize()); this._renderSlider(); @@ -459,14 +459,14 @@ export abstract class AbstractScrollbar implements IScrollbar { } } - public onElementScrollSize(elementScrollSize:number): void { + public onElementScrollSize(elementScrollSize: number): void { if (this.scrollbarState.setScrollSize(elementScrollSize)) { this._renderSlider(); this.visibilityController.setIsNeeded(this.scrollbarState.isNeeded()); } } - public onElementScrollPosition(elementScrollPosition:number): void { + public onElementScrollPosition(elementScrollPosition: number): void { if (this.scrollbarState.setScrollPosition(elementScrollPosition)) { this._renderSlider(); this.visibilityController.setIsNeeded(this.scrollbarState.isNeeded()); @@ -489,20 +489,20 @@ export abstract class AbstractScrollbar implements IScrollbar { // ----------------- DOM events - private _domNodeMouseDown(browserEvent:MouseEvent): void { - var e = new StandardMouseEvent(browserEvent); + private _domNodeMouseDown(browserEvent: MouseEvent): void { + let e = new StandardMouseEvent(browserEvent); if (e.target !== this.domNode) { return; } this._onMouseDown(e); } - public delegateMouseDown(browserEvent:MouseEvent): void { - var e = new StandardMouseEvent(browserEvent); - var domTop = this.domNode.getClientRects()[0].top; - var sliderStart = domTop + this.scrollbarState.getSliderPosition(); - var sliderStop = domTop + this.scrollbarState.getSliderPosition() + this.scrollbarState.getSliderSize(); - var mousePos = this._sliderMousePosition(e); + public delegateMouseDown(browserEvent: MouseEvent): void { + let e = new StandardMouseEvent(browserEvent); + let domTop = this.domNode.getClientRects()[0].top; + let sliderStart = domTop + this.scrollbarState.getSliderPosition(); + let sliderStop = domTop + this.scrollbarState.getSliderPosition() + this.scrollbarState.getSliderSize(); + let mousePos = this._sliderMousePosition(e); if (sliderStart <= mousePos && mousePos <= sliderStop) { // Act as if it was a mouse down on the slider this._sliderMouseDown(e); @@ -512,31 +512,31 @@ export abstract class AbstractScrollbar implements IScrollbar { } } - private _onMouseDown(e:StandardMouseEvent): void { - var domNodePosition = DomUtils.getDomNodePosition(this.domNode); - var desiredSliderPosition = this._mouseDownRelativePosition(e, domNodePosition) - this.scrollbarState.getArrowSize() - this.scrollbarState.getSliderSize() / 2; + private _onMouseDown(e: StandardMouseEvent): void { + let domNodePosition = DomUtils.getDomNodePosition(this.domNode); + let desiredSliderPosition = this._mouseDownRelativePosition(e, domNodePosition) - this.scrollbarState.getArrowSize() - this.scrollbarState.getSliderSize() / 2; this.setDesiredScrollPosition(this.scrollbarState.convertSliderPositionToScrollPosition(desiredSliderPosition)); this._sliderMouseDown(e); } - private _sliderMouseDown(e:StandardMouseEvent): void { + private _sliderMouseDown(e: StandardMouseEvent): void { if (e.leftButton) { - var initialMouseOrthogonalPosition = this._sliderOrthogonalMousePosition(e); - var initialScrollPosition = this._getScrollPosition(); - var draggingDelta = this._sliderMousePosition(e) - this.scrollbarState.getSliderPosition(); + let initialMouseOrthogonalPosition = this._sliderOrthogonalMousePosition(e); + let initialScrollPosition = this._getScrollPosition(); + let draggingDelta = this._sliderMousePosition(e) - this.scrollbarState.getSliderPosition(); DomUtils.toggleClass(this.slider, 'active', true); this.mouseMoveMonitor.startMonitoring( standardMouseMoveMerger, - (mouseMoveData:IStandardMouseMoveEventData) => { - var mouseOrthogonalPosition = this._sliderOrthogonalMousePosition(mouseMoveData); - var mouseOrthogonalDelta = Math.abs(mouseOrthogonalPosition - initialMouseOrthogonalPosition); + (mouseMoveData: IStandardMouseMoveEventData) => { + let mouseOrthogonalPosition = this._sliderOrthogonalMousePosition(mouseMoveData); + let mouseOrthogonalDelta = Math.abs(mouseOrthogonalPosition - initialMouseOrthogonalPosition); // console.log(initialMouseOrthogonalPosition + ' -> ' + mouseOrthogonalPosition + ': ' + mouseOrthogonalDelta); if (Platform.isWindows && mouseOrthogonalDelta > AbstractScrollbar.MOUSE_DRAG_RESET_DISTANCE) { // The mouse has wondered away from the scrollbar => reset dragging this.setDesiredScrollPosition(initialScrollPosition); } else { - var desiredSliderPosition = this._sliderMousePosition(mouseMoveData) - draggingDelta; + let desiredSliderPosition = this._sliderMousePosition(mouseMoveData) - draggingDelta; this.setDesiredScrollPosition(this.scrollbarState.convertSliderPositionToScrollPosition(desiredSliderPosition)); } }, @@ -551,11 +551,11 @@ export abstract class AbstractScrollbar implements IScrollbar { } } - public validateScrollPosition(desiredScrollPosition:number): number { + public validateScrollPosition(desiredScrollPosition: number): number { return this.scrollbarState.validateScrollPosition(desiredScrollPosition); } - public setDesiredScrollPosition(desiredScrollPosition:number): void { + public setDesiredScrollPosition(desiredScrollPosition: number): void { desiredScrollPosition = this.validateScrollPosition(desiredScrollPosition); this._setScrollPosition(desiredScrollPosition); @@ -565,21 +565,21 @@ export abstract class AbstractScrollbar implements IScrollbar { // ----------------- Overwrite these - public _renderDomNode(largeSize:number, smallSize:number): void { + public _renderDomNode(largeSize: number, smallSize: number): void { } - public _updateSlider(sliderSize:number, sliderPosition:number): void { + public _updateSlider(sliderSize: number, sliderPosition: number): void { } - public _mouseDownRelativePosition(e:StandardMouseEvent, domNodePosition:DomUtils.IDomNodePosition): number { + public _mouseDownRelativePosition(e: StandardMouseEvent, domNodePosition: DomUtils.IDomNodePosition): number { return 0; } - public _sliderMousePosition(e:IMouseMoveEventData): number { + public _sliderMousePosition(e: IMouseMoveEventData): number { return 0; } - public _sliderOrthogonalMousePosition(e:IMouseMoveEventData): number { + public _sliderOrthogonalMousePosition(e: IMouseMoveEventData): number { return 0; } @@ -587,7 +587,7 @@ export abstract class AbstractScrollbar implements IScrollbar { return 0; } - public _setScrollPosition(elementScrollPosition:number): void { + public _setScrollPosition(elementScrollPosition: number): void { } } @@ -595,7 +595,7 @@ function toPx(value) { return value + 'px'; } -function setPosition(domNode:HTMLElement, top:number, left:number, bottom:number, right:number) { +function setPosition(domNode: HTMLElement, top: number, left: number, bottom: number, right: number) { if (top !== null) { domNode.style.top = toPx(top); } @@ -610,7 +610,7 @@ function setPosition(domNode:HTMLElement, top:number, left:number, bottom:number } } -function setSize(domNode:HTMLElement, width:number, height:number) { +function setSize(domNode: HTMLElement, width: number, height: number) { if (width !== null) { domNode.style.width = toPx(width); } diff --git a/src/vs/base/browser/ui/scrollbar/common.ts b/src/vs/base/browser/ui/scrollbar/common.ts index f65d1df61387ba909e8f7c97bb7ec572ce4c42d2..3ea39874b3eb25508300193b524ee6f0a0e6a46d 100644 --- a/src/vs/base/browser/ui/scrollbar/common.ts +++ b/src/vs/base/browser/ui/scrollbar/common.ts @@ -8,33 +8,33 @@ import {IScrollable} from 'vs/base/common/scrollable'; export interface IMouseWheelEvent { browserEvent: MouseWheelEvent; - deltaX:number; - deltaY:number; + deltaX: number; + deltaY: number; preventDefault(): void; stopPropagation(): void; } export interface IDimensions { - width:number; - height:number; + width: number; + height: number; } export interface IScrollbar { - domNode:HTMLElement; + domNode: HTMLElement; destroy(): void; - slider:HTMLElement; - onElementSize(size:number): void; - onElementScrollSize(scrollSize:number): void; - onElementScrollPosition(scrollPosition:number): void; + slider: HTMLElement; + onElementSize(size: number): void; + onElementScrollSize(scrollSize: number): void; + onElementScrollPosition(scrollPosition: number): void; beginReveal(): void; beginHide(): void; - delegateMouseDown(browserEvent:MouseEvent): void; - validateScrollPosition(scrollPosition:number): number; - setDesiredScrollPosition(scrollPosition:number): void; + delegateMouseDown(browserEvent: MouseEvent): void; + validateScrollPosition(scrollPosition: number): number; + setDesiredScrollPosition(scrollPosition: number): void; } export interface IParent { - onMouseWheel(mouseWheelEvent:IMouseWheelEvent): void; + onMouseWheel(mouseWheelEvent: IMouseWheelEvent): void; onDragStart(): void; onDragEnd(): void; } @@ -45,7 +45,7 @@ export enum Visibility { Visible }; -export function visibilityFromString(visibility:string): Visibility { +export function visibilityFromString(visibility: string): Visibility { switch (visibility) { case 'hidden': return Visibility.Hidden; @@ -65,17 +65,17 @@ export interface IOptions { /** * CSS Class name for the scrollable element */ - className:string; + className: string; /** * Drop subtle horizontal and vertical shadows. */ - useShadows:boolean; + useShadows: boolean; /** * Handle mouse wheel (listen to mouse wheel scrolling). */ - handleMouseWheel:boolean; + handleMouseWheel: boolean; /** * Flip axes. Treat vertical scrolling like horizontal and vice-versa. @@ -91,52 +91,52 @@ export interface IOptions { /** * Height for vertical arrows (top/bottom) and width for horizontal arrows (left/right). */ - arrowSize:number; + arrowSize: number; /** * The scrollable that will react to all the scrolling logic. */ - scrollable:IScrollable; + scrollable: IScrollable; /** * The dom node events should be bound to. */ - listenOnDomNode:HTMLElement; + listenOnDomNode: HTMLElement; /** * Visibility of the horizontal scrollbar. */ - horizontal:Visibility; + horizontal: Visibility; /** * Height (in px) of the horizontal scrollbar. */ - horizontalScrollbarSize:number; + horizontalScrollbarSize: number; /** * Height (in px) of the horizontal scrollbar slider. */ - horizontalSliderSize:number; + horizontalSliderSize: number; /** * Render arrows (left/right) for the horizontal scrollbar. */ - horizontalHasArrows:boolean; + horizontalHasArrows: boolean; /** * Visibility of the vertical scrollbar. */ - vertical:Visibility; + vertical: Visibility; /** * Width (in px) of the vertical scrollbar. */ - verticalScrollbarSize:number; + verticalScrollbarSize: number; /** * Width (in px) of the vertical scrollbar slider. */ - verticalSliderSize:number; + verticalSliderSize: number; /** * Render arrows (top/bottom) for the vertical scrollbar. diff --git a/src/vs/base/browser/ui/scrollbar/domNodeScrollable.ts b/src/vs/base/browser/ui/scrollbar/domNodeScrollable.ts index 78461d43d64992abbc5537e64d0f152b04c76e8b..f0cf40f1eb389ce6f60c6e450e1c20cadee6792d 100644 --- a/src/vs/base/browser/ui/scrollbar/domNodeScrollable.ts +++ b/src/vs/base/browser/ui/scrollbar/domNodeScrollable.ts @@ -16,7 +16,7 @@ export class DomNodeScrollable implements IScrollable { private domNode: HTMLElement; private gestureHandler: Gesture; - constructor(domNode:HTMLElement) { + constructor(domNode: HTMLElement) { this.eventEmitterHelper = new EventEmitter(); this.domNode = domNode; this.gestureHandler = new Gesture(this.domNode); @@ -34,7 +34,7 @@ export class DomNodeScrollable implements IScrollable { return this.domNode.scrollLeft; } - public setScrollLeft(scrollLeft:number): void { + public setScrollLeft(scrollLeft: number): void { this.domNode.scrollLeft = scrollLeft; } @@ -42,13 +42,13 @@ export class DomNodeScrollable implements IScrollable { return this.domNode.scrollTop; } - public setScrollTop(scrollTop:number): void { + public setScrollTop(scrollTop: number): void { this.domNode.scrollTop = scrollTop; } - public addScrollListener(callback:()=>void): IDisposable { - var localDisposable = this.eventEmitterHelper.addListener2('scroll', callback); - var domDisposable = DomUtils.addDisposableListener(this.domNode, 'scroll', (e:Event) => { + public addScrollListener(callback: () => void): IDisposable { + let localDisposable = this.eventEmitterHelper.addListener2('scroll', callback); + let domDisposable = DomUtils.addDisposableListener(this.domNode, 'scroll', (e: Event) => { this.eventEmitterHelper.emit('scroll', { browserEvent: e }); }); diff --git a/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts b/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts index e72bdcd8e1600bc27688a6eca69c6a1e33b20ed1..027ac8dd3d7b51bc34a74b49fc83ebf2d5108788 100644 --- a/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +++ b/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts @@ -13,10 +13,10 @@ import {IScrollable} from 'vs/base/common/scrollable'; export class HorizontalScrollbar extends AbstractScrollbar { - private scrollable:IScrollable; + private scrollable: IScrollable; - constructor(scrollable:IScrollable, parent:IParent, options:IOptions) { - var s = new ScrollbarState( + constructor(scrollable: IScrollable, parent: IParent, options: IOptions) { + let s = new ScrollbarState( (options.horizontalHasArrows ? options.arrowSize : 0), (options.horizontal === Visibility.Hidden ? 0 : options.horizontalScrollbarSize), (options.vertical === Visibility.Hidden ? 0 : options.verticalScrollbarSize) @@ -26,8 +26,8 @@ export class HorizontalScrollbar extends AbstractScrollbar { this._createDomNode(); if (options.horizontalHasArrows) { - var arrowDelta = (options.arrowSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; - var scrollbarDelta = (options.horizontalScrollbarSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; + let arrowDelta = (options.arrowSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; + let scrollbarDelta = (options.horizontalScrollbarSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; this._createArrow('left-arrow', scrollbarDelta, arrowDelta, null, null, options.arrowSize, options.horizontalScrollbarSize, () => this._createMouseWheelEvent(1)); this._createArrow('right-arrow', scrollbarDelta, null, null, arrowDelta, options.arrowSize, options.horizontalScrollbarSize, () => this._createMouseWheelEvent(-1)); @@ -36,11 +36,11 @@ export class HorizontalScrollbar extends AbstractScrollbar { this._createSlider(Math.floor((options.horizontalScrollbarSize - options.horizontalSliderSize) / 2), 0, null, options.horizontalSliderSize); } - public _createMouseWheelEvent(sign:number) { + public _createMouseWheelEvent(sign: number) { return new StandardMouseWheelEvent(null, sign, 0); } - public _updateSlider(sliderSize:number, sliderPosition:number): void { + public _updateSlider(sliderSize: number, sliderPosition: number): void { DomUtils.StyleMutator.setWidth(this.slider, sliderSize); if (!this.forbidTranslate3dUse && Browser.canUseTranslate3d) { DomUtils.StyleMutator.setTransform(this.slider, 'translate3d(' + sliderPosition + 'px, 0px, 0px)'); @@ -49,22 +49,22 @@ export class HorizontalScrollbar extends AbstractScrollbar { } } - public _renderDomNode(largeSize:number, smallSize:number): void { + public _renderDomNode(largeSize: number, smallSize: number): void { DomUtils.StyleMutator.setWidth(this.domNode, largeSize); DomUtils.StyleMutator.setHeight(this.domNode, smallSize); DomUtils.StyleMutator.setLeft(this.domNode, 0); DomUtils.StyleMutator.setBottom(this.domNode, 0); } - public _mouseDownRelativePosition(e:StandardMouseEvent, domNodePosition:DomUtils.IDomNodePosition): number { + public _mouseDownRelativePosition(e: StandardMouseEvent, domNodePosition: DomUtils.IDomNodePosition): number { return e.posx - domNodePosition.left; } - public _sliderMousePosition(e:IMouseMoveEventData): number { + public _sliderMousePosition(e: IMouseMoveEventData): number { return e.posx; } - public _sliderOrthogonalMousePosition(e:IMouseMoveEventData): number { + public _sliderOrthogonalMousePosition(e: IMouseMoveEventData): number { return e.posy; } @@ -72,7 +72,7 @@ export class HorizontalScrollbar extends AbstractScrollbar { return this.scrollable.getScrollLeft(); } - public _setScrollPosition(scrollPosition:number) { + public _setScrollPosition(scrollPosition: number) { this.scrollable.setScrollLeft(scrollPosition); } } diff --git a/src/vs/base/browser/ui/scrollbar/scrollableElement.ts b/src/vs/base/browser/ui/scrollbar/scrollableElement.ts index 65a3f4fce82507f0c0ce31e27416a046c3c3c0e8..f10f7d393c33e724b73a9acc8115b036504c66c0 100644 --- a/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +++ b/src/vs/base/browser/ui/scrollbar/scrollableElement.ts @@ -15,19 +15,19 @@ export interface ICreationOptions { /** * CSS Class name for the scrollable element. */ - className?:string; + className?: string; /** * Drop subtle horizontal and vertical shadows. * Defaults to false. */ - useShadows?:boolean; + useShadows?: boolean; /** * Handle mouse wheel (listen to mouse wheel scrolling). * Defaults to true */ - handleMouseWheel?:boolean; + handleMouseWheel?: boolean; /** * Flip axes. Treat vertical scrolling like horizontal and vice-versa. @@ -45,63 +45,63 @@ export interface ICreationOptions { * Height for vertical arrows (top/bottom) and width for horizontal arrows (left/right). * Defaults to 11. */ - arrowSize?:number; + arrowSize?: number; /** * The scrollable that will react to all the scrolling logic. * If no scrollable is provided, a dom node scrollable will be created automatically. */ - scrollable?:IScrollable; + scrollable?: IScrollable; /** * The dom node events should be bound to. * If no listenOnDomNode is provided, the dom node passed to the constructor will be used for event listening. */ - listenOnDomNode?:HTMLElement; + listenOnDomNode?: HTMLElement; /** * Control the visibility of the horizontal scrollbar. * Accepted values: 'auto' (on mouse over), 'visible' (always visible), 'hidden' (never visible) * Defaults to 'auto'. */ - horizontal?:string; + horizontal?: string; /** * Height (in px) of the horizontal scrollbar. * Defaults to 10. */ - horizontalScrollbarSize?:number; + horizontalScrollbarSize?: number; /** * Height (in px) of the horizontal scrollbar slider. * Defaults to `horizontalScrollbarSize` */ - horizontalSliderSize?:number; + horizontalSliderSize?: number; /** * Render arrows (left/right) for the horizontal scrollbar. * Defaults to false. */ - horizontalHasArrows?:boolean; + horizontalHasArrows?: boolean; /** * Control the visibility of the vertical scrollbar. * Accepted values: 'auto' (on mouse over), 'visible' (always visible), 'hidden' (never visible) * Defaults to 'auto'. */ - vertical?:string; + vertical?: string; /** * Width (in px) of the vertical scrollbar. * Defaults to 10. */ - verticalScrollbarSize?:number; + verticalScrollbarSize?: number; /** * Width (in px) of the vertical scrollbar slider. * Defaults to `verticalScrollbarSize` */ - verticalSliderSize?:number; + verticalSliderSize?: number; /** * Render arrows (top/bottom) for the vertical scrollbar. @@ -130,19 +130,19 @@ export interface IDimensions { */ export interface IScrollableElement { - verticalScrollbarWidth:number; + verticalScrollbarWidth: number; - horizontalScrollbarHeight:number; + horizontalScrollbarHeight: number; /** * Get the generated 'scrollable' dom node */ - getDomNode():HTMLElement; + getDomNode(): HTMLElement; /** * Let the scrollable element know that the generated dom node's width / height might have changed. */ - onElementDimensions(dimensions?:IDimensions): void; + onElementDimensions(dimensions?: IDimensions): void; /** * Let the scrollable element know that the contained dom node's width / height might have changed. @@ -157,21 +157,21 @@ export interface IScrollableElement { /** * Update the class name of the scrollable element. */ - updateClassName(newClassName:string): void; + updateClassName(newClassName: string): void; /** * Update configuration options for the scrollbar. * Really this is Editor.IEditorScrollbarOptions, but base shouldn't * depend on Editor. */ - updateOptions(newOptions:ICreationOptions):void; + updateOptions(newOptions: ICreationOptions): void; - getOverviewRulerLayoutInfo():IOverviewRulerLayoutInfo; + getOverviewRulerLayoutInfo(): IOverviewRulerLayoutInfo; /** * Delegate a mouse down event to the vertical scrollbar. * This is to help with clicking somewhere else and having the scrollbar react. */ - delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void; + delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void; } \ No newline at end of file diff --git a/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts b/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts index 09781df5732c9456bc82c4453491da6283a6ba01..1842d5dbdb75c8ebde7f7b4d4e1e0eea82cf317f 100644 --- a/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts +++ b/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts @@ -5,48 +5,49 @@ 'use strict'; import 'vs/css!./media/scrollbars'; + import DomUtils = require('vs/base/browser/dom'); import {StandardMouseWheelEvent} from 'vs/base/browser/mouseEvent'; import Platform = require('vs/base/common/platform'); -import {IOptions,IScrollbar,IDimensions,IMouseWheelEvent,visibilityFromString} from 'vs/base/browser/ui/scrollbar/common'; +import {IOptions, IScrollbar, IDimensions, IMouseWheelEvent, visibilityFromString} from 'vs/base/browser/ui/scrollbar/common'; import {DomNodeScrollable} from 'vs/base/browser/ui/scrollbar/domNodeScrollable'; import {HorizontalScrollbar} from 'vs/base/browser/ui/scrollbar/horizontalScrollbar'; import {VerticalScrollbar} from 'vs/base/browser/ui/scrollbar/verticalScrollbar'; import ScrollableElementInt = require('vs/base/browser/ui/scrollbar/scrollableElement'); -import {IDisposable,disposeAll} from 'vs/base/common/lifecycle'; +import {IDisposable, disposeAll} from 'vs/base/common/lifecycle'; import {IScrollable} from 'vs/base/common/scrollable'; -var HIDE_TIMEOUT = 500; -var SCROLL_WHEEL_SENSITIVITY = 50; +const HIDE_TIMEOUT = 500; +const SCROLL_WHEEL_SENSITIVITY = 50; export class ScrollableElement implements ScrollableElementInt.IScrollableElement { - private originalElement:HTMLElement; - private options:IOptions; - private scrollable:IScrollable; - public verticalScrollbarWidth:number; - public horizontalScrollbarHeight:number; - private verticalScrollbar:IScrollbar; - private horizontalScrollbar:IScrollbar; - private domNode:HTMLElement; + private originalElement: HTMLElement; + private options: IOptions; + private scrollable: IScrollable; + public verticalScrollbarWidth: number; + public horizontalScrollbarHeight: number; + private verticalScrollbar: IScrollbar; + private horizontalScrollbar: IScrollbar; + private domNode: HTMLElement; - private leftShadowDomNode:HTMLElement; - private topShadowDomNode:HTMLElement; - private topLeftShadowDomNode:HTMLElement; - private listenOnDomNode:HTMLElement; + private leftShadowDomNode: HTMLElement; + private topShadowDomNode: HTMLElement; + private topLeftShadowDomNode: HTMLElement; + private listenOnDomNode: HTMLElement; - private toDispose:IDisposable[]; - private _mouseWheelToDispose:IDisposable[]; + private toDispose: IDisposable[]; + private _mouseWheelToDispose: IDisposable[]; - private onElementDimensionsTimeout:number; - private onElementInternalDimensionsTimeout:number; - private isDragging:boolean; - private mouseIsOver:boolean; + private onElementDimensionsTimeout: number; + private onElementInternalDimensionsTimeout: number; + private isDragging: boolean; + private mouseIsOver: boolean; - private dimensions:IDimensions; - private hideTimeout:number; + private dimensions: IDimensions; + private hideTimeout: number; - constructor(element:HTMLElement, options:ScrollableElementInt.ICreationOptions, dimensions:ScrollableElementInt.IDimensions = null) { + constructor(element: HTMLElement, options: ScrollableElementInt.ICreationOptions, dimensions: ScrollableElementInt.IDimensions = null) { this.originalElement = element; this.originalElement.style.overflow = 'hidden'; this.options = this._createOptions(options); @@ -95,8 +96,8 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this._mouseWheelToDispose = []; this._setListeningToMouseWheel(this.options.handleMouseWheel); - this.toDispose.push(DomUtils.addDisposableListener(this.listenOnDomNode, 'mouseover', (e:MouseEvent) => this._onMouseOver(e))); - this.toDispose.push(DomUtils.addDisposableNonBubblingMouseOutListener(this.listenOnDomNode, (e:MouseEvent) => this._onMouseOut(e))); + this.toDispose.push(DomUtils.addDisposableListener(this.listenOnDomNode, 'mouseover', (e: MouseEvent) => this._onMouseOver(e))); + this.toDispose.push(DomUtils.addDisposableNonBubblingMouseOutListener(this.listenOnDomNode, (e: MouseEvent) => this._onMouseOut(e))); this.onElementDimensionsTimeout = -1; this.onElementInternalDimensionsTimeout = -1; @@ -123,26 +124,26 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen } } - public getDomNode():HTMLElement { + public getDomNode(): HTMLElement { return this.domNode; } - public getOverviewRulerLayoutInfo():ScrollableElementInt.IOverviewRulerLayoutInfo { + public getOverviewRulerLayoutInfo(): ScrollableElementInt.IOverviewRulerLayoutInfo { return { parent: this.domNode, insertBefore: this.verticalScrollbar.domNode, }; } - private getVerticalSliderDomNode():HTMLElement { + private getVerticalSliderDomNode(): HTMLElement { return this.verticalScrollbar.slider; } - public delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void { + public delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void { this.verticalScrollbar.delegateMouseDown(browserEvent); } - public onElementDimensions(dimensions:ScrollableElementInt.IDimensions = null, synchronous:boolean = false): void { + public onElementDimensions(dimensions: ScrollableElementInt.IDimensions = null, synchronous: boolean = false): void { if (synchronous) { this.actualElementDimensions(dimensions); } else { @@ -152,7 +153,7 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen } } - private actualElementDimensions(dimensions:ScrollableElementInt.IDimensions = null): void { + private actualElementDimensions(dimensions: ScrollableElementInt.IDimensions = null): void { this.onElementDimensionsTimeout = -1; if (!dimensions) { dimensions = { @@ -165,7 +166,7 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this.horizontalScrollbar.onElementSize(this.dimensions.width); } - public onElementInternalDimensions(synchronous:boolean = false): void { + public onElementInternalDimensions(synchronous: boolean = false): void { if (synchronous) { this.actualElementInternalDimensions(); } else { @@ -181,7 +182,7 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this.verticalScrollbar.onElementScrollSize(this.scrollable.getScrollHeight()); } - public updateClassName(newClassName:string): void { + public updateClassName(newClassName: string): void { this.options.className = newClassName; // Defaults are different on Macs if (Platform.isMacintosh) { @@ -190,18 +191,18 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this.domNode.className = 'monaco-scrollable-element ' + this.options.className; } - public updateOptions(newOptions:ScrollableElementInt.ICreationOptions):void { + public updateOptions(newOptions: ScrollableElementInt.ICreationOptions): void { // only support handleMouseWheel changes for now - var massagedOptions = this._createOptions(newOptions); + let massagedOptions = this._createOptions(newOptions); this.options.handleMouseWheel = massagedOptions.handleMouseWheel; this.options.mouseWheelScrollSensitivity = massagedOptions.mouseWheelScrollSensitivity; this._setListeningToMouseWheel(this.options.handleMouseWheel); } -// -------------------- mouse wheel scrolling -------------------- + // -------------------- mouse wheel scrolling -------------------- - private _setListeningToMouseWheel(shouldListen:boolean): void { - var isListening = (this._mouseWheelToDispose.length > 0); + private _setListeningToMouseWheel(shouldListen: boolean): void { + let isListening = (this._mouseWheelToDispose.length > 0); if (isListening === shouldListen) { // No change @@ -213,8 +214,8 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen // Start listening (if necessary) if (shouldListen) { - var onMouseWheel = (browserEvent:MouseWheelEvent) => { - var e = new StandardMouseWheelEvent(browserEvent); + let onMouseWheel = (browserEvent: MouseWheelEvent) => { + let e = new StandardMouseWheelEvent(browserEvent); this.onMouseWheel(e); }; @@ -226,21 +227,21 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen public onMouseWheel(e: IMouseWheelEvent): void { if (Platform.isMacintosh && e.browserEvent && this.options.saveLastScrollTimeOnClassName) { // Mark dom node with timestamp of wheel event - var target = e.browserEvent.target; + let target = e.browserEvent.target; if (target && target.nodeType === 1) { - var r = DomUtils.findParentWithClass(target, this.options.saveLastScrollTimeOnClassName); + let r = DomUtils.findParentWithClass(target, this.options.saveLastScrollTimeOnClassName); if (r) { r.setAttribute('last-scroll-time', String(new Date().getTime())); } } } - var desiredScrollTop = -1; - var desiredScrollLeft = -1; + let desiredScrollTop = -1; + let desiredScrollLeft = -1; if (e.deltaY || e.deltaX) { - var deltaY = e.deltaY * this.options.mouseWheelScrollSensitivity; - var deltaX = e.deltaX * this.options.mouseWheelScrollSensitivity; + let deltaY = e.deltaY * this.options.mouseWheelScrollSensitivity; + let deltaX = e.deltaX * this.options.mouseWheelScrollSensitivity; if (this.options.flipAxes) { deltaY = e.deltaX; @@ -258,14 +259,14 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen } if (deltaY) { - var currentScrollTop = this.scrollable.getScrollTop(); + let currentScrollTop = this.scrollable.getScrollTop(); desiredScrollTop = this.verticalScrollbar.validateScrollPosition((desiredScrollTop !== -1 ? desiredScrollTop : currentScrollTop) - SCROLL_WHEEL_SENSITIVITY * deltaY); if (desiredScrollTop === currentScrollTop) { desiredScrollTop = -1; } } if (deltaX) { - var currentScrollLeft = this.scrollable.getScrollLeft(); + let currentScrollLeft = this.scrollable.getScrollLeft(); desiredScrollLeft = this.horizontalScrollbar.validateScrollPosition((desiredScrollLeft !== -1 ? desiredScrollLeft : currentScrollLeft) - SCROLL_WHEEL_SENSITIVITY * deltaX); if (desiredScrollLeft === currentScrollLeft) { desiredScrollLeft = -1; @@ -289,23 +290,23 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen } private _onScroll(): void { - var scrollHeight = this.scrollable.getScrollHeight(); - var scrollTop = this.scrollable.getScrollTop(); - var scrollWidth = this.scrollable.getScrollWidth(); - var scrollLeft = this.scrollable.getScrollLeft(); + let scrollHeight = this.scrollable.getScrollHeight(); + let scrollTop = this.scrollable.getScrollTop(); + let scrollWidth = this.scrollable.getScrollWidth(); + let scrollLeft = this.scrollable.getScrollLeft(); this.verticalScrollbar.onElementScrollPosition(scrollTop); this.horizontalScrollbar.onElementScrollPosition(scrollLeft); if (this.options.useShadows) { - var enableTop = scrollHeight > 0 && scrollTop > 0; - var enableLeft = this.options.useShadows && scrollWidth > 0 && scrollLeft > 0; + let enableTop = scrollHeight > 0 && scrollTop > 0; + let enableLeft = this.options.useShadows && scrollWidth > 0 && scrollLeft > 0; if (this.topShadowDomNode) { DomUtils.toggleClass(this.topShadowDomNode, 'top', enableTop); } - if(this.topLeftShadowDomNode) { + if (this.topLeftShadowDomNode) { DomUtils.toggleClass(this.topLeftShadowDomNode, 'top', enableTop); } @@ -321,7 +322,7 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this._reveal(); } -// -------------------- fade in / fade out -------------------- + // -------------------- fade in / fade out -------------------- public onDragStart(): void { this.isDragging = true; @@ -333,12 +334,12 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this._hide(); } - private _onMouseOut(e:MouseEvent): void { + private _onMouseOut(e: MouseEvent): void { this.mouseIsOver = false; this._hide(); } - private _onMouseOver(e:MouseEvent): void { + private _onMouseOver(e: MouseEvent): void { this.mouseIsOver = true; this._reveal(); } @@ -363,11 +364,11 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen this.hideTimeout = window.setTimeout(this._hide.bind(this), HIDE_TIMEOUT); } -// -------------------- size & layout -------------------- + // -------------------- size & layout -------------------- - private _computeDimensions(clientWidth:number, clientHeight:number): IDimensions { - var width = clientWidth; - var height = clientHeight; + private _computeDimensions(clientWidth: number, clientHeight: number): IDimensions { + let width = clientWidth; + let height = clientHeight; return { width: width, @@ -375,16 +376,16 @@ export class ScrollableElement implements ScrollableElementInt.IScrollableElemen }; } - private _createOptions(options:ScrollableElementInt.ICreationOptions): IOptions { + private _createOptions(options: ScrollableElementInt.ICreationOptions): IOptions { - function ensureValue(source:any, prop:string, value:V) { + function ensureValue(source: any, prop: string, value: V) { if (source.hasOwnProperty(prop)) { return source[prop]; } return value; } - var result:IOptions = { + let result: IOptions = { forbidTranslate3dUse: ensureValue(options, 'forbidTranslate3dUse', false), className: ensureValue(options, 'className', ''), useShadows: ensureValue(options, 'useShadows', true), diff --git a/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts b/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts index f1c3cc8cc361a228bc5bcf27bdfb7fa48c72c79d..5d4bc2aa8dedfccdbe5f4117f0294c6bab6005f1 100644 --- a/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +++ b/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts @@ -13,10 +13,10 @@ import {IScrollable} from 'vs/base/common/scrollable'; export class VerticalScrollbar extends AbstractScrollbar { - private scrollable:IScrollable; + private scrollable: IScrollable; - constructor(scrollable:IScrollable, parent:IParent, options:IOptions) { - var s = new ScrollbarState( + constructor(scrollable: IScrollable, parent: IParent, options: IOptions) { + let s = new ScrollbarState( (options.verticalHasArrows ? options.arrowSize : 0), (options.vertical === Visibility.Hidden ? 0 : options.verticalScrollbarSize), (options.horizontal === Visibility.Hidden ? 0 : options.horizontalScrollbarSize) @@ -26,8 +26,8 @@ export class VerticalScrollbar extends AbstractScrollbar { this._createDomNode(); if (options.verticalHasArrows) { - var arrowDelta = (options.arrowSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; - var scrollbarDelta = (options.verticalScrollbarSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; + let arrowDelta = (options.arrowSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; + let scrollbarDelta = (options.verticalScrollbarSize - AbstractScrollbar.ARROW_IMG_SIZE) / 2; this._createArrow('up-arrow', arrowDelta, scrollbarDelta, null, null, options.verticalScrollbarSize, options.arrowSize, () => this._createMouseWheelEvent(1)); this._createArrow('down-arrow', null, scrollbarDelta, arrowDelta, null, options.verticalScrollbarSize, options.arrowSize, () => this._createMouseWheelEvent(-1)); @@ -36,11 +36,11 @@ export class VerticalScrollbar extends AbstractScrollbar { this._createSlider(0, Math.floor((options.verticalScrollbarSize - options.verticalSliderSize) / 2), options.verticalSliderSize, null); } - public _createMouseWheelEvent(sign:number) { + public _createMouseWheelEvent(sign: number) { return new StandardMouseWheelEvent(null, 0, sign); } - public _updateSlider(sliderSize:number, sliderPosition:number): void { + public _updateSlider(sliderSize: number, sliderPosition: number): void { DomUtils.StyleMutator.setHeight(this.slider, sliderSize); if (!this.forbidTranslate3dUse && Browser.canUseTranslate3d) { DomUtils.StyleMutator.setTransform(this.slider, 'translate3d(0px, ' + sliderPosition + 'px, 0px)'); @@ -49,22 +49,22 @@ export class VerticalScrollbar extends AbstractScrollbar { } } - public _renderDomNode(largeSize:number, smallSize:number): void { + public _renderDomNode(largeSize: number, smallSize: number): void { DomUtils.StyleMutator.setWidth(this.domNode, smallSize); DomUtils.StyleMutator.setHeight(this.domNode, largeSize); DomUtils.StyleMutator.setRight(this.domNode, 0); DomUtils.StyleMutator.setTop(this.domNode, 0); } - public _mouseDownRelativePosition(e:StandardMouseEvent, domNodePosition:DomUtils.IDomNodePosition): number { + public _mouseDownRelativePosition(e: StandardMouseEvent, domNodePosition: DomUtils.IDomNodePosition): number { return e.posy - domNodePosition.top; } - public _sliderMousePosition(e:IMouseMoveEventData): number { + public _sliderMousePosition(e: IMouseMoveEventData): number { return e.posy; } - public _sliderOrthogonalMousePosition(e:IMouseMoveEventData): number { + public _sliderOrthogonalMousePosition(e: IMouseMoveEventData): number { return e.posx; } @@ -72,7 +72,7 @@ export class VerticalScrollbar extends AbstractScrollbar { return this.scrollable.getScrollTop(); } - public _setScrollPosition(scrollPosition:number): void { + public _setScrollPosition(scrollPosition: number): void { this.scrollable.setScrollTop(scrollPosition); } }