UNPKG

@itwin/appui-abstract

Version:
228 lines • 15.6 kB
/** @packageDocumentation * @module UiAdmin */ import { BeUiEvent } from "@itwin/core-bentley"; import { AbstractMenuItemProps } from "./items/AbstractMenuItemProps"; import { AbstractToolbarProps } from "./items/AbstractToolbarProps"; import { RelativePosition } from "./items/RelativePosition"; import { PropertyDescription } from "./properties/Description"; import { Primitives } from "./properties/PrimitiveTypes"; import { OnCancelFunc, OnItemExecutedFunc, OnNumberCommitFunc, OnValueCommitFunc } from "./utils/callbacks"; import { PropertyRecord } from "./properties/Record"; import { UiDataProvider } from "./dialogs/UiDataProvider"; import { DialogLayoutDataProvider } from "./dialogs/UiLayoutDataProvider"; import { MessagePresenter } from "./notification/MessagePresenter"; interface XAndY { readonly x: number; readonly y: number; } /** The Generic UI Event args contains information useful for any UI message * @public */ export interface GenericUiEventArgs { uiComponentId: string; } /** Optional props to pass to the Dialog control that is generated. * @public */ export interface DialogProps { /** Indicates whether the user can resize dialog with cursor. */ resizable?: boolean; /** Indicates whether the user can move dialog with cursor.*/ movable?: boolean; /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */ width?: string | number; /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */ height?: string | number; /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */ minWidth?: string | number; /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */ minHeight?: string | number; /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */ maxWidth?: string | number; /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */ maxHeight?: string | number; } /** The GenericUiEvent is the base event class for UI events that target a specific component, as identified in uiComponentId. * @public */ export declare class GenericUiEvent extends BeUiEvent<GenericUiEventArgs> { } /** Flags that control enabling/disabling certain UI features * @public */ export interface UiFlags { /** if true then Ctrl+F2 will show popup key-in palette */ allowKeyinPalette?: boolean; } /** The UiAdmin controls various UI components and is callable from IModelApp.uiAdmin in the core-frontend package. * @public */ export declare class UiAdmin { private _featureFlags; private static _messagePresenter?; /** The MessagePresenter used to display messages. */ static get messagePresenter(): MessagePresenter; static set messagePresenter(mp: MessagePresenter); get featureFlags(): UiFlags; updateFeatureFlags(uiFlags: UiFlags): void; /** @internal */ onInitialized(): void; /** Get the cursor X and Y position. */ get cursorPosition(): XAndY; /** Create a PointProps object. * @deprecated in 4.2.x - will not be removed until after 2026-06-13. Please use @core/geometry [[XAndY]] or a custom implementation. */ createXAndY(x: number, y: number): XAndY; /** Determines if focus is set to Home */ get isFocusOnHome(): boolean; /** Sets focus to Home */ setFocusToHome(): void; /** Show a context menu at a particular location. * @param _menuItemsProps Properties of the menu items to display. * @param _location Location of the context menu, relative to the origin of htmlElement or the window. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the menu was displayed, false if the menu could not be displayed. */ showContextMenu(_menuItemsProps: AbstractMenuItemProps[], _location: XAndY, _htmlElement?: HTMLElement): boolean; /** Show a Toolbar at a particular location. * @param _toolbarProps Properties of the Toolbar to display. * @param _location Location of the Toolbar, relative to the origin of htmlElement or the window. * @param _offset Offset of the Toolbar from the location. * @param _onItemExecuted Function invoked after a Toolbar item is executed * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the Toolbar * @param _relativePosition Position relative to the given location. Defaults to TopRight. * @param _htmlElement The HTMLElement that anchors the Toolbar. If undefined, the location is relative to the overall window. * @return true if the Toolbar was displayed, false if the Toolbar could not be displayed. */ showToolbar(_toolbarProps: AbstractToolbarProps, _location: XAndY, _offset: XAndY, _onItemExecuted: OnItemExecutedFunc, _onCancel: OnCancelFunc, _relativePosition?: RelativePosition, _htmlElement?: HTMLElement): boolean; /** Hides the toolbar. */ hideToolbar(): boolean; /** Show a menu button at a particular location. A menu button opens a context menu. * @param _id Id of the menu button. Multiple menu buttons may be displayed. * @param _menuItemsProps Properties of the menu items to display. * @param _location Location of the context menu, relative to the origin of htmlElement or the window. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the button was displayed, false if the button could not be displayed. */ showMenuButton(_id: string, _menuItemsProps: AbstractMenuItemProps[], _location: XAndY, _htmlElement?: HTMLElement): boolean; /** Hides a menu button. * @param _id Id of the menu button. Multiple menu buttons may be displayed. * @return true if the menu was hidden, false if the menu could not be hidden. */ hideMenuButton(_id: string): boolean; /** Show a calculator at a particular location. * @param _initialValue Value initially displayed in the calculator. * @param _resultIcon Icon displayed to the left of the value. * @param _location Location of the calculator, relative to the origin of htmlElement or the window. * @param _onCommit Function called when the OK button or the Enter key is pressed. * @param _onCancel Function called when the Cancel button or the Escape key is pressed. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the calculator was displayed, false if the calculator could not be displayed. */ showCalculator(_initialValue: number, _resultIcon: string, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean; /** Hides the calculator. */ hideCalculator(): boolean; /** Show an input editor for an angle value at a particular location. * @param _initialValue Value initially displayed in the editor. * @param _location Location of the editor, relative to the origin of htmlElement or the window. * @param _onCommit Function called when the OK button or the Enter key is pressed. * @param _onCancel Function called when the Cancel button or the Escape key is pressed. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the editor was displayed, false if the editor could not be displayed. */ showAngleEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean; /** Show an input editor for a length value at a particular location. * @param _initialValue Value initially displayed in the editor. * @param _location Location of the editor, relative to the origin of htmlElement or the window. * @param _onCommit Function called when the OK button or the Enter key is pressed. * @param _onCancel Function called when the Cancel button or the Escape key is pressed. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the editor was displayed, false if the editor could not be displayed. */ showLengthEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean; /** Show an input editor for a height value at a particular location. * @param _initialValue Value initially displayed in the editor. * @param _location Location of the editor, relative to the origin of htmlElement or the window. * @param _onCommit Function called when the OK button or the Enter key is pressed. * @param _onCancel Function called when the Cancel button or the Escape key is pressed. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the editor was displayed, false if the editor could not be displayed. */ showHeightEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean; /** Show an input editor for a primitive value at a particular location. * @param _initialValue Value initially displayed in the editor. * @param _propertyDescription Description of the primitive value property. * @param _location Location of the editor, relative to the origin of htmlElement or the window. * @param _onCommit Function called when the OK button or the Enter key is pressed. * @param _onCancel Function called when the Cancel button or the Escape key is pressed. * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window. * @return true if the editor was displayed, false if the editor could not be displayed. */ showInputEditor(_initialValue: Primitives.Value, _propertyDescription: PropertyDescription, _location: XAndY, _onCommit: OnValueCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean; /** Hides the input editor. */ hideInputEditor(): boolean; /** Show an HTML element at a particular location. * @param _displayElement The HTMLElement to display * @param _location Location of the tool settings, relative to the origin of anchorElement or the window * @param _offset Offset of the display element from the location * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the display element * @param _relativePosition Position relative to the given location. Defaults to TopRight. * @param _anchorElement The HTMLElement that anchors the display element. If undefined, the location is relative to the overall window. * @return true if the display element was displayed, false if the display element could not be displayed. */ showHTMLElement(_displayElement: HTMLElement, _location: XAndY, _offset: XAndY, _onCancel: OnCancelFunc, _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean; /** Hides the HTML Element. */ hideHTMLElement(): boolean; /** Show a Card containing content, a title and a toolbar at a particular location. * @param _content The HTMLElement of the content to display * @param _title Title to display at the top of the card. * @param _toolbarProps Properties of the Toolbar to display. * @param _location Location of the Card, relative to the origin of anchorElement or the window. * @param _offset Offset of the Card from the location. * @param _onItemExecuted Function invoked after a Toolbar item is executed * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card * @param _relativePosition Position relative to the given location. Defaults to TopRight. * @param _anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window. * @return true if the Card was displayed, false if the Card could not be displayed. */ showCard(_content: HTMLElement, _title: string | PropertyRecord | undefined, _toolbarProps: AbstractToolbarProps | undefined, _location: XAndY, _offset: XAndY, _onItemExecuted: OnItemExecutedFunc, _onCancel: OnCancelFunc, _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean; /** Hides the Card. */ hideCard(): boolean; /** Opens a Tool Settings Ui popup at a particular location. * @param _dataProvider The UiDataProvider for the tool settings * @param _location Location of the tool settings, relative to the origin of anchorElement or the window * @param _offset Offset of the tool settings from the location * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the tool settings * @param _relativePosition Position relative to the given location. Defaults to TopRight. * @param _anchorElement The HTMLElement that anchors the tool settings. If undefined, the location is relative to the overall window. * @return true if the tool settings were displayed, false if the tool settings could not be displayed. */ openToolSettingsPopup(_dataProvider: UiDataProvider, _location: XAndY, _offset: XAndY, _onCancel: OnCancelFunc, _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean; /** Closes the Tool Settings Ui popup. */ closeToolSettingsPopup(): boolean; /** Show the Keyin Palette to display all support Tool key-ins. * @param _htmlElement The HTMLElement that anchors the Keyin Palette. If undefined, the location is relative to the overall window. * @return true if the Keyin Palette was displayed, false if it could not be displayed. */ showKeyinPalette(_htmlElement?: HTMLElement): boolean; /** Hides the Keyin Palette. */ hideKeyinPalette(): boolean; /** Send a UI event */ static sendUiEvent(args: GenericUiEventArgs): void; /** GenericUiEvent */ static readonly onGenericUiEvent: GenericUiEvent; /** Opens a Dialog and automatically populates it using the properties defined by the UiDataProvider. * @param _uiDataProvider The DialogLayoutDataProvider for the dialog * @param _title Specify title for dialog. * @param _isModal Specify if the dialog is opened as a modal or modeless. * @param _id Id of the dialog that is used to close it. * @param _optionalProps Optional props for Dialog construction. * @return true if the tool settings were displayed, false if the tool settings could not be displayed. */ openDialog(_uiDataProvider: DialogLayoutDataProvider, _title: string, _isModal: boolean, _id: string, _optionalProps?: DialogProps): boolean; /** Closes the Dialog with a given Id. */ closeDialog(_dialogId: string): boolean; } export {}; //# sourceMappingURL=UiAdmin.d.ts.map