@gpa-gemstone/common-pages
Version:
Common UI pages for GPA products
41 lines (40 loc) • 1.79 kB
TypeScript
import React = require("react");
import { GenericSlice, Search } from "@gpa-gemstone/react-interactive";
import { Application, OpenXDA, SystemCenter } from "@gpa-gemstone/application-typings";
interface U {
ID: number | string;
}
interface IProps<T extends U> {
Slice: GenericSlice<T>;
Selection: T[];
OnClose: (selected: T[], conf: boolean) => void;
Show: boolean;
Type?: 'single' | 'multiple';
Title: string;
GetEnum: (setOptions: (options: IOptions[]) => void, field: Search.IField<T>) => () => void;
GetAddlFields: (setAddlFields: (cols: Search.IField<T>[]) => void) => () => void;
AddlFilters?: Search.IFilter<T>[];
MinSelection?: number;
children?: React.ReactNode;
StorageID?: string;
}
interface IOptions {
Value: string;
Label: string;
}
/** This Implements a few standardized Selection Popups */
export declare namespace DefaultSelects {
/** This Implements a standard Meter Selection Modal */
function Meter(props: IProps<SystemCenter.Types.DetailedMeter>): JSX.Element;
/** This Implements a standard Substation Selection Modal */
function Location(props: IProps<SystemCenter.Types.DetailedLocation>): JSX.Element;
/** This Implements a standard Transmission Asset Selection Modal */
function Asset(props: IProps<SystemCenter.Types.DetailedAsset>): JSX.Element;
/** This Implements a standard Asset Group Selection Modal */
function AssetGroup(props: IProps<OpenXDA.Types.AssetGroup>): JSX.Element;
/** This Implements a standard User Selection Modal */
function User(props: IProps<Application.Types.iUserAccount>): JSX.Element;
/** This Implements a standard Customer Selection Modal */
function Customer(props: IProps<OpenXDA.Types.Customer>): JSX.Element;
}
export {};