UNPKG

@eclipse-glsp/client

Version:

A sprotty-based client for GLSP

44 lines 2.18 kB
/******************************************************************************** * Copyright (c) 2021-2024 EclipseSource and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { Action, Disposable, Emitter, Event, IActionHandler, ICommand, ViewerOptions } from '@eclipse-glsp/sprotty'; export interface FocusChange { hasFocus: boolean; focusElement: HTMLOrSVGElement | null; diagramElement: HTMLElement | null; } /** * Tracks the focus state of the diagram by handling {@link FocusStateChangedAction}s. * Emits a {@link FocusChange} event when the focus state changes. * Allows querying of the current focus state and the focused root diagram element and the currently focused element within the diagram. */ export declare class FocusTracker implements IActionHandler, Disposable { protected inActiveCssClass: string; protected _hasFocus: boolean; protected _focusElement: HTMLOrSVGElement | null; protected _diagramElement: HTMLElement | null; protected options: ViewerOptions; protected onFocusChangedEmitter: Emitter<FocusChange>; /** * Event that is fired when the focus state of the diagram changes i.e. after a {@link FocusStateChangedAction} has been handled. */ get onFocusChanged(): Event<FocusChange>; get hasFocus(): boolean; get focusElement(): HTMLOrSVGElement | null; get diagramElement(): HTMLElement | null; handle(action: Action): void | Action | ICommand; dispose(): void; } //# sourceMappingURL=focus-tracker.d.ts.map