@dewesoft-web/grid2
Version:
Dewesoft WebUI Grid
93 lines (74 loc) • 2.94 kB
text/typescript
import * as React from "react";
import { Menu, SelectOption } from "../types";
export interface GridColumnSuffix {
suffix? : string;
}
export interface GridColumnProps {
/** Column property */
property : string;
/** Column header title */
title? : string;
/** Column header tooltip */
description? : string;
readOnly? : boolean|string;
visible? : boolean;
menu? : Menu[];
width? : number|string;
groupSelect? : boolean|string;
}
export interface NumberColumnProps extends GridColumnProps, GridColumnSuffix {
min? : number | string;
max? : number | string;
step? : number | string;
decimals? : number;
}
export interface ToggleColumnProps extends GridColumnProps {
on : string;
off : string;
}
export interface ButtonColumnProps extends GridColumnProps {
label : string;
}
export interface StringColumnProps extends GridColumnProps, GridColumnSuffix {
}
export interface ColorColumnProps extends GridColumnProps {
}
export let Option : React.StatelessComponent<SelectOption> = function Option(props : SelectOption) {
return null;
};
Option.displayName = "Option";
export interface EnumColumnProps extends GridColumnProps {
children? : any;
}
export namespace Column {
export let Number : React.StatelessComponent<NumberColumnProps> = function Number(props : NumberColumnProps) {
return null;
};
Number.displayName = "Number";
export let Toggle : React.StatelessComponent<ToggleColumnProps> = function Toggle(props : ToggleColumnProps) {
return null;
};
Toggle.displayName = "Toggle";
export let Button : React.StatelessComponent<ButtonColumnProps> = function Button(props : ButtonColumnProps) {
return null;
};
Button.displayName = "Button";
export let Color : React.StatelessComponent<ColorColumnProps> = function Color(props : ColorColumnProps) {
return null;
};
Color.displayName = "Color";
export let Enum : React.StatelessComponent<EnumColumnProps> = function Enum(props : EnumColumnProps) {
return null;
};
Enum.displayName = "Enum";
export let String : React.StatelessComponent<StringColumnProps> = function String(props : StringColumnProps) {
return null;
};
String.displayName = "String";
}
export const NumberColumn : React.StatelessComponent<NumberColumnProps> = Column.Number;
export const ToggleColumn : React.StatelessComponent<ToggleColumnProps> = Column.Toggle;
export const ButtonColumn : React.StatelessComponent<ButtonColumnProps> = Column.Button;
export const ColorColumn : React.StatelessComponent<ColorColumnProps> = Column.Color;
export const EnumColumn : React.StatelessComponent<EnumColumnProps> = Column.Enum;
export const StringColumn : React.StatelessComponent<StringColumnProps> = Column.String;