///
declare module dgrid {
export interface Constructor extends dojo._base.DeclareConstructor {
new (kwArgs?: U, srcNodeRef?: HTMLElement | string): T;
createSubclass(mixins: [Constructor, Constructor, Constructor, Constructor], props: X): Constructor;
createSubclass(mixins: [Constructor, Constructor, Constructor], props: X): Constructor;
createSubclass(mixins: [Constructor, Constructor], props: X): Constructor;
createSubclass(mixins: [Constructor], props: X): Constructor;
createSubclass(mixins: Constructor, props: X): Constructor;
createSubclass(mixins: [Constructor, Constructor, Constructor, Constructor]): Constructor;
createSubclass(mixins: [Constructor, Constructor, Constructor]): Constructor;
createSubclass(mixins: [Constructor, Constructor]): Constructor;
createSubclass(mixins: [Constructor]): Constructor;
createSubclass(mixins: Constructor): Constructor;
createSubclass(mixins: any, props: X): Constructor;
}
}
declare module 'dgrid/CellSelection' {
import Selection = require('dgrid/Selection');
import Grid = require('dgrid/Grid');
interface CellSelection extends Selection {
isSelected(target: Grid.CellArg, columnId?: string): boolean;
clearSelection(): void;
}
interface CellSelectionConstructor extends dgrid.Constructor {}
const CellSelection: CellSelectionConstructor;
export = CellSelection;
}
declare module 'dgrid/ColumnSet' {
import Grid = require('dgrid/Grid');
interface ColumnSet {
styleColumnSet(columnsetId: string, css: string): dojo.Handle;
}
module ColumnSet {
export interface KwArgs extends Grid.KwArgs {
columnSets?: Array>;
}
}
interface ColumnSetConstructor extends dgrid.Constructor {}
const ColumnSet: ColumnSetConstructor;
export = ColumnSet;
}
declare module 'dgrid/Editor' {
import Grid = require('dgrid/Grid');
import OnDemandGrid = require('dgrid/OnDemandGrid');
interface Editor {
edit(cell: Grid.Cell | HTMLElement | Event): void;
}
module Editor {
export interface Column extends Grid.Column {
autoSave?: boolean;
autoSelect?: boolean;
dismissOnEnter?: boolean;
editor?: string | dojo._base.DeclareConstructor;
editOn?: string;
editorArgs?: Object;
canEdit?(object: any, value: any): boolean;
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export interface KwArgs extends OnDemandGrid.KwArgs {
columns?: ColumnSpec;
subRows?: Array;
}
}
interface EditorConstructor extends dgrid.Constructor {}
const Editor: EditorConstructor;
export = Editor;
}
declare module 'dgrid/Grid' {
import List = require('dgrid/List');
interface Grid extends List {
columns: { [ key: string ]: Grid.Column } | Array;
hasNeutralSort: boolean;
cellNavigation: boolean;
formatterScope: any;
column(target: any): Grid.Column;
cell(target: Grid.CellArg, columnId?: string): Grid.Cell;
left(target: Grid.Cell | Grid.CellArg, steps?: number): Grid.Cell;
right(target: Grid.Cell | Grid.CellArg, steps?: number): Grid.Cell;
styleColumn(columnId: string, css: string): dojo.Handle;
updateSortArrow(sort: any, updateSort?: boolean): void;
}
module Grid {
export type CellArg = List.RowArg;
export interface Cell {
row: List.Row;
column: Column;
element: HTMLElement;
}
export interface Column {
field?: string;
id?: string | number;
label?: string;
className?: string;
colSpan?: number;
rowSpan?: number;
sortable?: boolean;
formatter?: string | Formatter;
get?(item: any): any;
set?(item: any): any;
renderCell?(object: any, value: any, node: HTMLElement): (HTMLElement | void);
renderHeaderCell?(node: HTMLElement): (HTMLElement | void);
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export type Formatter = (value: any, object: any) => string;
export interface KwArgs extends List.KwArgs {
columns?: ColumnSpec;
subRows?: Array;
formatterScope?: any;
hasNeutralSort?: boolean;
cellNavigation?: boolean;
}
}
interface GridConstructor extends dgrid.Constructor {
appendIfNode(parent: HTMLElement, subNode?: any): void;
}
const Grid: GridConstructor;
export = Grid;
}
declare module 'dgrid/GridFromHtml' {
import Grid = require('dgrid/Grid');
interface GridFromHtml extends Grid {}
interface GridFromHtmlConstructor extends dgrid.Constructor {
utils: {
getBoolFromAttr(node: Node, attr: string): boolean;
getNumFromAttr(node: Node, attr: string): number;
getPropsFromNode(node: Node): any;
getColumnFromCell(node: Node): Grid.Column;
};
}
const GridFromHtml: GridFromHtmlConstructor;
export = GridFromHtml;
}
declare module 'dgrid/GridWithColumnSetsFromHtml' {
import Grid = require('dgrid/Grid');
import GridFromHtml = require('dgrid/GridFromHtml');
import ColumnSet = require('dgrid/ColumnSet');
interface GridWithColumnSetsFromHtml extends GridFromHtml, ColumnSet {}
module GridWithColumnSetsFromHtml {
export interface KwArgs extends Grid.KwArgs, ColumnSet.KwArgs {}
}
interface GridWithColumnSetsFromHtmlConstructor extends dgrid.Constructor {}
const GridWithColumnSetsFromHtml: GridWithColumnSetsFromHtmlConstructor;
export = GridWithColumnSetsFromHtml;
}
declare module 'dgrid/Keyboard' {
interface Keyboard {
cellNavigation: boolean;
pageSkip: number;
keyMap: Keyboard.KeyMap;
headerKeyMap: Keyboard.KeyMap;
addKeyHandler(key: number, callback: Function, isHeader?: boolean): dojo.Handle;
focus(target: any): void;
focusHeader(target: any): void;
}
module Keyboard {
export interface KeyMap {
[ key: number ]: Function;
}
export interface KwArgs {
cellNavigation?: boolean;
pageSkip?: number;
keyMap?: KeyMap;
headerKeyMap?: KeyMap;
}
}
interface KeyboardConstructor extends dgrid.Constructor {
defaultHeaderKeyMap: Keyboard.KeyMap;
defaultKeyMap: Keyboard.KeyMap;
moveFocusVertical: (event: KeyboardEvent, steps: number) => void;
}
const Keyboard: KeyboardConstructor;
export = Keyboard;
}
declare module 'dgrid/List' {
interface List {
id: string;
readonly domNode: HTMLElement;
tabableHeader: boolean;
showHeader: boolean;
showFooter: boolean;
maintainOddEven: boolean;
cleanAddedRules: boolean;
addUiClasses: boolean;
highlightDuration: number;
resizeThrottleDelay: number;
resizeThrottleMethod: List.ThrottleMethod;
sort: any;
params: any;
create(params: any, srcNodeRef?: HTMLElement): void;
buildRendering(): void;
postCreate(): void;
postMixInProperties(): void;
get(key: string): any;
set(key: string, value: any): this;
set(kwArgs: any): this;
addCssRule(selector: string, css: string): dojo.Handle;
adjustRowIndices(firstRow: HTMLElement): void;
cleanup(): void;
configStructure(): void;
destroy(): void;
down(row: List.Row | List.RowArg, steps?: number): List.Row;
getScrollPosition(): { x: number; y: number; };
highlightRow(rowElement: HTMLElement | List.Row, delay?: number): void;
insertRow(object: any, parent: HTMLElement, beforeNode: Node, i: number, options?: any): HTMLElement;
on(type: string | dojo.ExtensionEvent, listener: EventListener): dojo.Handle;
_onNotification(rows?: any[], object?: any, from?: number, to?: number): void;
refresh(): void;
removeRow(rowElement: any, preserveDom?: boolean): void;
renderArray(results: any[], beforeNode?: Node, options?: any): HTMLElement;
renderHeader(): void;
renderRow(value: any, options?: Object): HTMLElement;
row(target: List.RowArg): List.Row;
resize(): void;
scrollTo(options: { x?: number; y?: number; }): void;
startup(): void;
up(row: List.Row | List.RowArg, steps?: number): List.Row;
}
module List {
export type RowArg = Event | HTMLElement | Object | string | number;
export interface Row {
id: string;
data: T;
element: HTMLElement;
remove(): void;
}
export interface KwArgs {
tabableHeader?: boolean;
showHeader?: boolean;
showFooter?: boolean;
maintainOddEven?: boolean;
cleanAddedRules?: boolean;
addUiClasses?: boolean;
highlightDuration?: number;
resizeThrottleDelay?: number;
resizeThrottleMethod?: ThrottleMethod;
sort?: any;
}
export type ThrottleFunction = (callback: Function, delay: number) => Function;
export type ThrottleMethod = 'debounce' | 'throttle' | 'throttleDelayed' | ThrottleFunction;
}
interface ListConstructor extends dgrid.Constructor {}
const List: ListConstructor;
export = List;
}
declare module 'dgrid/OnDemandGrid' {
import Grid = require('dgrid/Grid');
import OnDemandList = require('dgrid/OnDemandList');
interface OnDemandGrid extends Grid, OnDemandList {
refresh(options?: any): dojo.promise.Promise;
}
module OnDemandGrid {
export interface KwArgs extends Grid.KwArgs, OnDemandList.KwArgs {}
}
interface OnDemandGridConstructor extends dgrid.Constructor {}
const OnDemandGrid: OnDemandGridConstructor;
export = OnDemandGrid;
}
declare module 'dgrid/OnDemandList' {
import List = require('dgrid/List');
import StoreMixin = require('dgrid/_StoreMixin');
interface OnDemandList extends List, StoreMixin {
refresh(options?: any): dojo.promise.Promise;
}
module OnDemandList {
export interface KwArgs extends List.KwArgs, StoreMixin.KwArgs {
minRowsPerPage?: number;
maxRowsPerPage?: number;
maxEmptySpace?: number;
bufferRows?: number;
farOffRemoval?: number;
queryRowsOverlap?: number;
pagingMethod?: string;
pagingDelay?: number;
keepScrollPosition?: boolean;
rowHeight?: number;
}
}
interface OnDemandListConstructor extends dgrid.Constructor {}
const OnDemandList: OnDemandListConstructor;
export = OnDemandList;
}
declare module 'dgrid/Selection' {
import List = require('dgrid/List');
interface Selection {
selectionMode: Selection.Mode;
selection: { [key: string]: boolean; };
select(row: List.Row | List.RowArg, toRow?: List.Row | List.RowArg, value?: boolean): void;
deselect(row: List.Row | List.RowArg, toRow?: List.Row | List.RowArg): void;
clearSelection(exceptId?: any, dontResetLastSelected?: boolean): void;
selectAll(): void;
isSelected(row: List.Row | List.RowArg): boolean;
}
module Selection {
export type Mode = 'none' | 'multiple' | 'single' | 'extended';
export interface KwArgs {
selectionDelegate?: string;
selectionEvents?: string;
selectionTouchEvents?: string;
deselectOnRefresh?: boolean;
allowSelectAll?: boolean;
selectionMode?: Mode;
allowTextSelection?: boolean;
}
}
interface SelectionConstructor extends dgrid.Constructor {}
const Selection: SelectionConstructor;
export = Selection;
}
declare module 'dgrid/Selector' {
import Selection = require('dgrid/Selection');
export = Selection;
}
declare module 'dgrid/_StoreMixin' {
interface StoreMixin {
get(key: string): any;
revert(): void;
save(): dojo.promise.Promise<{ [ key: string ]: any; }>;
updateDirty(id: string, field: string, value: any): void;
}
module StoreMixin {
export interface KwArgs {
collection?: dstore.Collection;
shouldTrackCollection?: boolean;
getBeforePut?: boolean;
noDataMessage?: string;
loadingMessage?: string;
}
}
interface StoreMixinConstructor extends dgrid.Constructor {}
const StoreMixin: StoreMixinConstructor;
export = StoreMixin;
}
declare module 'dgrid/Tree' {
import List = require('dgrid/List');
import Grid = require('dgrid/Grid');
interface Tree {
expand(target: List.Row | List.RowArg, expand?: boolean): dojo.promise.Promise;
shouldExpand(row: List.Row, level: number, previouslyExpanded: boolean): boolean;
}
module Tree {
export interface Column extends Grid.Column {
expandOn?: string;
renderExpando?: boolean | RenderExpando;
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export interface KwArgs extends Grid.KwArgs {
columns?: ColumnSpec;
subRows?: Array;
collapseOnRefresh?: boolean;
enableTreeTransitions?: boolean;
treeIndentWidth?: number;
}
export type RenderExpando = (level: number, mayHaveChildren: boolean, expanded: boolean, item: any) => HTMLElement;
}
interface TreeConstructor extends dgrid.Constructor {}
const Tree: TreeConstructor;
export = Tree;
}
declare module 'dgrid/extensions/ColumnHider' {
import List = require('dgrid/List');
import Grid = require('dgrid/Grid');
interface ColumnHider {
columns: { [ key: string ]: ColumnHider.Column };
column(target: any): ColumnHider.Column;
cell(target: Grid.CellArg, columnId?: string): ColumnHider.Cell;
left(target: ColumnHider.Cell | Grid.CellArg, steps?: number): ColumnHider.Cell;
right(target: ColumnHider.Cell | Grid.CellArg, steps?: number): ColumnHider.Cell;
toggleColumnHiddenState(id: string, hidden?: boolean): void;
}
module ColumnHider {
export interface Cell {
row: List.Row;
column: Column;
element: HTMLElement;
}
export interface Column extends Grid.Column {
hidden?: boolean;
unhidable?: boolean;
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export interface KwArgs extends Grid.KwArgs {
columns?: ColumnSpec;
}
}
interface ColumnHiderConstructor extends dgrid.Constructor {}
const ColumnHider: ColumnHiderConstructor;
export = ColumnHider;
}
declare module 'dgrid/extensions/ColumnReorder' {
import List = require('dgrid/List');
import Grid = require('dgrid/Grid');
interface ColumnReorder {
columnDndConstructor: Function;
}
module ColumnReorder {
export interface ColumnDndSource extends dojo.dnd.Source {}
export interface ColumnDndSourceConstructor extends dojo._base.DeclareConstructor {}
export interface Cell {
row: List.Row;
column: Column;
element: HTMLElement;
}
export interface Column extends Grid.Column {
reorderable?: boolean;
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export interface KwArgs extends Grid.KwArgs {
columnDndConstructor?: Function;
columns?: ColumnSpec;
subRows?: Array;
}
}
interface ColumnReorderConstructor extends dgrid.Constructor {
ColumnDndSource: ColumnReorder.ColumnDndSourceConstructor;
}
const ColumnReorder: ColumnReorderConstructor;
export = ColumnReorder;
}
declare module 'dgrid/extensions/ColumnResizer' {
import List = require('dgrid/List');
import Grid = require('dgrid/Grid');
interface ColumnResizer {
adjustLastColumn: boolean;
minWidth: number;
resizeColumnWidth(columnId: string, width: number): void;
}
module ColumnResizer {
export interface Cell {
row: List.Row;
column: Column;
element: HTMLElement;
}
export interface Column extends Grid.Column {
resizable?: boolean;
width?: number;
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export interface KwArgs extends Grid.KwArgs {
adjustLastColumn?: boolean;
minWidth?: number;
columns?: ColumnSpec;
subRows?: Array;
}
}
interface ColumnResizerConstructor extends dgrid.Constructor {}
const ColumnResizer: ColumnResizerConstructor;
export = ColumnResizer;
}
declare module 'dgrid/extensions/CompoundColumns' {
import List = require('dgrid/List');
import Grid = require('dgrid/Grid');
interface CompoundColumns {
adjustLastColumn: boolean;
minWidth: number;
resizeColumnWidth(columnId: string, width: number): void;
}
module CompoundColumns {
export interface Cell {
row: List.Row;
column: Column;
element: HTMLElement;
}
export interface Column extends Grid.Column {
children?: Column[];
showChildHeaders?: boolean;
}
export type ColumnSpec = { [key: string]: Column | string; } | Column[];
export interface KwArgs extends Grid.KwArgs {
adjustLastColumn?: boolean;
minWidth?: number;
columns?: ColumnSpec;
subRows?: Array;
}
}
interface CompoundColumnsConstructor extends dgrid.Constructor {}
const CompoundColumns: CompoundColumnsConstructor;
export = CompoundColumns;
}
declare module 'dgrid/extensions/DijitRegistry' {
interface DijitRegistry {
minSize: number;
maxSize: number;
layoutPriority: number;
showTitle: boolean;
buildRendering(): void;
destroyRecursive(): void;
getChildren(): any[];
getParent(): any;
isLeftToRight(): boolean;
placeAt(reference: any, position?: string | number): any;
resize(dim?: dojo.DomGeometryWidthHeight): void;
watch(...args: any[]): void;
}
module DijitRegistry {
export interface KwArgs {
minSize?: number;
maxSize?: number;
layoutPriority?: number;
showTitle?: boolean;
}
}
interface DijitRegistryConstructor extends dgrid.Constructor {}
const DijitRegistry: DijitRegistryConstructor;
export = DijitRegistry;
}
declare module 'dgrid/extensions/DnD' {
import List = require('dgrid/List');
interface Dnd {
dndSourceType: string;
dndParams: any;
dndConstructor: Function;
}
module Dnd {
export interface GridSource extends dojo.dnd.Source {
grid: List;
}
export interface GridSourceConstructor extends dojo._base.DeclareConstructor {}
export interface KwArgs {
dndSourceType?: string;
dndParams?: any;
dndConstructor?: Function;
}
}
interface DndConstructor extends dgrid.Constructor {
GridSource: Dnd.GridSource;
}
const Dnd: DndConstructor;
export = Dnd;
}
declare module 'dgrid/extensions/Pagination' {
import StoreMixin = require('dgrid/_StoreMixin');
interface Pagination extends StoreMixin {
rowsPerPage: number;
pagingTextBox: boolean;
previousNextArrows: boolean;
firstLastArrows: boolean;
pagingLinks: number;
pageSizeOptions: number[];
showLoadingMessage: boolean;
i18nPagination: any;
gotoPage(page: number): dojo.promise.Promise;
}
module Pagination {
export interface KwArgs extends StoreMixin.KwArgs {
rowsPerPage?: number;
pagingTextBox?: boolean;
previousNextArrows?: boolean;
firstLastArrows?: boolean;
pagingLinks?: number;
pageSizeOptions?: number[];
showLoadingMessage?: boolean;
i18nPagination?: any;
}
}
interface PaginationConstructor extends dgrid.Constructor {}
const Pagination: PaginationConstructor;
export = Pagination;
}
declare module 'dgrid/extensions/SingleQuery' {
import StoreMixin = require('dgrid/_StoreMixin');
export = StoreMixin;
}
declare module 'dgrid/util/has-css3' {
import dojoHas = require('dojo/has');
export = dojoHas;
}
declare module 'dgrid/util/misc' {
module util {
export let defaultDelay: number;
export function throttle(callback: T, context?: any, delay?: number): T;
export function throttleDelayed(callback: T, context?: any, delay?: number): T;
export function debounce(callback: T, context?: any, delay?: number): T;
export function each(arrayOrObject: T[], callback: (this: U, item: T, index: number, arrayOrObject: T[]) => void, context: U): void;
export function each(arrayOrObject: T[], callback: (item: T, index: number, arrayOrObject: T[]) => void): void;
export function each(arrayOrObject: {}, callback: (this: T, item: any, index: number, arrayOrObject: {}) => void, context: T): void;
export function each(arrayOrObject: {}, callback: (item: any, index: number, arrayOrObject: {}) => void): void;
export interface CssRuleHandle extends dojo.Handle {
get(prop: string): string;
set(prop: string, value: string): void;
}
export function addCssRule(selector: string, css: string): CssRuleHandle;
export function escapeCssIdentifier(id: string, replace?: string): void;
}
export = util;
}
declare module 'dgrid/util/touch' {
module touch {
export let tapRadius: number;
export let dbltapTime: number;
export function selector(selector: string, type: string | dojo.ExtensionEvent, children?: boolean): dojo.ExtensionEvent;
export function countCurrentTouches(event: Event, node: Element): number;
export function tap(target: Element, listener: dojo.EventListener): dojo.Handle;
export function dbltap(target: Element, listener: dojo.EventListener): dojo.Handle;
}
export = touch;
}