free-jqgrid.d.ts 121 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132
  1. /**
  2. * Copyright (c) 2017, Oleg Kiriljuk, oleg.kiriljuk@ok-soft-gmbh.com
  3. * Dual licensed under the MIT and GPL licenses
  4. * http://www.opensource.org/licenses/mit-license.php
  5. * http://www.gnu.org/licenses/gpl-2.0.html
  6. */
  7. /// <reference types="jquery" />
  8. /// <reference types="jqueryui" />
  9. declare namespace FreeJqGrid {
  10. interface HDivWithLoading extends HTMLDivElement {
  11. loading?: boolean; // the expando property will be set to true only during pending Ajax request to the server
  12. }
  13. interface GridInfo {
  14. bDiv: HTMLDivElement;
  15. beginReq(this: BodyTable): void;
  16. cDiv: HTMLDivElement;
  17. cols: HTMLCollection | HTMLTableDataCellElement[]; // td[]
  18. curGbox?: JQuery | null;
  19. dragEnd(this: GridInfo): void;
  20. dragMove(this: GridInfo, eventObject: JQueryEventObject): void;
  21. dragStart(this: GridInfo, iCol: number, eventObject: JQueryEventObject, y: number[], $th: JQuery): void;
  22. eDiv: HTMLDivElement;
  23. emptyRows(this: BodyTable, scroll?: boolean, clearLocalData?: boolean): void;
  24. endReq(this: BodyTable): void;
  25. fbDiv?: JQuery;
  26. fbRows?: HTMLCollection | HTMLTableRowElement[]; // tr[]
  27. fhDiv?: JQuery;
  28. footers?: HTMLCollection | HTMLTableDataCellElement[]; // td[]
  29. fsDiv?: JQuery;
  30. hDiv: HDivWithLoading;
  31. headers: { el: HTMLTableHeaderCellElement; width: number; }[];
  32. newWidth?: number;
  33. populate(this: BodyTable, npage?: number): void;
  34. populateVisible(this: BodyTable): void;
  35. prevRowHeight?: number;
  36. resizeColumn(this: GridInfo, iCol: number, skipCallbacks: boolean, skipGridAdjustments): void;
  37. resizing?: false | { idx: number, startX: number, sOL: number, moved: boolean, delta: number };
  38. scrollGrid(): void;
  39. sDiv?: HTMLDivElement;
  40. selectionPreserver(this: BodyTable): boolean;
  41. timer?: any;
  42. topDiv?: HTMLDivElement;
  43. ubDiv?: HTMLDivElement;
  44. uDiv?: HTMLDivElement;
  45. width: number;
  46. }
  47. interface BodyTable extends HTMLTableElement {
  48. p: JqGridOptions;
  49. grid: GridInfo;
  50. ftoolbar?: boolean;
  51. nav?: boolean;
  52. addItemDataToColumnIndex(item: Object, id: string): void;
  53. addJSONData(data: any[], rcnt?: number, more?: boolean, adjust?: number): void;
  54. addXmlData(data: any[], rcnt?: number, more?: boolean, adjust?: number): void;
  55. clearToolbar?(trigger: boolean): void;
  56. constructTr(id: string, hide: boolean, spaceSeparatedCssClasses: string, rd: any, cur: any, selected: boolean): string;
  57. fixScrollOffsetAndhBoxPadding(): void;
  58. formatCol(pos: number, rowInd: number, tv: string, rawObject: any, rowId: string, rdata?: any): string;
  59. formatter(rowId: string, cellval: any, colpos: number, rwdat: any, act?: "add" | "edit", rdata?: any): string;
  60. generateValueFromColumnIndex(cmName: string, separator?: string, delimiter?: string);
  61. modalAlert?(): void;
  62. rebuildRowIndexes(): void;
  63. refreshIndex(): void;
  64. removeItemDataFromColumnIndex(id): void;
  65. setHeadCheckBox(checked: boolean): void;
  66. sortData(index: string, idxcol: number, reload: boolean, sor: string, obj: HTMLTableHeaderCellElement, eventObject?: JQueryEventObject): void;
  67. toogleToolbar?(): void;
  68. triggerToolbar?(): void;
  69. updatepager(rn: boolean, dnd: boolean): void;
  70. }
  71. interface JQueryJqGrid extends JQuery {
  72. [index: number]: BodyTable;
  73. }
  74. interface QueryObject {
  75. ignoreCase(): QueryObject;
  76. useCase(): QueryObject;
  77. trim(): QueryObject;
  78. noTrim(): QueryObject;
  79. execute(): QueryObject;
  80. data(): QueryObject;
  81. select(f?: (v: any) => any): QueryObject;
  82. hasMatch(): QueryObject;
  83. andNot(f: string, v: any, x: any): QueryObject;
  84. orNot(f: string, v: any, x: any): QueryObject;
  85. not(f: string, v: any, x: any): QueryObject;
  86. and(f: string, v: any, x: any): QueryObject;
  87. or(f: string, v: any, x: any): QueryObject;
  88. orBegin(): QueryObject;
  89. orEnd(): QueryObject;
  90. isNot(f: string): QueryObject;
  91. is(f: string): QueryObject;
  92. equals(f: string, v: any, t: any): QueryObject;
  93. notEquals(f: string, v: any, t: any): QueryObject;
  94. isNull(f: string, v: any, t: any): QueryObject;
  95. greater(f: string, v: any, t: any): QueryObject;
  96. less(f: string, v: any, t: any): QueryObject;
  97. greaterOrEquals(f: string, v: any, t: any): QueryObject;
  98. lessOrEquals(f: string, v: any, t: any): QueryObject;
  99. startsWith(f: string, v: any): QueryObject;
  100. endsWith(f: string, v: any): QueryObject;
  101. contains(f: string, v: any): QueryObject;
  102. 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[];
  103. 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[];
  104. inSet(f: string, v: any, t: any): QueryObject;
  105. custom(ruleOp: string, field: string, data: any): QueryObject;
  106. }
  107. const enum InputNameType {
  108. ColName = 0,
  109. AdditionalProperty = 1,
  110. RowId = 2
  111. }
  112. const enum ComponentName {
  113. GridBoxDiv = 0, // tagName: "div". class: "ui-jqgrid". Id: "gbox_" + gridId
  114. GridOverlayDiv = 1, // tagName: "div". class: "jqgrid-overlay". Id: "lui_" + gridId
  115. LoadingDiv = 2, // tagName: "div". class: "loading". Id: "load_" + gridId
  116. DialogAlertDiv = 3, // tagName: "div". class: "ui-jqdialog". Id: "alertmod_" + gridId
  117. DialogSearchDiv = 4, // tagName: "div". class: "ui-jqdialog". Id: "searchmodfbox_" + gridId
  118. DialogViewDiv = 5, // tagName: "div". class: "ui-jqdialog". Id: "viewmod" + gridId
  119. DialogEditDiv = 6, // tagName: "div". class: "ui-jqdialog". Id: "editmod" + gridId
  120. DialogDeleteDiv = 7, // tagName: "div". class: "ui-jqdialog". Id: "delmod" + gridId
  121. GridViewDiv = 8, // tagName: "div". class: "ui-jqgrid-view". Id: "gview_" + gridId
  122. TitleBarDiv = 9, // tagName: "div". class: "ui-jqgrid-titlebar" and either "ui-jqgrid-caption" or "ui-jqgrid-caption-rtl"
  123. UpperToolbarDiv = 10, // tagName: "div". class: "ui-userdata". Id: "tb_" + gridId
  124. TopPagerDiv = 11, // tagName: "div". class: "ui-jqgrid-toppager". Id: gridId + "_toppager"
  125. HeaderDiv = 12, // tagName: "div". class: "ui-jqgrid-hdiv"
  126. HeaderBoxDiv = 13, // tagName: "div". class: either "ui-jqgrid-hdiv" or "ui-jqgrid-hbox-rtl"
  127. HeaderTable = 14, // tagName: "table". class: "ui-jqgrid-htable"
  128. HeaderColsRow = 15, // tagName: "tr". class: "jqgfirstrow" or the row with column headers
  129. HeaderCols = 16, // tagName: "th". class: either "ui-first-th-rtl" or "ui-first-th-rtl"
  130. HeaderRows = 47, // tagName: "tr". class: "ui-jqgrid-labels"
  131. HeaderTh = 48, // tagName: "th". class: "ui-th-column" and either "ui-th-ltr" or "ui-th-rtl"
  132. HeaderSortableDiv = 49, // tagName: "div". class: "ui-jqgrid-labels"
  133. HeaderResizableSpan = 50, // tagName: "span". class: "ui-jqgrid-resize" and either "ui-jqgrid-resize-ltr" or "ui-jqgrid-resize-rtl"
  134. HeaderSelectAllRowsCheckbox = 45, // tagName: "input" (can be changed to "button" in the future). class: "cbox". Id: "cb_" + gridId
  135. SearchToolbar = 17, // tagName: "tr". class: "ui-search-toolbar". Its direct children are th having class "ui-th-column" and optionally "ui-th-rtl"
  136. BodyDiv = 18, // tagName: "div". class: "ui-jqgrid-bdiv"
  137. BodyScrollFullDiv = 19, // tagName: "div" - It can have height CSS property which simulate the total size of virtual data.
  138. BodyScrollTopDiv = 20, // tagName: "div" - It can have height CSS property which simulate virtual data before the current displayed in btable.
  139. BodyTable = 21, // tagName: "table". class: "ui-jqgrid-btable". Id: gridId
  140. Grid = 21, // tagName: "table". class: "ui-jqgrid-btable". Id: gridId
  141. BodyColsRow = 22, // tagName: "tr". class: "jqgfirstrow"
  142. BodyCols = 23, // tagName: "td"
  143. BodyDataRows = 24, // tagName: "tr". class: "jqgrow" and optionally "ui-row-rtl"
  144. FooterDiv = 25, // tagName: "div". class: "ui-jqgrid-sdiv"
  145. FooterBoxDiv = 26, // tagName: "div". class: either "ui-jqgrid-hdiv" or "ui-jqgrid-hbox-rtl". ??? is it really needed ???
  146. FooterTable = 27, // tagName: "table". class: "ui-jqgrid-ftable"
  147. FooterRows = 28, // tagName: "tr". class: "footrow", optionally additionally "footrow-rtl"
  148. BottomToolbarDiv = 29, // tagName: "div". class: "ui-userdata". Id: "tb_" + gridId
  149. FrozenHeaderDiv = 30, // tagName: "div". class: "frozen-div" and "ui-jqgrid-hdiv"
  150. FrozenHeaderTable = 31, // tagName: "table". class: "ui-jqgrid-htable"
  151. FrozenHeaderColsRow = 32, // tagName: "tr". class: "jqgfirstrow"
  152. FrozenHeaderCols = 33, // tagName: "th". class: either "ui-first-th-rtl" or "ui-first-th-rtl"
  153. FrozenSearchToolbar = 34, // tagName: "tr". class: "ui-search-toolbar". Its direct children are th having class "ui-th-column" and optionally "ui-th-rtl"
  154. FrozenFooterDiv = 35, // tagName: "div". class: "frozen-div" and "ui-jqgrid-sdiv"
  155. FrozenFooterTable = 36, // tagName: "table". class: "ui-jqgrid-ftable"
  156. FrozenFooterDataRows = 37, // tagName: "tr". class: "footrow", optionally additionally "footrow-rtl"
  157. FrozenBobyDiv = 38, // tagName: "div". class: "frozen-div" and "ui-jqgrid-bdiv"
  158. FrozenBobyTable = 39, // tagName: "table". class: "ui-jqgrid-btable". Id: gridId + "_frozen"
  159. FrozenBobyColsRow = 40, // tagName: "tr". class: "jqgfirstrow"
  160. FrozenBobyCols = 41, // tagName: "td"
  161. FrozenBobyDataRows = 42, // tagName: "tr". class: "jqgrow" and optionally "ui-row-rtl"
  162. ColumnResizerDiv = 43, // tagName: "div". class: "ui-jqgrid-resize-mark". Id: "rs_m" + gridId
  163. BottomPagerDiv = 44, // tagName: "div". class: "ui-jqgrid-pager"
  164. SearchOperationMenuUl = 46
  165. }
  166. // The ModalHash represent internal structure used by jqModal - Minimalist Modaling with jQuery (see jqmodal.js)
  167. interface ModalHash {
  168. w: JQuery; // The modal element, represent the outer div of the modal dialog
  169. o: JQuery; // The overlay element. It will be assigned on the first opening of the modal
  170. 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.
  171. t: Element | string | JQuery; // The triggering element
  172. s: number; // numeric part of "id" used for modal dialog. The modal dialog have class "jqmID" + s.
  173. a: boolean; // It's false initially. It will be set to true during opening and will set to false on closing.
  174. }
  175. interface JqModalOptions {
  176. ajax?: string | false; // false
  177. ajaxText?: string; // ""
  178. closeClass?: string; // "jqmClose"
  179. closeoverlay?: boolean; // false
  180. modal?: boolean; // false
  181. onHide?: false | ((h: ModalHash) => void);
  182. onLoad?: false | ((h: ModalHash) => void);
  183. onShow?: false | ((h: ModalHash) => void);
  184. overlay?: number; // 50
  185. overlayClass?: string; // "jqmOverlay"
  186. target?: string | JQuery | false; // false
  187. toTop?: boolean; // false
  188. trigger?: string; // ".jqModal"
  189. }
  190. interface CreateModalOptions {
  191. caption?: string;
  192. closeOnEscape?: boolean;
  193. drag?: boolean;
  194. gbox?: string;
  195. form?: string;
  196. jqModal?: boolean;
  197. height: number | "auto" | "100%" | string;
  198. left?: number;
  199. onClose?: (this: BodyTable, selector: string | Element | JQuery) => boolean;
  200. overlay?: number;
  201. recreateForm?: boolean;
  202. removemodal?: boolean;
  203. resize?: boolean;
  204. resizingRightBottomIcon: string;
  205. toTop?: boolean;
  206. top?: number;
  207. width: number | "auto" | "100%" | string;
  208. zIndex?: number;
  209. }
  210. interface ViewModalOptions extends JqmOptions {
  211. overlay?: number; // 30
  212. modal?: boolean; // false,
  213. overlayClass?: string; // getGuiStyles.call(this, "overlay"), // "ui-widget-overlay"
  214. onShow?: (h: ModalHash) => void; // $.jgrid.showModal
  215. onHide?: (h: ModalHash) => void; // $.jgrid.closeModal
  216. gbox?: string; // ""
  217. jqm?: boolean; // true
  218. jqM?: boolean; // true
  219. }
  220. interface JqmOptions {
  221. hash?: ModalHash[];
  222. open?: (s: number, trigger: Element | string | JQuery) => boolean | void;
  223. close?: (s: number, trigger: Element | string | JQuery) => boolean | void;
  224. params?: JqModalOptions;
  225. }
  226. interface DeleteFormLocaleOptions {
  227. bCancel?: string;
  228. bSubmit?: string;
  229. caption?: string;
  230. msg?: string;
  231. [propName: string]: any;
  232. }
  233. interface EditFormLocaleOptions {
  234. addCaption?: string;
  235. bCancel?: string;
  236. bClose?: string;
  237. bExit?: string;
  238. bNo?: string;
  239. bSubmit?: string;
  240. bYes?: string;
  241. editCaption?: string;
  242. 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 };
  243. saveData?: string;
  244. [propName: string]: any;
  245. }
  246. interface NavLocaleOptions {
  247. addtext?: string;
  248. addtitle?: string;
  249. alertcap?: string;
  250. alerttext?: string;
  251. canceltext?: string;
  252. canceltitle?: string;
  253. deltext?: string;
  254. deltitle?: string;
  255. edittext?: string;
  256. edittitle?: string;
  257. refreshtext?: string;
  258. refreshtitle?: string;
  259. savetext?: string;
  260. savetitle?: string;
  261. searchtext?: string;
  262. searchtitle?: string;
  263. viewtext?: string;
  264. viewtitle?: string;
  265. [propName: string]: any;
  266. }
  267. interface SearchLocaleOptions {
  268. addGroupTitle?: string;
  269. addRuleTitle?: string;
  270. caption?: string;
  271. deleteGroupTitle?: string;
  272. deleteRuleTitle?: string;
  273. Find?: string;
  274. groupOps?: { op: string, text: string }[];
  275. odata?: { oper: string, text: string }[];
  276. operandTitle?: string;
  277. Reset?: string;
  278. resetTitle?: string | ((options: { options: FilterFoolbarOptions, cm: ColumnModel, cmName: string, iCol: number }) => string);
  279. [propName: string]: any;
  280. }
  281. interface ViewLocaleOptions {
  282. bClose?: string;
  283. caption?: string;
  284. [propName: string]: any;
  285. }
  286. interface JqGridLocaleOptions {
  287. emptyrecords?: string;
  288. loadtext?: string;
  289. pgfirst?: string;
  290. pglast?: string;
  291. pgnext?: string;
  292. pgprev?: string;
  293. pgrecs?: string;
  294. pgtext?: string;
  295. recordtext?: string;
  296. savetext?: string;
  297. showhide?: string;
  298. [propName: string]: any;
  299. }
  300. interface FormatterIntegerLocaleOptions {
  301. thousandsSeparator?: string;
  302. defaultValue?: string;
  303. }
  304. interface FormatterNumberLocaleOptions extends FormatterIntegerLocaleOptions {
  305. decimalSeparator?: string;
  306. decimalPlaces?: number;
  307. }
  308. interface FormatterCurrencyLocaleOptions extends FormatterNumberLocaleOptions {
  309. prefix?: string;
  310. suffix?: string;
  311. }
  312. interface FormatterDateLocaleOptions {
  313. dayNames?: string[];
  314. monthNames?: string[];
  315. AmPm?: string[];
  316. S?: (j: number) => string;
  317. srcformat?: string;
  318. newformat?: string;
  319. masks?: {
  320. ShortDate?: string;
  321. LongDate?: string;
  322. FullDateTime?: string;
  323. MonthDay?: string;
  324. ShortTime?: string;
  325. LongTime?: string;
  326. YearMonth?: string;
  327. };
  328. }
  329. interface FormattersLocaleOptions {
  330. integer?: FormatterIntegerLocaleOptions;
  331. number?: FormatterNumberLocaleOptions;
  332. currency?: FormatterCurrencyLocaleOptions;
  333. date?: FormatterDateLocaleOptions;
  334. [propName: string]: any;
  335. }
  336. interface JqGridStaticLocaleOptions {
  337. col?: {
  338. bCancel?: string;
  339. bSubmit?: string;
  340. caption?: string;
  341. [propName: string]: any;
  342. };
  343. defaults?: JqGridLocaleOptions;
  344. del?: DeleteFormLocaleOptions;
  345. edit?: EditFormLocaleOptions;
  346. errors?: {
  347. errcap?: string;
  348. model?: string;
  349. norecords?: string;
  350. nourl?: string;
  351. [propName: string]: any;
  352. };
  353. formatter?: FormattersLocaleOptions;
  354. isRTL?: boolean;
  355. nav?: NavLocaleOptions;
  356. search?: SearchLocaleOptions;
  357. view?: ViewLocaleOptions;
  358. [propName: string]: any;
  359. }
  360. interface EditableCellInfo {
  361. rowid: string;
  362. iCol: number;
  363. iRow: number;
  364. cmName: string;
  365. cm: ColumnModel;
  366. mode: "add" | "edit";
  367. td: HTMLTableDataCellElement;
  368. tr: HTMLTableRowElement;
  369. trFrozen: HTMLTableRowElement;
  370. dataElement: Element;
  371. dataWidth: number;
  372. }
  373. interface IconsInfo {
  374. baseIconSet?: string;
  375. common?: string; // "ui-icon",
  376. pager?: {
  377. common?: string;
  378. ignoreParents?: boolean;
  379. first?: string; // "ui-icon-seek-first",
  380. prev?: string; // "ui-icon-seek-prev",
  381. next?: string; // "ui-icon-seek-next",
  382. last?: string; // "ui-icon-seek-end"
  383. };
  384. sort?: {
  385. common?: string;
  386. ignoreParents?: boolean;
  387. asc?: string; // "ui-icon-triangle-1-n",
  388. desc?: string; // "ui-icon-triangle-1-s"
  389. };
  390. gridMinimize?: {
  391. common?: string;
  392. ignoreParents?: boolean;
  393. visible?: string; // "ui-icon-circle-triangle-n",
  394. hidden?: string; // "ui-icon-circle-triangle-s"
  395. };
  396. nav?: {
  397. common?: string;
  398. ignoreParents?: boolean;
  399. edit?: string; // "ui-icon-pencil",
  400. add?: string; // "ui-icon-plus",
  401. del?: string; // "ui-icon-trash",
  402. search?: string; // "ui-icon-search",
  403. refresh?: string; // "ui-icon-refresh",
  404. view?: string; // "ui-icon-document",
  405. save?: string; // "ui-icon-disk",
  406. cancel?: string; // "ui-icon-cancel",
  407. newbutton?: string; // "ui-icon-newwin"
  408. };
  409. actions?: {
  410. common?: string; // string;
  411. ignoreParents?: boolean;
  412. edit?: string; // "ui-icon-pencil",
  413. del?: string; // "ui-icon-trash",
  414. save?: string; // "ui-icon-disk",
  415. cancel?: string; // "ui-icon-cancel"
  416. };
  417. form?: {
  418. common?: string;
  419. ignoreParents?: boolean;
  420. close?: string; // "ui-icon-closethick",
  421. prev?: string; // "ui-icon-triangle-1-w",
  422. next?: string; // "ui-icon-triangle-1-e",
  423. save?: string; // "ui-icon-disk",
  424. undo?: string; // "ui-icon-close",
  425. del?: string; // "ui-icon-scissors",
  426. cancel?: string; // "ui-icon-cancel",
  427. resizableLtr?: string; // "ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se"
  428. };
  429. search?: {
  430. common?: string;
  431. ignoreParents?: boolean;
  432. search?: string; // "ui-icon-search",
  433. reset?: string; // "ui-icon-arrowreturnthick-1-w",
  434. query?: string; // "ui-icon-comment"
  435. };
  436. subgrid?: {
  437. common?: string;
  438. ignoreParents?: boolean;
  439. plus?: string; // "ui-icon-plus",
  440. minus?: string; // "ui-icon-minus",
  441. openLtr?: string; // "ui-icon-carat-1-sw",
  442. openRtl?: string; // "ui-icon-carat-1-se"
  443. };
  444. grouping?: {
  445. common?: string; // string;
  446. ignoreParents?: boolean;
  447. plus?: string; // "ui-icon-circlesmall-plus",
  448. minus?: string; // "ui-icon-circlesmall-minus"
  449. };
  450. treeGrid?: {
  451. common?: string;
  452. ignoreParents?: boolean;
  453. minus?: string; // "ui-icon-triangle-1-s",
  454. leaf?: string; // "ui-icon-radio-off",
  455. plusLtr?: string; // "ui-icon-triangle-1-e",
  456. plusRtl?: string; // "ui-icon-triangle-1-w"
  457. };
  458. checkbox ?: {
  459. ignoreParents?: boolean;
  460. checkedClasses?: string; // "fa-check-square-o",
  461. checked?: string; // "fa-check-square-o fa-lg",
  462. unchecked?: string; // "fa-square-o fa-lg"
  463. };
  464. }
  465. interface GuiStyleInfo {
  466. baseGuiStyle?: string;
  467. gBox?: string; // "ui-jqgrid-jquery-ui ui-widget ui-widget-content ui-corner-all", // ui-widget-content??? for the children of gbox
  468. gView?: string; // "",
  469. overlay?: string; // "ui-widget-overlay",
  470. loading?: string; // "ui-state-default ui-state-active",
  471. hDiv?: string; // "ui-state-default ui-corner-top",
  472. hTable?: string; // "",
  473. colHeaders?: string; // "ui-state-default",
  474. states?: {
  475. select?: string; // "ui-state-highlight",
  476. disabled?: string; // "ui-state-disabled ui-jqgrid-disablePointerEvents",
  477. hover?: string; // "ui-state-hover", // can be table-hover on <table> only and style like .table-hover tbody tr:hover td
  478. error?: string; // "ui-state-error",
  479. active?: string; // "ui-state-active",
  480. textOfClickable?: string; // "ui-state-default"
  481. };
  482. dialog?: {
  483. header?: string; // "ui-widget-header ui-dialog-titlebar ui-corner-all ui-helper-clearfix",
  484. window?: string; // "ui-jqgrid-jquery-ui ui-widget ui-widget-content ui-corner-all ui-front",
  485. document?: string; // "",
  486. subdocument?: string; // "",
  487. body?: string; // "",
  488. footer?: string; // "",
  489. content?: string; // "ui-widget-content",
  490. hr?: string; // "ui-widget-content",
  491. closeButton?: string; // "ui-corner-all",
  492. fmButton?: string; // "ui-state-default",
  493. dataField?: string; // "ui-widget-content ui-corner-all",
  494. viewCellLabel?: string; // "ui-widget-content",
  495. viewLabel?: string; // "",
  496. viewCellData?: string; // "ui-widget-content",
  497. viewData?: string; // "",
  498. leftCorner?: string; // "ui-corner-left",
  499. rightCorner?: string; // "ui-corner-right",
  500. defaultCorner?: string; // "ui-corner-all"
  501. };
  502. filterToolbar?: {
  503. dataField?: string; // "ui-widget-content"
  504. };
  505. subgrid?: {
  506. thSubgrid?: string; // "ui-state-default", // used only with subGridModel
  507. rowSubTable?: string; // "ui-widget-content", // used only with subGridModel additionally to ui-subtblcell
  508. row?: string; // "ui-widget-content", // class of the subgrid row, additional to ui-subgrid
  509. tdStart?: string; // "", // it can be with span over rownumber and multiselect columns
  510. tdWithIcon?: string; // "ui-widget-content", // class of cell with +- icon, additional to subgrid-cell
  511. buttonDiv?: string; // "",
  512. button?: string; // "",
  513. tdData?: string; // "ui-widget-content", // class of main td with span over the grid, additional subgrid-data
  514. legacyTable?: string; // ""
  515. };
  516. grid?: string; // "",
  517. gridRow?: string; // "ui-widget-content",
  518. rowNum?: string; // "ui-state-default",
  519. gridFooter?: string; // "",
  520. rowFooter?: string; // "ui-widget-content",
  521. gridTitle?: string; // "ui-widget-header ui-corner-top",
  522. gridError?: string; // "ui-state-error",
  523. gridErrorText?: string; // "",
  524. titleButton?: string; // "ui-corner-all",
  525. toolbarUpper?: string; // "ui-state-default",
  526. toolbarBottom?: string; // "ui-state-default",
  527. actionsDiv?: string; // "ui-widget-content",
  528. actionsButton?: string; // "ui-corner-all",
  529. pager?: {
  530. pager?: string; // "ui-state-default",
  531. pagerButton?: string; // "ui-corner-all",
  532. pagerInput?: string; // "ui-widget-content",
  533. pagerSelect?: string; // "ui-widget-content"
  534. };
  535. navButton?: string; // "ui-corner-all",
  536. searchDialog?: {
  537. operator?: string; // "ui-corner-all",
  538. label?: string; // "ui-corner-all",
  539. elem?: string; // "ui-corner-all",
  540. operationGroup?: string; // "",
  541. addRuleButton?: string; // "ui-corner-all",
  542. deleteRuleButton?: string; // "ui-corner-all",
  543. operationSelect?: string; // "ui-corner-all",
  544. addGroupButton?: string; // "ui-corner-all",
  545. deleteGroupButton?: string; // "ui-corner-all"
  546. };
  547. searchToolbar?: {
  548. menu?: string; // "ui-menu-jqueryui",
  549. operButton?: string; // "ui-corner-all",
  550. clearButton?: string; // "ui-corner-all"
  551. };
  552. top?: string; // "ui-corner-top",
  553. bottom?: string; // "ui-corner-bottom",
  554. resizer?: string; // "ui-widget-header"
  555. }
  556. interface JqGridStaticOptions extends JqGridOptions {
  557. fatalError?: (errorText: string) => void; // default is alert function
  558. }
  559. type BooleanFeedbackValues = false | "stop" | void;
  560. interface JqGridStatic extends JqGridStaticLocaleOptions {
  561. _multiselect?: boolean;
  562. actionsNav?: FormatterActionsOptions;
  563. ajaxOptions?: JQueryAjaxSettings;
  564. cell_width: boolean;
  565. cellattr?: { [key: string]: (this: BodyTable, rowId: string, cellValue: any, rowObject: any, cm: ColumnModel, rdata: any, formattedCellValue: string) => string; };
  566. cmTemplate?: { [key: string]: ColumnModel; };
  567. defaults: JqGridStaticOptions;
  568. del?: FormDeletingOptions;
  569. edit?: FormEditingOptions;
  570. filter?: JqFilterOptions;
  571. getXmlData(this: BodyTable, obj: any, dotSeparatedNamesOrFunc: string | ((obj: any) => any), returnObj?: boolean): string | undefined | JQuery; // JQuery returns only if returnObj is true
  572. guid: number;
  573. guiStyles: {
  574. jQueryUI: GuiStyleInfo;
  575. bootstrap: GuiStyleInfo;
  576. bootstrapPrimary: GuiStyleInfo;
  577. bootstrap4: GuiStyleInfo;
  578. [propName: string]: GuiStyleInfo;
  579. };
  580. icons: {
  581. jQueryUI: IconsInfo;
  582. fontAwesome: IconsInfo;
  583. glyph: IconsInfo;
  584. [propName: string]: IconsInfo;
  585. };
  586. inlineEdit?: InlineEditingOptions;
  587. inlineNavOptions?: InlineNavOptions;
  588. jqModal?: JqModalOptions; // { toTop: true }
  589. locales: { [key: string]: JqGridStaticLocaleOptions; };
  590. msie: boolean;
  591. nav?: NavOptions;
  592. no_legacy_api?: boolean;
  593. productName: "free jqGrid";
  594. rowattr?: ( (this: BodyTable, item: any, rowObject: any, rowid: string) => { [attributeName: string]: string } | null | undefined );
  595. search?: SearchLocaleOptions;
  596. uidPref: string;
  597. version: string; // like "4.13.7" for example
  598. view?: FormViewingOptions;
  599. bindEv(element: Element | JQuery, options: EditOptions | SearchOptions): any;
  600. builderFmButon(this: BodyTable, id: string, text?: string, icon?: string, iconOnLeftOrRight?: "right" | "left" | undefined, conner?: "right" | "left" | undefined): any;
  601. builderSortIcons(this: BodyTable, iCol: number): string;
  602. cellWidth(): boolean;
  603. checkDate(format: string, date: string): boolean;
  604. checkTime(time: string): boolean;
  605. checkValues(this: BodyTable, value: any, iCol: number | string, customobject?: any, name?: string, options?: any): boolean;
  606. clearArray(array: any[]): void;
  607. closeModal(h: ModalHash): void;
  608. convertOnSaveLocally(this: BodyTable, nData: any, cm: any, oData: any, id: string, item: any, iCol: number): any;
  609. createEl(this: BodyTable, elementType: string, options: any, value: string, autoWidth?: boolean, ajaxso?: any): Element;
  610. 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;
  611. //detectRowEditing(rowid: string): RowEditingInfo;
  612. detectRowEditing(this: BodyTable, rowid: string): { mode: "inlineEditing" | "cellEditing"; savedRow: any[]; editable: { [cmName: string]: boolean | "hidden" | "disabled" | "readonly" } };
  613. enumEditableCells(this: BodyTable, tr: HTMLTableRowElement, mode: "add" | "edit", callback: (options: EditableCellInfo) => boolean): void;
  614. extend(this: JqGridStatic, methods: any): void;
  615. feedback(this: BodyTable | JQuery, p: any, eventPrefix: string, callbackSuffix: string, callbackName: string): boolean;
  616. fillSelectOptions(element, value: any, separator: string, delimiter: string, isMultiple: boolean, valuesToSelect?: string): boolean;
  617. fixMaxHeightOfDiv(height: number): number;
  618. fixScrollOffsetAndhBoxPadding(this: BodyTable): void;
  619. format(format: string, ...rest: any[]): string;
  620. from(source: any): QueryObject;
  621. fullBoolFeedback(this: BodyTable, callback: (...rest: any[]) => BooleanFeedbackValues, eventName: string, ...rest: any[]): boolean;
  622. getAccessor(obj: any, dotSeparatedNamesOrFunc: string | ((obj: any) => any)): any;
  623. getCell(this: BodyTable, tr: HTMLTableRowElement | JQuery, iCol: number): JQuery;
  624. getCellIndex(cell: Element | JQuery): number;
  625. getDataFieldOfCell(this: BodyTable, tr: HTMLTableRowElement | JQuery, iCol: number): JQuery;
  626. getEditedValue(this: BodyTable, $dataFiled: JQuery, cm: any, valueText: Object, editable: boolean | "hidden" | "readonly"): string;
  627. getGridComponent(componentName: ComponentName, $p: HTMLElement | JQuery): JQuery;
  628. getGridComponentId(this: BodyTable, componentName: ComponentName): string;
  629. getGridComponentIdSelector(this: BodyTable, componentName: ComponentName): string;
  630. getMethod(this: JqGridStatic, methodName: string): Function;
  631. getRelativeRect(this: BodyTable, element: Element | JQuery): JQueryCoordinates;
  632. getRes(basePath: Object, path: string): any;
  633. getXmlData(obj: Node, dotSeparatedNamesOrFunc: string | ((obj: any) => any), returnObj?: boolean): string;
  634. hasAllClasses(element: Element | JQuery, spaceSeparatedCssClasses: string): boolean;
  635. hasOneFromClasses(element: Element | JQuery, spaceSeparatedCssClasses: string): boolean;
  636. hideModal(selector: string | Element | JQuery, options: {jqm?: boolean, gb?: string, removemodal?: boolean}): void;
  637. htmlDecode(value: string): string;
  638. htmlEncode(value: string): string;
  639. info_dialog(this: BodyTable, caption: string, content: string, closeButtonText: string, modalOptions: any): void;
  640. isCellClassHidden(spaceSeparatedCssClasses: string): boolean;
  641. isEmpty(testString: string): boolean;
  642. isHTMLElement(element: Element): boolean;
  643. jqID(idName: string): string;
  644. mergeCssClasses(...spaceSeparatedCssClasses: string[]): boolean;
  645. msiever(): number;
  646. oldDecodePostedData(value: string): string;
  647. oldEncodePostedData(value: string): string;
  648. parseDataToHtml(this: BodyTable, len: number, ids: string[], items: any[], cellsToDisplay: any[], rcnt?: number, adjust?: number, readAllInputData?: boolean): string[];
  649. parseDate(this: BodyTable, format: string, date: string | number | Date, newformat?: string, options?: any): string | Date;
  650. parseDateToNumber(this: BodyTable, format: string, date: string | number | Date): number;
  651. randId(prefix?: string): string;
  652. serializeFeedback(this: BodyTable | JQuery, callback: ((this: BodyTable | JQuery, postData: any) => any), eventName: string, postData: Object | string): any;
  653. showModal(h: ModalHash): void;
  654. stripHtml(htmlString: string): string;
  655. stripPref(prefix: string, id: string): string;
  656. template(format: string): string;
  657. viewModal(this: BodyTable, selector: string | Element | JQuery, options?: ViewModalOptions): void;
  658. [propName: string]: any;
  659. }
  660. interface JqGridFmatter {
  661. isEmpty: (o: any) => boolean;
  662. isNumber: (o: any) => boolean;
  663. isObject: (o: any) => boolean;
  664. isValue: (o: any) => boolean;
  665. NumberFormat: (nData: number, opts: { decimalSeparator: string, decimalPlaces: number, thousandsSeparator: string }) => string;
  666. }
  667. interface FormatterOptions {
  668. rowId: string;
  669. colModel: ColumnModel;
  670. gid: string;
  671. pos: number;
  672. rowData: any;
  673. }
  674. interface FormatterActionsCustomButton {
  675. action: string;
  676. position?: "first" | "last";
  677. onClick: (options: {rowid: string, event: JQueryEventObject, action: string, options: FormatterActionsCustomButton }) => void;
  678. [propName: string]: any; // attribute for the editable element
  679. }
  680. interface FormatterActionButtonMask {
  681. display?: boolean; // whether to include the button in the actions div
  682. hidden?: boolean; // whether to add style="display:none;" to the button
  683. noHovering?: boolean; // whether to add/remove hovering classes on mouseover/mouseout events
  684. }
  685. interface FormatterActionsOptions {
  686. editbutton?: boolean;
  687. delbutton?: boolean;
  688. editformbutton?: boolean;
  689. commonIconClass?: string; // "ui-icon",
  690. editicon?: string; // "ui-icon-pencil",
  691. delicon?: string; // "ui-icon-trash",
  692. saveicon?: string; // "ui-icon-disk",
  693. cancelicon?: string; // "ui-icon-cancel",
  694. savetitle?: string; // edit.bSubmit || "",
  695. canceltitle?: string; // edit.bCancel || ""
  696. isDisplayButtons?: (this: BodyTable, options: FormatterOptions, rwd, act) => { [propName: string]: FormatterActionButtonMask };
  697. custom?: FormatterActionsCustomButton[];
  698. editOptions?: FormEditingOptions;
  699. delOptions?: FormDeletingOptions;
  700. keys?: boolean;
  701. onEdit?: (this: BodyTable, rowid: string, options: EditRowOptions) => void;
  702. onSuccess?: (this: BodyTable, jqXhr: JQueryXHR, rowid: string, options: FreeJqGrid.SaveRowOptions) => boolean | [boolean, any];
  703. url?: string | ((this: BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: SaveRowOptions) => string);
  704. extraparam?: Object;
  705. afterSave?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: SaveRowOptions) => void;
  706. onError?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
  707. afterRestore?: (this: BodyTable, rowid: string) => void;
  708. restoreAfterError?: boolean;
  709. mtype?: string | ((this: BodyTable, editOrAdd: "add" | "edit", options: SaveRowOptions, rowid: string, postData: any) => string);
  710. [propName: string]: any; // attribute for the editable element
  711. }
  712. interface JqGridFormatters {
  713. [propName: string]: any;
  714. }
  715. interface EditOptions {
  716. buildSelect?: (this: BodyTable, data: any, jqXhr: JQueryXHR, cm: ColumnModel, iCol: number) => string;
  717. dataEvents?: { type: string, data?: any, fn: (e) => void }[];
  718. dataInit?: (this: BodyTable, element: Element, options: EditOptions) => void;
  719. 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);
  720. generateValue?: boolean;
  721. value?: string | { [propName: string]: string } | (() => string | { [propName: string]: string });
  722. defaultValue?: string | (() => string) | boolean; // boolean for SearchOptions compatibility
  723. [propName: string]: any; // attribute for the editable element
  724. }
  725. interface SearchOptions extends EditOptions {
  726. attr?: Object;
  727. clearSearch?: boolean;
  728. defaultValue?: boolean;
  729. generateDatalist?: boolean;
  730. searchhidden?: boolean;
  731. sopt?: string[];
  732. [propName: string]: any;
  733. }
  734. interface EditOrSearchRules {
  735. 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[]);
  736. custom_func?: (this: BodyTable, value: string, name: string, iCol: number) => any[];
  737. 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);
  738. edithidden?: boolean;
  739. 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);
  740. 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);
  741. maxValue?: number;
  742. minValue?: number;
  743. 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);
  744. 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);
  745. 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);
  746. 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);
  747. }
  748. interface ColumnModelWithoutLabel {
  749. align?: "left" | "center" | "right";
  750. autoResizable?: boolean; // default value false
  751. autoResizing?: { minColWidth?: number, maxColWidth?: number, compact?: boolean };
  752. cellattr?: "string" | ((this: BodyTable, rowId: string, cellValue: any, rowObject: any, cm: ColumnModel, rdata: any, formattedCellValue: string) => string);
  753. cellBuilder?: (this: BodyTable, cellValue: any, options: FormatterOptions, rowObject: any, action?: "edit" | "add") => string;
  754. classes?: string; // spaceSeparatedCssClasses
  755. convertOnSave?: (this: BodyTable, options: { newValue: any, cm: ColumnModel, oldValue: any, id: string, item: any, iCol: number }) => any;
  756. createColumnIndex?: boolean;
  757. datefmt?: string;
  758. 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
  759. editoptions?: EditOptions;
  760. editrules?: EditOrSearchRules;
  761. edittype?: "text" | "textarea" | "checkbox" | "select" | "password" | "button" | "image" | "file" | "custom";
  762. firstsortorder?: "asc" | "desc"; // default value "asc"
  763. fixed?: boolean; // default value false
  764. formatoptions?: any; // TODO: define formatoptions for different standard formatters
  765. 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);
  766. formoptions?: {
  767. elmprefix?: string;
  768. elmsuffix?: string;
  769. label?: string;
  770. rowabove?: boolean; // false
  771. rowcontent?: string; // ""
  772. rowpos?: number;
  773. colpos?: number;
  774. };
  775. frozen?: boolean; // default value false
  776. jsonmap?: (this: BodyTable, item: any, options: { cmName: string, iItem: number }) => any;
  777. headerTitle?: string;
  778. hidden?: boolean; // default value false
  779. hidedlg?: boolean;
  780. index?: string;
  781. key?: boolean;
  782. labelAlign?: "left" | "center" | "right" | "likeData";
  783. labelClasses?: string;
  784. lso?: "asc" | "desc" | "asc-desc" | "desc-asc" | "" | string;
  785. name: string;
  786. resizable?: boolean;
  787. rotated?: boolean;
  788. saveLocally?: (this: BodyTable, options: { newValue: any, newItem: Object, oldItem: Object, id: string, rowid: string, cm: ColumnModel, cmName: string, iCol: number }) => void;
  789. search?: boolean;
  790. searchoptions?: SearchOptions;
  791. searchrules?: EditOrSearchRules;
  792. sortable?: boolean;
  793. sortfunc?: (a: any, b: any, direction: 1 | -1, aItem: any, bItem: any) => any;
  794. sortIconName?: (this: BodyTable, options: { order: "asc" | "desc", iCol: number, cm: ColumnModel }) => string; // return CSS classes
  795. sorttype?: "integer" | "int" | "number" | "currency" | "float" | "numeric" | "boolean" | "date" | "datetime" | "text" | string | ((this: BodyTable, value: any, item: any) => any);
  796. summaryRound?: number; // exponent used in Math.pow during rounding of summary values during data grouping
  797. summaryRoundType?: "fixed" | "round"; // can be used during calculation of summary values during data grouping
  798. summaryType?: "sum" | "min" | "max" | "count" | "avg"; // can be used in data grouping
  799. summaryFormat?: (this: BodyTable, group: GroupInformation, cellData: string, cellValue: any, cm: ColumnModel, summary: GroupSummaryInformation) => string;
  800. stype?: "select" | "checkbox" | "custom" | "text"; // default value "text"
  801. template?: "actions" | "integer" | "integerStr" | "number" | "numberStr" | "booleanCheckbox" | "booleanCheckboxFa" | string | ColumnModel;
  802. title?: boolean;
  803. unformat?: (this: BodyTable, cellValue: string, options: { rowId: string, colModel: ColumnModel }, dataElement: Element) => string;
  804. viewable?: boolean; // default value true
  805. width?: number; // default value 150
  806. widthOrg?: number; // used internally by jqGrid
  807. xmlmap?: (this: BodyTable, item: any, options: { cmName: string, iItem: number }) => any;
  808. [propName: string]: any; // allow to have any number of other properties
  809. }
  810. interface ColumnModel extends ColumnModelWithoutLabel {
  811. label?: string;
  812. }
  813. interface ReloadGridOptions {
  814. current?: boolean;
  815. fromServer?: boolean;
  816. page?: number;
  817. }
  818. type AddRowDataPosition = "first" | "last" | "before" | "after" | "afterSelected" | "beforeSelected";
  819. type LoadType = "disable" | "enable" | "block";
  820. type FormIcon = [boolean, "left"|"right", string];
  821. type NavKeys = [boolean, number, number]; // [shouldBeUsed, upKeyCode, downKeyCode]: [false,38,40]
  822. interface FormEditingOptions extends EditFormLocaleOptions {
  823. _savedData?: { [propName: string]: any };
  824. addedrow?: AddRowDataPosition;
  825. afterclickPgButtons?: (this: BodyTable, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void;
  826. afterComplete?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => void;
  827. afterShowForm?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => void;
  828. afterSubmit?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, editOrAdd: "edit" | "add") => void;
  829. ajaxEditOptions?: JQueryAjaxSettings;
  830. beforeCheckValues?: (this: BodyTable, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => Object | void;
  831. beforeInitData?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => BooleanFeedbackValues;
  832. beforeShowForm?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => void;
  833. beforeSubmit?: (this: BodyTable, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => [true] | [true, any] | true | null | undefined | [false, string];
  834. bottominfo?: string;
  835. checkOnSubmit?: boolean;
  836. checkOnUpdate?: boolean;
  837. clearAfterAdd?: boolean;
  838. closeAfterEdit?: boolean;
  839. closeicon?: [boolean, string, string]; // [true,"left","fa fa-undo"]
  840. closeOnEscape?: boolean;
  841. commonIconClass?: string; // "fa"
  842. dataheight?: number | "auto" | "100%" | string; // "auto"
  843. datawidth?: number | "auto" | "100%" | string; // "auto"
  844. drag?: boolean;
  845. editData?: any;
  846. errorTextFormat?: (this: BodyTable, jqXhr: JQueryXHR, editOrAdd: "edit" | "add") => void;
  847. jqModal?: boolean;
  848. height?: number | "auto" | "100%" | string; // "auto"
  849. left?: number;
  850. modal?: boolean;
  851. mtype?: string | ((this: BodyTable, rowid: string, editOrAdd: "edit" | "add", options: FormEditingOptions, postdata: Object | string) => string);
  852. navkeys?: NavKeys; // [false,38,40]
  853. nextIcon?: string; // "fa fa-caret-right"
  854. onclickPgButtons?: (this: BodyTable, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void;
  855. onclickSubmit?: (this: BodyTable, options: FormEditingOptions, postdata: Object | string, editOrAdd: "edit" | "add") => Object | string;
  856. onClose?: (this: BodyTable, selector: string | Element | JQuery) => boolean;
  857. onInitializeForm?: (this: BodyTable, $form: JQuery, editOrAdd: "edit" | "add") => void;
  858. overlayClass?: string; // "ui-widget-overlay"
  859. prevIcon?: string; // "fa fa-caret-left"
  860. processing?: boolean;
  861. reloadAfterSubmit?: boolean;
  862. reloadGridOptions?: ReloadGridOptions;
  863. removemodal?: boolean;
  864. resize?: boolean;
  865. saveicon?: FormIcon; // [true,"left","fa fa-floppy-o"]
  866. savekey?: [boolean, number]; // [false,13]
  867. savetext?: string; // default from $.jgrid.locales[currentLocale].defaults.savetext or $.jgrid.defaults.savetext
  868. saveui?: LoadType; // "enable"
  869. serializeEditData?: (this: BodyTable, postdata: Object) => Object | string;
  870. skipPostTypes?: string[]; // ["image","file"]
  871. top?: number;
  872. topinfo?: string;
  873. useDataProxy?: boolean;
  874. url?: string | ((this: BodyTable, rowid: string, editOrAdd: "edit" | "add", postdata: Object | string, options: FormEditingOptions) => string);
  875. viewPagerButtons?: boolean;
  876. width?: number | "auto" | "100%" | string; // "auto"
  877. [propName: string]: any; // allow to have any number of other properties
  878. }
  879. interface FormDeletingOptions extends DeleteFormLocaleOptions {
  880. afterComplete?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, rowids: string[]) => void;
  881. afterShowForm?: (this: BodyTable, $form: JQuery) => void;
  882. afterSubmit?: (this: BodyTable, jqXhr: JQueryXHR, postdata: Object | string, rowids: string[]) => void;
  883. ajaxDelOptions?: JQueryAjaxSettings;
  884. beforeInitData?: (this: BodyTable, $form: JQuery) => BooleanFeedbackValues;
  885. beforeShowForm?: (this: BodyTable, $form: JQuery) => void;
  886. beforeSubmit?: (this: BodyTable, postdata: Object | string, rowids: string[]) => [true] | [true, any] | undefined | [false, string];
  887. cancelicon?: FormIcon; // [true,"left","fa fa-ban"]
  888. closeOnEscape?: boolean;
  889. commonIconClass?: string; // "fa"
  890. dataheight?: number | "auto" | "100%" | string; // "auto"
  891. datawidth?: number | "auto" | "100%" | string; // "auto"
  892. delData?: any;
  893. delicon?: FormIcon; // [true,"left","fa fa-trash-o"]
  894. deltext?: string; // default from $.jgrid.locales[currentLocale].defaults.deltext or $.jgrid.defaults.deltext or "Deleting..."
  895. delui?: LoadType; // "disable"
  896. drag?: boolean;
  897. errorTextFormat?: (this: BodyTable, jqXhr: JQueryXHR) => string;
  898. height?: number | "auto" | "100%" | string; // "auto"
  899. jqModal?: boolean;
  900. idSeparator?: string; // ","
  901. left?: number;
  902. modal?: boolean;
  903. mtype?: string; // "POST"
  904. onclickSubmit?: (this: BodyTable, options: FormDeletingOptions, postdata: Object | string, rowids: string[]) => Object | string;
  905. onClose?: (this: BodyTable, selector: string | Element | JQuery) => boolean;
  906. overlay?: number;
  907. processing?: boolean; // internal used
  908. reloadAfterSubmit?: boolean;
  909. reloadGridOptions?: ReloadGridOptions;
  910. removemodal?: boolean;
  911. resize?: boolean;
  912. serializeDelData?: (this: BodyTable, postdata: Object | string, rowids: string[]) => Object | string;
  913. top?: number;
  914. toTop?: boolean;
  915. url?: string | ((this: BodyTable, rowid: string, postdata: Object | string, options: FormDeletingOptions, rowids: string[]) => string);
  916. useDataProxy?: boolean;
  917. width?: number | "auto" | "100%" | string; // "auto"
  918. [propName: string]: any; // allow to have any number of other properties
  919. }
  920. interface FormViewingOptions extends ViewLocaleOptions, CreateModalOptions {
  921. beforeShowForm?: (this: BodyTable, $form: JQuery) => void;
  922. beforeInitData?: (this: BodyTable, $form: JQuery) => BooleanFeedbackValues;
  923. closeicon?: FormIcon; // [true, "left", getIcon("form.cancel")]
  924. commonIconClass?: string; // getIcon("form.common")
  925. dataheight?: number | "auto" | "100%" | string; // "auto"
  926. datawidth?: number | "auto" | "100%" | string; // "auto"
  927. labelswidth?: number | string; // "", 350, "30%" and so on
  928. prevIcon?: string; // getIcon("form.prev")
  929. nextIcon?: string; // getIcon("form.next")
  930. navkeys?: NavKeys; // [false, 38, 40]
  931. modal?: boolean; // false
  932. viewPagerButtons?: boolean; // true
  933. }
  934. interface SearchingDialogOptions extends SearchLocaleOptions, CreateModalOptions {
  935. afterChange?: (this: BodyTable, $filter: JQuery, options: SearchingDialogOptions, filterOptions: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
  936. afterShowSearch?: (this: BodyTable, $filter: JQuery) => void;
  937. afterRedraw?: (this: BodyTable, options: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
  938. beforeShowSearch?: (this: BodyTable, $filter: JQuery) => BooleanFeedbackValues;
  939. closeAfterSearch?: boolean; // default false
  940. closeAfterReset?: boolean; // default false
  941. columns?: ColumnModel[];
  942. commonIconClass?: string;
  943. dataheight?: number | "auto" | "100%" | string; // "auto"
  944. errorcheck?: boolean; // default true,
  945. groupOps?: { op: string, text: string }[];
  946. layer?: null | string; // can be id. be used in createModal as appendsel
  947. loadDefaults?: boolean;
  948. multipleSearch?: boolean; // default false
  949. multipleGroup?: boolean; // default false
  950. sField?: string; // default "searchField"
  951. sValue?: string; // default "searchString"
  952. sOper?: string; // default "searchOper"
  953. sFilter?: string; // default "filters"
  954. searchForAdditionalProperties?: boolean;
  955. searchOnEnter?: boolean; // default false
  956. showOnLoad: boolean; // default false
  957. showQuery?: boolean; // default false,
  958. sopt?: null; // used only if .searchoptions.sopt is undefined
  959. stringResult?: boolean;
  960. onInitializeSearch?: (this: BodyTable, $filter: JQuery) => void;
  961. onSearch?: (this: BodyTable, filters: Filter) => void;
  962. onReset?: (this: BodyTable) => BooleanFeedbackValues;
  963. operands?: {
  964. eq: string; // default "="
  965. ne: string; // default "<>"
  966. lt: string; // default "<"
  967. le: string; // default "<="
  968. gt: string; // default ">"
  969. ge: string; // default ">="
  970. bw: string; // default "LIKE"
  971. bn: string; // default "NOT LIKE"
  972. "in": string; // default "IN"
  973. ni: string; // default "NOT IN"
  974. ew: string; // default "LIKE"
  975. en: string; // default "NOT LIKE"
  976. cn: string; // default "LIKE"
  977. nc: string; // default "NOT LIKE"
  978. nu: string; // default "IS NULL"
  979. nn: string; // default "IS NOT NULL"
  980. [searchOperation: string]: string;
  981. };
  982. overlay?: number;
  983. overlayClass?: string;
  984. tmplNames?: string[];
  985. tmplFilters?: Filter[] | null;
  986. tmplLabel?: string; // default " Template: "
  987. [propName: string]: any; // allow to have any number of other properties
  988. }
  989. interface FilterFoolbarOptions extends SearchLocaleOptions {
  990. afterClear?: (this: BodyTable) => void;
  991. afterSearch?: (this: BodyTable) => void;
  992. applyLabelClasses?: boolean; //true
  993. autosearch?: boolean; //true
  994. autosearchDelay?: number; // 500
  995. beforeClear?: (this: BodyTable) => boolean;
  996. beforeSearch?: (this: BodyTable) => boolean;
  997. defaultSearch?: string; // "bw"
  998. groupOp?: string; // "AND"
  999. idMode?: "new" | "old" | "compatibility"; // "new"
  1000. loadFilterDefaults?: boolean; //true
  1001. operands?: {
  1002. eq: string; // "=="
  1003. ne: string; // "!"
  1004. lt: string; // "<"
  1005. le: string; // "<="
  1006. gt: string; // ">"
  1007. ge: string; // ">="
  1008. bw: string; // "^"
  1009. bn: string; // "!^"
  1010. "in": string; // "="
  1011. ni: string; // "!="
  1012. ew: string; // "|"
  1013. en: string; // "!@"
  1014. cn: string; // "~"
  1015. nc: string; // "!~"
  1016. nu: string; // "#"
  1017. nn: string; // "!#"
  1018. [searchOperation: string]: string;
  1019. };
  1020. reloadGridResetOptions?: ReloadGridOptions;
  1021. reloadGridSearchOptions?: ReloadGridOptions;
  1022. resetTitle?: string | ((options: { options: FilterFoolbarOptions, cm: ColumnModel, cmName: string, iCol: number }) => string);
  1023. searchOnEnter?: boolean; //true
  1024. searchOperators?: boolean; //false
  1025. searchurl?: string; // ""
  1026. sField?: string; // default "searchField"
  1027. sValue?: string; // default "searchString"
  1028. sOper?: string; // default "searchOper"
  1029. sFilter?: string; // default "filters"
  1030. stringResult?: boolean; //false
  1031. resetIcon?: string; // "&times;"
  1032. [propName: string]: any; // allow to have any number of other properties
  1033. }
  1034. interface SearchingOptions extends FilterFoolbarOptions, SearchingDialogOptions {
  1035. }
  1036. interface NavOptions extends NavLocaleOptions {
  1037. add?: boolean;
  1038. addicon?: string; // "fa fa-lg fa-fw fa-plus"
  1039. addfunc?: (this: BodyTable, pAdd: FormEditingOptions) => void;
  1040. afterRefresh?: (this: BodyTable) => void;
  1041. alertheight?: number | "auto" | "100%" | string; // "auto"
  1042. alertleft?: null | number;
  1043. alerttop?: null | number;
  1044. alertwidth?: number; // 200
  1045. alertzIndex?: null | number;
  1046. beforeRefresh?: (this: BodyTable) => void;
  1047. buttonicon?: string; // "fa fa-lg fa-fw fa-external-link"
  1048. cancelicon?: string; // "fa fa-lg fa-fw fa-ban"
  1049. cloneToTop?: boolean;
  1050. closeOnEscape?: boolean;
  1051. commonIconClass?: string; // "fa fa-lg fa-fw"
  1052. del?: boolean;
  1053. delicon?: string; // "fa fa-lg fa-fw fa-trash-o"
  1054. delfunc?: (this: BodyTable, rowid: string | string[], pDel?: FormDeletingOptions) => void;
  1055. edit?: boolean;
  1056. editicon?: string; // "fa fa-lg fa-fw fa-pencil"
  1057. editfunc?: (this: BodyTable, rowid: string, pEdit: FormEditingOptions) => void;
  1058. hideEmptyPagerParts?: boolean;
  1059. iconsOverText?: boolean;
  1060. jqModal?: boolean;
  1061. position?: "left" | "center" | "right";
  1062. refresh?: boolean;
  1063. refreshicon?: string; // "fa fa-lg fa-fw fa-refresh"
  1064. refreshstate?: "firstpage" | "current" | "currentfilter";
  1065. reloadGridOptions?: ReloadGridOptions;
  1066. removemodal?: boolean;
  1067. saveicon?: string; // "fa fa-lg fa-fw fa-floppy-o"
  1068. search?: boolean;
  1069. searchicon?: string; // "fa fa-lg fa-fw fa-search"
  1070. searchfunc?: (this: BodyTable, rowid: string, pSearch?: SearchingDialogOptions) => void;
  1071. view?: boolean;
  1072. viewicon?: string; // "fa fa-lg fa-fw fa-file-o"
  1073. viewfunc?: (this: BodyTable, rowid: string, pView?: FormViewingOptions) => void;
  1074. }
  1075. interface navButtonAddOptions {
  1076. buttonicon?: string;
  1077. caption?: string;
  1078. commonIconClass?: string;
  1079. iconsOverText?: boolean;
  1080. id?: string;
  1081. onClickButton?: (this: BodyTable, options: navButtonAddOptions, eventObject: JQueryEventObject) => void;
  1082. position?: "first" | "last";
  1083. title?: string;
  1084. }
  1085. interface InlineNavOptions {
  1086. edit?: boolean;
  1087. editicon?: string; // "ui-icon-pencil"
  1088. edittitle?: string;
  1089. edittext?: string;
  1090. add?: boolean;
  1091. addicon?: string; // "ui-icon-plus"
  1092. addtext?: string;
  1093. addtitle?: string;
  1094. save?: boolean;
  1095. saveicon?: string; //"ui-icon-disk",
  1096. savetitle?: string;
  1097. savetext?: string;
  1098. cancel?: boolean;
  1099. cancelicon?: string; //"ui-icon-cancel",
  1100. canceltitle?: string;
  1101. canceltext?: string;
  1102. commonIconClass?: string; //"ui-icon",
  1103. iconsOverText?: boolean;
  1104. addParams?: AddRowOptions;
  1105. editParams?: EditRowOptions;
  1106. restoreAfterSelect?: boolean;
  1107. }
  1108. interface JsonOrLocalReader {
  1109. root?: string | ((item: any) => string); // "rows"
  1110. repeatitems?: boolean;
  1111. cell?: string; // "cell"
  1112. page?: string | ((item: any) => number | string); // "page",
  1113. total?: string | ((item: any) => number | string); // "total",
  1114. records?: string | ((item: any) => number | string); // "records",
  1115. id?: string | ((this: BodyTable, item: any) => string); // "id",
  1116. userdata?: string | ((this: BodyTable, item: any) => Object); //"userdata",
  1117. subgrid?: {
  1118. root?: string; // "rows"
  1119. repeatitems?: boolean;
  1120. cell?: string; // "cell"
  1121. };
  1122. }
  1123. interface XmlReader extends JsonOrLocalReader {
  1124. row?: string; // "row",
  1125. subgrid?: {
  1126. root?: string; // "rows"
  1127. repeatitems?: boolean;
  1128. row: string; // "row"
  1129. cell?: string; // "cell"
  1130. };
  1131. }
  1132. interface BaseTreeReader {
  1133. level_field?: string; // "level"
  1134. expanded_field?: string; // "expanded"
  1135. loaded?: string; // "loaded"
  1136. icon_field?: string; // "icon"
  1137. }
  1138. interface NestedTreeReader extends BaseTreeReader {
  1139. left_field?: string; // "lft",
  1140. right_field?: string; // "rgt",
  1141. leaf_field?: string; // "isLeaf"
  1142. }
  1143. interface AdjacencyTreeReader extends BaseTreeReader{
  1144. parent_id_field?: string; // "parent",
  1145. leaf_field?: string; // "isLeaf"
  1146. }
  1147. interface TreeGridReader extends AdjacencyTreeReader, NestedTreeReader {
  1148. }
  1149. interface SubGridOptions {
  1150. commonIconClass?: string; // "fa fa-fw"
  1151. delayOnLoad?: number; // 50
  1152. expandOnLoad?: boolean;
  1153. hasSubgrid?: boolean | ((this: BodyTable, options: { rowid: string, iRow: number, iCol: number, data: Object }) => boolean);
  1154. noEmptySubgridOnError?: boolean;
  1155. minusicon?: string; // "fa fa-fw fa-minus"
  1156. openicon?: string; // "fa fa-fw fa-reply fa-rotate-180"
  1157. plusicon?: string; // "fa fa-fw fa-plus"
  1158. reloadOnExpand?: boolean;
  1159. selectOnCollapse?: boolean;
  1160. selectOnExpand?: boolean;
  1161. }
  1162. interface JqGridSubGridOptions {
  1163. ajaxSubgridOptions?: JQueryAjaxSettings;
  1164. subGridBeforeCollapse?: (this: BodyTable, subgridDivId: string, rowid: string) => void;
  1165. subGridBeforeExpand?: (this: BodyTable, subgridDivId: string, rowid: string) => void;
  1166. loadSubgridError?: (this: BodyTable, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
  1167. serializeSubGridData?: (this: BodyTable, postData: any) => Object | string;
  1168. subGrid?: boolean;
  1169. subGridModel?: { align?: ("left" | "center" | "right")[], name: string[], mapping?: string[], params?: string[], width: number[] }[];
  1170. subGridOptions?: SubGridOptions;
  1171. subGridRowExpanded?: (this: BodyTable, subgridDivId: string, rowid: string) => void;
  1172. subGridUrl?: string | ((this: BodyTable, postData: Object | string) => string);
  1173. subgridtype?: string | ((this: BodyTable, postData: Object | string) => void);
  1174. subGridWidth?: number; // 16
  1175. }
  1176. interface JqGridSelectionOptions {
  1177. beforeSelectRow?: (this: BodyTable, rowid: string, eventObject: JQueryEventObject) => false | void;
  1178. readonly cb?: string; // "#cb_list"
  1179. readonly cbId?: string; // "cb_list"
  1180. checkboxHtml?: (this: BodyTable, options: { rowid: string, iRow: number, iCol: number, data: any, checked: boolean }) => string;
  1181. deselectAfterSort?: boolean;
  1182. resetPageAfterSort?: boolean; // true
  1183. hasMultiselectCheckBox?: (this: BodyTable, options: { rowid: string, iRow: number, iCol: number, data: any, checked: boolean }) => string | false | undefined;
  1184. multiboxonly?: boolean;
  1185. multikey?: boolean;
  1186. multiPageSelection?: boolean;
  1187. selectAllMode?: "filtered" | "all"; // "filtered"
  1188. multiselect?: boolean;
  1189. multiselectPosition?: "left" | "right" | "none";
  1190. multiselectWidth?: number; // 16
  1191. onSelectAll?: (this: BodyTable, rowids: string[], toCheck: boolean) => void;
  1192. onSelectRow?: (this: BodyTable, rowid: string, state: boolean, eventObject: JQueryEventObject) => void;
  1193. selrow?: null | string; // null
  1194. selarrrow?: string[]; // []
  1195. selectOnContextMenu?: boolean; // true
  1196. singleSelectClickMode?: "toggle" | "selectonly"; // "toggle"
  1197. }
  1198. interface JqGridSortingOptions {
  1199. builderSortIcons?: (this: BodyTable, iCol: number) => string;
  1200. forceClientSorting?: boolean;
  1201. ignoreCase?: boolean; // true
  1202. formatSortOrder?: (this: BodyTable, options: { cm: ColumnModel, sortIndex: number }) => string;
  1203. readonly lastsort?: number; // 0
  1204. maxSortColumns?: number; // 3
  1205. multiSort?: boolean; // false
  1206. multiSortOrder?: "lastClickedLastSorted" | "lastClickedFirstSorted" | ((this: BodyTable, options: {sortNames: string[], cm: ColumnModel, sortDirs: {[cmName: string]: "asc" | "desc" }, removeSorting: (cmIndexOrName: string) => void }) => string[]);
  1207. onSortCol?: (this: BodyTable, cmOrIndexName: string, iCol: number, sortOrder: string, eventObject?: JQueryEventObject) => BooleanFeedbackValues;
  1208. sortname?: string; // ""
  1209. sortIconsBeforeText?: boolean; // false
  1210. sortIconName?: (this: BodyTable, options: { order: "asc" | "desc", iCol: number, cm: ColumnModel }) => string; // return CSS classes
  1211. sortingDuringEditing?: "prevent" | "cancel" | "save"; // "prevent"
  1212. sortOrderPosition?: "afterSortIcons" | "beforeSortIcons"; // "afterSortIcons"
  1213. showOneSortIcon?: boolean; // false
  1214. showSortOrder?: boolean; // true
  1215. sortorder?: "asc" | "desc" | string; // "asc"
  1216. threeStateSort?: boolean; // false
  1217. viewsortcols?: [boolean, "vertical" | "horizontal", boolean]; // [false, "vertical", true]
  1218. }
  1219. interface JqGridTreeGridOptions {
  1220. ExpandColClick?: boolean;
  1221. ExpandColumn?: string;
  1222. tree_root_level?: number; // 0
  1223. treeANode?: number; // -1, used internally
  1224. treedatatype?: string | ((this: BodyTable, postData: Object | string, loadId: string, rcnt: number, npage: number, adjust: number) => void); // used iinternally as copy of datatype
  1225. treeGrid?: boolean;
  1226. treeGridModel?: "adjacency" | "nested";
  1227. treeIcons?: {
  1228. commonIconClass?: string; // "fa fa-fw"
  1229. leaf?: string; // "fa fa-fw fa-dot-circle-o"
  1230. minus?: string; // "fa fa-fw fa-lg fa-sort-desc"
  1231. plusLtr?: string; // "fa fa-fw fa-lg fa-caret-right"
  1232. plusRtl?: string; // "fa fa-fw fa-lg fa-caret-left"
  1233. };
  1234. treeReader?: TreeGridReader;
  1235. unloadNodeOnCollapse?: boolean | ((this: BodyTable, treeItem: any) => boolean);
  1236. }
  1237. interface JqGridResizingOptions {
  1238. autoresizeOnLoad?: boolean;
  1239. afterResizeDblClick?: (this: BodyTable, options: { iCol: number, cm: ColumnModel, cmName: string }) => void;
  1240. columnsToReResizing?: number[]; // used internally by jqGrid
  1241. doubleClickSensitivity?: number; // 250
  1242. forceFit?: boolean; // false
  1243. minResizingWidth?: number; // 10
  1244. resizeDblClick?: (this: BodyTable, iCol: number, cm: ColumnModel, eventObject: JQueryEventObject) => BooleanFeedbackValues;
  1245. resizeclass?: string; // ""
  1246. resizeStart?: (this: BodyTable, eventObject: JQueryEventObject, iCol: number) => void;
  1247. resizeStop?: (this: BodyTable, newWidth: number, iCol: number) => void;
  1248. readonly rs?: string; // "#rs_mlist"
  1249. readonly rsId?: string; // "rs_mlist"
  1250. }
  1251. interface JqGridPagingOptions {
  1252. gridComplete?: (this: BodyTable) => void;
  1253. lastpage?: number; // 0
  1254. onPaging?: (this: BodyTable, source: "records" | "user" | "first" | "prev" | "next" | "last", options: { newPage: number, currentPage: number, lastPage: number, currentRowNum: number, newRowNum: number }) => BooleanFeedbackValues;
  1255. page?: number;
  1256. pager?: boolean | string; // default: "". Example, "#jqg1"
  1257. pagerCenterWidth?: number;
  1258. pagerLeftWidth?: number; // 125
  1259. pagerRightWidth?: number;
  1260. pagerpos?: "left" | "center" | "right";
  1261. pagingDuringEditing?: "prevent" | "cancel" | "save"; // "prevent"
  1262. pgbuttons?: boolean; // true
  1263. pginput?: boolean; // true
  1264. reccount?: number; // 0
  1265. recordpos?: "left" | "center" | "right"; // default "left" or "right" in case of p.direction === "rtl"
  1266. records?: number; // 0
  1267. rowList?: (number | string)[]; // example [5, 10, 20, "10000:All"]
  1268. toppager?: string; // Default false. Be changed by jqGrid to string in the form "#list_toppager"
  1269. viewrecords?: boolean; // false
  1270. }
  1271. interface GroupSummaryInformation {
  1272. groupCount?: number;
  1273. groupIndex?: string; // cmName
  1274. groupValue?: any;
  1275. nm: string; // cmName
  1276. sr?: number; // cm.summaryRound
  1277. srt?: "fixed" | "round"; // cm.summaryRoundType
  1278. st?: ("sum" | "min" | "max" | "count" | "avg") | ("sum" | "min" | "max" | "count" | "avg")[]; //cm.summaryType
  1279. v: any;
  1280. }
  1281. interface GroupInformation {
  1282. cnt?: number;
  1283. collapsed?: boolean;
  1284. dataIndex: string; // cmName
  1285. displayValue: string; //displayValue,
  1286. idx: number; // index in grp.groupField array
  1287. keys?: any[];
  1288. parentGroup?: GroupInformation;
  1289. parentGroupIndex?: number;
  1290. startRow?: number; // iRow
  1291. summary: GroupSummaryInformation[];
  1292. value?: any;
  1293. }
  1294. interface CounterInformation {
  1295. cnt: number;
  1296. pos: number;
  1297. summary: GroupSummaryInformation[];
  1298. }
  1299. interface GroupingView {
  1300. _locgr?: boolean;
  1301. commonIconClass?: string;
  1302. counters?: CounterInformation[];
  1303. displayField?: string[];
  1304. formatDisplayField?: ((this: BodyTable, displayValue: string, value: any, cm: ColumnModel, idx: number, grp: GroupInformation, index: number) => string)[];
  1305. groupCollapse?: (options: { group: number, rowid: string }) => boolean;
  1306. groupColumnShow?: boolean[];
  1307. groupField: string[];
  1308. groupOrder?: ("asc" | "desc")[];
  1309. groups?: GroupInformation[];
  1310. groupSummary?: boolean[];
  1311. groupSummaryPos?: ("footer" | "header")[];
  1312. groupText?: string[];
  1313. hideFirstGroupCol?: boolean;
  1314. iconColumnName?: string; // cmName
  1315. isInTheSameGroup?: boolean[];
  1316. lastvalues?: Object[];
  1317. minusicon?: string; // "fa fa-fw fa-minus-square-o"
  1318. plusicon?: string; // "fa fa-fw fa-plus-square-o"
  1319. showSummaryOnHide?: boolean;
  1320. summary?: GroupSummaryInformation[];
  1321. useDefaultValuesOnGrouping?: boolean;
  1322. visibiltyOnNextGrouping?: boolean[];
  1323. [propName: string]: any; // allow to have any number of other properties
  1324. }
  1325. interface JqGridGroupingOptions {
  1326. grouping?: boolean;
  1327. groupingView?: GroupingView;
  1328. onClickGroup?: (this: BodyTable, hid: string, collapsed: boolean) => void;
  1329. }
  1330. interface JqGridOptions extends JqGridSubGridOptions,
  1331. JqGridSelectionOptions,
  1332. JqGridSortingOptions,
  1333. JqGridGroupingOptions,
  1334. JqGridTreeGridOptions,
  1335. JqGridResizingOptions,
  1336. JqGridPagingOptions {
  1337. _index?: {[rowid: string]: number }; // used internally by jqGrid if local data exists
  1338. _inlinenav?: boolean; // used internally by jqGrid if inlineNav be called
  1339. _nvtd?: [number, number]; // used internally by jqGrid
  1340. actionsNavOptions?: FormatterActionsOptions;
  1341. additionalProperties?: (string | ColumnModel)[];
  1342. afterAddRow?: (this: BodyTable, options: { rowid: string, inputData: Object | Object[], position: AddRowDataPosition, srcRowid?: string, iRow: number, tr: HTMLTableRowElement, localData?: Object, iData?: number }) => void;
  1343. afterChangeRowid?: (this: BodyTable, options: { rowid: string, oldRowid: string, iRow: number, tr: HTMLTableRowElement }) => void;
  1344. afterDelRow?: (this: BodyTable, rowid: string) => void;
  1345. afterInsertRow?: (this: BodyTable, rowid: string, item: { [cmOrPropName: string]: any }, srcItem: any) => void;
  1346. afterSetRow?: (this: BodyTable, options: { rowid: string, inputData: Object | Object[], iRow?: number, localData?: Object, iData?: number, tr: HTMLTableRowElement, cssProp: string | Object }) => void;
  1347. ajaxGridOptions?: JQueryAjaxSettings;
  1348. altclass?: string;
  1349. altRows?: boolean;
  1350. arrayReader?: any[]; // used internally
  1351. arrayReaderInfos?: { [name: string]: { name?: string, index: string, order?: number, type: InputNameType } }; // used internally
  1352. autoencode?: boolean; // true starting with version 4.15.0
  1353. autoResizing?: { adjustGridWidth?: boolean, compact?: boolean, fixWidthOnShrink?: boolean, maxColWidth?: number, minColWidth?: number, resetWidthOrg?: boolean, widthOfVisiblePartOfSortIcon?: number, wrapperClassName?: string };
  1354. autowidth?: boolean;
  1355. beforeInitGrid?: (this: BodyTable) => void;
  1356. beforeProcessing?: (this: BodyTable, data: any, textStatus: string, jqXhr: JQueryXHR) => false | void;
  1357. beforeRequest?: (this: BodyTable) => BooleanFeedbackValues;
  1358. caption?: string;
  1359. cellEdit?: boolean;
  1360. cellLayout?: number; // 5
  1361. cellsubmit?: string; // "clientArray"
  1362. cmNamesInputOrder?: string[]; // used internally by jqGrid, can be generated if remapColumns is used
  1363. cmTemplate?: ColumnModel;
  1364. colModel: ColumnModel[];
  1365. colNames?: string[];
  1366. createColumnIndex?: boolean;
  1367. customSortOperations?: {
  1368. [customOperation: string]: CustomFilterOperation;
  1369. };
  1370. 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
  1371. data?: any[];
  1372. dataIndexById?: {
  1373. [id: string]: {
  1374. [cmName: string]: {
  1375. [value: string]: Object; // the reference on the object indexByColumnData[cmName][value]
  1376. }
  1377. }
  1378. };
  1379. datastr?: string | any[];
  1380. datatype?: string | ((this: BodyTable, postData: Object | string, loadId: string, rcnt: number, npage: number, adjust: number) => void);
  1381. dataTypeOrg?: string;
  1382. deepempty?: boolean;
  1383. direction?: "ltr" | "rtl";
  1384. disableClick?: boolean;
  1385. editurl?: string; // "clientArray"
  1386. errorDisplayTimeout?: number; // be used inside of displayErrorMessage method
  1387. footerrow?: boolean;
  1388. formDeleting?: FormDeletingOptions;
  1389. formEditing?: FormEditingOptions;
  1390. formViewing?: FormViewingOptions;
  1391. frozenColumns?: boolean;
  1392. readonly gBox?: string; // "#gbox_list"
  1393. readonly gBoxId?: string; // gbox_list"
  1394. gridstate?: "visible" | "hidden";
  1395. gridview?: boolean;
  1396. guiStyle?: string; // "jQueryUI"
  1397. inFilterSeparator?: boolean; // ","
  1398. readonly gView?: string; // "#gview_list"
  1399. readonly gViewId?: string; // "gview_list"
  1400. headertitles?: boolean;
  1401. height?: "auto" | "100%" | number;
  1402. hiddengrid?: boolean;
  1403. hidegrid?: boolean;
  1404. hoverrows?: boolean;
  1405. iCol?: number; // -1
  1406. iColByName?: {[cmName: string]: number };
  1407. iconSet?: string; // "fontAwesome"
  1408. indexByColumnData?: {
  1409. [cmName: string]: {
  1410. [value: string]: {
  1411. [rowid: string]: Object; // Object is the reference of the item from data array
  1412. }
  1413. }
  1414. };
  1415. readonly id?: string; // "list"
  1416. readonly idPrefix?: string; // ""
  1417. readonly idSel?: string; // "#list"
  1418. inlineEditing?: InlineEditingOptions;
  1419. iPropByName?: {[additionalPropertyName: string]: number };
  1420. jqgdnd?: boolean;
  1421. jqXhr?: JQueryXHR; // JQueryXHR of the last pending Ajax request. Be used by abortAjaxRequest method
  1422. iRow?: number; // -1
  1423. jsonReader?: JsonOrLocalReader;
  1424. keyName?: boolean;
  1425. lastSelectedData?: any[];
  1426. loadBeforeSend?: (this: BodyTable, jqXhr: JQueryXHR, settings: JQueryAjaxSettings) => false | void;
  1427. loadComplete?: (this: BodyTable, data: any) => void;
  1428. loadError?: (this: BodyTable, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
  1429. loadonce?: boolean;
  1430. loadui?: LoadType;
  1431. locale?: string; // default is "en-US". It will be overwrite if by the last included i18n\grid.locale-XX.min.js
  1432. localReader?: JsonOrLocalReader;
  1433. maxItemsToJoin?: number; // 32768
  1434. maxRowNum?: number; // 10000
  1435. mtype?: string; // "GET"
  1436. navOptions?: NavOptions;
  1437. nv?: number; // 0
  1438. ondblClickRow?: (this: BodyTable, rowid: string, iRow: number, iCol: number, eventObject: JQueryEventObject) => void;
  1439. onHeaderClick?: (this: BodyTable, gridState: "visible" | "hidden", eventObject: JQueryEventObject) => void;
  1440. onInitGrid?: (this: BodyTable) => void;
  1441. onRemapColumns?: (this: BodyTable, permutation: number[], updateCells?: boolean, keepHeader?: boolean) => void;
  1442. onRightClickRow?: (this: BodyTable, rowid: string, iRow: number, iCol: number, eventObject: JQueryEventObject) => void;
  1443. onShowHideCol?: (this: BodyTable, show: boolean | "none" | "", cmName: string, iCol: number, options: ShowHideColOptions) => void;
  1444. postData?: Object | string;
  1445. prmNames?: {
  1446. addoper?: string | null; // "add"
  1447. deloper?: string | null; // "del"
  1448. editoper?: string | null; // "edit"
  1449. id?: string | null; // "id"
  1450. idold?: string | null; // "idOld"
  1451. filters?: string | null; // "filters"
  1452. nd?: string | null; // "nd"
  1453. npage?: string | null; // null
  1454. oper?: string | null; // "oper"
  1455. order?: string | null; // "sord"
  1456. page?: string | null; // "page"
  1457. rows?: string | null; // "rows"
  1458. rowidName?: string; // "rowid" - will be not really used currently
  1459. search?: string | null; // "_search"
  1460. sort?: string | null; // "sidx"
  1461. subgridid?: string | null; // "id"
  1462. totalrows?: string | null; // "totalrows"
  1463. };
  1464. quickEmpty?: boolean | "quickest";
  1465. reloadGridOptions?: ReloadGridOptions;
  1466. reloadingDuringEditing?: "prevent" | "cancel" | "save"; // "prevent"
  1467. remapColumns?: number[];
  1468. resetsearch?: boolean;
  1469. reservedColumnNames?: string[]; // ["rn","cb","subgrid"]
  1470. rowattr?: ( (this: BodyTable, item: any, rowObject: any, rowid: string) => { [attributeName: string]: string } | null | undefined );
  1471. rowIndexes?: {[rowid: string]: number};
  1472. rowNum?: number; // 10
  1473. rownumbers?: boolean;
  1474. rownumWidth?: number; // 25
  1475. rowTotal?: null | number;
  1476. savedRow?: any[];
  1477. editingInfo?: {[rowid: string]: { mode: "inlineEditing" | "cellEditing"; savedRow: any[]; editable: { [cmName: string]: boolean | "hidden" | "disabled" | "readonly" } }};
  1478. scroll?: boolean | 1;
  1479. scrollOffset?: number; // 0
  1480. scrollrows?: boolean;
  1481. scrollTimeout?: number; // 40
  1482. search?: boolean;
  1483. searching?: SearchingOptions;
  1484. serializeGridData?: (this: BodyTable, postData: any) => Object | string;
  1485. sortable?: boolean | ((permutation: number[]) => void) | { exclude?: string, update?: (permutation: number[]) => void, options?: JQueryUI.SortableOptions };
  1486. shrinkToFit?: boolean;
  1487. tblwidth?: number; // 487
  1488. toolbar?: [boolean, "top" | "bottom" | "both"];
  1489. readonly totaltime?: number; // 94
  1490. url?: string; // ""
  1491. userData?: any;
  1492. userDataOnFooter?: boolean;
  1493. useUnformattedDataForCellAttr?: boolean;
  1494. width?: number;
  1495. widthOrg?: number; // used internally by jqGrid
  1496. xmlReader?: XmlReader;
  1497. [propName: string]: any; // allow to have any number of other properties
  1498. }
  1499. interface ShowHideColOptions {
  1500. newGridWidth?: number;
  1501. notSkipFrozen?: boolean;
  1502. toReport?: Object;
  1503. skipFeedback?: boolean;
  1504. skipSetGridWidth?: boolean;
  1505. skipSetGroupHeaders?: boolean;
  1506. }
  1507. // inline editing options
  1508. interface RestoreRowOptions {
  1509. afterrestorefunc?: (this: BodyTable, rowid: string) => void;
  1510. beforeCancelRow?: (this: BodyTable, options: RestoreRowOptions, rowid: string) => BooleanFeedbackValues;
  1511. [propName: string]: any; // allow to have any number of other properties
  1512. }
  1513. interface BaseSaveRowOptions extends RestoreRowOptions {
  1514. aftersavefunc?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, postData: any, options: SaveRowOptions) => void;
  1515. errorfunc?: (this: BodyTable, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string) => void;
  1516. extraparam?: Object;
  1517. successfunc?: (this: BodyTable, jqXhr: JQueryXHR, rowid: string, options: FreeJqGrid.SaveRowOptions, editOrAdd: string, postData: any) => boolean | [boolean, any];
  1518. url?: string | ((this: BodyTable, rowid: string, editOrAdd: "add" | "edit", postData: any, options: SaveRowOptions) => string);
  1519. }
  1520. interface EditRowOptions extends BaseSaveRowOptions {
  1521. beforeEditRow?: (this: BodyTable, options: EditRowOptions, rowid: string) => BooleanFeedbackValues;
  1522. defaultFocusField?: number | string;
  1523. focusField?: boolean | number | string | { target: JQueryEventObject };
  1524. keys?: boolean;
  1525. oneditfunc?: (this: BodyTable, rowid: string, options: EditRowOptions) => void;
  1526. [propName: string]: any; // allow to have any number of other properties
  1527. }
  1528. interface SaveRowOptions extends BaseSaveRowOptions {
  1529. ajaxSaveOptions?: JQueryAjaxSettings;
  1530. beforeSaveRow?: (this: BodyTable, options: SaveRowOptions, rowid: string, editOrAdd: "add" | "edit") => BooleanFeedbackValues;
  1531. mtype?: string | ((this: BodyTable, editOrAdd: "add" | "edit", options: SaveRowOptions, rowid: string, postData: any) => string);
  1532. saveRowValidation?: (this: BodyTable, options: { options: SaveRowOptions, rowid: string, tr: HTMLTableRowElement, iRow: string, savedRow: any, newData: any, mode: "add" | "edit" }) => BooleanFeedbackValues;
  1533. savetext?: string; // default from $.jgrid.locales[currentLocale].defaults.savetext or $.jgrid.defaults.savetext or "Saving..."
  1534. saveui?: LoadType; // "enable"
  1535. serializeSaveData?: (this: BodyTable, postData: any) => Object | string;
  1536. restoreAfterError?: boolean;
  1537. [propName: string]: any; // allow to have any number of other properties
  1538. }
  1539. interface AddRowOptions {
  1540. addRowParams?: EditRowOptions;
  1541. beforeAddRow?: (this: BodyTable, options: AddRowOptions) => BooleanFeedbackValues;
  1542. initdata?: any;
  1543. position?: AddRowDataPosition;
  1544. rowID?: null | string | ((options: AddRowOptions) => string);
  1545. srcRowid?: string;
  1546. useDefValues?: boolean;
  1547. useFormatter?: boolean;
  1548. [propName: string]: any; // allow to have any number of other properties
  1549. }
  1550. interface InlineEditingOptions extends EditRowOptions, SaveRowOptions, RestoreRowOptions, AddRowOptions {
  1551. }
  1552. type FilterOperation = "eq" | "ne" | "bw" | "bn" | "ew" | "en" | "cn" | "nc" | "nu" | "nn" | "in" | "ni" | string;
  1553. interface Rule {
  1554. field: string;
  1555. op: FilterOperation;
  1556. data?: any;
  1557. }
  1558. interface Filter {
  1559. groupOp: "OR" | "AND";
  1560. rules: Rule[];
  1561. groups: Filter[];
  1562. }
  1563. interface CustomFilterOperation {
  1564. operand: string;
  1565. text: string;
  1566. filter: (options: { item: Object, cmName: string, searchValue: string }) => number;
  1567. buildQueryValue?: (options: any) => string;
  1568. }
  1569. interface JqFilterDiv extends HTMLDivElement {
  1570. p: JqFilterOptions;
  1571. filter: boolean;
  1572. onchange(): boolean;
  1573. reDraw(): void;
  1574. createTableForGroup(group: Filter, parentgroup: Filter): JQuery; // return jQuery wrapper on HTMLTableElement
  1575. createTableRowForRule(rule: Rule, group: Filter): JQuery; // return jQuery wrapper on HTMLTableRowElement
  1576. getStringForGroup(group: Filter): string;
  1577. getStringForRule(rule: Rule): string;
  1578. resetFilter(): void; // copy p.filter from p.initFilter and call reDraw() and onchange()
  1579. hideError(): void;
  1580. showError(): void;
  1581. toUserFriendlyString(): string; // convert p.filter to string with respect of getStringForGroup
  1582. toString(): string;
  1583. }
  1584. interface JqFilterOptions {
  1585. afterRedraw?: (this: BodyTable, options: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
  1586. ajaxSelectOptions?: JQueryAjaxSettings;
  1587. columns?: ColumnModel[];
  1588. cops: {
  1589. [operationName: string]: CustomFilterOperation;
  1590. }; // p.customSortOperations
  1591. direction?: "ltr" | "rtl"; // default "ltr"
  1592. errmsg?: string; // default "" - HTML fragment
  1593. error?: boolean; // default false
  1594. errorcheck?: boolean; // default true
  1595. filter?: null | Filter;
  1596. groupButton?: boolean; // default true
  1597. groupOps?: { op: "AND" | "OR", text: string }[]; // default [{ op: "AND", text: "AND" }, { op: "OR", text: "OR" }]
  1598. id: string; // id of the grid, which created jqFilter
  1599. initFilter?: null | Filter; // used internally
  1600. numopts?: FilterOperation[]; // default ["eq", "ne", "lt", "le", "gt", "ge", "nu", "nn", "in", "ni"]
  1601. onChange?: (this: BodyTable, options: JqFilterOptions, searchFilterDiv: JqFilterDiv) => void;
  1602. operands?: {
  1603. [searchOperation: string]: string // maps search operation name (FilterOperation) to the text
  1604. };
  1605. ops?: { oper: FilterOperation; text: string }[];
  1606. ruleButtons?: boolean; // default true
  1607. showQuery?: boolean; // default true
  1608. 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
  1609. strarr?: ["text", "string", "blob"];
  1610. stropts?: FilterOperation[]; // default ["eq", "ne", "bw", "bn", "ew", "en", "cn", "nc", "nu", "nn", "in", "ni"]
  1611. }
  1612. interface XmlJsonClass {
  1613. xml2json(this: XmlJsonClass, xml: Node, tab: string): string;
  1614. json2xml(this: XmlJsonClass, o: Object, tab: string): string;
  1615. toObj(this: XmlJsonClass, xml: Node): Object | null;
  1616. toJson(this: XmlJsonClass, o: Object, name: string | false, indent: string, wellform: boolean): string;
  1617. innerXml(this: XmlJsonClass, node: Node): string;
  1618. escape(txt: string): string;
  1619. removeWhite(node: Node): Node;
  1620. }
  1621. interface JqGridImportOptions {
  1622. imptype?: "xml" | "json" | "xmlstring" | "jsonstring"; // default "xml"
  1623. impstring?: string; // default ""
  1624. impurl?: string; // default ""
  1625. mtype?: string; // default "GET"
  1626. impData?: Object; // default {}
  1627. xmlGrid?: {
  1628. config?: string; // default "roots>grid",
  1629. data?: string; // default "roots>rows"
  1630. };
  1631. jsonGrid?: {
  1632. config?: string; // default "grid"
  1633. data?: string; // default "data"
  1634. };
  1635. ajaxOptions?: Object; // default {}
  1636. }
  1637. interface SetGroupHeaderOptions {
  1638. useColSpanStyle?: boolean;
  1639. applyLabelClasses?: boolean;
  1640. groupHeaders: {
  1641. startColumnName: string,
  1642. numberOfColumns: number,
  1643. titleText: string
  1644. }[];
  1645. }
  1646. interface PivotAjaxOptions extends JQueryAjaxSettings {
  1647. reader?: string; // "rows"
  1648. }
  1649. enum PivotColumnType {
  1650. StandardColumn = 0, // standard column
  1651. TotalGroupCulumn = 1, // total group
  1652. GrandTotalGroupCulumn = 2, // grand total
  1653. }
  1654. interface XDimension extends ColumnModelWithoutLabel {
  1655. dataName: string;
  1656. footerText?: string; // text which will be placed in the column of the footer row
  1657. label?: string | ((this: BodyTable, x, i, o) => string);
  1658. }
  1659. interface YDimension extends ColumnModelWithoutLabel {
  1660. label?: string | (() => string);
  1661. }
  1662. interface Aggregate extends ColumnModel {
  1663. member: string;
  1664. aggregator?: "sum" | "count" | "avg" | "min" | "max" | ((options: {previousResult: any, value: any, fieldName: string, item: any, iItem: number, items: any[]}) => any);
  1665. }
  1666. interface PivotOptions {
  1667. totals?: boolean; // false - replacement for rowTotals. totalText and totalHeader can be used additionally
  1668. rowTotals?: boolean; // obsolate. One should use totals instead
  1669. totalHeader?: string;
  1670. totalText?: string;
  1671. footerAggregator?: string;
  1672. compareVectorsByX: null;
  1673. compareVectorsByY: null;
  1674. useColSpanStyle?: boolean; // false
  1675. trimByCollect?: boolean; // true
  1676. skipSortByX?: boolean; // false
  1677. skipSortByY?: boolean; // false
  1678. caseSensitive?: boolean; // false
  1679. footerTotals?: boolean; // false - replacement colTotals. footerAggregator option and totalText properties of xDimension[i] can be used additionally
  1680. colTotals?: boolean; // obsolate. One should use footerTotals instead
  1681. groupSummary?: boolean; // true
  1682. groupSummaryPos?: "footer" | "header"; // "header"
  1683. frozenStaticCols?: boolean; // false
  1684. defaultFormatting?: boolean; // true
  1685. data?: any[];
  1686. xDimension?: XDimension[];
  1687. yDimension?: YDimension[];
  1688. aggregates?: Aggregate[];
  1689. }
  1690. interface JqGridGroupingOptionsAndSortname extends JqGridGroupingOptions {
  1691. sortname?: string;
  1692. }
  1693. interface PivotSetupResult {
  1694. additionalProperties: string[];
  1695. colModel: ColumnModel;
  1696. options: PivotOptions;
  1697. rows: any[];
  1698. groupOptions: JqGridGroupingOptionsAndSortname;
  1699. groupHeaders: SetGroupHeaderOptions[];
  1700. summary: { [propName: string]: any; }; // be used as userdata togrthrr with footerrow:true and userDataOnFooter:true
  1701. }
  1702. interface ResetFrozenHeightsOptions {
  1703. body: {
  1704. resizeDiv?: boolean;
  1705. resizedRows?: {
  1706. iRowStart: number; // -1 means don't recalculate heights or rows
  1707. iRowEnd: number;
  1708. }
  1709. };
  1710. header: {
  1711. resizeDiv?: boolean;
  1712. resizedRows?: {
  1713. iRowStart: number; // -1 means don't recalculate heights or rows
  1714. iRowEnd: number;
  1715. }
  1716. };
  1717. resizeFooter?: boolean;
  1718. }
  1719. }
  1720. // global function
  1721. interface Window {
  1722. // grid.tbltogrid module
  1723. tableToGrid(selector: Element | string | JQuery, options: FreeJqGrid.JqGridOptions): void;
  1724. // jsonxml module
  1725. xmlJsonClass: FreeJqGrid.XmlJsonClass;
  1726. }
  1727. interface JQueryStatic {
  1728. jgrid: FreeJqGrid.JqGridStatic;
  1729. fmatter: FreeJqGrid.JqGridFmatter;
  1730. jqm: FreeJqGrid.JqmOptions;
  1731. jqDnR: {
  1732. drag(eventObject: JQueryEventObject); // ("mousemove" handler)
  1733. stop(); // ("mouseup" handler)
  1734. };
  1735. unformat: (element: Element | JQuery, options: { rowId: string, colModel: FreeJqGrid.ColumnModel }, iCol: number, content: boolean) => string;
  1736. [propName: string]: any; // allow to have any number of other properties
  1737. }
  1738. interface JQuery {
  1739. jqGrid(options: FreeJqGrid.JqGridOptions): FreeJqGrid.JQueryJqGrid;
  1740. // grid.base module
  1741. abortAjaxRequest?(): FreeJqGrid.JQueryJqGrid;
  1742. addRowData?(rowid: string, rdata: Object | Object[], position?: FreeJqGrid.AddRowDataPosition, srcRowid?: string): boolean;
  1743. autoResizeAllColumns?(): FreeJqGrid.JQueryJqGrid;
  1744. autoResizeColumn?(iCol: number, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
  1745. 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;
  1746. changeRowid?(oldRowId: string, newRowId: string): FreeJqGrid.JQueryJqGrid;
  1747. clearGridData?(clearFooter: boolean): FreeJqGrid.JQueryJqGrid;
  1748. delRowData?(rowid: string): boolean;
  1749. displayErrorMessage?(htmlFragment: string): void;
  1750. footerData?(action?: "get" | "set", data?: Object, format?: boolean): Object | boolean;
  1751. generateDatalistFromColumnIndex?(cmName: string): JQuery;
  1752. getAutoResizableWidth?(iCol: number): number;
  1753. getCell?(rowid: string, cmName: string): string | false;
  1754. getCell?(rowid: string, iCol: number): string | false;
  1755. getCol?(cmName: string, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
  1756. getCol?(iCol: number, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
  1757. getDataIDs?(): string[];
  1758. getGridParam?(parameterName?: string): any;
  1759. getGridRes?(propertyPath: string): any;
  1760. getGridRowById?(rowid: string): HTMLTableRowElement | null;
  1761. getGuiStyles?(guiStylePath?: string, additionalCssClasses?: string): string;
  1762. getIconRes?(iconResourcePath: string): string;
  1763. getInd?(): HTMLTableRowElement | number | false;
  1764. getLocalRow?(rowid: string): false | Object;
  1765. getRowData?(rowid?: string, options?: { includeId: boolean, skipHidden?: boolean }): Object[] | Object;
  1766. getUniqueValueFromColumnIndex?(cmName: string): string[];
  1767. hideCol?(cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
  1768. isBootstrapGuiStyle?(): boolean;
  1769. isCellEditing?(rowid: string, cmName: string, tr?: HTMLTableRowElement): boolean;
  1770. isCellEditing?(rowid: string, iCol: number, tr?: HTMLTableRowElement): boolean;
  1771. isInCommonIconClass?(testClassName: string): boolean;
  1772. progressBar?(options: { htmlContent: string, method: "hide" | "show", loadtype: FreeJqGrid.LoadType }): FreeJqGrid.JQueryJqGrid;
  1773. remapColumns?(permutationByName: number[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
  1774. remapColumnsByName?(permutationByName: string[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
  1775. resetColumnResizerHeight?: FreeJqGrid.JQueryJqGrid;
  1776. resetSelection?(rowid?: string): FreeJqGrid.JQueryJqGrid;
  1777. rotateColumnHeaders?(columnNameOrIndexes: string[], headerHeight?: number): FreeJqGrid.JQueryJqGrid;
  1778. setCaption?(newCaption: string): FreeJqGrid.JQueryJqGrid;
  1779. setCell?(rowid: string, cmName: string, nData: any, cssp?: string | Object, attrp?: Object, forceUpdate?: boolean): FreeJqGrid.JQueryJqGrid;
  1780. setColWidth?(iCol: number, newWidth: number, adjustGridWidth?: boolean, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
  1781. setGridHeight?(newHeight: number | "auto" | "100%" | string): FreeJqGrid.JQueryJqGrid;
  1782. setGridParam?(newParams: Object, overwrite?: boolean): FreeJqGrid.JQueryJqGrid;
  1783. setGridWidth?(newWidth: number, shrink?: boolean): FreeJqGrid.JQueryJqGrid;
  1784. setLabel?(cmName: string, nData: string, cssp?: string | Object, attrp?: Object): FreeJqGrid.JQueryJqGrid;
  1785. setRowData?(rowid: string, data: any, cssp?: string | Object): boolean;
  1786. setSelection?(rowid: string, callOnSelectRow?: boolean, eventObject?: JQueryEventObject): FreeJqGrid.JQueryJqGrid;
  1787. showCol?(cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
  1788. showHideCol?(cmName: string[] | string, show?: boolean | "none" | "", options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
  1789. unbindKeys?(): FreeJqGrid.JQueryJqGrid;
  1790. jqGrid(methodName: "abortAjaxRequest"): FreeJqGrid.JQueryJqGrid;
  1791. jqGrid(methodName: "addRowData", rowid: string, rdata: Object | Object[], position?: FreeJqGrid.AddRowDataPosition, srcRowid?: string): boolean;
  1792. jqGrid(methodName: "autoResizeAllColumns"): FreeJqGrid.JQueryJqGrid;
  1793. jqGrid(methodName: "autoResizeColumn", iCol: number, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
  1794. 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;
  1795. jqGrid(methodName: "changeRowid", oldRowId: string, newRowId: string): FreeJqGrid.JQueryJqGrid;
  1796. jqGrid(methodName: "clearGridData", clearFooter: boolean): FreeJqGrid.JQueryJqGrid;
  1797. jqGrid(methodName: "delRowData", rowid: string): boolean;
  1798. jqGrid(methodName: "displayErrorMessage", htmlFragment: string): void;
  1799. jqGrid(methodName: "footerData", action?: "get" | "set", data?: Object, format?: boolean): Object | boolean;
  1800. jqGrid(methodName: "generateDatalistFromColumnIndex", cmName: string): JQuery;
  1801. jqGrid(methodName: "getAutoResizableWidth", iCol: number): number;
  1802. jqGrid(methodName: "getCell", rowid: string, cmName: string): string | false;
  1803. jqGrid(methodName: "getCell", rowid: string, iCol: number): string | false;
  1804. jqGrid(methodName: "getCol", cmName: string, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
  1805. jqGrid(methodName: "getCol", iCol: number, asObj?: boolean, mathopr?: "sum" | "avg" | "count" | "min" | "max"): string[] | { id: string, value: string }[] | number;
  1806. jqGrid(methodName: "getDataIDs"): string[];
  1807. jqGrid(methodName: "getGridParam", parameterName?: string): any;
  1808. jqGrid(methodName: "getGridRes", propertyPath: string): any;
  1809. jqGrid(methodName: "getGridRowById", rowid: string): HTMLTableRowElement | null;
  1810. jqGrid(methodName: "getGuiStyles", guiStylePath?: string, additionalCssClasses?: string): string;
  1811. jqGrid(methodName: "getIconRes", iconResourcePath: string): string;
  1812. jqGrid(methodName: "getInd"): HTMLTableRowElement | number | false;
  1813. jqGrid(methodName: "getLocalRow", rowid: string): false | Object;
  1814. jqGrid(methodName: "getRowData", rowid?: string, options?: { includeId: boolean, skipHidden?: boolean }): Object[] | Object;
  1815. jqGrid(methodName: "getUniqueValueFromColumnIndex", cmName: string): string[];
  1816. jqGrid(methodName: "hideCol", cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
  1817. jqGrid(methodName: "isBootstrapGuiStyle"): boolean;
  1818. jqGrid(methodName: "isCellEditing", rowid: string, cmName: string, tr?: HTMLTableRowElement): boolean;
  1819. jqGrid(methodName: "isCellEditing", rowid: string, iCol: number, tr?: HTMLTableRowElement): boolean;
  1820. jqGrid(methodName: "isInCommonIconClass", testClassName: string): boolean;
  1821. jqGrid(methodName: "progressBar", iCol: number, newWidth: number, adjustGridWidth?: boolean, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
  1822. jqGrid(methodName: "remapColumns", permutationByName: number[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
  1823. jqGrid(methodName: "remapColumnsByName", permutationByName: string[], updateCells?: boolean, keepHeader?: boolean): FreeJqGrid.JQueryJqGrid;
  1824. jqGrid(methodName: "resetColumnResizerHeight"): FreeJqGrid.JQueryJqGrid;
  1825. jqGrid(methodName: "resetSelection", rowid?: string): FreeJqGrid.JQueryJqGrid;
  1826. jqGrid(methodName: "rotateColumnHeaders", columnNameOrIndexes: string[], headerHeight?: number): FreeJqGrid.JQueryJqGrid;
  1827. jqGrid(methodName: "setCaption", newCaption: string): FreeJqGrid.JQueryJqGrid;
  1828. jqGrid(methodName: "setCell", rowid: string, cmName: string, nData: any, cssp?: string | Object, attrp?: Object, forceUpdate?: boolean): FreeJqGrid.JQueryJqGrid;
  1829. jqGrid(methodName: "setColWidth", iCol: number, newWidth: number, adjustGridWidth?: boolean, skipGridAdjustments?: boolean): FreeJqGrid.JQueryJqGrid;
  1830. jqGrid(methodName: "setGridHeight", newHeight: number | "auto" | "100%" | string): FreeJqGrid.JQueryJqGrid;
  1831. jqGrid(methodName: "setGridParam", newParams: Object, overwrite?: boolean): FreeJqGrid.JQueryJqGrid;
  1832. jqGrid(methodName: "setGridWidth", newWidth: number, shrink?: boolean): FreeJqGrid.JQueryJqGrid;
  1833. jqGrid(methodName: "setLabel", cmName: string, nData: string, cssp?: string | Object, attrp?: Object): FreeJqGrid.JQueryJqGrid;
  1834. jqGrid(methodName: "setRowData", rowid: string, data: any, cssp?: string | Object): boolean;
  1835. jqGrid(methodName: "setSelection", rowid: string, callOnSelectRow: boolean, eventObject: JQueryEventObject): FreeJqGrid.JQueryJqGrid;
  1836. jqGrid(methodName: "showCol", cmName: string[] | string, options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
  1837. jqGrid(methodName: "showHideCol", cmName: string[] | string, show?: boolean | "none" | "", options?: FreeJqGrid.ShowHideColOptions): FreeJqGrid.JQueryJqGrid;
  1838. jqGrid(methodName: "unbindKeys"): FreeJqGrid.JQueryJqGrid;
  1839. // grid.grouping module
  1840. getGroupHeaderIndex?(hid: string, clickedElem?: Element | JQuery): number;
  1841. groupingGroupBy?(name: string | string[], options: FreeJqGrid.GroupingView): FreeJqGrid.JQueryJqGrid;
  1842. groupingPrepare?(record: object, iRow: number): FreeJqGrid.JQueryJqGrid;
  1843. groupingRemove?(current?: boolean): FreeJqGrid.JQueryJqGrid;
  1844. groupingRender?(grdata: string[], rn: number): string;
  1845. groupingSetup?(): FreeJqGrid.JQueryJqGrid;
  1846. groupingToggle?(hid: string, clickedElem?: Element | JQuery): false;
  1847. jqGrid(methodName: "getGroupHeaderIndex", hid: string, clickedElem?: Element | JQuery): number;
  1848. jqGrid(methodName: "groupingGroupBy", name: string | string[], options: FreeJqGrid.GroupingView): FreeJqGrid.JQueryJqGrid;
  1849. jqGrid(methodName: "groupingPrepare", record: object, iRow: number): FreeJqGrid.JQueryJqGrid;
  1850. jqGrid(methodName: "groupingRemove", current?: boolean): FreeJqGrid.JQueryJqGrid;
  1851. jqGrid(methodName: "groupingRender", grdata: string[], rn: number): string;
  1852. jqGrid(methodName: "groupingSetup"): FreeJqGrid.JQueryJqGrid;
  1853. jqGrid(methodName: "groupingToggle", hid: string, clickedElem?: Element | JQuery): false;
  1854. // grid.pivot module
  1855. pivotSetup?(data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions): FreeJqGrid.PivotSetupResult;
  1856. jqPivot?(data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions, gridOpt?: FreeJqGrid.JqGridOptions, ajaxOptions?: FreeJqGrid.PivotAjaxOptions): FreeJqGrid.JQueryJqGrid;
  1857. jqGrid(methodName: "pivotSetup", data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions): FreeJqGrid.PivotSetupResult;
  1858. jqGrid(methodName: "jqPivot", data: any[] | string, pivotOpt: FreeJqGrid.PivotOptions, gridOpt?: FreeJqGrid.JqGridOptions, ajaxOptions?: FreeJqGrid.PivotAjaxOptions): FreeJqGrid.JQueryJqGrid;
  1859. // grid.formedit module
  1860. delGridRow?(rowid: string, options: FreeJqGrid.FormDeletingOptions): FreeJqGrid.JQueryJqGrid;
  1861. editGridRow?(rowid: string, options: FreeJqGrid.FormEditingOptions): FreeJqGrid.JQueryJqGrid;
  1862. FormToGrid?(rowid: string, formid: string | Element | JQuery, mode?: "add" | "set", position?: "first" | "last"): FreeJqGrid.JQueryJqGrid;
  1863. GridToForm?(rowid: string, formid: string | Element | JQuery): FreeJqGrid.JQueryJqGrid;
  1864. navButtonAdd?(pagerIdSelector: string, options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
  1865. navButtonAdd?(options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
  1866. navGrid?(pagerIdSelector: string, navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
  1867. navGrid?(navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
  1868. navSeparatorAdd?(pagerIdSelector: string, options?: { sepclass?: string, sepcontent: string, position: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
  1869. navSeparatorAdd?(options?: { sepclass?: string, sepcontent?: string, position?: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
  1870. searchGrid?(options: FreeJqGrid.SearchingDialogOptions): FreeJqGrid.JQueryJqGrid;
  1871. viewGridRow?(rowid: string, options: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
  1872. jqGrid(methodName: "delGridRow", rowid: string, options: FreeJqGrid.FormDeletingOptions): FreeJqGrid.JQueryJqGrid;
  1873. jqGrid(methodName: "editGridRow", rowid: string, options: FreeJqGrid.FormEditingOptions): FreeJqGrid.JQueryJqGrid;
  1874. jqGrid(methodName: "FormToGrid", rowid: string, formid: string | Element | JQuery, mode?: "add" | "set", position?: "first" | "last"): FreeJqGrid.JQueryJqGrid;
  1875. jqGrid(methodName: "GridToForm", rowid: string, formid: string | Element | JQuery): FreeJqGrid.JQueryJqGrid;
  1876. jqGrid(methodName: "navButtonAdd", pagerIdSelector: string, options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
  1877. jqGrid(methodName: "navButtonAdd", options: FreeJqGrid.navButtonAddOptions): FreeJqGrid.JQueryJqGrid;
  1878. 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;
  1879. jqGrid(methodName: "navGrid", navOptions?: FreeJqGrid.NavOptions, pEdit?: FreeJqGrid.FormEditingOptions, pAdd?: FreeJqGrid.FormEditingOptions, pDel?: FreeJqGrid.FormDeletingOptions, pSearch?: FreeJqGrid.SearchingDialogOptions, pView?: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
  1880. jqGrid(methodName: "navSeparatorAdd", pagerIdSelector: string, options?: { sepclass?: string, sepcontent?: string, position?: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
  1881. jqGrid(methodName: "navSeparatorAdd", options?: { sepclass?: string, sepcontent?: string, position?: "first" | "last" }): FreeJqGrid.JQueryJqGrid;
  1882. jqGrid(methodName: "searchGrid", options: FreeJqGrid.SearchingDialogOptions): FreeJqGrid.JQueryJqGrid;
  1883. jqGrid(methodName: "viewGridRow", rowid: string, options: FreeJqGrid.FormViewingOptions): FreeJqGrid.JQueryJqGrid;
  1884. // grid.custom module
  1885. getColProp?(cmName: string): FreeJqGrid.ColumnModel | {};
  1886. jqGrid(methodName: "getColProp", cmName: string): FreeJqGrid.ColumnModel | {};
  1887. setColProp?(cmName: string, cm: FreeJqGrid.ColumnModel): FreeJqGrid.JQueryJqGrid;
  1888. jqGrid(methodName: "setColProp", cmName: string, cm: FreeJqGrid.ColumnModel): FreeJqGrid.JQueryJqGrid;
  1889. sortGrid?(cmName: string, reload: boolean, sor: string): FreeJqGrid.JQueryJqGrid;
  1890. jqGrid(methodName: "sortGrid", cmName: string, reload: boolean, sor: string): FreeJqGrid.JQueryJqGrid;
  1891. clearBeforeUnload?(): FreeJqGrid.JQueryJqGrid;
  1892. GridDestroy?(): FreeJqGrid.JQueryJqGrid;
  1893. GridUnload?(): FreeJqGrid.JQueryJqGrid;
  1894. setGridState?(state: "hidden" | "visible"): FreeJqGrid.JQueryJqGrid;
  1895. filterToolbar?(options: FreeJqGrid.FilterFoolbarOptions): FreeJqGrid.JQueryJqGrid;
  1896. destroyFilterToolbar?(): FreeJqGrid.JQueryJqGrid;
  1897. destroyGroupHeader?(nullHeader?: boolean): FreeJqGrid.JQueryJqGrid;
  1898. setGroupHeaders?(options: FreeJqGrid.SetGroupHeaderOptions): FreeJqGrid.JQueryJqGrid;
  1899. getNumberOfFrozenColumns?(): number;
  1900. destroyFrozenColumns?(): FreeJqGrid.JQueryJqGrid;
  1901. setFrozenColumns?(options: { mouseWheel: (this: FreeJqGrid.BodyTable, eventObject: JQueryEventObject) => number }): FreeJqGrid.JQueryJqGrid;
  1902. // grid.inlinedit module
  1903. addRow?(options: FreeJqGrid.AddRowOptions): FreeJqGrid.JQueryJqGrid;
  1904. editRow?(rowid: string, options: FreeJqGrid.EditRowOptions): FreeJqGrid.JQueryJqGrid;
  1905. 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;
  1906. inlineNav?(pagerIdSelector: string, options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
  1907. inlineNav?(options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
  1908. saveRow?(rowid: string, options: FreeJqGrid.SaveRowOptions): FreeJqGrid.JQueryJqGrid;
  1909. 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;
  1910. showAddEditButtons?(isEditing: boolean): FreeJqGrid.JQueryJqGrid;
  1911. restoreRow?(rowid: string, options: FreeJqGrid.RestoreRowOptions): FreeJqGrid.JQueryJqGrid;
  1912. restoreRow?(rowid: string, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  1913. jqGrid(methodName: "addRow", options: FreeJqGrid.AddRowOptions): FreeJqGrid.JQueryJqGrid;
  1914. jqGrid(methodName: "editRow", rowid: string, options: FreeJqGrid.EditRowOptions): FreeJqGrid.JQueryJqGrid;
  1915. 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;
  1916. jqGrid(methodName: "inlineNav", pagerIdSelector: string, options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
  1917. jqGrid(methodName: "inlineNav", options?: FreeJqGrid.InlineNavOptions): FreeJqGrid.JQueryJqGrid;
  1918. jqGrid(methodName: "saveRow", rowid: string, options: FreeJqGrid.SaveRowOptions): FreeJqGrid.JQueryJqGrid;
  1919. 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;
  1920. jqGrid(methodName: "showAddEditButtons", isEditing?: boolean): FreeJqGrid.JQueryJqGrid;
  1921. jqGrid(methodName: "restoreRow", rowid: string, options: FreeJqGrid.RestoreRowOptions): FreeJqGrid.JQueryJqGrid;
  1922. jqGrid(methodName: "restoreRow", rowid: string, afterrestorefunc: (this: FreeJqGrid.BodyTable, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  1923. // grid.celledit
  1924. editCell?(iRow: number, iCol: number, ed?: boolean): FreeJqGrid.JQueryJqGrid;
  1925. getChangedCells?(method: "all" | "dirty"): string[];
  1926. GridNav?(): FreeJqGrid.JQueryJqGrid;
  1927. nextCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1928. prevCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1929. restoreCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1930. saveCell?(iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1931. jqGrid(methodName: "editCell", iRow: number, iCol: number, ed?: boolean): FreeJqGrid.JQueryJqGrid;
  1932. jqGrid(methodName: "getChangedCells", method: "all" | "dirty"): string[];
  1933. jqGrid(methodName: "GridNav"): FreeJqGrid.JQueryJqGrid;
  1934. jqGrid(methodName: "nextCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1935. jqGrid(methodName: "prevCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1936. jqGrid(methodName: "restoreCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1937. jqGrid(methodName: "saveCell", iRow: number, iCol: number): FreeJqGrid.JQueryJqGrid;
  1938. // grid.subgrid module
  1939. addSubGrid?(iCol: number, iRow?: number): FreeJqGrid.JQueryJqGrid;
  1940. addSubGridCell?(iCol: number, iRow: number, rowid: string, item: Object): string;
  1941. collapseSubGridRow?(rowid: string): FreeJqGrid.JQueryJqGrid;
  1942. expandSubGridRow?(rowid: string): FreeJqGrid.JQueryJqGrid;
  1943. setSubGrid?(): FreeJqGrid.JQueryJqGrid;
  1944. toggleSubGridRow?(rowid: string): FreeJqGrid.JQueryJqGrid;
  1945. jqGrid(methodName: "addSubGrid", iCol: number, iRow?: number): FreeJqGrid.JQueryJqGrid;
  1946. jqGrid(methodName: "addSubGridCell", iCol: number, iRow: number, rowid: string, item: Object): string;
  1947. jqGrid(methodName: "collapseSubGridRow", rowid: string): FreeJqGrid.JQueryJqGrid;
  1948. jqGrid(methodName: "expandSubGridRow", rowid: string): FreeJqGrid.JQueryJqGrid;
  1949. jqGrid(methodName: "setSubGrid"): FreeJqGrid.JQueryJqGrid;
  1950. jqGrid(methodName: "toggleSubGridRow", rowid: string): FreeJqGrid.JQueryJqGrid;
  1951. // grid.treegrid module
  1952. setTreeNode?(): FreeJqGrid.JQueryJqGrid;
  1953. setTreeGrid?(): FreeJqGrid.JQueryJqGrid;
  1954. expandRow?(item: Object): FreeJqGrid.JQueryJqGrid;
  1955. collapseRow?(item: Object): FreeJqGrid.JQueryJqGrid;
  1956. getRootNodes?(): Object[];
  1957. getNodeDepth?(item: Object): number;
  1958. getNodeParent?(item: Object): Object;
  1959. getNodeChildren?(item: Object): Object[];
  1960. getFullTreeNode?(item: Object): Object[];
  1961. getNodeAncestors?(item: Object): Object[];
  1962. isVisibleNode?(item: Object): boolean;
  1963. isNodeLoaded?(item: Object): boolean;
  1964. expandNode?(item: Object): FreeJqGrid.JQueryJqGrid;
  1965. collapseNode?(item: Object): FreeJqGrid.JQueryJqGrid;
  1966. 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;
  1967. 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;
  1968. setTreeRow?(rowid: string, item: Object): boolean;
  1969. delTreeNode?(rowid: string, skipSelf?: boolean): FreeJqGrid.JQueryJqGrid;
  1970. addChildNode?(nodeid: string, parentid: string, item: Object, expandData?: boolean): FreeJqGrid.JQueryJqGrid;
  1971. jqGrid(methodName: "setTreeNode"): FreeJqGrid.JQueryJqGrid;
  1972. jqGrid(methodName: "setTreeGrid"): FreeJqGrid.JQueryJqGrid;
  1973. jqGrid(methodName: "expandRow", item: Object): FreeJqGrid.JQueryJqGrid;
  1974. jqGrid(methodName: "collapseRow", item: Object): FreeJqGrid.JQueryJqGrid;
  1975. jqGrid(methodName: "getRootNodes"): Object[];
  1976. jqGrid(methodName: "getNodeDepth", item: Object): number;
  1977. jqGrid(methodName: "getNodeParent", item: Object): Object;
  1978. jqGrid(methodName: "getNodeChildren", item: Object): Object[];
  1979. jqGrid(methodName: "getFullTreeNode", item: Object): Object[];
  1980. jqGrid(methodName: "getNodeAncestors", item: Object): Object[];
  1981. jqGrid(methodName: "isVisibleNode", item: Object): boolean;
  1982. jqGrid(methodName: "isNodeLoaded", item: Object): boolean;
  1983. jqGrid(methodName: "expandNode", item: Object): FreeJqGrid.JQueryJqGrid;
  1984. jqGrid(methodName: "collapseNode", item: Object): FreeJqGrid.JQueryJqGrid;
  1985. 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;
  1986. 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;
  1987. jqGrid(methodName: "setTreeRow", rowid: string, item: Object): boolean;
  1988. jqGrid(methodName: "delTreeNode", rowid: string, skipSelf?: boolean): FreeJqGrid.JQueryJqGrid;
  1989. jqGrid(methodName: "addChildNode", nodeid: string, parentid: string, item: Object, expandData?: boolean): FreeJqGrid.JQueryJqGrid;
  1990. // grid.import module
  1991. jqGridImport?(options: FreeJqGrid.JqGridImportOptions): FreeJqGrid.JQueryJqGrid;
  1992. jqGridExport?(options?: { exptype?: "xmlstring" | "jsonstring", root?: "grid" | string, ident?: "\t" | string }): string;
  1993. excelExport?(options?: { exptype?: "remote" | string, url?: null | string, oper?: "oper" | string, tag?: "excel" | string, exportOptions?: Object }): FreeJqGrid.JQueryJqGrid;
  1994. jqGrid(methodName: "jqGridImport", options: FreeJqGrid.JqGridImportOptions): FreeJqGrid.JQueryJqGrid;
  1995. jqGrid(methodName: "jqGridExport", options?: { exptype?: "xmlstring" | "jsonstring", root?: "grid" | string, ident?: "\t" | string }): string;
  1996. jqGrid(methodName: "excelExport", options?: { exptype?: "remote" | string, url?: null | string, oper?: "oper" | string, tag?: "excel" | string, exportOptions?: Object }): FreeJqGrid.JQueryJqGrid;
  1997. // grid.filter module: jqFilter
  1998. jqFilter(options: FreeJqGrid.JqFilterOptions): JQuery;
  1999. jqFilter(methodName: "toSQLString"): string;
  2000. jqFilter(methodName: "filterData"): string;
  2001. jqFilter(methodName: "getParameter", name: string): any;
  2002. jqFilter(methodName: "toSQLString"): string;
  2003. jqFilter(methodName: "resetFilter"): JQuery;
  2004. jqFilter(methodName: "addFilter", filter: string | FreeJqGrid.Filter): void;
  2005. // jqmodal module: jqModal
  2006. jqm(options: FreeJqGrid.JqModalOptions): JQuery;
  2007. jqmAddClose(trigger: Element | string | JQuery): JQuery;
  2008. jqmAddTrigger(trigger: Element | string | JQuery): JQuery;
  2009. jqmShow(trigger: Element | string | JQuery): JQuery;
  2010. jqmHide(trigger: Element | string | JQuery): JQuery;
  2011. // jqdnr module: jqDnR - Minimalistic Drag'n'Resize for jQuery
  2012. jqDrag(handle: Element | string | JQuery): JQuery;
  2013. jqResize(handle: Element | string | JQuery, alsoResize: Element | string | JQuery): JQuery;
  2014. // jqGrid events
  2015. 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;
  2016. on(eventName: "jqGridAfterChangeRowid", handler: (ventObject: JQueryEventObject, options: { rowid: string, oldRowid: string, iRow: number, tr: HTMLTableRowElement }) => void): FreeJqGrid.JQueryJqGrid;
  2017. on(eventName: "jqGridAfterDelRow", handler: (eventObject: JQueryEventObject, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  2018. on(eventName: "jqGridAfterInsertRow", handler: (eventObject: JQueryEventObject, rowid: string, item: { [cmOrPropName: string]: any }, srcItem: any) => void): FreeJqGrid.JQueryJqGrid;
  2019. on(eventName: "jqGridAfterLoadComplete", handler: (eventObject: JQueryEventObject, data: any) => void): FreeJqGrid.JQueryJqGrid;
  2020. 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;
  2021. on(eventName: "jqGridAfterResizeDblClick", handler: (eventObject: JQueryEventObject, options: { iCol: number, cm: FreeJqGrid.ColumnModel, cmName: string }) => void): FreeJqGrid.JQueryJqGrid;
  2022. on(eventName: "jqGridBeforeInitGrid", handler: (eventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2023. on(eventName: "jqGridBeforeProcessing", handler: (eventObject: JQueryEventObject, data: any, textStatus: string, jqXhr: JQueryXHR) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2024. on(eventName: "jqGridBeforeRequest", handler: (eventObject: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2025. on(eventName: "jqGridBeforeSelectRow", handler: (eventObject: JQueryEventObject, rowid: string, orgEventObject: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2026. on(eventName: "jqGridGridComplete", handler: (eventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2027. on(eventName: "jqGridLoadBeforeSend", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, settings: JQueryAjaxSettings) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2028. on(eventName: "jqGridLoadComplete", handler: (eventObject: JQueryEventObject, data: any) => void): FreeJqGrid.JQueryJqGrid;
  2029. on(eventName: "jqGridDblClickRow", handler: (eventObject: JQueryEventObject, rowid: string, iRow: number, iCol: number, orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2030. on(eventName: "jqGridHeaderClick", handler: (eventObject: JQueryEventObject, gridState: "visible" | "hidden", orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2031. on(eventName: "jqGridInitGrid", handler: (eventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2032. 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;
  2033. on(eventName: "jqGridRightClickRow", handler: (eventObject: JQueryEventObject, rowid: string, iRow: number, iCol: number, orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2034. on(eventName: "jqGridSelectAll", handler: (eventObject: JQueryEventObject, rowids: string[], toCheck: boolean) => void): FreeJqGrid.JQueryJqGrid;
  2035. on(eventName: "jqGridSelectRow", handler: (eventObject: JQueryEventObject, rowid: string, state: boolean, orgEventObject: JQueryEventObject) => void): FreeJqGrid.JQueryJqGrid;
  2036. on(eventName: "jqGridSerializeGridData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
  2037. on(eventName: "jqGridShowHideCol", handler: (eventObject: JQueryEventObject, show: boolean | "none" | "", cmName: string, iCol: number, options: FreeJqGrid.ShowHideColOptions) => void): FreeJqGrid.JQueryJqGrid;
  2038. on(eventName: "jqGridSortCol", handler: (eventObject: JQueryEventObject, cmOrIndexName: string, iCol: number, sortOrder: string, orgEventObject?: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2039. on(eventName: "jqGridRemapColumns", handler: (eventObject: JQueryEventObject, permutation: number[], updateCells?: boolean, keepHeader?: boolean) => void): FreeJqGrid.JQueryJqGrid;
  2040. on(eventName: "jqGridResizeDblClick", handler: (eventObject: JQueryEventObject, iCol: number, cm: FreeJqGrid.ColumnModel, orgEventObject: JQueryEventObject) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2041. on(eventName: "jqGridResizeStart", handler: (eventObject: JQueryEventObject, orgEventObject: JQueryEventObject, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
  2042. on(eventName: "jqGridResizeStop", handler: (eventObject: JQueryEventObject, newWidth: number, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
  2043. on(eventName: "jqGridResetFrozenHeights", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.ResetFrozenHeightsOptions) => void): FreeJqGrid.JQueryJqGrid;
  2044. // grouping event
  2045. on(eventName: "jqGridGroupingClickGroup", handler: (eventObject: JQueryEventObject, hid: string, collapsed: boolean) => void): FreeJqGrid.JQueryJqGrid;
  2046. // form editing events
  2047. on(eventName: "jqGridAddEditAfterClickPgButtons", handler: (eventObject: JQueryEventObject, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  2048. on(eventName: "jqGridAddEditAfterComplete", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
  2049. on(eventName: "jqGridAddEditAfterShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
  2050. on(eventName: "jqGridAddEditAfterSubmit", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, postdata: Object | string, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
  2051. on(eventName: "jqGridAddEditBeforeCheckValues", handler: (eventObject: JQueryEventObject, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => Object | void): FreeJqGrid.JQueryJqGrid;
  2052. on(eventName: "jqGridAddEditBeforeInitData", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
  2053. on(eventName: "jqGridAddEditBeforeShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
  2054. on(eventName: "jqGridAddEditBeforeSubmit", handler: (eventObject: JQueryEventObject, postdata: Object | string, $form: JQuery, editOrAdd: "edit" | "add") => [true] | [true, any] | true | null | undefined | [false, string]): FreeJqGrid.JQueryJqGrid;
  2055. on(eventName: "jqGridAddEditClickPgButtons", handler: (eventObject: JQueryEventObject, whichButton: "next" | "prev", $form: JQuery, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  2056. on(eventName: "jqGridAddEditClickSubmit", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.FormEditingOptions, postdata: Object | string, editOrAdd: "edit" | "add") => Object | string): FreeJqGrid.JQueryJqGrid;
  2057. on(eventName: "jqGridAddEditInitializeForm", handler: (eventObject: JQueryEventObject, $form: JQuery, editOrAdd: "edit" | "add") => void): FreeJqGrid.JQueryJqGrid;
  2058. on(eventName: "jqGridAddEditSerializeEditData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
  2059. // form view events
  2060. on(eventName: "jqGridViewBeforeInitData", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
  2061. on(eventName: "jqGridViewBeforeShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
  2062. // form deleting events
  2063. on(eventName: "jqGridDeleteAfterShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
  2064. on(eventName: "jqGridDeleteAfterComplete", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, postdata: Object | string, $form: JQuery, rowids: string[]) => void): FreeJqGrid.JQueryJqGrid;
  2065. on(eventName: "jqGridDeleteBeforeInitData", handler: (eventObject: JQueryEventObject, $form: JQuery) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2066. on(eventName: "jqGridDeleteBeforeShowForm", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
  2067. // searching form
  2068. on(eventName: "jqGridFilterAfterChange", handler: (eventObject: JQueryEventObject, $form: JQuery, options: FreeJqGrid.SearchingDialogOptions, filterOptions: FreeJqGrid.JqFilterOptions, searchFilterDiv: FreeJqGrid.JqFilterDiv) => void): FreeJqGrid.JQueryJqGrid;
  2069. on(eventName: "jqGridFilterAfterShow", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
  2070. on(eventName: "jqGridFilterInitialize", handler: (eventObject: JQueryEventObject, $form: JQuery) => void): FreeJqGrid.JQueryJqGrid;
  2071. on(eventName: "jqGridFilterBeforeShow", handler: (eventObject: JQueryEventObject, $form: JQuery) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2072. // inline editing events
  2073. on(eventName: "jqGridInlineBeforeAddRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.AddRowOptions) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2074. on(eventName: "jqGridInlineBeforeCancelRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.RestoreRowOptions, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2075. on(eventName: "jqGridInlineBeforeEditRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.EditRowOptions, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2076. on(eventName: "jqGridInlineBeforeSaveRow", handler: (eventObject: JQueryEventObject, options: FreeJqGrid.EditRowOptions, rowid: string, editOrAdd: "add" | "edit") => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2077. on(eventName: "jqGridInlineAfterRestoreRow", handler: (eventObject: JQueryEventObject, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  2078. on(eventName: "jqGridInlineEditRow", handler: (eventObject: JQueryEventObject, rowid: string, options: FreeJqGrid.EditRowOptions) => void): FreeJqGrid.JQueryJqGrid;
  2079. 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;
  2080. on(eventName: "jqGridInlineAfterSaveRow", handler: (eventObject: JQueryEventObject, rowid: string, jqXhr: JQueryXHR, postData: any, options: FreeJqGrid.SaveRowOptions) => void): FreeJqGrid.JQueryJqGrid;
  2081. on(eventName: "jqGridInlineSerializeSaveData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
  2082. on(eventName: "jqGridInlineSuccessSaveRow", handler: (eventObject: JQueryEventObject, jqXhr: JQueryXHR, rowid: string, options: FreeJqGrid.SaveRowOptions) => boolean | [boolean, any]): FreeJqGrid.JQueryJqGrid;
  2083. on(eventName: "jqGridInlineErrorSaveRow", handler: (eventObject: JQueryEventObject, rowid: string, jqXhr: JQueryXHR, textStatus: string, errorThrown: string, options: FreeJqGrid.SaveRowOptions) => void): FreeJqGrid.JQueryJqGrid;
  2084. // cell editing events
  2085. on(eventName: "jqGridBeforeEditCell", handler: (eventObject: JQueryEventObject, rowid: string, cmName: string, data: string, iRow: number, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
  2086. on(eventName: "jqGridAfterEditCell", handler: (eventObject: JQueryEventObject, rowid: string, cmName: string, data: string, iRow: number, iCol: number) => void): FreeJqGrid.JQueryJqGrid;
  2087. // subgrid events
  2088. on(eventName: "jqGridSerializeSubGridData", handler: (eventObject: JQueryEventObject, postdata: Object) => Object | string): FreeJqGrid.JQueryJqGrid;
  2089. on(eventName: "jqGridSubGridBeforeCollapse", handler: (eventObject: JQueryEventObject, subgridDivId: string, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2090. on(eventName: "jqGridSubGridBeforeExpand", handler: (eventObject: JQueryEventObject, subgridDivId: string, rowid: string) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2091. on(eventName: "jqGridSubGridRowExpanded", handler: (eventObject: JQueryEventObject, subgridDivId: string, rowid: string) => void): FreeJqGrid.JQueryJqGrid;
  2092. // TreeGrid events
  2093. on(eventName: "jqGridTreeGridAfterCollapseNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
  2094. on(eventName: "jqGridTreeGridAfterCollapseRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
  2095. on(eventName: "jqGridTreeGridAfterExpandNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
  2096. on(eventName: "jqGridTreeGridAfterExpandRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => void): FreeJqGrid.JQueryJqGrid;
  2097. on(eventName: "jqGridTreeGridBeforeCollapseNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2098. on(eventName: "jqGridTreeGridBeforeCollapseRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2099. on(eventName: "jqGridTreeGridBeforeExpandNode", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2100. on(eventName: "jqGridTreeGridBeforeExpandRow", handler: (eventObject: JQueryEventObject, options: { rowid: string, item: Object }) => FreeJqGrid.BooleanFeedbackValues): FreeJqGrid.JQueryJqGrid;
  2101. }