ohctechv3/.svn/pristine/93/934fed0ae54515d08e2a09247d4b45fdb7215348.svn-base

61 lines
2.4 KiB
Plaintext
Raw Normal View History

2024-10-28 15:03:36 +05:30
import { SideBarState } from "./gridState";
import { IToolPanel } from "./iToolPanel";
export interface ISideBarService {
getSideBarComp(): ISideBar;
}
export interface ISideBar {
refresh(): void;
setDisplayed(show: boolean): void;
setSideBarPosition(position?: 'left' | 'right'): void;
isToolPanelShowing(): boolean;
openToolPanel(key: string, source?: 'sideBarButtonClicked' | 'sideBarInitializing' | 'api'): void;
getToolPanelInstance(key: string): IToolPanel | undefined;
close(source?: 'sideBarButtonClicked' | 'sideBarInitializing' | 'api'): void;
openedItem(): string | null;
isDisplayed(): boolean;
getDef(): SideBarDef | undefined;
getState(): SideBarState;
}
export interface ToolPanelDef {
/** The unique ID for this panel. Used in the API and elsewhere to refer to the panel. */
id: string;
/** The key used for localisation for displaying the label. The label is displayed in the tab button. */
labelKey: string;
/** The default label if `labelKey` is missing or does not map to valid text through localisation. */
labelDefault: string;
/**
* The min width of the tool panel.
* @default 100
*/
minWidth?: number;
/** The max width of the tool panel. */
maxWidth?: number;
/**
* The initial width of the tool panel.
* @default $side-bar-panel-width (theme variable)
*/
width?: number;
/** The key of the icon to be used as a graphical aid beside the label in the side bar. */
iconKey: string;
/**
* The tool panel component to use as the panel.
* The provided panels use components `agColumnsToolPanel` and `agFiltersToolPanel`.
* To provide your own custom panel component, you reference it here.
*/
toolPanel?: any;
/** Customise the parameters provided to the `toolPanel` component. */
toolPanelParams?: any;
}
export interface SideBarDef {
/**
* A list of all the panels to place in the side bar. The panels will be displayed in the provided order from top to bottom.
*/
toolPanels?: (ToolPanelDef | string)[];
/** The panel (identified by ID) to open by default. If none specified, the side bar is initially displayed closed. */
defaultToolPanel?: string;
/** To hide the side bar by default, set this to `true`. If left undefined the side bar will be shown. */
hiddenByDefault?: boolean;
/** Sets the side bar position relative to the grid. */
position?: 'left' | 'right';
}