@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
84 lines (83 loc) • 3.56 kB
TypeScript
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
*/
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;
}