@eclipse-scout/core
Version:
Eclipse Scout runtime
76 lines • 3.33 kB
TypeScript
import { CompositeField, EnumObject, InitModelOf, Menu, ObjectOrChildModel, PropertyChangeEvent, Tab, TabAreaStyle, TabBoxEventMap, TabBoxHeader, TabBoxModel, TabItem } from '../../../index';
/**
* Tab-area = where the 1-n tabs are placed (may have multiple runs = lines).
* Tab-content = where the content of a single tab is displayed.
*/
export declare class TabBox extends CompositeField implements TabBoxModel {
model: TabBoxModel;
eventMap: TabBoxEventMap;
self: TabBox;
selectedTab: TabItem;
header: TabBoxHeader;
tabItems: TabItem[];
tabAreaStyle: TabAreaStyle;
/** @internal */
_$tabContent: JQuery;
protected _statusPositionOrig: any;
protected _tabBoxHeaderPropertyChangeHandler: any;
constructor();
static MenuType: {
/**
* In most cases, it is not necessary to set this menu type for a tab box menu because it does not affect the
* visibility of the menu unless the menu is used for widgets other than the tab box. In this case, the menu type can
* be used to ensure that the menu is only visible on tab boxes.
*/
readonly Header: "TabBox.Header";
};
protected _init(model: InitModelOf<this>): void;
protected _initProperties(model: TabBoxModel): void;
protected _destroy(): void;
protected _render(): void;
protected _renderProperties(): void;
protected _remove(): void;
getContextMenuItems(onlyVisible?: boolean): Menu[];
protected _removeMenus(): void;
deleteTabItem(tabItem: TabItem): void;
/**
* Inserts a new tab item.
* @param index The position where the new tab should be inserted. By default, it will be appended at the end of the existing tab items.
*/
insertTabItem(tabItem: ObjectOrChildModel<TabItem>, index?: number): void;
setTabItems(tabItems: ObjectOrChildModel<TabItem>[]): void;
protected _setTabItems(tabItems: TabItem[]): void;
protected _renderTabItems(tabItems: TabItem[]): void;
protected _removeTabItems(tabItems: TabItem[]): void;
protected _removeTabContent(): void;
/**
* @param tabItem if a string is provided, the tab will be resolved automatically
*/
setSelectedTab(tabItem: TabItem | string): void;
protected _setSelectedTab(tabItem: TabItem): void;
protected _renderSelectedTab(): void;
protected _removeSelectedTab(): void;
protected _updateScrollShadow(): void;
setTabAreaStyle(tabAreaStyle: TabAreaStyle): void;
protected _setTabAreaStyle(tabAreaStyle: TabAreaStyle): void;
protected _renderStatusPosition(): void;
protected _updateFieldStatus(): void;
protected _renderLabelVisible(): void;
getFields(): TabItem[];
getTabItem(tabId: string): TabItem;
/**
* Focuses the selected tab.
* @returns true if the tab could be focused, false if not.
*/
focus(): boolean;
/**
* @returns the focusable element of the selected tab.
*/
getFocusableElement(): HTMLElement | JQuery;
isTabItemFocused(tabItem: TabItem): boolean;
focusTabItem(tabItem: TabItem): boolean;
getTabForItem(tabItem: TabItem): Tab;
protected _onTabBoxHeaderPropertyChange(event: PropertyChangeEvent): void;
}
export type TabBoxMenuType = EnumObject<typeof TabBox.MenuType>;
//# sourceMappingURL=TabBox.d.ts.map