/**
* Copyright (c) 2017, Oleg Kiriljuk, oleg.kiriljuk@ok-soft-gmbh.com
* Dual licensed under the MIT and GPL licenses
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl-2.0.html
*/
///
///
declare namespace FreeJqGrid {
interface HDivWithLoading extends HTMLDivElement {
loading?: boolean; // the expando property will be set to true only during pending Ajax request to the server
}
interface GridInfo {
bDiv: HTMLDivElement;
beginReq(this: BodyTable): void;
cDiv: HTMLDivElement;
cols: HTMLCollection | HTMLTableDataCellElement[]; // td[]
curGbox?: JQuery | null;
dragEnd(this: GridInfo): void;
dragMove(this: GridInfo, eventObject: JQueryEventObject): void;
dragStart(this: GridInfo, iCol: number, eventObject: JQueryEventObject, y: number[], $th: JQuery): void;
eDiv: HTMLDivElement;
emptyRows(this: BodyTable, scroll?: boolean, clearLocalData?: boolean): void;
endReq(this: BodyTable): void;
fbDiv?: JQuery;
fbRows?: HTMLCollection | HTMLTableRowElement[]; // tr[]
fhDiv?: JQuery;
footers?: HTMLCollection | HTMLTableDataCellElement[]; // td[]
fsDiv?: JQuery;
hDiv: HDivWithLoading;
headers: { el: HTMLTableHeaderCellElement; width: number; }[];
newWidth?: number;
populate(this: BodyTable, npage?: number): void;
populateVisible(this: BodyTable): void;
prevRowHeight?: number;
resizeColumn(this: GridInfo, iCol: number, skipCallbacks: boolean, skipGridAdjustments): void;
resizing?: false | { idx: number, startX: number, sOL: number, moved: boolean, delta: number };
scrollGrid(): void;
sDiv?: HTMLDivElement;
selectionPreserver(this: BodyTable): boolean;
timer?: any;
topDiv?: HTMLDivElement;
ubDiv?: HTMLDivElement;
uDiv?: HTMLDivElement;
width: number;
}
interface BodyTable extends HTMLTableElement {
p: JqGridOptions;
grid: GridInfo;
ftoolbar?: boolean;
nav?: boolean;
addItemDataToColumnIndex(item: Object, id: string): void;
addJSONData(data: any[], rcnt?: number, more?: boolean, adjust?: number): void;
addXmlData(data: any[], rcnt?: number, more?: boolean, adjust?: number): void;
clearToolbar?(trigger: boolean): void;
constructTr(id: string, hide: boolean, spaceSeparatedCssClasses: string, rd: any, cur: any, selected: boolean): string;
fixScrollOffsetAndhBoxPadding(): void;
formatCol(pos: number, rowInd: number, tv: string, rawObject: any, rowId: string, rdata?: any): string;
formatter(rowId: string, cellval: any, colpos: number, rwdat: any, act?: "add" | "edit", rdata?: any): string;
generateValueFromColumnIndex(cmName: string, separator?: string, delimiter?: string);
modalAlert?(): void;
rebuildRowIndexes(): void;
refreshIndex(): void;
removeItemDataFromColumnIndex(id): void;
setHeadCheckBox(checked: boolean): void;
sortData(index: string, idxcol: number, reload: boolean, sor: string, obj: HTMLTableHeaderCellElement, eventObject?: JQueryEventObject): void;
toogleToolbar?(): void;
triggerToolbar?(): void;
updatepager(rn: boolean, dnd: boolean): void;
}
interface JQueryJqGrid extends JQuery {
[index: number]: BodyTable;
}
interface QueryObject {
ignoreCase(): QueryObject;
useCase(): QueryObject;
trim(): QueryObject;
noTrim(): QueryObject;
execute(): QueryObject;
data(): QueryObject;
select(f?: (v: any) => any): QueryObject;
hasMatch(): QueryObject;
andNot(f: string, v: any, x: any): QueryObject;
orNot(f: string, v: any, x: any): QueryObject;
not(f: string, v: any, x: any): QueryObject;
and(f: string, v: any, x: any): QueryObject;
or(f: string, v: any, x: any): QueryObject;
orBegin(): QueryObject;
orEnd(): QueryObject;
isNot(f: string): QueryObject;
is(f: string): QueryObject;
equals(f: string, v: any, t: any): QueryObject;
notEquals(f: string, v: any, t: any): QueryObject;
isNull(f: string, v: any, t: any): QueryObject;
greater(f: string, v: any, t: any): QueryObject;
less(f: string, v: any, t: any): QueryObject;
greaterOrEquals(f: string, v: any, t: any): QueryObject;
lessOrEquals(f: string, v: any, t: any): QueryObject;
startsWith(f: string, v: any): QueryObject;
endsWith(f: string, v: any): QueryObject;
contains(f: string, v: any): QueryObject;
groupBy(by: string, dir: "a" | "asc" | "ascending" | "d" | "desc" | "descending", type: "text" | "int" | "integer" | "float" | "number" | "currency" | "numeric" | "date" | "datetime" | ((value: string) => string), datefmt: string): any[];
orderBy(by: string, dir: "a" | "asc" | "ascending" | "d" | "desc" | "descending", type: "text" | "int" | "integer" | "float" | "number" | "currency" | "numeric" | "date" | "datetime" | ((value: string) => string), datefmt: string, sfunc?: (a: any, b: any, direction: 1 | -1, aItem: any, bItem: any) => any): any[];
inSet(f: string, v: any, t: any): QueryObject;
custom(ruleOp: string, field: string, data: any): QueryObject;
}
const enum InputNameType {
ColName = 0,
AdditionalProperty = 1,
RowId = 2
}
const enum ComponentName {
GridBoxDiv = 0, // tagName: "div". class: "ui-jqgrid". Id: "gbox_" + gridId
GridOverlayDiv = 1, // tagName: "div". class: "jqgrid-overlay". Id: "lui_" + gridId
LoadingDiv = 2, // tagName: "div". class: "loading". Id: "load_" + gridId
DialogAlertDiv = 3, // tagName: "div". class: "ui-jqdialog". Id: "alertmod_" + gridId
DialogSearchDiv = 4, // tagName: "div". class: "ui-jqdialog". Id: "searchmodfbox_" + gridId
DialogViewDiv = 5, // tagName: "div". class: "ui-jqdialog". Id: "viewmod" + gridId
DialogEditDiv = 6, // tagName: "div". class: "ui-jqdialog". Id: "editmod" + gridId
DialogDeleteDiv = 7, // tagName: "div". class: "ui-jqdialog". Id: "delmod" + gridId
GridViewDiv = 8, // tagName: "div". class: "ui-jqgrid-view". Id: "gview_" + gridId
TitleBarDiv = 9, // tagName: "div". class: "ui-jqgrid-titlebar" and either "ui-jqgrid-caption" or "ui-jqgrid-caption-rtl"
UpperToolbarDiv = 10, // tagName: "div". class: "ui-userdata". Id: "tb_" + gridId
TopPagerDiv = 11, // tagName: "div". class: "ui-jqgrid-toppager". Id: gridId + "_toppager"
HeaderDiv = 12, // tagName: "div". class: "ui-jqgrid-hdiv"
HeaderBoxDiv = 13, // tagName: "div". class: either "ui-jqgrid-hdiv" or "ui-jqgrid-hbox-rtl"
HeaderTable = 14, // tagName: "table". class: "ui-jqgrid-htable"
HeaderColsRow = 15, // tagName: "tr". class: "jqgfirstrow" or the row with column headers
HeaderCols = 16, // tagName: "th". class: either "ui-first-th-rtl" or "ui-first-th-rtl"
HeaderRows = 47, // tagName: "tr". class: "ui-jqgrid-labels"
HeaderTh = 48, // tagName: "th". class: "ui-th-column" and either "ui-th-ltr" or "ui-th-rtl"
HeaderSortableDiv = 49, // tagName: "div". class: "ui-jqgrid-labels"
HeaderResizableSpan = 50, // tagName: "span". class: "ui-jqgrid-resize" and either "ui-jqgrid-resize-ltr" or "ui-jqgrid-resize-rtl"
HeaderSelectAllRowsCheckbox = 45, // tagName: "input" (can be changed to "button" in the future). class: "cbox". Id: "cb_" + gridId
SearchToolbar = 17, // tagName: "tr". class: "ui-search-toolbar". Its direct children are th having class "ui-th-column" and optionally "ui-th-rtl"
BodyDiv = 18, // tagName: "div". class: "ui-jqgrid-bdiv"
BodyScrollFullDiv = 19, // tagName: "div" - It can have height CSS property which simulate the total size of virtual data.
BodyScrollTopDiv = 20, // tagName: "div" - It can have height CSS property which simulate virtual data before the current displayed in btable.
BodyTable = 21, // tagName: "table". class: "ui-jqgrid-btable". Id: gridId
Grid = 21, // tagName: "table". class: "ui-jqgrid-btable". Id: gridId
BodyColsRow = 22, // tagName: "tr". class: "jqgfirstrow"
BodyCols = 23, // tagName: "td"
BodyDataRows = 24, // tagName: "tr". class: "jqgrow" and optionally "ui-row-rtl"
FooterDiv = 25, // tagName: "div". class: "ui-jqgrid-sdiv"
FooterBoxDiv = 26, // tagName: "div". class: either "ui-jqgrid-hdiv" or "ui-jqgrid-hbox-rtl". ??? is it really needed ???
FooterTable = 27, // tagName: "table". class: "ui-jqgrid-ftable"
FooterRows = 28, // tagName: "tr". class: "footrow", optionally additionally "footrow-rtl"
BottomToolbarDiv = 29, // tagName: "div". class: "ui-userdata". Id: "tb_" + gridId
FrozenHeaderDiv = 30, // tagName: "div". class: "frozen-div" and "ui-jqgrid-hdiv"
FrozenHeaderTable = 31, // tagName: "table". class: "ui-jqgrid-htable"
FrozenHeaderColsRow = 32, // tagName: "tr". class: "jqgfirstrow"
FrozenHeaderCols = 33, // tagName: "th". class: either "ui-first-th-rtl" or "ui-first-th-rtl"
FrozenSearchToolbar = 34, // tagName: "tr". class: "ui-search-toolbar". Its direct children are th having class "ui-th-column" and optionally "ui-th-rtl"
FrozenFooterDiv = 35, // tagName: "div". class: "frozen-div" and "ui-jqgrid-sdiv"
FrozenFooterTable = 36, // tagName: "table". class: "ui-jqgrid-ftable"
FrozenFooterDataRows = 37, // tagName: "tr". class: "footrow", optionally additionally "footrow-rtl"
FrozenBobyDiv = 38, // tagName: "div". class: "frozen-div" and "ui-jqgrid-bdiv"
FrozenBobyTable = 39, // tagName: "table". class: "ui-jqgrid-btable". Id: gridId + "_frozen"
FrozenBobyColsRow = 40, // tagName: "tr". class: "jqgfirstrow"
FrozenBobyCols = 41, // tagName: "td"
FrozenBobyDataRows = 42, // tagName: "tr". class: "jqgrow" and optionally "ui-row-rtl"
ColumnResizerDiv = 43, // tagName: "div". class: "ui-jqgrid-resize-mark". Id: "rs_m" + gridId
BottomPagerDiv = 44, // tagName: "div". class: "ui-jqgrid-pager"
SearchOperationMenuUl = 46
}
// The ModalHash represent internal structure used by jqModal - Minimalist Modaling with jQuery (see jqmodal.js)
interface ModalHash {
w: JQuery; // The modal element, represent the outer div of the modal dialog
o: JQuery; // The overlay element. It will be assigned on the first opening of the modal
c: JqModalOptions; // The modal's options object. The options used durin creating the modal. One can use global $.jgrid.jqModal or gris specifif p.jqModal to specify defaults of the options.
t: Element | string | JQuery; // The triggering element
s: number; // numeric part of "id" used for modal dialog. The modal dialog have class "jqmID" + s.
a: boolean; // It's false initially. It will be set to true during opening and will set to false on closing.
}
interface JqModalOptions {
ajax?: string | false; // false
ajaxText?: string; // ""
closeClass?: string; // "jqmClose"
closeoverlay?: boolean; // false
modal?: boolean; // false
onHide?: false | ((h: ModalHash) => void);
onLoad?: false | ((h: ModalHash) => void);
onShow?: false | ((h: ModalHash) => void);
overlay?: number; // 50
overlayClass?: string; // "jqmOverlay"
target?: string | JQuery | false; // false
toTop?: boolean; // false
trigger?: string; // ".jqModal"
}
interface CreateModalOptions {
caption?: string;
closeOnEscape?: boolean;
drag?: boolean;
gbox?: string;
form?: string;
jqModal?: boolean;
height: number | "auto" | "100%" | string;
left?: number;
onClose?: (this: BodyTable, selector: string | Element | JQuery) => boolean;
overlay?: number;
recreateForm?: boolean;
removemodal?: boolean;
resize?: boolean;
resizingRightBottomIcon: string;
toTop?: boolean;
top?: number;
width: number | "auto" | "100%" | string;
zIndex?: number;
}
interface ViewModalOptions extends JqmOptions {
overlay?: number; // 30
modal?: boolean; // false,
overlayClass?: string; // getGuiStyles.call(this, "overlay"), // "ui-widget-overlay"
onShow?: (h: ModalHash) => void; // $.jgrid.showModal
onHide?: (h: ModalHash) => void; // $.jgrid.closeModal
gbox?: string; // ""
jqm?: boolean; // true
jqM?: boolean; // true
}
interface JqmOptions {
hash?: ModalHash[];
open?: (s: number, trigger: Element | string | JQuery) => boolean | void;
close?: (s: number, trigger: Element | string | JQuery) => boolean | void;
params?: JqModalOptions;
}
interface DeleteFormLocaleOptions {
bCancel?: string;
bSubmit?: string;
caption?: string;
msg?: string;
[propName: string]: any;
}
interface EditFormLocaleOptions {
addCaption?: string;
bCancel?: string;
bClose?: string;
bExit?: string;
bNo?: string;
bSubmit?: string;
bYes?: string;
editCaption?: string;
msg: { customarray?: string, customfcheck?: string, date?: string, email?: string, integer?: string, maxValue?: string, minValue?: string, novalue?: string, number?: string, required?: string, url?: string, [propName: string]: any };
saveData?: string;
[propName: string]: any;
}
interface NavLocaleOptions {
addtext?: string;
addtitle?: string;
alertcap?: string;
alerttext?: string;
canceltext?: string;
canceltitle?: string;
deltext?: string;
deltitle?: string;
edittext?: string;
edittitle?: string;
refreshtext?: string;
refreshtitle?: string;
savetext?: string;
savetitle?: string;
searchtext?: string;
searchtitle?: string;
viewtext?: string;
viewtitle?: string;
[propName: string]: any;
}
interface SearchLocaleOptions {
addGroupTitle?: string;
addRuleTitle?: string;
caption?: string;
deleteGroupTitle?: string;
deleteRuleTitle?: string;
Find?: string;
groupOps?: { op: string, text: string }[];
odata?: { oper: string, text: string }[];
operandTitle?: string;
Reset?: string;
resetTitle?: string | ((options: { options: FilterFoolbarOptions, cm: ColumnModel, cmName: string, iCol: number }) => string);
[propName: string]: any;
}
interface ViewLocaleOptions {
bClose?: string;
caption?: string;
[propName: string]: any;
}
interface JqGridLocaleOptions {
emptyrecords?: string;
loadtext?: string;
pgfirst?: string;
pglast?: string;
pgnext?: string;
pgprev?: string;
pgrecs?: string;
pgtext?: string;
recordtext?: string;
savetext?: string;
showhide?: string;
[propName: string]: any;
}
interface FormatterIntegerLocaleOptions {
thousandsSeparator?: string;
defaultValue?: string;
}
interface FormatterNumberLocaleOptions extends FormatterIntegerLocaleOptions {
decimalSeparator?: string;
decimalPlaces?: number;
}
interface FormatterCurrencyLocaleOptions extends FormatterNumberLocaleOptions {
prefix?: string;
suffix?: string;
}
interface FormatterDateLocaleOptions {
dayNames?: string[];
monthNames?: string[];
AmPm?: string[];
S?: (j: number) => string;
srcformat?: string;
newformat?: string;
masks?: {
ShortDate?: string;
LongDate?: string;
FullDateTime?: string;
MonthDay?: string;
ShortTime?: string;
LongTime?: string;
YearMonth?: string;
};
}
interface FormattersLocaleOptions {
integer?: FormatterIntegerLocaleOptions;
number?: FormatterNumberLocaleOptions;
currency?: FormatterCurrencyLocaleOptions;
date?: FormatterDateLocaleOptions;
[propName: string]: any;
}
interface JqGridStaticLocaleOptions {
col?: {
bCancel?: string;
bSubmit?: string;
caption?: string;
[propName: string]: any;
};
defaults?: JqGridLocaleOptions;
del?: DeleteFormLocaleOptions;
edit?: EditFormLocaleOptions;
errors?: {
errcap?: string;
model?: string;
norecords?: string;
nourl?: string;
[propName: string]: any;
};
formatter?: FormattersLocaleOptions;
isRTL?: boolean;
nav?: NavLocaleOptions;
search?: SearchLocaleOptions;
view?: ViewLocaleOptions;
[propName: string]: any;
}
interface EditableCellInfo {
rowid: string;
iCol: number;
iRow: number;
cmName: string;
cm: ColumnModel;
mode: "add" | "edit";
td: HTMLTableDataCellElement;
tr: HTMLTableRowElement;
trFrozen: HTMLTableRowElement;
dataElement: Element;
dataWidth: number;
}
interface IconsInfo {
baseIconSet?: string;
common?: string; // "ui-icon",
pager?: {
common?: string;
ignoreParents?: boolean;
first?: string; // "ui-icon-seek-first",
prev?: string; // "ui-icon-seek-prev",
next?: string; // "ui-icon-seek-next",
last?: string; // "ui-icon-seek-end"
};
sort?: {
common?: string;
ignoreParents?: boolean;
asc?: string; // "ui-icon-triangle-1-n",
desc?: string; // "ui-icon-triangle-1-s"
};
gridMinimize?: {
common?: string;
ignoreParents?: boolean;
visible?: string; // "ui-icon-circle-triangle-n",
hidden?: string; // "ui-icon-circle-triangle-s"
};
nav?: {
common?: string;
ignoreParents?: boolean;
edit?: string; // "ui-icon-pencil",
add?: string; // "ui-icon-plus",
del?: string; // "ui-icon-trash",
search?: string; // "ui-icon-search",
refresh?: string; // "ui-icon-refresh",
view?: string; // "ui-icon-document",
save?: string; // "ui-icon-disk",
cancel?: string; // "ui-icon-cancel",
newbutton?: string; // "ui-icon-newwin"
};
actions?: {
common?: string; // string;
ignoreParents?: boolean;
edit?: string; // "ui-icon-pencil",
del?: string; // "ui-icon-trash",
save?: string; // "ui-icon-disk",
cancel?: string; // "ui-icon-cancel"
};
form?: {
common?: string;
ignoreParents?: boolean;
close?: string; // "ui-icon-closethick",
prev?: string; // "ui-icon-triangle-1-w",
next?: string; // "ui-icon-triangle-1-e",
save?: string; // "ui-icon-disk",
undo?: string; // "ui-icon-close",
del?: string; // "ui-icon-scissors",
cancel?: string; // "ui-icon-cancel",
resizableLtr?: string; // "ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se"
};
search?: {
common?: string;
ignoreParents?: boolean;
search?: string; // "ui-icon-search",
reset?: string; // "ui-icon-arrowreturnthick-1-w",
query?: string; // "ui-icon-comment"
};
subgrid?: {
common?: string;
ignoreParents?: boolean;
plus?: string; // "ui-icon-plus",
minus?: string; // "ui-icon-minus",
openLtr?: string; // "ui-icon-carat-1-sw",
openRtl?: string; // "ui-icon-carat-1-se"
};
grouping?: {
common?: string; // string;
ignoreParents?: boolean;
plus?: string; // "ui-icon-circlesmall-plus",
minus?: string; // "ui-icon-circlesmall-minus"
};
treeGrid?: {
common?: string;
ignoreParents?: boolean;
minus?: string; // "ui-icon-triangle-1-s",
leaf?: string; // "ui-icon-radio-off",
plusLtr?: string; // "ui-icon-triangle-1-e",
plusRtl?: string; // "ui-icon-triangle-1-w"
};
checkbox ?: {
ignoreParents?: boolean;
checkedClasses?: string; // "fa-check-square-o",
checked?: string; // "fa-check-square-o fa-lg",
unchecked?: string; // "fa-square-o fa-lg"
};
}
interface GuiStyleInfo {
baseGuiStyle?: string;
gBox?: string; // "ui-jqgrid-jquery-ui ui-widget ui-widget-content ui-corner-all", // ui-widget-content??? for the children of gbox
gView?: string; // "",
overlay?: string; // "ui-widget-overlay",
loading?: string; // "ui-state-default ui-state-active",
hDiv?: string; // "ui-state-default ui-corner-top",
hTable?: string; // "",
colHeaders?: string; // "ui-state-default",
states?: {
select?: string; // "ui-state-highlight",
disabled?: string; // "ui-state-disabled ui-jqgrid-disablePointerEvents",
hover?: string; // "ui-state-hover", // can be table-hover on
only and style like .table-hover tbody tr:hover td
error?: string; // "ui-state-error",
active?: string; // "ui-state-active",
textOfClickable?: string; // "ui-state-default"
};
dialog?: {
header?: string; // "ui-widget-header ui-dialog-titlebar ui-corner-all ui-helper-clearfix",
window?: string; // "ui-jqgrid-jquery-ui ui-widget ui-widget-content ui-corner-all ui-front",
document?: string; // "",
subdocument?: string; // "",
body?: string; // "",
footer?: string; // "",
content?: string; // "ui-widget-content",
hr?: string; // "ui-widget-content",
closeButton?: string; // "ui-corner-all",
fmButton?: string; // "ui-state-default",
dataField?: string; // "ui-widget-content ui-corner-all",
viewCellLabel?: string; // "ui-widget-content",
viewLabel?: string; // "",
viewCellData?: string; // "ui-widget-content",
viewData?: string; // "",
leftCorner?: string; // "ui-corner-left",
rightCorner?: string; // "ui-corner-right",
defaultCorner?: string; // "ui-corner-all"
};
filterToolbar?: {
dataField?: string; // "ui-widget-content"
};
subgrid?: {
thSubgrid?: string; // "ui-state-default", // used only with subGridModel
rowSubTable?: string; // "ui-widget-content", // used only with subGridModel additionally to ui-subtblcell
row?: string; // "ui-widget-content", // class of the subgrid row, additional to ui-subgrid
tdStart?: string; // "", // it can be with span over rownumber and multiselect columns
tdWithIcon?: string; // "ui-widget-content", // class of cell with +- icon, additional to subgrid-cell
buttonDiv?: string; // "",
button?: string; // "",
tdData?: string; // "ui-widget-content", // class of main td with span over the grid, additional subgrid-data
legacyTable?: string; // ""
};
grid?: string; // "",
gridRow?: string; // "ui-widget-content",
rowNum?: string; // "ui-state-default",
gridFooter?: string; // "",
rowFooter?: string; // "ui-widget-content",
gridTitle?: string; // "ui-widget-header ui-corner-top",
gridError?: string; // "ui-state-error",
gridErrorText?: string; // "",
titleButton?: string; // "ui-corner-all",
toolbarUpper?: string; // "ui-state-default",
toolbarBottom?: string; // "ui-state-default",
actionsDiv?: string; // "ui-widget-content",
actionsButton?: string; // "ui-corner-all",
pager?: {
pager?: string; // "ui-state-default",
pagerButton?: string; // "ui-corner-all",
pagerInput?: string; // "ui-widget-content",
pagerSelect?: string; // "ui-widget-content"
};
navButton?: string; // "ui-corner-all",
searchDialog?: {
operator?: string; // "ui-corner-all",
label?: string; // "ui-corner-all",
elem?: string; // "ui-corner-all",
operationGroup?: string; // "",
addRuleButton?: string; // "ui-corner-all",
deleteRuleButton?: string; // "ui-corner-all",
operationSelect?: string; // "ui-corner-all",
addGroupButton?: string; // "ui-corner-all",
deleteGroupButton?: string; // "ui-corner-all"
};
searchToolbar?: {
menu?: string; // "ui-menu-jqueryui",
operButton?: string; // "ui-corner-all",
clearButton?: string; // "ui-corner-all"
};
top?: string; // "ui-corner-top",
bottom?: string; // "ui-corner-bottom",
resizer?: string; // "ui-widget-header"
}
interface JqGridStaticOptions extends JqGridOptions {
fatalError?: (errorText: string) => void; // default is alert function
}
type BooleanFeedbackValues = false | "stop" | void;
interface JqGridStatic extends JqGridStaticLocaleOptions {
_multiselect?: boolean;
actionsNav?: FormatterActionsOptions;
ajaxOptions?: JQueryAjaxSettings;
cell_width: boolean;
cellattr?: { [key: string]: (this: BodyTable, rowId: string, cellValue: any, rowObject: any, cm: ColumnModel, rdata: any, formattedCellValue: string) => string; };
cmTemplate?: { [key: string]: ColumnModel; };
defaults: JqGridStaticOptions;
del?: FormDeletingOptions;
edit?: FormEditingOptions;
filter?: JqFilterOptions;
getXmlData(this: BodyTable, obj: any, dotSeparatedNamesOrFunc: string | ((obj: any) => any), returnObj?: boolean): string | undefined | JQuery; // JQuery returns only if returnObj is true
guid: number;
guiStyles: {
jQueryUI: GuiStyleInfo;
bootstrap: GuiStyleInfo;
bootstrapPrimary: GuiStyleInfo;
bootstrap4: GuiStyleInfo;
[propName: string]: GuiStyleInfo;
};
icons: {
jQueryUI: IconsInfo;
fontAwesome: IconsInfo;
glyph: IconsInfo;
[propName: string]: IconsInfo;
};
inlineEdit?: InlineEditingOptions;
inlineNavOptions?: InlineNavOptions;
jqModal?: JqModalOptions; // { toTop: true }
locales: { [key: string]: JqGridStaticLocaleOptions; };
msie: boolean;
nav?: NavOptions;
no_legacy_api?: boolean;
productName: "free jqGrid";
rowattr?: ( (this: BodyTable, item: any, rowObject: any, rowid: string) => { [attributeName: string]: string } | null | undefined );
search?: SearchLocaleOptions;
uidPref: string;
version: string; // like "4.13.7" for example
view?: FormViewingOptions;
bindEv(element: Element | JQuery, options: EditOptions | SearchOptions): any;
builderFmButon(this: BodyTable, id: string, text?: string, icon?: string, iconOnLeftOrRight?: "right" | "left" | undefined, conner?: "right" | "left" | undefined): any;
builderSortIcons(this: BodyTable, iCol: number): string;
cellWidth(): boolean;
checkDate(format: string, date: string): boolean;
checkTime(time: string): boolean;
checkValues(this: BodyTable, value: any, iCol: number | string, customobject?: any, name?: string, options?: any): boolean;
clearArray(array: any[]): void;
closeModal(h: ModalHash): void;
convertOnSaveLocally(this: BodyTable, nData: any, cm: any, oData: any, id: string, item: any, iCol: number): any;
createEl(this: BodyTable, elementType: string, options: any, value: string, autoWidth?: boolean, ajaxso?: any): Element;
createModal(this: BodyTable, aIDs: any, content: Element | JQuery, o: CreateModalOptions, insertSelector: string | Element | JQuery, posSelector: string | Element | JQuery, appendsel?: boolean | string | Element | JQuery, css?: any): void;
//detectRowEditing(rowid: string): RowEditingInfo;
detectRowEditing(this: BodyTable, rowid: string): { mode: "inlineEditing" | "cellEditing"; savedRow: any[]; editable: { [cmName: string]: boolean | "hidden" | "disabled" | "readonly" } };
enumEditableCells(this: BodyTable, tr: HTMLTableRowElement, mode: "add" | "edit", callback: (options: EditableCellInfo) => boolean): void;
extend(this: JqGridStatic, methods: any): void;
feedback(this: BodyTable | JQuery, p: any, eventPrefix: string, callbackSuffix: string, callbackName: string): boolean;
fillSelectOptions(element, value: any, separator: string, delimiter: string, isMultiple: boolean, valuesToSelect?: string): boolean;
fixMaxHeightOfDiv(height: number): number;
fixScrollOffsetAndhBoxPadding(this: BodyTable): void;
format(format: string, ...rest: any[]): string;
from(source: any): QueryObject;
fullBoolFeedback(this: BodyTable, callback: (...rest: any[]) => BooleanFeedbackValues, eventName: string, ...rest: any[]): boolean;
getAccessor(obj: any, dotSeparatedNamesOrFunc: string | ((obj: any) => any)): any;
getCell(this: BodyTable, tr: HTMLTableRowElement | JQuery, iCol: number): JQuery;
getCellIndex(cell: Element | JQuery): number;
getDataFieldOfCell(this: BodyTable, tr: HTMLTableRowElement | JQuery, iCol: number): JQuery;
getEditedValue(this: BodyTable, $dataFiled: JQuery, cm: any, valueText: Object, editable: boolean | "hidden" | "readonly"): string;
getGridComponent(componentName: ComponentName, $p: HTMLElement | JQuery): JQuery;
getGridComponentId(this: BodyTable, componentName: ComponentName): string;
getGridComponentIdSelector(this: BodyTable, componentName: ComponentName): string;
getMethod(this: JqGridStatic, methodName: string): Function;
getRelativeRect(this: BodyTable, element: Element | JQuery): JQueryCoordinates;
getRes(basePath: Object, path: string): any;
getXmlData(obj: Node, dotSeparatedNamesOrFunc: string | ((obj: any) => any), returnObj?: boolean): string;
hasAllClasses(element: Element | JQuery, spaceSeparatedCssClasses: string): boolean;
hasOneFromClasses(element: Element | JQuery, spaceSeparatedCssClasses: string): boolean;
hideModal(selector: string | Element | JQuery, options: {jqm?: boolean, gb?: string, removemodal?: boolean}): void;
htmlDecode(value: string): string;
htmlEncode(value: string): string;
info_dialog(this: BodyTable, caption: string, content: string, closeButtonText: string, modalOptions: any): void;
isCellClassHidden(spaceSeparatedCssClasses: string): boolean;
isEmpty(testString: string): boolean;
isHTMLElement(element: Element): boolean;
jqID(idName: string): string;
mergeCssClasses(...spaceSeparatedCssClasses: string[]): boolean;
msiever(): number;
oldDecodePostedData(value: string): string;
oldEncodePostedData(value: string): string;
parseDataToHtml(this: BodyTable, len: number, ids: string[], items: any[], cellsToDisplay: any[], rcnt?: number, adjust?: number, readAllInputData?: boolean): string[];
parseDate(this: BodyTable, format: string, date: string | number | Date, newformat?: string, options?: any): string | Date;
parseDateToNumber(this: BodyTable, format: string, date: string | number | Date): number;
randId(prefix?: string): string;
serializeFeedback(this: BodyTable | JQuery, callback: ((this: BodyTable | JQuery, postData: any) => any), eventName: string, postData: Object | string): any;
showModal(h: ModalHash): void;
stripHtml(htmlString: string): string;
stripPref(prefix: string, id: string): string;
template(format: string): string;
viewModal(this: BodyTable, selector: string | Element | JQuery, options?: ViewModalOptions): void;
[propName: string]: any;
}
interface JqGridFmatter {
isEmpty: (o: any) => boolean;
isNumber: (o: any) => boolean;
isObject: (o: any) => boolean;
isValue: (o: any) => boolean;
NumberFormat: (nData: number, opts: { decimalSeparator: string, decimalPlaces: number, thousandsSeparator: string }) => string;
}
interface FormatterOptions {
rowId: string;
colModel: ColumnModel;
gid: string;
pos: number;
rowData: any;
}
interface FormatterActionsCustomButton {
action: string;
position?: "first" | "last";
onClick: (options: {rowid: string, event: JQueryEventObject, action: string, options: FormatterActionsCustomButton }) => void;
[propName: string]: any; // attribute for the editable element
}
interface FormatterActionButtonMask {
display?: boolean; // whether to include the button in the actions div
hidden?: boolean; // whether to add style="display:none;" to the button
noHovering?: boolean; // whether to add/remove hovering classes on mouseover/mouseout events
}
interface FormatterActionsOptions {
editbutton?: boolean;
delbutton?: boolean;
editformbutton?: boolean;
commonIconClass?: string; // "ui-icon",
editicon?: string; // "ui-icon-pencil",
delicon?: string; // "ui-icon-trash",
saveicon?: string; // "ui-icon-disk",
cancelicon?: string; // "ui-icon-cancel",
savetitle?: string; // edit.bSubmit || "",
canceltitle?: string; // edit.bCancel || ""
isDisplayButtons?: (this: BodyTable, options: FormatterOptions, rwd, act) => { [propName: string]: FormatterActionButtonMask };
custom?: FormatterActionsCustomButton[];
editOptions?: FormEditingOptions;
delOptions?: FormDeletingOptions;
keys?: boolean;
onEdit?: (this: BodyTable, rowid: string, options: EditRowOptions) => void;
onSuccess?: (this: BodyTable, jqXhr: JQueryXHR, rowid: string, options: FreeJqGrid.SaveRowOptions) => boolean | [boolean, any];
url?: string | ((this: BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: SaveRowOptions) => string);
extraparam?: Object;
afterSave?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: SaveRowOptions) => void;
onError?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
afterRestore?: (this: BodyTable, rowid: string) => void;
restoreAfterError?: boolean;
mtype?: string | ((this: BodyTable, editOrAdd: "add" | "edit", options: SaveRowOptions, rowid: string, postData: any) => string);
[propName: string]: any; // attribute for the editable element
}
interface JqGridFormatters {
[propName: string]: any;
}
interface EditOptions {
buildSelect?: (this: BodyTable, data: any, jqXhr: JQueryXHR, cm: ColumnModel, iCol: number) => string;
dataEvents?: { type: string, data?: any, fn: (e) => void }[];
dataInit?: (this: BodyTable, element: Element, options: EditOptions) => void;
dataUrl?: string | ((this: BodyTable, rowid: string, value: string, cmName: string, ajaxContext: { elem: Element, options: any, cm: ColumnModel, mode: "cell" | "addForm" | "editForm" | "add" | "edit", rowid: string, iCol: number, ovm: string[] }) => string);
generateValue?: boolean;
value?: string | { [propName: string]: string } | (() => string | { [propName: string]: string });
defaultValue?: string | (() => string) | boolean; // boolean for SearchOptions compatibility
[propName: string]: any; // attribute for the editable element
}
interface SearchOptions extends EditOptions {
attr?: Object;
clearSearch?: boolean;
defaultValue?: boolean;
generateDatalist?: boolean;
searchhidden?: boolean;
sopt?: string[];
[propName: string]: any;
}
interface EditOrSearchRules {
custom?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => any[]);
custom_func?: (this: BodyTable, value: string, name: string, iCol: number) => any[];
date?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
edithidden?: boolean;
email?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
integer?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
maxValue?: number;
minValue?: number;
number?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
required?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
time?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
url?: boolean | ((this: BodyTable, options: { oldValue: string, newValue: string, oldRowData?: any, rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement }) => boolean);
}
interface ColumnModelWithoutLabel {
align?: "left" | "center" | "right";
autoResizable?: boolean; // default value false
autoResizing?: { minColWidth?: number, maxColWidth?: number, compact?: boolean };
cellattr?: "string" | ((this: BodyTable, rowId: string, cellValue: any, rowObject: any, cm: ColumnModel, rdata: any, formattedCellValue: string) => string);
cellBuilder?: (this: BodyTable, cellValue: any, options: FormatterOptions, rowObject: any, action?: "edit" | "add") => string;
classes?: string; // spaceSeparatedCssClasses
convertOnSave?: (this: BodyTable, options: { newValue: any, cm: ColumnModel, oldValue: any, id: string, item: any, iCol: number }) => any;
createColumnIndex?: boolean;
datefmt?: string;
editable?: boolean | "hidden" | "disabled" | "readonly" | ((options: { rowid: string, iCol: number, iRow: number, mode: "cell" | "addForm" | "editForm" | "add" | "edit", cmName: string, cm: ColumnModel, td?: HTMLTableDataCellElement, tr?: HTMLTableRowElement, trFrozen?: HTMLTableRowElement, dataElement?: Element, dataWidth?: number }) => boolean | "hidden" | "disabled" | "readonly"); // default value false
editoptions?: EditOptions;
editrules?: EditOrSearchRules;
edittype?: "text" | "textarea" | "checkbox" | "select" | "password" | "button" | "image" | "file" | "custom";
firstsortorder?: "asc" | "desc"; // default value "asc"
fixed?: boolean; // default value false
formatoptions?: any; // TODO: define formatoptions for different standard formatters
formatter?: "integer" | "number" | "currency" | "date" | "select" | "actions" | "checkbox" | "checkboxFontAwesome4" | "showlink" | "email" | "link" | string | ((this: BodyTable, cellValue: any, options: FormatterOptions, rowObject: any, action?: "edit" | "add") => string);
formoptions?: {
elmprefix?: string;
elmsuffix?: string;
label?: string;
rowabove?: boolean; // false
rowcontent?: string; // ""
rowpos?: number;
colpos?: number;
};
frozen?: boolean; // default value false
jsonmap?: (this: BodyTable, item: any, options: { cmName: string, iItem: number }) => any;
headerTitle?: string;
hidden?: boolean; // default value false
hidedlg?: boolean;
index?: string;
key?: boolean;
labelAlign?: "left" | "center" | "right" | "likeData";
labelClasses?: string;
lso?: "asc" | "desc" | "asc-desc" | "desc-asc" | "" | string;
name: string;
resizable?: boolean;
rotated?: boolean;
saveLocally?: (this: BodyTable, options: { newValue: any, newItem: Object, oldItem: Object, id: string, rowid: string, cm: ColumnModel, cmName: string, iCol: number }) => void;
search?: boolean;
searchoptions?: SearchOptions;
searchrules?: EditOrSearchRules;
sortable?: boolean;
sortfunc?: (a: any, b: any, direction: 1 | -1, aItem: any, bItem: any) => any;
sortIconName?: (this: BodyTable, options: { order: "asc" | "desc", iCol: number, cm: ColumnModel }) => string; // return CSS classes
sorttype?: "integer" | "int" | "number" | "currency" | "float" | "numeric" | "boolean" | "date" | "datetime" | "text" | string | ((this: BodyTable, value: any, item: any) => any);
summaryRound?: number; // exponent used in Math.pow during rounding of summary values during data grouping
summaryRoundType?: "fixed" | "round"; // can be used during calculation of summary values during data grouping
summaryType?: "sum" | "min" | "max" | "count" | "avg"; // can be used in data grouping
summaryFormat?: (this: BodyTable, group: GroupInformation, cellData: string, cellValue: any, cm: ColumnModel, summary: GroupSummaryInformation) => string;
stype?: "select" | "checkbox" | "custom" | "text"; // default value "text"
template?: "actions" | "integer" | "integerStr" | "number" | "numberStr" | "booleanCheckbox" | "booleanCheckboxFa" | string | ColumnModel;
title?: boolean;
unformat?: (this: BodyTable, cellValue: string, options: { rowId: string, colModel: ColumnModel }, dataElement: Element) => string;
viewable?: boolean; // default value true
width?: number; // default value 150
widthOrg?: number; // used internally by jqGrid
xmlmap?: (this: BodyTable, item: any, options: { cmName: string, iItem: number }) => any;
[propName: string]: any; // allow to have any number of other properties
}
interface ColumnModel extends ColumnModelWithoutLabel {
label?: string;
}
interface ReloadGridOptions {
current?: boolean;
fromServer?: boolean;
page?: number;
}
type AddRowDataPosition = "first" | "last" | "before" | "after" | "afterSelected" | "beforeSelected";
type LoadType = "disable" | "enable" | "block";
type FormIcon = [boolean, "left"|"right", string];
type NavKeys = [boolean, number, number]; // [shouldBeUsed, upKeyCode, downKeyCode]: [false,38,40]
interface FormEditingOptions extends EditFormLocaleOptions {
_savedData?: { [propName: string]: any };
addedrow?: AddRowDataPosition;
afterclickPgButtons?: (this: BodyTable, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void;
afterComplete?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => void;
afterShowForm?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => void;
afterSubmit?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, editOrAdd: "edit" | "add") => void;
ajaxEditOptions?: JQueryAjaxSettings;
beforeCheckValues?: (this: BodyTable, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => Object | void;
beforeInitData?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => BooleanFeedbackValues;
beforeShowForm?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => void;
beforeSubmit?: (this: BodyTable, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => [true] | [true, any] | true | null | undefined | [false, string];
bottominfo?: string;
checkOnSubmit?: boolean;
checkOnUpdate?: boolean;
clearAfterAdd?: boolean;
closeAfterEdit?: boolean;
closeicon?: [boolean, string, string]; // [true,"left","fa fa-undo"]
closeOnEscape?: boolean;
commonIconClass?: string; // "fa"
dataheight?: number | "auto" | "100%" | string; // "auto"
datawidth?: number | "auto" | "100%" | string; // "auto"
drag?: boolean;
editData?: any;
errorTextFormat?: (this: BodyTable, jqXhr: JQueryXHR, editOrAdd: "edit" | "add") => void;
jqModal?: boolean;
height?: number | "auto" | "100%" | string; // "auto"
left?: number;
modal?: boolean;
mtype?: string | ((this: BodyTable, rowid: string, editOrAdd: "edit" | "add", options: FormEditingOptions, postdata: Object | string) => string);
navkeys?: NavKeys; // [false,38,40]
nextIcon?: string; // "fa fa-caret-right"
onclickPgButtons?: (this: BodyTable, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void;
onclickSubmit?: (this: BodyTable, options: FormEditingOptions, postdata: Object | string, editOrAdd: "edit" | "add") => Object | string;
onClose?: (this: BodyTable, selector: string | Element | JQuery) => boolean;
onInitializeForm?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => void;
overlayClass?: string; // "ui-widget-overlay"
prevIcon?: string; // "fa fa-caret-left"
processing?: boolean;
reloadAfterSubmit?: boolean;
reloadGridOptions?: ReloadGridOptions;
removemodal?: boolean;
resize?: boolean;
saveicon?: FormIcon; // [true,"left","fa fa-floppy-o"]
savekey?: [boolean, number]; // [false,13]
savetext?: string; // default from $.jgrid.locales[currentLocale].defaults.savetext or $.jgrid.defaults.savetext
saveui?: LoadType; // "enable"
serializeEditData?: (this: BodyTable, postdata: Object) => Object | string;
skipPostTypes?: string[]; // ["image","file"]
top?: number;
topinfo?: string;
useDataProxy?: boolean;
url?: string | ((this: BodyTable, rowid: string, editOrAdd: "edit" | "add", postdata: Object | string, options: FormEditingOptions) => string);
viewPagerButtons?: boolean;
width?: number | "auto" | "100%" | string; // "auto"
[propName: string]: any; // allow to have any number of other properties
}
interface FormDeletingOptions extends DeleteFormLocaleOptions {
afterComplete?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, rowids: string[]) => void;
afterShowForm?: (this: BodyTable, $form: JQuery) => void;
afterSubmit?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, rowids: string[]) => void;
ajaxDelOptions?: JQueryAjaxSettings;
beforeInitData?: (this: BodyTable, $form: JQuery) => BooleanFeedbackValues;
beforeShowForm?: (this: BodyTable, $form: JQuery) => void;
beforeSubmit?: (this: BodyTable, postdata: Object | string, rowids: string[]) => [true] | [true, any] | undefined | [false, string];
cancelicon?: FormIcon; // [true,"left","fa fa-ban"]
closeOnEscape?: boolean;
commonIconClass?: string; // "fa"
dataheight?: number | "auto" | "100%" | string; // "auto"
datawidth?: number | "auto" | "100%" | string; // "auto"
delData?: any;
delicon?: FormIcon; // [true,"left","fa fa-trash-o"]
deltext?: string; // default from $.jgrid.locales[currentLocale].defaults.deltext or $.jgrid.defaults.deltext or "Deleting..."
delui?: LoadType; // "disable"
drag?: boolean;
errorTextFormat?: (this: BodyTable, jqXhr: JQueryXHR) => string;
height?: number | "auto" | "100%" | string; // "auto"
jqModal?: boolean;
idSeparator?: string; // ","
left?: number;
modal?: boolean;
mtype?: string; // "POST"
onclickSubmit?: (this: BodyTable, options: FormDeletingOptions, postdata: Object | string, rowids: string[]) => Object | string;
onClose?: (this: BodyTable, selector: string | Element | JQuery) => boolean;
overlay?: number;
processing?: boolean; // internal used
reloadAfterSubmit?: boolean;
reloadGridOptions?: ReloadGridOptions;
removemodal?: boolean;
resize?: boolean;
serializeDelData?: (this: BodyTable, postdata: Object | string, rowids: string[]) => Object | string;
top?: number;
toTop?: boolean;
url?: string | ((this: BodyTable, rowid: string, postdata: Object | string, options: FormDeletingOptions, rowids: string[]) => string);
useDataProxy?: boolean;
width?: number | "auto" | "100%" | string; // "auto"
[propName: string]: any; // allow to have any number of other properties
}
interface FormViewingOptions extends ViewLocaleOptions, CreateModalOptions {
beforeShowForm?: (this: BodyTable, $form: JQuery) => void;
beforeInitData?: (this: BodyTable, $form: JQuery) => BooleanFeedbackValues;
closeicon?: FormIcon; // [true, "left", getIcon("form.cancel")]
commonIconClass?: string; // getIcon("form.common")
dataheight?: number | "auto" | "100%" | string; // "auto"
datawidth?: number | "auto" | "100%" | string; // "auto"
labelswidth?: number | string; // "", 350, "30%" and so on
prevIcon?: string; // getIcon("form.prev")
nextIcon?: string; // getIcon("form.next")
navkeys?: NavKeys; // [false, 38, 40]
modal?: boolean; // false
viewPagerButtons?: boolean; // true
}
interface SearchingDialogOptions extends SearchLocaleOptions, CreateModalOptions {
afterChange?: (this: BodyTable, $filter: JQuery, options: SearchingDialogOptions, filterOptions: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
afterShowSearch?: (this: BodyTable, $filter: JQuery) => void;
afterRedraw?: (this: BodyTable, options: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
beforeShowSearch?: (this: BodyTable, $filter: JQuery) => BooleanFeedbackValues;
closeAfterSearch?: boolean; // default false
closeAfterReset?: boolean; // default false
columns?: ColumnModel[];
commonIconClass?: string;
dataheight?: number | "auto" | "100%" | string; // "auto"
errorcheck?: boolean; // default true,
groupOps?: { op: string, text: string }[];
layer?: null | string; // can be id. be used in createModal as appendsel
loadDefaults?: boolean;
multipleSearch?: boolean; // default false
multipleGroup?: boolean; // default false
sField?: string; // default "searchField"
sValue?: string; // default "searchString"
sOper?: string; // default "searchOper"
sFilter?: string; // default "filters"
searchForAdditionalProperties?: boolean;
searchOnEnter?: boolean; // default false
showOnLoad: boolean; // default false
showQuery?: boolean; // default false,
sopt?: null; // used only if .searchoptions.sopt is undefined
stringResult?: boolean;
onInitializeSearch?: (this: BodyTable, $filter: JQuery) => void;
onSearch?: (this: BodyTable, filters: Filter) => void;
onReset?: (this: BodyTable) => BooleanFeedbackValues;
operands?: {
eq: string; // default "="
ne: string; // default "<>"
lt: string; // default "<"
le: string; // default "<="
gt: string; // default ">"
ge: string; // default ">="
bw: string; // default "LIKE"
bn: string; // default "NOT LIKE"
"in": string; // default "IN"
ni: string; // default "NOT IN"
ew: string; // default "LIKE"
en: string; // default "NOT LIKE"
cn: string; // default "LIKE"
nc: string; // default "NOT LIKE"
nu: string; // default "IS NULL"
nn: string; // default "IS NOT NULL"
[searchOperation: string]: string;
};
overlay?: number;
overlayClass?: string;
tmplNames?: string[];
tmplFilters?: Filter[] | null;
tmplLabel?: string; // default " Template: "
[propName: string]: any; // allow to have any number of other properties
}
interface FilterFoolbarOptions extends SearchLocaleOptions {
afterClear?: (this: BodyTable) => void;
afterSearch?: (this: BodyTable) => void;
applyLabelClasses?: boolean; //true
autosearch?: boolean; //true
autosearchDelay?: number; // 500
beforeClear?: (this: BodyTable) => boolean;
beforeSearch?: (this: BodyTable) => boolean;
defaultSearch?: string; // "bw"
groupOp?: string; // "AND"
idMode?: "new" | "old" | "compatibility"; // "new"
loadFilterDefaults?: boolean; //true
operands?: {
eq: string; // "=="
ne: string; // "!"
lt: string; // "<"
le: string; // "<="
gt: string; // ">"
ge: string; // ">="
bw: string; // "^"
bn: string; // "!^"
"in": string; // "="
ni: string; // "!="
ew: string; // "|"
en: string; // "!@"
cn: string; // "~"
nc: string; // "!~"
nu: string; // "#"
nn: string; // "!#"
[searchOperation: string]: string;
};
reloadGridResetOptions?: ReloadGridOptions;
reloadGridSearchOptions?: ReloadGridOptions;
resetTitle?: string | ((options: { options: FilterFoolbarOptions, cm: ColumnModel, cmName: string, iCol: number }) => string);
searchOnEnter?: boolean; //true
searchOperators?: boolean; //false
searchurl?: string; // ""
sField?: string; // default "searchField"
sValue?: string; // default "searchString"
sOper?: string; // default "searchOper"
sFilter?: string; // default "filters"
stringResult?: boolean; //false
resetIcon?: string; // "×"
[propName: string]: any; // allow to have any number of other properties
}
interface SearchingOptions extends FilterFoolbarOptions, SearchingDialogOptions {
}
interface NavOptions extends NavLocaleOptions {
add?: boolean;
addicon?: string; // "fa fa-lg fa-fw fa-plus"
addfunc?: (this: BodyTable, pAdd: FormEditingOptions) => void;
afterRefresh?: (this: BodyTable) => void;
alertheight?: number | "auto" | "100%" | string; // "auto"
alertleft?: null | number;
alerttop?: null | number;
alertwidth?: number; // 200
alertzIndex?: null | number;
beforeRefresh?: (this: BodyTable) => void;
buttonicon?: string; // "fa fa-lg fa-fw fa-external-link"
cancelicon?: string; // "fa fa-lg fa-fw fa-ban"
cloneToTop?: boolean;
closeOnEscape?: boolean;
commonIconClass?: string; // "fa fa-lg fa-fw"
del?: boolean;
delicon?: string; // "fa fa-lg fa-fw fa-trash-o"
delfunc?: (this: BodyTable, rowid: string | string[], pDel?: FormDeletingOptions) => void;
edit?: boolean;
editicon?: string; // "fa fa-lg fa-fw fa-pencil"
editfunc?: (this: BodyTable, rowid: string, pEdit: FormEditingOptions) => void;
hideEmptyPagerParts?: boolean;
iconsOverText?: boolean;
jqModal?: boolean;
position?: "left" | "center" | "right";
refresh?: boolean;
refreshicon?: string; // "fa fa-lg fa-fw fa-refresh"
refreshstate?: "firstpage" | "current" | "currentfilter";
reloadGridOptions?: ReloadGridOptions;
removemodal?: boolean;
saveicon?: string; // "fa fa-lg fa-fw fa-floppy-o"
search?: boolean;
searchicon?: string; // "fa fa-lg fa-fw fa-search"
searchfunc?: (this: BodyTable, rowid: string, pSearch?: SearchingDialogOptions) => void;
view?: boolean;
viewicon?: string; // "fa fa-lg fa-fw fa-file-o"
viewfunc?: (this: BodyTable, rowid: string, pView?: FormViewingOptions) => void;
}
interface navButtonAddOptions {
buttonicon?: string;
caption?: string;
commonIconClass?: string;
iconsOverText?: boolean;
id?: string;
onClickButton?: (this: BodyTable, options: navButtonAddOptions, eventObject: JQueryEventObject) => void;
position?: "first" | "last";
title?: string;
}
interface InlineNavOptions {
edit?: boolean;
editicon?: string; // "ui-icon-pencil"
edittitle?: string;
edittext?: string;
add?: boolean;
addicon?: string; // "ui-icon-plus"
addtext?: string;
addtitle?: string;
save?: boolean;
saveicon?: string; //"ui-icon-disk",
savetitle?: string;
savetext?: string;
cancel?: boolean;
cancelicon?: string; //"ui-icon-cancel",
canceltitle?: string;
canceltext?: string;
commonIconClass?: string; //"ui-icon",
iconsOverText?: boolean;
addParams?: AddRowOptions;
editParams?: EditRowOptions;
restoreAfterSelect?: boolean;
}
interface JsonOrLocalReader {
root?: string | ((item: any) => string); // "rows"
repeatitems?: boolean;
cell?: string; // "cell"
page?: string | ((item: any) => number | string); // "page",
total?: string | ((item: any) => number | string); // "total",
records?: string | ((item: any) => number | string); // "records",
id?: string | ((this: BodyTable, item: any) => string); // "id",
userdata?: string | ((this: BodyTable, item: any) => Object); //"userdata",
subgrid?: {
root?: string; // "rows"
repeatitems?: boolean;
cell?: string; // "cell"
};
}
interface XmlReader extends JsonOrLocalReader {
row?: string; // "row",
subgrid?: {
root?: string; // "rows"
repeatitems?: boolean;
row: string; // "row"
cell?: string; // "cell"
};
}
interface BaseTreeReader {
level_field?: string; // "level"
expanded_field?: string; // "expanded"
loaded?: string; // "loaded"
icon_field?: string; // "icon"
}
interface NestedTreeReader extends BaseTreeReader {
left_field?: string; // "lft",
right_field?: string; // "rgt",
leaf_field?: string; // "isLeaf"
}
interface AdjacencyTreeReader extends BaseTreeReader{
parent_id_field?: string; // "parent",
leaf_field?: string; // "isLeaf"
}
interface TreeGridReader extends AdjacencyTreeReader, NestedTreeReader {
}
interface SubGridOptions {
commonIconClass?: string; // "fa fa-fw"
delayOnLoad?: number; // 50
expandOnLoad?: boolean;
hasSubgrid?: boolean | ((this: BodyTable, options: { rowid: string, iRow: number, iCol: number, data: Object }) => boolean);
noEmptySubgridOnError?: boolean;
minusicon?: string; // "fa fa-fw fa-minus"
openicon?: string; // "fa fa-fw fa-reply fa-rotate-180"
plusicon?: string; // "fa fa-fw fa-plus"
reloadOnExpand?: boolean;
selectOnCollapse?: boolean;
selectOnExpand?: boolean;
}
interface JqGridSubGridOptions {
ajaxSubgridOptions?: JQueryAjaxSettings;
subGridBeforeCollapse?: (this: BodyTable, subgridDivId: string, rowid: string) => void;
subGridBeforeExpand?: (this: BodyTable, subgridDivId: string, rowid: string) => void;
loadSubgridError?: (this: BodyTable, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
serializeSubGridData?: (this: BodyTable, postData: any) => Object | string;
subGrid?: boolean;
subGridModel?: { align?: ("left" | "center" | "right")[], name: string[], mapping?: string[], params?: string[], width: number[] }[];
subGridOptions?: SubGridOptions;
subGridRowExpanded?: (this: BodyTable, subgridDivId: string, rowid: string) => void;
subGridUrl?: string | ((this: BodyTable, postData: Object | string) => string);
subgridtype?: string | ((this: BodyTable, postData: Object | string) => void);
subGridWidth?: number; // 16
}
interface JqGridSelectionOptions {
beforeSelectRow?: (this: BodyTable, rowid: string, eventObject: JQueryEventObject) => false | void;
readonly cb?: string; // "#cb_list"
readonly cbId?: string; // "cb_list"
checkboxHtml?: (this: BodyTable, options: { rowid: string, iRow: number, iCol: number, data: any, checked: boolean }) => string;
deselectAfterSort?: boolean;
resetPageAfterSort?: boolean; // true
hasMultiselectCheckBox?: (this: BodyTable, options: { rowid: string, iRow: number, iCol: number, data: any, checked: boolean }) => string | false | undefined;
multiboxonly?: boolean;
multikey?: boolean;
multiPageSelection?: boolean;
selectAllMode?: "filtered" | "all"; // "filtered"
multiselect?: boolean;
multiselectPosition?: "left" | "right" | "none";
multiselectWidth?: number; // 16
onSelectAll?: (this: BodyTable, rowids: string[], toCheck: boolean) => void;
onSelectRow?: (this: BodyTable, rowid: string, state: boolean, eventObject: JQueryEventObject) => void;
selrow?: null | string; // null
selarrrow?: string[]; // []
selectOnContextMenu?: boolean; // true
singleSelectClickMode?: "toggle" | "selectonly"; // "toggle"
}
interface JqGridSortingOptions {
builderSortIcons?: (this: BodyTable, iCol: number) => string;
forceClientSorting?: boolean;
ignoreCase?: boolean; // true
formatSortOrder?: (this: BodyTable, options: { cm: ColumnModel, sortIndex: number }) => string;
readonly lastsort?: number; // 0
maxSortColumns?: number; // 3
multiSort?: boolean; // false
multiSortOrder?: "lastClickedLastSorted" | "lastClickedFirstSorted" | ((this: BodyTable, options: {sortNames: string[], cm: ColumnModel, sortDirs: {[cmName: string]: "asc" | "desc" }, removeSorting: (cmIndexOrName: string) => void }) => string[]);
onSortCol?: (this: BodyTable, cmOrIndexName: string, iCol: number, sortOrder: string, eventObject?: JQueryEventObject) => BooleanFeedbackValues;
sortname?: string; // ""
sortIconsBeforeText?: boolean; // false
sortIconName?: (this: BodyTable, options: { order: "asc" | "desc", iCol: number, cm: ColumnModel }) => string; // return CSS classes
sortingDuringEditing?: "prevent" | "cancel" | "save"; // "prevent"
sortOrderPosition?: "afterSortIcons" | "beforeSortIcons"; // "afterSortIcons"
showOneSortIcon?: boolean; // false
showSortOrder?: boolean; // true
sortorder?: "asc" | "desc" | string; // "asc"
threeStateSort?: boolean; // false
viewsortcols?: [boolean, "vertical" | "horizontal", boolean]; // [false, "vertical", true]
}
interface JqGridTreeGridOptions {
ExpandColClick?: boolean;
ExpandColumn?: string;
tree_root_level?: number; // 0
treeANode?: number; // -1, used internally
treedatatype?: string | ((this: BodyTable, postData: Object | string, loadId: string, rcnt: number, npage: number, adjust: number) => void); // used iinternally as copy of datatype
treeGrid?: boolean;
treeGridModel?: "adjacency" | "nested";
treeIcons?: {
commonIconClass?: string; // "fa fa-fw"
leaf?: string; // "fa fa-fw fa-dot-circle-o"
minus?: string; // "fa fa-fw fa-lg fa-sort-desc"
plusLtr?: string; // "fa fa-fw fa-lg fa-caret-right"
plusRtl?: string; // "fa fa-fw fa-lg fa-caret-left"
};
treeReader?: TreeGridReader;
unloadNodeOnCollapse?: boolean | ((this: BodyTable, treeItem: any) => boolean);
}
interface JqGridResizingOptions {
autoresizeOnLoad?: boolean;
afterResizeDblClick?: (this: BodyTable, options: { iCol: number, cm: ColumnModel, cmName: string }) => void;
columnsToReResizing?: number[]; // used internally by jqGrid
doubleClickSensitivity?: number; // 250
forceFit?: boolean; // false
minResizingWidth?: number; // 10
resizeDblClick?: (this: BodyTable, iCol: number, cm: ColumnModel, eventObject: JQueryEventObject) => BooleanFeedbackValues;
resizeclass?: string; // ""
resizeStart?: (this: BodyTable, eventObject: JQueryEventObject, iCol: number) => void;
resizeStop?: (this: BodyTable, newWidth: number, iCol: number) => void;
readonly rs?: string; // "#rs_mlist"
readonly rsId?: string; // "rs_mlist"
}
interface JqGridPagingOptions {
gridComplete?: (this: BodyTable) => void;
lastpage?: number; // 0
onPaging?: (this: BodyTable, source: "records" | "user" | "first" | "prev" | "next" | "last", options: { newPage: number, currentPage: number, lastPage: number, currentRowNum: number, newRowNum: number }) => BooleanFeedbackValues;
page?: number;
pager?: boolean | string; // default: "". Example, "#jqg1"
pagerCenterWidth?: number;
pagerLeftWidth?: number; // 125
pagerRightWidth?: number;
pagerpos?: "left" | "center" | "right";
pagingDuringEditing?: "prevent" | "cancel" | "save"; // "prevent"
pgbuttons?: boolean; // true
pginput?: boolean; // true
reccount?: number; // 0
recordpos?: "left" | "center" | "right"; // default "left" or "right" in case of p.direction === "rtl"
records?: number; // 0
rowList?: (number | string)[]; // example [5, 10, 20, "10000:All"]
toppager?: string; // Default false. Be changed by jqGrid to string in the form "#list_toppager"
viewrecords?: boolean; // false
}
interface GroupSummaryInformation {
groupCount?: number;
groupIndex?: string; // cmName
groupValue?: any;
nm: string; // cmName
sr?: number; // cm.summaryRound
srt?: "fixed" | "round"; // cm.summaryRoundType
st?: ("sum" | "min" | "max" | "count" | "avg") | ("sum" | "min" | "max" | "count" | "avg")[]; //cm.summaryType
v: any;
}
interface GroupInformation {
cnt?: number;
collapsed?: boolean;
dataIndex: string; // cmName
displayValue: string; //displayValue,
idx: number; // index in grp.groupField array
keys?: any[];
parentGroup?: GroupInformation;
parentGroupIndex?: number;
startRow?: number; // iRow
summary: GroupSummaryInformation[];
value?: any;
}
interface CounterInformation {
cnt: number;
pos: number;
summary: GroupSummaryInformation[];
}
interface GroupingView {
_locgr?: boolean;
commonIconClass?: string;
counters?: CounterInformation[];
displayField?: string[];
formatDisplayField?: ((this: BodyTable, displayValue: string, value: any, cm: ColumnModel, idx: number, grp: GroupInformation, index: number) => string)[];
groupCollapse?: (options: { group: number, rowid: string }) => boolean;
groupColumnShow?: boolean[];
groupField: string[];
groupOrder?: ("asc" | "desc")[];
groups?: GroupInformation[];
groupSummary?: boolean[];
groupSummaryPos?: ("footer" | "header")[];
groupText?: string[];
hideFirstGroupCol?: boolean;
iconColumnName?: string; // cmName
isInTheSameGroup?: boolean[];
lastvalues?: Object[];
minusicon?: string; // "fa fa-fw fa-minus-square-o"
plusicon?: string; // "fa fa-fw fa-plus-square-o"
showSummaryOnHide?: boolean;
summary?: GroupSummaryInformation[];
useDefaultValuesOnGrouping?: boolean;
visibiltyOnNextGrouping?: boolean[];
[propName: string]: any; // allow to have any number of other properties
}
interface JqGridGroupingOptions {
grouping?: boolean;
groupingView?: GroupingView;
onClickGroup?: (this: BodyTable, hid: string, collapsed: boolean) => void;
}
interface JqGridOptions extends JqGridSubGridOptions,
JqGridSelectionOptions,
JqGridSortingOptions,
JqGridGroupingOptions,
JqGridTreeGridOptions,
JqGridResizingOptions,
JqGridPagingOptions {
_index?: {[rowid: string]: number }; // used internally by jqGrid if local data exists
_inlinenav?: boolean; // used internally by jqGrid if inlineNav be called
_nvtd?: [number, number]; // used internally by jqGrid
actionsNavOptions?: FormatterActionsOptions;
additionalProperties?: (string | ColumnModel)[];
afterAddRow?: (this: BodyTable, options: { rowid: string, inputData: Object | Object[], position: AddRowDataPosition, srcRowid?: string, iRow: number, tr: HTMLTableRowElement, localData?: Object, iData?: number }) => void;
afterChangeRowid?: (this: BodyTable, options: { rowid: string, oldRowid: string, iRow: number, tr: HTMLTableRowElement }) => void;
afterDelRow?: (this: BodyTable, rowid: string) => void;
afterInsertRow?: (this: BodyTable, rowid: string, item: { [cmOrPropName: string]: any }, srcItem: any) => void;
afterSetRow?: (this: BodyTable, options: { rowid: string, inputData: Object | Object[], iRow?: number, localData?: Object, iData?: number, tr: HTMLTableRowElement, cssProp: string | Object }) => void;
ajaxGridOptions?: JQueryAjaxSettings;
altclass?: string;
altRows?: boolean;
arrayReader?: any[]; // used internally
arrayReaderInfos?: { [name: string]: { name?: string, index: string, order?: number, type: InputNameType } }; // used internally
autoencode?: boolean; // true starting with version 4.15.0
autoResizing?: { adjustGridWidth?: boolean, compact?: boolean, fixWidthOnShrink?: boolean, maxColWidth?: number, minColWidth?: number, resetWidthOrg?: boolean, widthOfVisiblePartOfSortIcon?: number, wrapperClassName?: string };
autowidth?: boolean;
beforeInitGrid?: (this: BodyTable) => void;
beforeProcessing?: (this: BodyTable, data: any, textStatus: string, jqXhr: JQueryXHR) => false | void;
beforeRequest?: (this: BodyTable) => BooleanFeedbackValues;
caption?: string;
cellEdit?: boolean;
cellLayout?: number; // 5
cellsubmit?: string; // "clientArray"
cmNamesInputOrder?: string[]; // used internally by jqGrid, can be generated if remapColumns is used
cmTemplate?: ColumnModel;
colModel: ColumnModel[];
colNames?: string[];
createColumnIndex?: boolean;
customSortOperations?: {
[customOperation: string]: CustomFilterOperation;
};
customUnaryOperations?: string[]; // the list of customOperation from customSortOperations, which should be interpreted as unary, like standard operations "nu" and "nn". Unary operations has no data and be triggerd in searching toolbar on selection (without pressing Enter). See http://stackoverflow.com/a/41445578/315935 for detailes
data?: any[];
dataIndexById?: {
[id: string]: {
[cmName: string]: {
[value: string]: Object; // the reference on the object indexByColumnData[cmName][value]
}
}
};
datastr?: string | any[];
datatype?: string | ((this: BodyTable, postData: Object | string, loadId: string, rcnt: number, npage: number, adjust: number) => void);
dataTypeOrg?: string;
deepempty?: boolean;
direction?: "ltr" | "rtl";
disableClick?: boolean;
editurl?: string; // "clientArray"
errorDisplayTimeout?: number; // be used inside of displayErrorMessage method
footerrow?: boolean;
formDeleting?: FormDeletingOptions;
formEditing?: FormEditingOptions;
formViewing?: FormViewingOptions;
frozenColumns?: boolean;
readonly gBox?: string; // "#gbox_list"
readonly gBoxId?: string; // gbox_list"
gridstate?: "visible" | "hidden";
gridview?: boolean;
guiStyle?: string; // "jQueryUI"
inFilterSeparator?: boolean; // ","
readonly gView?: string; // "#gview_list"
readonly gViewId?: string; // "gview_list"
headertitles?: boolean;
height?: "auto" | "100%" | number;
hiddengrid?: boolean;
hidegrid?: boolean;
hoverrows?: boolean;
iCol?: number; // -1
iColByName?: {[cmName: string]: number };
iconSet?: string; // "fontAwesome"
indexByColumnData?: {
[cmName: string]: {
[value: string]: {
[rowid: string]: Object; // Object is the reference of the item from data array
}
}
};
readonly id?: string; // "list"
readonly idPrefix?: string; // ""
readonly idSel?: string; // "#list"
inlineEditing?: InlineEditingOptions;
iPropByName?: {[additionalPropertyName: string]: number };
jqgdnd?: boolean;
jqXhr?: JQueryXHR; // JQueryXHR of the last pending Ajax request. Be used by abortAjaxRequest method
iRow?: number; // -1
jsonReader?: JsonOrLocalReader;
keyName?: boolean;
lastSelectedData?: any[];
loadBeforeSend?: (this: BodyTable, jqXhr: JQueryXHR, settings: JQueryAjaxSettings) => false | void;
loadComplete?: (this: BodyTable, data: any) => void;
loadError?: (this: BodyTable, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
loadonce?: boolean;
loadui?: LoadType;
locale?: string; // default is "en-US". It will be overwrite if by the last included i18n\grid.locale-XX.min.js
localReader?: JsonOrLocalReader;
maxItemsToJoin?: number; // 32768
maxRowNum?: number; // 10000
mtype?: string; // "GET"
navOptions?: NavOptions;
nv?: number; // 0
ondblClickRow?: (this: BodyTable, rowid: string, iRow: number, iCol: number, eventObject: JQueryEventObject) => void;
onHeaderClick?: (this: BodyTable, gridState: "visible" | "hidden", eventObject: JQueryEventObject) => void;
onInitGrid?: (this: BodyTable) => void;
onRemapColumns?: (this: BodyTable, permutation: number[], updateCells?: boolean, keepHeader?: boolean) => void;
onRightClickRow?: (this: BodyTable, rowid: string, iRow: number, iCol: number, eventObject: JQueryEventObject) => void;
onShowHideCol?: (this: BodyTable, show: boolean | "none" | "", cmName: string, iCol: number, options: ShowHideColOptions) => void;
postData?: Object | string;
prmNames?: {
addoper?: string | null; // "add"
deloper?: string | null; // "del"
editoper?: string | null; // "edit"
id?: string | null; // "id"
idold?: string | null; // "idOld"
filters?: string | null; // "filters"
nd?: string | null; // "nd"
npage?: string | null; // null
oper?: string | null; // "oper"
order?: string | null; // "sord"
page?: string | null; // "page"
rows?: string | null; // "rows"
rowidName?: string; // "rowid" - will be not really used currently
search?: string | null; // "_search"
sort?: string | null; // "sidx"
subgridid?: string | null; // "id"
totalrows?: string | null; // "totalrows"
};
quickEmpty?: boolean | "quickest";
reloadGridOptions?: ReloadGridOptions;
reloadingDuringEditing?: "prevent" | "cancel" | "save"; // "prevent"
remapColumns?: number[];
resetsearch?: boolean;
reservedColumnNames?: string[]; // ["rn","cb","subgrid"]
rowattr?: ( (this: BodyTable, item: any, rowObject: any, rowid: string) => { [attributeName: string]: string } | null | undefined );
rowIndexes?: {[rowid: string]: number};
rowNum?: number; // 10
rownumbers?: boolean;
rownumWidth?: number; // 25
rowTotal?: null | number;
savedRow?: any[];
editingInfo?: {[rowid: string]: { mode: "inlineEditing" | "cellEditing"; savedRow: any[]; editable: { [cmName: string]: boolean | "hidden" | "disabled" | "readonly" } }};
scroll?: boolean | 1;
scrollOffset?: number; // 0
scrollrows?: boolean;
scrollTimeout?: number; // 40
search?: boolean;
searching?: SearchingOptions;
serializeGridData?: (this: BodyTable, postData: any) => Object | string;
sortable?: boolean | ((permutation: number[]) => void) | { exclude?: string, update?: (permutation: number[]) => void, options?: JQueryUI.SortableOptions };
shrinkToFit?: boolean;
tblwidth?: number; // 487
toolbar?: [boolean, "top" | "bottom" | "both"];
readonly totaltime?: number; // 94
url?: string; // ""
userData?: any;
userDataOnFooter?: boolean;
useUnformattedDataForCellAttr?: boolean;
width?: number;
widthOrg?: number; // used internally by jqGrid
xmlReader?: XmlReader;
[propName: string]: any; // allow to have any number of other properties
}
interface ShowHideColOptions {
newGridWidth?: number;
notSkipFrozen?: boolean;
toReport?: Object;
skipFeedback?: boolean;
skipSetGridWidth?: boolean;
skipSetGroupHeaders?: boolean;
}
// inline editing options
interface RestoreRowOptions {
afterrestorefunc?: (this: BodyTable, rowid: string) => void;
beforeCancelRow?: (this: BodyTable, options: RestoreRowOptions, rowid: string) => BooleanFeedbackValues;
[propName: string]: any; // allow to have any number of other properties
}
interface BaseSaveRowOptions extends RestoreRowOptions {
aftersavefunc?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: SaveRowOptions) => void;
errorfunc?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
extraparam?: Object;
successfunc?: (this: BodyTable, jqXhr: JQueryXHR, rowid: string, options: FreeJqGrid.SaveRowOptions, editOrAdd: string, postData: any) => boolean | [boolean, any];
url?: string | ((this: BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: SaveRowOptions) => string);
}
interface EditRowOptions extends BaseSaveRowOptions {
beforeEditRow?: (this: BodyTable, options: EditRowOptions, rowid: string) => BooleanFeedbackValues;
defaultFocusField?: number | string;
focusField?: boolean | number | string | { target: JQueryEventObject };
keys?: boolean;
oneditfunc?: (this: BodyTable, rowid: string, options: EditRowOptions) => void;
[propName: string]: any; // allow to have any number of other properties
}
interface SaveRowOptions extends BaseSaveRowOptions {
ajaxSaveOptions?: JQueryAjaxSettings;
beforeSaveRow?: (this: BodyTable, options: SaveRowOptions, rowid: string, editOrAdd: "add" | "edit") => BooleanFeedbackValues;
mtype?: string | ((this: BodyTable, editOrAdd: "add" | "edit", options: SaveRowOptions, rowid: string, postData: any) => string);
saveRowValidation?: (this: BodyTable, options: { options: SaveRowOptions, rowid: string, tr: HTMLTableRowElement, iRow: string, savedRow: any, newData: any, mode: "add" | "edit" }) => BooleanFeedbackValues;
savetext?: string; // default from $.jgrid.locales[currentLocale].defaults.savetext or $.jgrid.defaults.savetext or "Saving..."
saveui?: LoadType; // "enable"
serializeSaveData?: (this: BodyTable, postData: any) => Object | string;
restoreAfterError?: boolean;
[propName: string]: any; // allow to have any number of other properties
}
interface AddRowOptions {
addRowParams?: EditRowOptions;
beforeAddRow?: (this: BodyTable, options: AddRowOptions) => BooleanFeedbackValues;
initdata?: any;
position?: AddRowDataPosition;
rowID?: null | string | ((options: AddRowOptions) => string);
srcRowid?: string;
useDefValues?: boolean;
useFormatter?: boolean;
[propName: string]: any; // allow to have any number of other properties
}
interface InlineEditingOptions extends EditRowOptions, SaveRowOptions, RestoreRowOptions, AddRowOptions {
}
type FilterOperation = "eq" | "ne" | "bw" | "bn" | "ew" | "en" | "cn" | "nc" | "nu" | "nn" | "in" | "ni" | string;
interface Rule {
field: string;
op: FilterOperation;
data?: any;
}
interface Filter {
groupOp: "OR" | "AND";
rules: Rule[];
groups: Filter[];
}
interface CustomFilterOperation {
operand: string;
text: string;
filter: (options: { item: Object, cmName: string, searchValue: string }) => number;
buildQueryValue?: (options: any) => string;
}
interface JqFilterDiv extends HTMLDivElement {
p: JqFilterOptions;
filter: boolean;
onchange(): boolean;
reDraw(): void;
createTableForGroup(group: Filter, parentgroup: Filter): JQuery; // return jQuery wrapper on HTMLTableElement
createTableRowForRule(rule: Rule, group: Filter): JQuery; // return jQuery wrapper on HTMLTableRowElement
getStringForGroup(group: Filter): string;
getStringForRule(rule: Rule): string;
resetFilter(): void; // copy p.filter from p.initFilter and call reDraw() and onchange()
hideError(): void;
showError(): void;
toUserFriendlyString(): string; // convert p.filter to string with respect of getStringForGroup
toString(): string;
}
interface JqFilterOptions {
afterRedraw?: (this: BodyTable, options: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
ajaxSelectOptions?: JQueryAjaxSettings;
columns?: ColumnModel[];
cops: {
[operationName: string]: CustomFilterOperation;
}; // p.customSortOperations
direction?: "ltr" | "rtl"; // default "ltr"
errmsg?: string; // default "" - HTML fragment
error?: boolean; // default false
errorcheck?: boolean; // default true
filter?: null | Filter;
groupButton?: boolean; // default true
groupOps?: { op: "AND" | "OR", text: string }[]; // default [{ op: "AND", text: "AND" }, { op: "OR", text: "OR" }]
id: string; // id of the grid, which created jqFilter
initFilter?: null | Filter; // used internally
numopts?: FilterOperation[]; // default ["eq", "ne", "lt", "le", "gt", "ge", "nu", "nn", "in", "ni"]
onChange?: (this: BodyTable, options: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
operands?: {
[searchOperation: string]: string // maps search operation name (FilterOperation) to the text
};
ops?: { oper: FilterOperation; text: string }[];
ruleButtons?: boolean; // default true
showQuery?: boolean; // default true
sopt?: null | string[]; // default null. It's used only if cm.searchoptions.sopt is undefined. If null then be used stropts or numopts depend on whether cm.sorttype is in strarr array
strarr?: ["text", "string", "blob"];
stropts?: FilterOperation[]; // default ["eq", "ne", "bw", "bn", "ew", "en", "cn", "nc", "nu", "nn", "in", "ni"]
}
interface XmlJsonClass {
xml2json(this: XmlJsonClass, xml: Node, tab: string): string;
json2xml(this: XmlJsonClass, o: Object, tab: string): string;
toObj(this: XmlJsonClass, xml: Node): Object | null;
toJson(this: XmlJsonClass, o: Object, name: string | false, indent: string, wellform: boolean): string;
innerXml(this: XmlJsonClass, node: Node): string;
escape(txt: string): string;
removeWhite(node: Node): Node;
}
interface JqGridImportOptions {
imptype?: "xml" | "json" | "xmlstring" | "jsonstring"; // default "xml"
impstring?: string; // default ""
impurl?: string; // default ""
mtype?: string; // default "GET"
impData?: Object; // default {}
xmlGrid?: {
config?: string; // default "roots>grid",
data?: string; // default "roots>rows"
};
jsonGrid?: {
config?: string; // default "grid"
data?: string; // default "data"
};
ajaxOptions?: Object; // default {}
}
interface SetGroupHeaderOptions {
useColSpanStyle?: boolean;
applyLabelClasses?: boolean;
groupHeaders: {
startColumnName: string,
numberOfColumns: number,
titleText: string
}[];
}
interface PivotAjaxOptions extends JQueryAjaxSettings {
reader?: string; // "rows"
}
enum PivotColumnType {
StandardColumn = 0, // standard column
TotalGroupCulumn = 1, // total group
GrandTotalGroupCulumn = 2, // grand total
}
interface XDimension extends ColumnModelWithoutLabel {
dataName: string;
footerText?: string; // text which will be placed in the column of the footer row
label?: string | ((this: BodyTable, x, i, o) => string);
}
interface YDimension extends ColumnModelWithoutLabel {
label?: string | (() => string);
}
interface Aggregate extends ColumnModel {
member: string;
aggregator?: "sum" | "count" | "avg" | "min" | "max" | ((options: {previousResult: any, value: any, fieldName: string, item: any, iItem: number, items: any[]}) => any);
}
interface PivotOptions {
totals?: boolean; // false - replacement for rowTotals. totalText and totalHeader can be used additionally
rowTotals?: boolean; // obsolate. One should use totals instead
totalHeader?: string;
totalText?: string;
footerAggregator?: string;
compareVectorsByX: null;
compareVectorsByY: null;
useColSpanStyle?: boolean; // false
trimByCollect?: boolean; // true
skipSortByX?: boolean; // false
skipSortByY?: boolean; // false
caseSensitive?: boolean; // false
footerTotals?: boolean; // false - replacement colTotals. footerAggregator option and totalText properties of xDimension[i] can be used additionally
colTotals?: boolean; // obsolate. One should use footerTotals instead
groupSummary?: boolean; // true
groupSummaryPos?: "footer" | "header"; // "header"
frozenStaticCols?: boolean; // false
defaultFormatting?: boolean; // true
data?: any[];
xDimension?: XDimension[];
yDimension?: YDimension[];
aggregates?: Aggregate[];
}
interface JqGridGroupingOptionsAndSortname extends JqGridGroupingOptions {
sortname?: string;
}
interface PivotSetupResult {
additionalProperties: string[];
colModel: ColumnModel;
options: PivotOptions;
rows: any[];
groupOptions: JqGridGroupingOptionsAndSortname;
groupHeaders: SetGroupHeaderOptions[];
summary: { [propName: string]: any; }; // be used as userdata togrthrr with footerrow:true and userDataOnFooter:true
}
interface ResetFrozenHeightsOptions {
body: {
resizeDiv?: boolean;
resizedRows?: {
iRowStart: number; // -1 means don't recalculate heights or rows
iRowEnd: number;
}
};
header: {
resizeDiv?: boolean;
resizedRows?: {
iRowStart: number; // -1 means don't recalculate heights or rows
iRowEnd: number;
}
};
resizeFooter?: boolean;
}
}
// global function
interface Window {
// grid.tbltogrid module
tableToGrid(selector: Element | string | JQuery, options: FreeJqGrid.JqGridOptions): void;
// jsonxml module
xmlJsonClass: FreeJqGrid.XmlJsonClass;
}
interface JQueryStatic {
jgrid: FreeJqGrid.JqGridStatic;
fmatter: FreeJqGrid.JqGridFmatter;
jqm: FreeJqGrid.JqmOptions;
jqDnR: {
drag(eventObject: JQueryEventObject); // ("mousemove" handler)
stop(); // ("mouseup" handler)
};
unformat: (element: Element | JQuery, options: { rowId: string, colModel: FreeJqGrid.ColumnModel }, iCol: number, content: boolean) => string;
[propName: string]: any; // allow to have any number of other properties
}
interface JQuery {
jqGrid(options: FreeJqGrid.JqGridOptions): FreeJqGrid.JQueryJqGrid;
// grid.base module
abortAjaxRequest?(): FreeJqGrid.JQueryJqGrid;
addRowData?(rowid: string, rdata: Object | Object[], position?: FreeJqGrid.AddRowDataPosition, srcRowid?: string): boolean;
autoResizeAllColumns?(): FreeJqGrid.JQueryJqGrid;
autoResizeColumn?(iCol: number, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
bindKeys?(settings: { onEnter?: (this: FreeJqGrid.BodyTable, rowid: string) => void, onSpace?: (this: FreeJqGrid.BodyTable, rowid: string) => void, onLeftKey?: (this: FreeJqGrid.BodyTable, rowid: string) => void, onRightKey?: (this: FreeJqGrid.BodyTable, rowid: string) => void, scrollingRows: boolean }): FreeJqGrid.JQueryJqGrid;
changeRowid?(oldRowId: string, newRowId: string): FreeJqGrid.JQueryJqGrid;
clearGridData?(clearFooter: boolean): FreeJqGrid.JQueryJqGrid;
delRowData?(rowid: string): boolean;
displayErrorMessage?(htmlFragment: string): void;
footerData?(action?: "get" | "set", data?: Object, format?: boolean): Object | boolean;
generateDatalistFromColumnIndex?(cmName: string): JQuery;
getAutoResizableWidth?(iCol: number): number;
getCell?(rowid: string, cmName: string): string | false;
getCell?(rowid: string, iCol: number): string | false;
getCol?(cmName: string, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
getCol?(iCol: number, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
getDataIDs?(): string[];
getGridParam?(parameterName?: string): any;
getGridRes?(propertyPath: string): any;
getGridRowById?(rowid: string): HTMLTableRowElement | null;
getGuiStyles?(guiStylePath?: string, additionalCssClasses?: string): string;
getIconRes?(iconResourcePath: string): string;
getInd?(): HTMLTableRowElement | number | false;
getLocalRow?(rowid: string): false | Object;
getRowData?(rowid?: string, options?: { includeId: boolean, skipHidden?: boolean }): Object[] | Object;
getUniqueValueFromColumnIndex?(cmName: string): string[];
hideCol?(cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
isBootstrapGuiStyle?(): boolean;
isCellEditing?(rowid: string, cmName: string, tr?: HTMLTableRowElement): boolean;
isCellEditing?(rowid: string, iCol: number, tr?: HTMLTableRowElement): boolean;
isInCommonIconClass?(testClassName: string): boolean;
progressBar?(options: { htmlContent: string, method: "hide" | "show", loadtype: FreeJqGrid.LoadType }): FreeJqGrid.JQueryJqGrid;
remapColumns?(permutationByName: number[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
remapColumnsByName?(permutationByName: string[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
resetColumnResizerHeight?: FreeJqGrid.JQueryJqGrid;
resetSelection?(rowid?: string): FreeJqGrid.JQueryJqGrid;
rotateColumnHeaders?(columnNameOrIndexes: string[], headerHeight?: number): FreeJqGrid.JQueryJqGrid;
setCaption?(newCaption: string): FreeJqGrid.JQueryJqGrid;
setCell?(rowid: string, cmName: string, nData: any, cssp?: string | Object, attrp?: Object, forceUpdate?: boolean): FreeJqGrid.JQueryJqGrid;
setColWidth?(iCol: number, newWidth: number, adjustGridWidth?: boolean, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
setGridHeight?(newHeight: number | "auto" | "100%" | string): FreeJqGrid.JQueryJqGrid;
setGridParam?(newParams: Object, overwrite?: boolean): FreeJqGrid.JQueryJqGrid;
setGridWidth?(newWidth: number, shrink?: boolean): FreeJqGrid.JQueryJqGrid;
setLabel?(cmName: string, nData: string, cssp?: string | Object, attrp?: Object): FreeJqGrid.JQueryJqGrid;
setRowData?(rowid: string, data: any, cssp?: string | Object): boolean;
setSelection?(rowid: string, callOnSelectRow?: boolean, eventObject?: JQueryEventObject): FreeJqGrid.JQueryJqGrid;
showCol?(cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
showHideCol?(cmName: string[] | string, show?: boolean | "none" | "", options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
unbindKeys?(): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "abortAjaxRequest"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "addRowData", rowid: string, rdata: Object | Object[], position?: FreeJqGrid.AddRowDataPosition, srcRowid?: string): boolean;
jqGrid(methodName: "autoResizeAllColumns"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "autoResizeColumn", iCol: number, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "bindKeys", settings: { onEnter?: (this: FreeJqGrid.BodyTable, rowid: string) => void, onSpace?: (this: FreeJqGrid.BodyTable, rowid: string) => void, onLeftKey?: (this: FreeJqGrid.BodyTable, rowid: string) => void, onRightKey?: (this: FreeJqGrid.BodyTable, rowid: string) => void, scrollingRows: boolean }): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "changeRowid", oldRowId: string, newRowId: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "clearGridData", clearFooter: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "delRowData", rowid: string): boolean;
jqGrid(methodName: "displayErrorMessage", htmlFragment: string): void;
jqGrid(methodName: "footerData", action?: "get" | "set", data?: Object, format?: boolean): Object | boolean;
jqGrid(methodName: "generateDatalistFromColumnIndex", cmName: string): JQuery;
jqGrid(methodName: "getAutoResizableWidth", iCol: number): number;
jqGrid(methodName: "getCell", rowid: string, cmName: string): string | false;
jqGrid(methodName: "getCell", rowid: string, iCol: number): string | false;
jqGrid(methodName: "getCol", cmName: string, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
jqGrid(methodName: "getCol", iCol: number, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
jqGrid(methodName: "getDataIDs"): string[];
jqGrid(methodName: "getGridParam", parameterName?: string): any;
jqGrid(methodName: "getGridRes", propertyPath: string): any;
jqGrid(methodName: "getGridRowById", rowid: string): HTMLTableRowElement | null;
jqGrid(methodName: "getGuiStyles", guiStylePath?: string, additionalCssClasses?: string): string;
jqGrid(methodName: "getIconRes", iconResourcePath: string): string;
jqGrid(methodName: "getInd"): HTMLTableRowElement | number | false;
jqGrid(methodName: "getLocalRow", rowid: string): false | Object;
jqGrid(methodName: "getRowData", rowid?: string, options?: { includeId: boolean, skipHidden?: boolean }): Object[] | Object;
jqGrid(methodName: "getUniqueValueFromColumnIndex", cmName: string): string[];
jqGrid(methodName: "hideCol", cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "isBootstrapGuiStyle"): boolean;
jqGrid(methodName: "isCellEditing", rowid: string, cmName: string, tr?: HTMLTableRowElement): boolean;
jqGrid(methodName: "isCellEditing", rowid: string, iCol: number, tr?: HTMLTableRowElement): boolean;
jqGrid(methodName: "isInCommonIconClass", testClassName: string): boolean;
jqGrid(methodName: "progressBar", iCol: number, newWidth: number, adjustGridWidth?: boolean, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "remapColumns", permutationByName: number[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "remapColumnsByName", permutationByName: string[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "resetColumnResizerHeight"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "resetSelection", rowid?: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "rotateColumnHeaders", columnNameOrIndexes: string[], headerHeight?: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setCaption", newCaption: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setCell", rowid: string, cmName: string, nData: any, cssp?: string | Object, attrp?: Object, forceUpdate?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setColWidth", iCol: number, newWidth: number, adjustGridWidth?: boolean, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setGridHeight", newHeight: number | "auto" | "100%" | string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setGridParam", newParams: Object, overwrite?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setGridWidth", newWidth: number, shrink?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setLabel", cmName: string, nData: string, cssp?: string | Object, attrp?: Object): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setRowData", rowid: string, data: any, cssp?: string | Object): boolean;
jqGrid(methodName: "setSelection", rowid: string, callOnSelectRow: boolean, eventObject: JQueryEventObject): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "showCol", cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "showHideCol", cmName: string[] | string, show?: boolean | "none" | "", options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "unbindKeys"): FreeJqGrid.JQueryJqGrid;
// grid.grouping module
getGroupHeaderIndex?(hid: string, clickedElem?: Element | JQuery): number;
groupingGroupBy?(name: string | string[], options: FreeJqGrid.GroupingView): FreeJqGrid.JQueryJqGrid;
groupingPrepare?(record: object, iRow: number): FreeJqGrid.JQueryJqGrid;
groupingRemove?(current?: boolean): FreeJqGrid.JQueryJqGrid;
groupingRender?(grdata: string[], rn: number): string;
groupingSetup?(): FreeJqGrid.JQueryJqGrid;
groupingToggle?(hid: string, clickedElem?: Element | JQuery): false;
jqGrid(methodName: "getGroupHeaderIndex", hid: string, clickedElem?: Element | JQuery): number;
jqGrid(methodName: "groupingGroupBy", name: string | string[], options: FreeJqGrid.GroupingView): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "groupingPrepare", record: object, iRow: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "groupingRemove", current?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "groupingRender", grdata: string[], rn: number): string;
jqGrid(methodName: "groupingSetup"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "groupingToggle", hid: string, clickedElem?: Element | JQuery): false;
// grid.pivot module
pivotSetup?(data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions): FreeJqGrid.PivotSetupResult;
jqPivot?(data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions, gridOpt?: FreeJqGrid.JqGridOptions, ajaxOptions?: FreeJqGrid.PivotAjaxOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "pivotSetup", data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions): FreeJqGrid.PivotSetupResult;
jqGrid(methodName: "jqPivot", data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions, gridOpt?: FreeJqGrid.JqGridOptions, ajaxOptions?: FreeJqGrid.PivotAjaxOptions): FreeJqGrid.JQueryJqGrid;
// grid.formedit module
delGridRow?(rowid: string, options: FreeJqGrid.FormDeletingOptions): FreeJqGrid.JQueryJqGrid;
editGridRow?(rowid: string, options: FreeJqGrid.FormEditingOptions): FreeJqGrid.JQueryJqGrid;
FormToGrid?(rowid: string, formid: string | Element | JQuery, mode?: "add" | "set", position?: "first" | "last"): FreeJqGrid.JQueryJqGrid;
GridToForm?(rowid: string, formid: string | Element | JQuery): FreeJqGrid.JQueryJqGrid;
navButtonAdd?(pagerIdSelector: string, options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
navButtonAdd?(options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
navGrid?(pagerIdSelector: string, navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
navGrid?(navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
navSeparatorAdd?(pagerIdSelector: string, options?: { sepclass?: string, sepcontent: string, position: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
navSeparatorAdd?(options?: { sepclass?: string, sepcontent?: string, position?: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
searchGrid?(options: FreeJqGrid.SearchingDialogOptions): FreeJqGrid.JQueryJqGrid;
viewGridRow?(rowid: string, options: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "delGridRow", rowid: string, options: FreeJqGrid.FormDeletingOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "editGridRow", rowid: string, options: FreeJqGrid.FormEditingOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "FormToGrid", rowid: string, formid: string | Element | JQuery, mode?: "add" | "set", position?: "first" | "last"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "GridToForm", rowid: string, formid: string | Element | JQuery): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "navButtonAdd", pagerIdSelector: string, options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "navButtonAdd", options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "navGrid", pagerIdSelector: string, navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "navGrid", navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "navSeparatorAdd", pagerIdSelector: string, options?: { sepclass?: string, sepcontent?: string, position?: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "navSeparatorAdd", options?: { sepclass?: string, sepcontent?: string, position?: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "searchGrid", options: FreeJqGrid.SearchingDialogOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "viewGridRow", rowid: string, options: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
// grid.custom module
getColProp?(cmName: string): FreeJqGrid.ColumnModel | {};
jqGrid(methodName: "getColProp", cmName: string): FreeJqGrid.ColumnModel | {};
setColProp?(cmName: string, cm: FreeJqGrid.ColumnModel): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setColProp", cmName: string, cm: FreeJqGrid.ColumnModel): FreeJqGrid.JQueryJqGrid;
sortGrid?(cmName: string, reload: boolean, sor: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "sortGrid", cmName: string, reload: boolean, sor: string): FreeJqGrid.JQueryJqGrid;
clearBeforeUnload?(): FreeJqGrid.JQueryJqGrid;
GridDestroy?(): FreeJqGrid.JQueryJqGrid;
GridUnload?(): FreeJqGrid.JQueryJqGrid;
setGridState?(state: "hidden" | "visible"): FreeJqGrid.JQueryJqGrid;
filterToolbar?(options: FreeJqGrid.FilterFoolbarOptions): FreeJqGrid.JQueryJqGrid;
destroyFilterToolbar?(): FreeJqGrid.JQueryJqGrid;
destroyGroupHeader?(nullHeader?: boolean): FreeJqGrid.JQueryJqGrid;
setGroupHeaders?(options: FreeJqGrid.SetGroupHeaderOptions): FreeJqGrid.JQueryJqGrid;
getNumberOfFrozenColumns?(): number;
destroyFrozenColumns?(): FreeJqGrid.JQueryJqGrid;
setFrozenColumns?(options: { mouseWheel: (this: FreeJqGrid.BodyTable, eventObject: JQueryEventObject) => number }): FreeJqGrid.JQueryJqGrid;
// grid.inlinedit module
addRow?(options: FreeJqGrid.AddRowOptions): FreeJqGrid.JQueryJqGrid;
editRow?(rowid: string, options: FreeJqGrid.EditRowOptions): FreeJqGrid.JQueryJqGrid;
editRow?(rowid: string, keys: boolean, oneditfunc: (this: FreeJqGrid.BodyTable, rowid: string, options: FreeJqGrid.EditRowOptions) => void, successfunc: (this: FreeJqGrid.BodyTable, jqXhr: JQueryXHR) => boolean | [boolean, any], url: string | ((this: FreeJqGrid.BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: FreeJqGrid.SaveRowOptions) => string), extraparam: Object, aftersavefunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: FreeJqGrid.SaveRowOptions) => void, errorfunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void, beforeEditRow: (this: FreeJqGrid.BodyTable, options: FreeJqGrid.EditRowOptions, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
inlineNav?(pagerIdSelector: string, options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
inlineNav?(options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
saveRow?(rowid: string, options: FreeJqGrid.SaveRowOptions): FreeJqGrid.JQueryJqGrid;
saveRow?(rowid: string, successfunc: (this: FreeJqGrid.BodyTable, jqXhr: JQueryXHR) => boolean | [boolean, any], url: string | ((this: FreeJqGrid.BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: FreeJqGrid.SaveRowOptions) => string), extraparam: Object, aftersavefunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: FreeJqGrid.SaveRowOptions) => void, errorfunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void, beforeSaveRow: (this: FreeJqGrid.BodyTable, options: FreeJqGrid.EditRowOptions, rowid: string, editOrAdd: "add" | "edit") => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
showAddEditButtons?(isEditing: boolean): FreeJqGrid.JQueryJqGrid;
restoreRow?(rowid: string, options: FreeJqGrid.RestoreRowOptions): FreeJqGrid.JQueryJqGrid;
restoreRow?(rowid: string, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "addRow", options: FreeJqGrid.AddRowOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "editRow", rowid: string, options: FreeJqGrid.EditRowOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "editRow", rowid: string, keys: boolean, oneditfunc: (this: FreeJqGrid.BodyTable, rowid: string, options: FreeJqGrid.EditRowOptions) => void, successfunc: (this: FreeJqGrid.BodyTable, jqXhr: JQueryXHR) => boolean | [boolean, any], url: string | ((this: FreeJqGrid.BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: FreeJqGrid.SaveRowOptions) => string), extraparam: Object, aftersavefunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: FreeJqGrid.SaveRowOptions) => void, errorfunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void, beforeEditRow: (this: FreeJqGrid.BodyTable, options: FreeJqGrid.EditRowOptions, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "inlineNav", pagerIdSelector: string, options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "inlineNav", options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "saveRow", rowid: string, options: FreeJqGrid.SaveRowOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "saveRow", rowid: string, successfunc: (this: FreeJqGrid.BodyTable, jqXhr: JQueryXHR) => boolean | [boolean, any], url: string | ((this: FreeJqGrid.BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: FreeJqGrid.SaveRowOptions) => string), extraparam: Object, aftersavefunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR | boolean, postData: any, options: FreeJqGrid.SaveRowOptions) => void, errorfunc: (this: FreeJqGrid.BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void, beforeSaveRow: (this: FreeJqGrid.BodyTable, options: FreeJqGrid.EditRowOptions, rowid: string, editOrAdd: "add" | "edit") => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "showAddEditButtons", isEditing?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "restoreRow", rowid: string, options: FreeJqGrid.RestoreRowOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "restoreRow", rowid: string, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
// grid.celledit
editCell?(iRow: number, iCol: number, ed?: boolean): FreeJqGrid.JQueryJqGrid;
getChangedCells?(method: "all" | "dirty"): string[];
GridNav?(): FreeJqGrid.JQueryJqGrid;
nextCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
prevCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
restoreCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
saveCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "editCell", iRow: number, iCol: number, ed?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "getChangedCells", method: "all" | "dirty"): string[];
jqGrid(methodName: "GridNav"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "nextCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "prevCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "restoreCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "saveCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
// grid.subgrid module
addSubGrid?(iCol: number, iRow?: number): FreeJqGrid.JQueryJqGrid;
addSubGridCell?(iCol: number, iRow: number, rowid: string, item: Object): string;
collapseSubGridRow?(rowid: string): FreeJqGrid.JQueryJqGrid;
expandSubGridRow?(rowid: string): FreeJqGrid.JQueryJqGrid;
setSubGrid?(): FreeJqGrid.JQueryJqGrid;
toggleSubGridRow?(rowid: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "addSubGrid", iCol: number, iRow?: number): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "addSubGridCell", iCol: number, iRow: number, rowid: string, item: Object): string;
jqGrid(methodName: "collapseSubGridRow", rowid: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "expandSubGridRow", rowid: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setSubGrid"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "toggleSubGridRow", rowid: string): FreeJqGrid.JQueryJqGrid;
// grid.treegrid module
setTreeNode?(): FreeJqGrid.JQueryJqGrid;
setTreeGrid?(): FreeJqGrid.JQueryJqGrid;
expandRow?(item: Object): FreeJqGrid.JQueryJqGrid;
collapseRow?(item: Object): FreeJqGrid.JQueryJqGrid;
getRootNodes?(): Object[];
getNodeDepth?(item: Object): number;
getNodeParent?(item: Object): Object;
getNodeChildren?(item: Object): Object[];
getFullTreeNode?(item: Object): Object[];
getNodeAncestors?(item: Object): Object[];
isVisibleNode?(item: Object): boolean;
isNodeLoaded?(item: Object): boolean;
expandNode?(item: Object): FreeJqGrid.JQueryJqGrid;
collapseNode?(item: Object): FreeJqGrid.JQueryJqGrid;
SortTree?(sortname: string, newDir: "a" | "asc" | "ascending" | "d" | "desc" | "descending", st: "text" | "int" | "integer" | "float" | "number" | "currency" | "numeric" | "date" | "datetime" | ((value: string) => string), datefmt: string): FreeJqGrid.JQueryJqGrid;
collectChildrenSortTree?(items: Object[], item: Object, sortname: string, newDir: "a" | "asc" | "ascending" | "d" | "desc" | "descending", st: "text" | "int" | "integer" | "float" | "number" | "currency" | "numeric" | "date" | "datetime" | ((value: string) => string), datefmt: string): FreeJqGrid.JQueryJqGrid;
setTreeRow?(rowid: string, item: Object): boolean;
delTreeNode?(rowid: string, skipSelf?: boolean): FreeJqGrid.JQueryJqGrid;
addChildNode?(nodeid: string, parentid: string, item: Object, expandData?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setTreeNode"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setTreeGrid"): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "expandRow", item: Object): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "collapseRow", item: Object): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "getRootNodes"): Object[];
jqGrid(methodName: "getNodeDepth", item: Object): number;
jqGrid(methodName: "getNodeParent", item: Object): Object;
jqGrid(methodName: "getNodeChildren", item: Object): Object[];
jqGrid(methodName: "getFullTreeNode", item: Object): Object[];
jqGrid(methodName: "getNodeAncestors", item: Object): Object[];
jqGrid(methodName: "isVisibleNode", item: Object): boolean;
jqGrid(methodName: "isNodeLoaded", item: Object): boolean;
jqGrid(methodName: "expandNode", item: Object): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "collapseNode", item: Object): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "SortTree", sortname: string, newDir: "a" | "asc" | "ascending" | "d" | "desc" | "descending", st: "text" | "int" | "integer" | "float" | "number" | "currency" | "numeric" | "date" | "datetime" | ((value: string) => string), datefmt: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "collectChildrenSortTree", items: Object[], item: Object, sortname: string, newDir: "a" | "asc" | "ascending" | "d" | "desc" | "descending", st: "text" | "int" | "integer" | "float" | "number" | "currency" | "numeric" | "date" | "datetime" | ((value: string) => string), datefmt: string): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "setTreeRow", rowid: string, item: Object): boolean;
jqGrid(methodName: "delTreeNode", rowid: string, skipSelf?: boolean): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "addChildNode", nodeid: string, parentid: string, item: Object, expandData?: boolean): FreeJqGrid.JQueryJqGrid;
// grid.import module
jqGridImport?(options: FreeJqGrid.JqGridImportOptions): FreeJqGrid.JQueryJqGrid;
jqGridExport?(options?: { exptype?: "xmlstring" | "jsonstring", root?: "grid" | string, ident?: "\t" | string }): string;
excelExport?(options?: { exptype?: "remote" | string, url?: null | string, oper?: "oper" | string, tag?: "excel" | string, exportOptions?: Object }): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "jqGridImport", options: FreeJqGrid.JqGridImportOptions): FreeJqGrid.JQueryJqGrid;
jqGrid(methodName: "jqGridExport", options?: { exptype?: "xmlstring" | "jsonstring", root?: "grid" | string, ident?: "\t" | string }): string;
jqGrid(methodName: "excelExport", options?: { exptype?: "remote" | string, url?: null | string, oper?: "oper" | string, tag?: "excel" | string, exportOptions?: Object }): FreeJqGrid.JQueryJqGrid;
// grid.filter module: jqFilter
jqFilter(options: FreeJqGrid.JqFilterOptions): JQuery;
jqFilter(methodName: "toSQLString"): string;
jqFilter(methodName: "filterData"): string;
jqFilter(methodName: "getParameter", name: string): any;
jqFilter(methodName: "toSQLString"): string;
jqFilter(methodName: "resetFilter"): JQuery;
jqFilter(methodName: "addFilter", filter: string | FreeJqGrid.Filter): void;
// jqmodal module: jqModal
jqm(options: FreeJqGrid.JqModalOptions): JQuery;
jqmAddClose(trigger: Element | string | JQuery): JQuery;
jqmAddTrigger(trigger: Element | string | JQuery): JQuery;
jqmShow(trigger: Element | string | JQuery): JQuery;
jqmHide(trigger: Element | string | JQuery): JQuery;
// jqdnr module: jqDnR - Minimalistic Drag'n'Resize for jQuery
jqDrag(handle: Element | string | JQuery): JQuery;
jqResize(handle: Element | string | JQuery, alsoResize: Element | string | JQuery): JQuery;
// jqGrid events
on(eventName: "jqGridAfterAddRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, inputData: Object | Object[], position: FreeJqGrid.AddRowDataPosition, srcRowid?: string, iRow: number, tr: HTMLTableRowElement, localData?: Object, iData?: number }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterChangeRowid", handler: (ventObject: JQueryEventObject, options: { rowid: string, oldRowid: string, iRow: number, tr: HTMLTableRowElement }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterDelRow", handler: (eventObject: JQueryEventObject, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterInsertRow", handler: (eventObject: JQueryEventObject, rowid: string, item: { [cmOrPropName: string]: any }, srcItem: any) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterLoadComplete", handler: (eventObject: JQueryEventObject, data: any) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterSetRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, inputData: Object | Object[], iRow?: number, localData?: Object, iData?: number, tr: HTMLTableRowElement, cssProp: string | Object }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterResizeDblClick", handler: (eventObject: JQueryEventObject, options: { iCol: number, cm: FreeJqGrid.ColumnModel, cmName: string }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridBeforeInitGrid", handler: (eventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridBeforeProcessing", handler: (eventObject: JQueryEventObject, data: any, textStatus: string, jqXhr: JQueryXHR) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridBeforeRequest", handler: (eventObject: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridBeforeSelectRow", handler: (eventObject: JQueryEventObject, rowid: string, orgEventObject: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridGridComplete", handler: (eventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridLoadBeforeSend", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, settings: JQueryAjaxSettings) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridLoadComplete", handler: (eventObject: JQueryEventObject, data: any) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridDblClickRow", handler: (eventObject: JQueryEventObject, rowid: string, iRow: number, iCol: number, orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridHeaderClick", handler: (eventObject: JQueryEventObject, gridState: "visible" | "hidden", orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInitGrid", handler: (eventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridPaging", handler: (eventObject: JQueryEventObject, source: "records" | "user" | "first" | "prev" | "next" | "last", options: { newPage: number, currentPage: number, lastPage: number, currentRowNum: number, newRowNum: number }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridRightClickRow", handler: (eventObject: JQueryEventObject, rowid: string, iRow: number, iCol: number, orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSelectAll", handler: (eventObject: JQueryEventObject, rowids: string[], toCheck: boolean) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSelectRow", handler: (eventObject: JQueryEventObject, rowid: string, state: boolean, orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSerializeGridData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridShowHideCol", handler: (eventObject: JQueryEventObject, show: boolean | "none" | "", cmName: string, iCol: number, options: FreeJqGrid.ShowHideColOptions) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSortCol", handler: (eventObject: JQueryEventObject, cmOrIndexName: string, iCol: number, sortOrder: string, orgEventObject?: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridRemapColumns", handler: (eventObject: JQueryEventObject, permutation: number[], updateCells?: boolean, keepHeader?: boolean) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridResizeDblClick", handler: (eventObject: JQueryEventObject, iCol: number, cm: FreeJqGrid.ColumnModel, orgEventObject: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridResizeStart", handler: (eventObject: JQueryEventObject, orgEventObject: JQueryEventObject, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridResizeStop", handler: (eventObject: JQueryEventObject, newWidth: number, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridResetFrozenHeights", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.ResetFrozenHeightsOptions) => void): FreeJqGrid.JQueryJqGrid;
// grouping event
on(eventName: "jqGridGroupingClickGroup", handler: (eventObject: JQueryEventObject, hid: string, collapsed: boolean) => void): FreeJqGrid.JQueryJqGrid;
// form editing events
on(eventName: "jqGridAddEditAfterClickPgButtons", handler: (eventObject: JQueryEventObject, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditAfterComplete", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditAfterShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditAfterSubmit", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, postdata: Object | string, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditBeforeCheckValues", handler: (eventObject: JQueryEventObject, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => Object | void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditBeforeInitData", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditBeforeShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditBeforeSubmit", handler: (eventObject: JQueryEventObject, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => [true] | [true, any] | true | null | undefined | [false, string]): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditClickPgButtons", handler: (eventObject: JQueryEventObject, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditClickSubmit", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.FormEditingOptions, postdata: Object | string, editOrAdd: "edit" | "add") => Object | string): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditInitializeForm", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAddEditSerializeEditData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
// form view events
on(eventName: "jqGridViewBeforeInitData", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridViewBeforeShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
// form deleting events
on(eventName: "jqGridDeleteAfterShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridDeleteAfterComplete", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, rowids: string[]) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridDeleteBeforeInitData", handler: (eventObject: JQueryEventObject, $form: JQuery) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridDeleteBeforeShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
// searching form
on(eventName: "jqGridFilterAfterChange", handler: (eventObject: JQueryEventObject, $form: JQuery, options: FreeJqGrid.SearchingDialogOptions, filterOptions: FreeJqGrid.JqFilterOptions, searchFilterDiv: FreeJqGrid.JqFilterDiv) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridFilterAfterShow", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridFilterInitialize", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridFilterBeforeShow", handler: (eventObject: JQueryEventObject, $form: JQuery) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
// inline editing events
on(eventName: "jqGridInlineBeforeAddRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.AddRowOptions) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineBeforeCancelRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.RestoreRowOptions, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineBeforeEditRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.EditRowOptions, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineBeforeSaveRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.EditRowOptions, rowid: string, editOrAdd: "add" | "edit") => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineAfterRestoreRow", handler: (eventObject: JQueryEventObject, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineEditRow", handler: (eventObject: JQueryEventObject, rowid: string, options: FreeJqGrid.EditRowOptions) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineSaveRowValidation", handler: (eventObject: JQueryEventObject, options: { options: FreeJqGrid.SaveRowOptions, rowid: string, tr: HTMLTableRowElement, iRow: string, savedRow: any, newData: any, mode: "add" | "edit" }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineAfterSaveRow", handler: (eventObject: JQueryEventObject, rowid: string, jqXhr: JQueryXHR, postData: any, options: FreeJqGrid.SaveRowOptions) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineSerializeSaveData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineSuccessSaveRow", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, rowid: string, options: FreeJqGrid.SaveRowOptions) => boolean | [boolean, any]): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridInlineErrorSaveRow", handler: (eventObject: JQueryEventObject, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string, options: FreeJqGrid.SaveRowOptions) => void): FreeJqGrid.JQueryJqGrid;
// cell editing events
on(eventName: "jqGridBeforeEditCell", handler: (eventObject: JQueryEventObject, rowid: string, cmName: string, data: string, iRow: number, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridAfterEditCell", handler: (eventObject: JQueryEventObject, rowid: string, cmName: string, data: string, iRow: number, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
// subgrid events
on(eventName: "jqGridSerializeSubGridData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSubGridBeforeCollapse", handler: (eventObject: JQueryEventObject, subgridDivId: string, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSubGridBeforeExpand", handler: (eventObject: JQueryEventObject, subgridDivId: string, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridSubGridRowExpanded", handler: (eventObject: JQueryEventObject, subgridDivId: string, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
// TreeGrid events
on(eventName: "jqGridTreeGridAfterCollapseNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridAfterCollapseRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridAfterExpandNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridAfterExpandRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridBeforeCollapseNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridBeforeCollapseRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridBeforeExpandNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
on(eventName: "jqGridTreeGridBeforeExpandRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
}