@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
472 lines (471 loc) • 17.1 kB
TypeScript
import { AfterViewInit, DoCheck, ElementRef, EventEmitter, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ActionBarComponent } from '../actions/containers/action-bar/action-bar.component';
import { Layout } from '../common/layout';
import { SpacerBaseDirective } from '../common/spacer-base.component';
import { DataTableDownloadDataType, DataTableDownloadService } from '../data-table/data-table-download.service';
import { DataTableComponent, TreeTableComponent } from '../data-table/data-table.component';
import { SearchFormFieldComponent } from '../form/form-field/search/search-form-field.component';
import { PivotComponent } from '../pivot/pivot.component';
import { SplitViewComponent } from '../split-view/split-view.component';
import { MasterViewContentDirective } from './master-view-content/master-view-content.component';
import * as i0 from "@angular/core";
export declare class MasterViewComponent extends SpacerBaseDirective implements AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit {
hostElement: ElementRef;
private dataTableDownloadService;
private splitView;
private pivotComponent;
/**
* Getter for data table minimum width class in string.
*/
get dataTableMinWidthClassString(): string;
/**
* Getter for whether to render the search box based on window size.
*/
get searchBoxAutoWrapOnWindowSizeChanges(): boolean;
/**
* Getter for whether to set the overflow or not based on window size.
*/
get shouldDataTableParentOverflowHide(): boolean;
/**
* Getter for whether the table would be rendered with padding horizontally.
*/
get shouldDataTableSlim(): boolean;
/**
* Getter for whether teh table would be rendered with bottom margin.
*/
get shouldDataTableRenderWithBottomMargin(): boolean;
/**
* The localization strings object for master view.
*/
resourceStrings: {
oneItem: string;
items: string;
results: string;
selected: string;
selectedAria: string;
selectedTitle: string;
refresh: {
title: string;
ariaLabel: {
header: string;
noHeader: string;
};
};
columnPicker: {
title: string;
};
filter: {
title: string;
};
group: {
title: string;
};
};
/**
* The localization strings object from angular common.
*/
commonStrings: {
add: string;
apply: string;
back: string;
skip: string;
cancel: string;
close: string;
clear: string;
continue: string;
details: string;
disable: string;
disabled: string;
discard: string;
discarded: string;
enable: string;
enabled: string;
exit: string;
failed: string;
failure: string;
finish: string;
free: string;
inProgress: string;
message: string;
next: string;
no: string;
remove: string;
save: string;
search: string;
succeeded: string;
success: string;
submit: string;
total: string;
used: string;
yes: string;
more: string;
actions: string;
expand: string;
collapse: string;
on: string;
off: string;
reset: string;
none: string;
OK: {
affirmative: string;
state: string;
};
Capacity: {
/**
* Getter for whether the table would be rendered with padding horizontally.
*/
criticalState: string;
warningState: string;
normalState: string;
};
Form: {
Validation: {
required: string;
UnknownFieldName: string;
IllegalNumber: string;
AlertTypes: {
error: string;
warn: string;
info: string;
success: string;
pending: string;
};
Required: {
label: string;
format: string;
};
Min: {
/**
* The view child reference for the main content div wrapper.
*/
format: string;
};
Max: {
format: string;
};
Email: {
format: string;
};
MinLength: {
format: string;
};
MaxLength: {
format: string;
};
Pattern: {
format: string;
};
Capslock: {
message: string;
};
isNumber: {
format: string;
};
Input: {
UnknownRegex: {
/**
* The value of the header in string.
*/
invalidCharacters: string;
}; /**
* It determines whether to show the number of selections.
*/
DefaultRegex: {
invalidCharacters: string;
};
};
MachineName: {
invalidCharacters: string;
invalidCharactersWithSpace: string;
whitespaceWillBeTrimmed: string;
noStartWithPeriod: string;
};
MatchField: {
noMatch: string;
};
Pending: {
message: string;
};
};
Loading: {
message: string;
};
};
InfoBubble: {
title: string;
};
};
/**
* The content child reference for the search element.
*/
searchElement: SearchFormFieldComponent;
/**
* The content child reference for the action bar element.
*/
actionBarComponent: ActionBarComponent;
/**
* The view child reference for the main content div wrapper.
*/
containerElement: ElementRef;
/**
* The view child reference for the main data view that normally contains a data-table component.
*/
dataView: ElementRef;
/**
* The directive component for the master view data view where normally a data-table exists.
*/
smeMasterViewContentDirective: MasterViewContentDirective;
/**
* The getter content child reference for the data-table component.
*/
get smeDataTable(): DataTableComponent;
/**
* The setter for the data table.
*/
set smeDataTable(value: DataTableComponent);
/**
* The content child reference for the tree table component.
*/
smeTreeTable: TreeTableComponent;
/**
* True is to show the header.
*/
hideHeader: boolean;
/**
* The value of the header in string.
*/
header: string;
/**
* The total count of table items in number.
*/
total: number;
/**
* It determines whether to show the number of selections.
*/
showSelection: boolean;
/**
* It determine whether to show the column picker.
*/
showColumnPicker: boolean;
/**
* True is to show the download button.
*/
showDownloadButton: boolean;
/**
* It determines whether extra context parameter will be used for the download.
* This usually associates with the 'download' emitter.
*/
getDownloadContextParameters: boolean;
/**
* It determines the state when the column picker dialog is opened.
*/
columnPickerActive: boolean;
/**
* It determines whether to show the refresh button.
*/
showRefresh: boolean;
/**
* It determines whether to disable the refresh button.
*/
disableRefresh: boolean;
/**
* It determines the data table min width level.
*/
dataTableMinWidth: string;
/**
* It determines whether to show the filter button.
*/
showFilter: boolean;
/**
* It determines whether the filter dialog is opened.
*/
filterActive: boolean;
/**
* It determines there is a worker downloading in progress.
*/
downloadActive: boolean;
/**
* It determines whether to show up the query editor extension.
*/
enableQueryEditor: boolean;
/**
* Setter for the selection count for the data-table.
*/
set selection(selection: any);
/**
* The event emitter when selection(s) changed.
*/
selectionChange: EventEmitter<any>;
/**
* It determines whether the data-table should respect the same item as two different rows.
*/
requireDataItemUniqueId: (item: any) => string;
/**
* @deprecated since 7/13/18. Please use [showGroup], [groupActive], and (group) instead
*/
set showCustomFilter(value: boolean);
get showCustomFilter(): boolean;
private internalShowCustomFilter;
/**
* It determines the group button has been clicked.
*/
groupActive: boolean;
/**
* If the value is false, the master view always renders in relative layout regardless of window size changes.
*/
stretchToAbsolute: boolean;
/**
* It determines whether to expand the details pane on first time landing on the page.
*/
autoExpandDetailsPane: boolean;
/**
* It determines whether to show up the group button.
*/
showGroup?: boolean;
/**
* It determines the download data type.
*/
downloadDataType: DataTableDownloadDataType;
/**
* Used to set the tooltip text for the refresh button
*/
refreshTooltipText: string;
/**
* The event emitter for download has been prompted.
*/
downloadPrompted: EventEmitter<void>;
/**
* The event emitter for when the download has been finished.
*/
downloadFinished: EventEmitter<void>;
/**
* The event emitter for the column picker to render a dialog.
*/
columnPicker: EventEmitter<void>;
/**
* The event emitter for the refreshing function to happen.
*/
refresh: EventEmitter<void>;
/**
* The event emitter for the filter dialog to open.
*/
filter: EventEmitter<void>;
/**
* The event emitter for the grouping dialog to open.
*/
group: EventEmitter<void>;
/**
* The event emitter for the clear selection from the table to happen.
*/
clearSelection: EventEmitter<void>;
/**
* The event emitter for when the data-view has been ready after ngAfterViewInit life cycle.
*/
smeDataTableFromTemplateReady: EventEmitter<boolean>;
/**
* It implements the ILayout interface. It's triggered when the layout is changed.
* It's used to tell the child components to coordinate with the layout change.
*/
layoutChanged: EventEmitter<void>;
/**
* Implementation of the Layout interface
*/
windowBreakpointChanged: EventEmitter<void>;
useSearch: boolean;
selectedItemCount: number;
dataViewHeight: number;
isDataListScrolledToTop: boolean;
headerId: string;
refreshButtonAriaLabel: string;
/**
* The source name to use for logging
*/
protected get logSourceName(): string;
private splitViewPaneToggledSubscription;
private dataTableOnFilterSubscription;
private masterViewResponsiveWindowManager;
private isInitialized;
private currentDataSelection;
private internalSmeDataTable;
constructor(injector: Injector, hostElement: ElementRef, dataTableDownloadService: DataTableDownloadService, splitView: SplitViewComponent, pivotComponent: PivotComponent, layout: Layout);
/**
* The method to run after the component view initialized
*/
ngAfterViewInit(): void;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
/**
* Emit the event from the master view for the readiness of the templates passed in to the master view content.
* This can better handling the rendering life cycle from child to parent.
*/
onSmeDataTableFromTemplateReady(): void;
/**
* The on window breakpoint changed handler.
* Adding yield for component to get ElementRef after initialization.
*/
private onLayoutChanged;
/**
* The deferred layout changed handler.
*/
private deferredOnLayoutChanged;
/**
* The implementation after interaction with the download button from the master view.
* @param $event the button clicked event.
*/
onDownloadButtonClicked($event: any): void;
/**
* The function for executing the download context from data-table.
* @param contextParameters the context parameter passed in from extension from outer scope.
*/
onDownloadPrompted(contextParameters?: any): void;
/**
* The on window breakpoint changed handler.
* Adding yield for component to get ElementRef after initialization.
*/
onWindowBreakpointChanged(): void;
/**
* It updates the master view's layout and emits layout changed event to children.
*/
updateLayout(): void;
ngDoCheck(): void;
doClearSelection(event: MouseEvent): void;
/**
* Gets the item count in string.
* @returns string value for the total count.
*/
getItemCountText(): string;
/**
* Gets selected item count in string.
* @returns string value for the selected count.
*/
getSelectedCountText(): string;
/**
* Gets selected item count in string for aria support.
* @returns string value for the selected count.
*/
getSelectedCountAriaText(): string;
/**
* Gets filter item count in string for aria support.
* @returns string value for the filtered count.
*/
getFilterAriaLabel(): string;
getColumnPickerAriaLabel(): string;
/**
* Update the action bar
*/
updateActionBar(): void;
/**
* Handles clicking on the refresh button
*/
refreshButtonClicked(): void;
/**
* Creates the idBag used by this master view to store unique element ids.
* id values will be assigned be the @see MasterViewComponent super class.
*/
protected createIdBag(): MsftSme.StringMap<string>;
private handleDetailPaneExpanding;
private setupDataTableAccessibility;
static ɵfac: i0.ɵɵFactoryDeclaration<MasterViewComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; skipSelf: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<MasterViewComponent, "sme-master-view", never, { "hideHeader": "hideHeader"; "header": "header"; "total": "total"; "showSelection": "showSelection"; "showColumnPicker": "showColumnPicker"; "showDownloadButton": "showDownloadButton"; "getDownloadContextParameters": "getDownloadContextParameters"; "columnPickerActive": "columnPickerActive"; "showRefresh": "showRefresh"; "disableRefresh": "disableRefresh"; "dataTableMinWidth": "dataTableMinWidth"; "showFilter": "showFilter"; "filterActive": "filterActive"; "downloadActive": "downloadActive"; "enableQueryEditor": "enableQueryEditor"; "selection": "selection"; "requireDataItemUniqueId": "requireDataItemUniqueId"; "showCustomFilter": "showCustomFilter"; "groupActive": "groupActive"; "stretchToAbsolute": "stretchToAbsolute"; "autoExpandDetailsPane": "autoExpandDetailsPane"; "showGroup": "showGroup"; "downloadDataType": "downloadDataType"; "refreshTooltipText": "refreshTooltipText"; }, { "selectionChange": "selectionChange"; "downloadPrompted": "downloadPrompted"; "downloadFinished": "downloadFinished"; "columnPicker": "columnPicker"; "refresh": "refresh"; "filter": "filter"; "group": "group"; "clearSelection": "clearSelection"; "smeDataTableFromTemplateReady": "smeDataTableFromTemplateReady"; "layoutChanged": "layoutChanged"; "windowBreakpointChanged": "windowBreakpointChanged"; }, ["searchElement", "actionBarComponent", "smeDataTable", "smeTreeTable"], ["sme-query-editor", "sme-action-bar,.action-bar", ".sme-master-view-custom-filter", "sme-form-field[type=\"search\"]", "*"], false, never>;
}