@eclipse-scout/core
Version:
Eclipse Scout runtime
136 lines • 5.21 kB
TypeScript
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