UNPKG

@eclipse-scout/core

Version:
136 lines 5.21 kB
import { Action, BenchColumnLayoutData, DesktopDisplayStyle, DesktopNotification, DisplayParentModel, DisplayViewId, Form, Menu, NativeNotificationDefaults, ObjectOrChildModel, Outline, ViewButton, Widget, WidgetModel } from '../index'; export interface DesktopModel extends WidgetModel, DisplayParentModel { /** * Configures the style which defines the basic layout of the application. * * Default is {@link DesktopDisplayStyle.DEFAULT}. */ displayStyle?: DesktopDisplayStyle; /** * Configures the title of the desktop shown in the browser window. */ title?: string; /** * Configures the url pointing to the image that should be displayed on the top right of the application in the {@link DesktopHeader}. * * @see DesktopLogo */ logoId?: string; /** * Configures whether the {@link logo} should be clickable and trigger a {@link DesktopEventMap.logoAction} when clicked. * * Default is false. */ logoActionEnabled?: boolean; /** * Defines whether the {@link DesktopNavigation} should be visible. * * Default is true. */ navigationVisible?: boolean; /** * Defines whether the {@link DesktopNavigationHandle}, which enables the user to hide and show the navigation, should be visible. * * Default is true. */ navigationHandleVisible?: boolean; /** * Defines whether the {@link DesktopBench} should be visible. * * Default is true. */ benchVisible?: boolean; /** * Configures the layout data used by the {@link FlexboxLayout} to arrange the view areas in the {@link DesktopBench}. * * @see BenchColumn */ benchLayoutData?: BenchColumnLayoutData; /** * Defines whether the {@link DesktopHeader} should be visible. * * Default is true. */ headerVisible?: boolean; /** * Configures the menus to be displayed in the {@link DesktopToolBox} in the {@link DesktopHeader}. */ menus?: ObjectOrChildModel<Menu>[]; /** * Defines the (toast) notifications that should be shown on the top right of the desktop. */ notifications?: ObjectOrChildModel<DesktopNotification>[]; /** * Configures the default settings for native notifications. A specific notification can override these settings if * desired. * * The default object is initialized with the desktop's title and logo id. If these values change the defaults won't * be adjusted automatically. If you want them to be aligned you need to update the native notification defaults * whenever the title or logo changes. * * *Note*: SVG icons may not work with every browser, you may have to use a bitmap icon. */ nativeNotificationDefaults?: NativeNotificationDefaults; /** * AddOns are custom widgets that are rendered with the desktop and may or may not have a visual representation. */ addOns?: ObjectOrChildModel<Widget>[]; /** * Configures the keystrokes that should be registered in the current {@link keyStrokeContext}. * * Use the {@link ActionModel.keyStroke} to assign the keys that need to be pressed. * * @see KeyStrokeContext */ keyStrokes?: ObjectOrChildModel<Action>[]; /** * View buttons are displayed on the top of the {@link DesktopNavigation} and are mostly used to so switch between {@link Outline}s by using {@link OutlineViewButton}. */ viewButtons?: ObjectOrChildModel<ViewButton>[]; /** * The currently active {@link Outline}. */ outline?: ObjectOrChildModel<Outline> | string; /** * Configures the forms with {@link Form.DisplayHint.VIEW} that should be selected. * * For each area of the {@link DesktopBench} only one form can be selected. */ selectedViewTabs?: Map<DisplayViewId, Form> | Form[] | string[]; /** * The name of the CSS theme to be used for the application. * @see Desktop.setTheme */ theme?: string; /** * Defines whether the application should be in dense mode. * * Dense means that certain UI elements are displayed smaller, * like smaller table rows or smaller logical grid rows, so the user can see more information at once on the screen. * * Default is false. */ dense?: boolean; /** * Configures whether the keystrokes to select {@link DesktopTab}s should be enabled. * * Default is true. * * @see DesktopTabSelectKeyStroke */ selectViewTabsKeyStrokesEnabled?: boolean; /** * Configures the modifier used by {@link DesktopTabSelectKeyStroke}. * * Only has an effect is {@link selectViewTabsKeyStrokesEnabled} is set to true. */ selectViewTabsKeyStrokeModifier?: string; /** * Configures whether the position of the splitter between the navigation and the bench should be stored in the session * storage, so that the position may be restored after a page reload. If set to false, the default position is used. * * Default is true. */ cacheSplitterPosition?: boolean; } //# sourceMappingURL=DesktopModel.d.ts.map