@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
96 lines (95 loc) • 4.51 kB
TypeScript
import { EventEmitter, Injector, OnChanges, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { CoreBaseComponent } from '../common/base.component';
import { Layout } from '../common/layout';
import { PropertyGridItemComponent } from './property-grid-item.component';
import * as i0 from "@angular/core";
/**
* The pane orientation of the split view.
*/
export declare type PropertyGridOrientation = 'vertical' | 'horizontal';
/**
*
* @smeDoc {@label Property Grid @id sme-property-grid-component}
*
* @overview
* @file {@filepath ./examples/overview.md}
*
* @example {@label Basic Usage @id basic-usage}
* @file {@filename component.html @filepath ./examples/basic-usage.component.html}
*
* @example {@label Vertical Orientation @id vertical-orientation}
* @file {@filename component.html @filepath ./examples/vertical-orientation.component.html}
*
* @example {@label Item with a Link @id link-item}
* @file {@filename component.html @filepath ./examples/link-item.component.html}
*
* @example {@label Item with a Tooltip @id tooltip-item}
* @file {@filename component.html @filepath ./examples/tooltip-item.component.html}
*
* @example {@label Item with a Action @id action-item}
* @file {@filename component.ts @filepath ./examples/action-item.component.ts}
* @file {@filename component.html @filepath ./examples/action-item.component.html}
*
* @example {@label Item Spanning Multiple Columns @id multi-column}
* @file {@filename component.html @filepath ./examples/multi-column-item.component.html}
*
* @example {@label Items with Status and Icons @id status-and-icons}
* @file {@filename component.html @filepath ./examples/status-item.component.html}
*
* @example {@label Items with complex value types @id complex-value}
* @file {@filename component.html @filepath ./examples/complex-values.component.html}
*
*/
export declare class PropertyGridComponent extends CoreBaseComponent implements Layout, OnChanges {
/**
* The basic column width for the property grid items.
*/
layoutItemWidth: number;
items: QueryList<PropertyGridItemComponent>;
readonlyTemplate: TemplateRef<PropertyGridItemComponent>;
actionLinkTemplate: TemplateRef<PropertyGridItemComponent>;
internalLinkTemplate: TemplateRef<PropertyGridItemComponent>;
externalLinkTemplate: TemplateRef<PropertyGridItemComponent>;
/**
* The source name to use for logging
*/
protected get logSourceName(): string;
/**
* The orientation for the property grid
*/
orientation: PropertyGridOrientation;
/**
* Implementation of the Layout interface
*/
layoutChanged: EventEmitter<void>;
/**
* Implementation of the Layout interface
*/
windowBreakpointChanged: EventEmitter<void>;
private propertyGridResponsiveWindowManager;
constructor(injector: Injector, layout: Layout);
stringifyValue(value: any): any;
getTemplate(item: PropertyGridItemComponent): TemplateRef<PropertyGridItemComponent>;
ngOnChanges(changes: SimpleChanges): void;
/**
* It handles the undefined value won't be updated situation for async property item.
* Angular issue that the property item value initialized with undefined, if after async time, the value being set is still undefined,
* Angular will not be able to trigger the value on changed event. Thus we have to manually call to refresh it.
*
* @param index The index that needs to hard refresh.
*/
hardRefreshItem(index: number): void;
getInternalLinkDescription(item: PropertyGridItemComponent): string;
getExternalLinkDescription(item: PropertyGridItemComponent): string;
/**
* Creates the idBag used by this component to store unique element ids.
* id values will be assigned be the @see BaseComponent super class.
*/
protected createIdBag(): MsftSme.StringMap<string>;
/**
* Gets the initial host classes to be applied to this element
*/
protected getInitialHostClasses(): string[];
static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridComponent, [null, { optional: true; skipSelf: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridComponent, "sme-property-grid", never, { "orientation": "orientation"; }, { "layoutChanged": "layoutChanged"; "windowBreakpointChanged": "windowBreakpointChanged"; }, ["items"], never, false, never>;
}