import { Layout } from '../common/layout'; import { SmeResponsiveWindowManagerComponent } from '../common/sme-responsive-window-manager.component'; export interface DataTablePresetMinWidth { key: string; value: number; } export declare class MasterViewResponsiveWindowManager extends SmeResponsiveWindowManagerComponent { /** * The name of the control. */ readonly name = "sme-master-view"; /** * The parameter to determine whether to wrap the search box based on window size changes. * On phone down and 400% zoom will wrap. */ searchBoxAutoWrapOnWindowSizeChanges: boolean; /** * The parameter to determine whether to show or hide the scroll bar vertically based on window size. */ shouldHideYScroll: boolean; /** * The parameter to determine whether to set the overflow or not based on window size. */ shouldDataTableParentOverflowHide: boolean; /** * The parameter to determine whether the data table will be wrapped with horizontal padding on window size. */ shouldDataTableSlim: boolean; /** * The parameter to determine whether to render the data table's bottom margin on window size. */ shouldDataTableRenderWithBottomMargin: boolean; /** * The parameter to determine the data table's min width class in string on window size. */ dataTableMinWidthClassString: string; /** * The minimum width that the data table can reach. * This is the parameter that passed in from the master view for the hard constraint. * Should only be set at initialization */ private dataTablePresetMinWidth; /** * This design purely won't break the original design for the class. * Ideally we should never use the class representation. * The values are coming from the class for sme-layout-minwidth-sm and sme-layout-minwidth-md with old design. * For phone down, always set to sme-layout-minwidth-sm, otherwise respect the dataTablePresetMinWidth * To make it work better on dialog. Should not have any effect on data table. */ private dataTableMinWidthValues; /** * The master view component classes on window size changed object. */ private smeMasterViewClassList; /** * The data table's wrapper's classes on window size changed object. */ private smeDataTableWrapperDivClassList; constructor(layout: Layout, dataTableMaxWidth?: string); /** * Checks the actual window size and the preset window size. * The intention is that the preset size cannot go beyond actual window size to prevent additional horizontal scroll bar. * @param size the object settings for specific window size * @returns a string representation for window size string, 'md' or 'sm' */ checkWindowSize(size: DataTablePresetMinWidth): string; /** * The implementation for the on window size changed event. * @param masterViewElement the html element for the master view element. * @returns void. */ onWindowSizeChanged(masterViewElement: HTMLElement, stretchToAbsolute?: boolean): void; /** * Updates the parameters used for the data table on window size changes. * @param size the current size object for the window. */ private updateParameters; /** * Gets the data table's min-width string. * @param size the current size object for the window. * @returns string representing data-table's min-width */ private getDataTableMinWidthClassString; }