UNPKG

@eclipse-scout/core

Version:
182 lines 6.37 kB
import { FocusRule, PopupAlignment, PopupScrollType, PopupWindowResizeType, Rectangle, Widget, WidgetModel } from '../index'; export interface PopupModel extends WidgetModel { /** * Configures whether the opening of the popup should be animated using CSS. * * If set to true, the class `animate-open` will be added once the popup opens and automatically removed when the animation finishes. * * Default is false. */ animateOpening?: boolean; /** * Configures whether position or size changes of the popup should be animated. * * Default is false. */ animateResize?: boolean; /** * Default is 10. */ windowPaddingX?: number; /** * Default is 5. */ windowPaddingY?: number; /** * Configures whether a glass pane should be shown on the back of the popup so that elements outside the popup cannot be clicked while it is open. * * Default is false. * * @see modal */ withGlassPane?: boolean; /** * Configures whether a {@link FocusContext} should be installed for a popup. * * Having a focus context ensures the user cannot tab outside the popup. * * Default is true. */ withFocusContext?: boolean; /** * A function that returns the {@link HTMLElement} to be focused or a {@link FocusRule}. * * Default returns {@link FocusRule.AUTO}. */ initialFocus?(): FocusRule | HTMLElement; /** * Configures whether the container of the popup should be focusable. * * Default is false. */ focusableContainer?: boolean; /** * Specifies how the popup should be horizontally aligned to the {@link anchor}. * * Default is {@link Popup.Alignment.LEFTEDGE}. */ horizontalAlignment?: PopupAlignment; /** * Specifies how the popup should be vertically aligned to the {@link anchor}. * * Default is {@link Popup.Alignment.BOTTOM}. */ verticalAlignment?: PopupAlignment; /** * Configures whether the horizontal alignment should be switched (e.g. from right to left) if the popup overlaps a window border. * * Default is false. */ horizontalSwitch?: boolean; /** * Configures whether the vertical alignment should be switched (e.g. from bottom to top) if the popup overlaps a window border. * * Default is true. */ verticalSwitch?: boolean; /** * Configures whether the width should be adjusted if the popup does not fit into the window. * * Before trimming is applied the popup will be switched, if the switch option is enabled. * If neither switch nor trim is enabled, the popup will be moved until its right border is visible. * * Default is false. */ trimWidth?: boolean; /** * Configures whether the height should be adjusted if the popup does not fit into the window. * * Before trimming is applied the popup will be switched, if the switch option is enabled. * If neither switch nor trim is enabled, the popup will be moved until its right border is visible. * * Default is true. */ trimHeight?: boolean; /** * Defines what should happen when the scroll parent is scrolled. * * It is also used if the anchor changes its location (needs to support the locationChange event). * * Default is 'remove'. */ scrollType?: PopupScrollType; windowResizeType?: PopupWindowResizeType; /** * If true, the anchor is considered when computing the position and size of the popup. * * Default is true. */ boundToAnchor?: boolean; /** * If true, an arrow is shown pointing to the anchor. If there is no anchor, no arrow will be visible. * * Please note: some alignment combinations are not supported, which are: LEFT or RIGHT + BOTTOM or TOP * * Default is false. */ withArrow?: boolean; /** * If false, the attached mouse down handler will NOT close the popup if the anchor was clicked, the anchor is responsible to close it. * This is necessary because the mousedown listener is attached to the capture phase and therefore executed before any other. * If anchor was clicked, popup would already be closed and then opened again -> popup could never be closed by clicking the anchor. * * Default is true. * * @see modal */ closeOnAnchorMouseDown?: boolean; /** * Defines whether the popup should be closed on a mouse click outside the popup. * * Default is true. * * @see modal */ closeOnMouseDownOutside?: boolean; /** * Defines whether the popup should be closed whenever another popup opens. * * Default is true. * * @see modal */ closeOnOtherPopupOpen?: boolean; /** * Defines whether the popup should behave like a modal form. If true, the properties {@link closeOnAnchorMouseDown}, {@link closeOnMouseDownOutside} * and {@link closeOnOtherPopupOpen} ore overruled and set to false. The property {@link withGlassPane} is overruled too and set to true. * * Default is false. */ modal?: boolean; /** * Specifies the location where the popup should be positioned if there is no {@link $anchor}. * * @see $anchor */ location?: { x?: number; y?: number; }; /** * Specifies the element to which the popup should be attached respecting {@link horizontalAlignment} and {@link verticalAlignment}. * * If no element is specified, the popup will be positioned at the given {@link anchorBounds} resp. {@link location}. * If neither {@link anchorBounds} nor a {@link location} are specified, the popup will be positioned in the optical middle of the window. */ $anchor?: JQuery; /** * Specifies the widget to which the popup should be attached. * * It will use {@link Widget.$container} as {@link $anchor}. * * @see $anchor */ anchor?: Widget; /** * Specifies the bounds to which the popup should be attached respecting {@link horizontalAlignment} and {@link verticalAlignment}. * * @see $anchor */ anchorBounds?: Rectangle; } //# sourceMappingURL=PopupModel.d.ts.map