libjquery.pas 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. unit libjquery;
  2. {$mode objfpc}
  3. {$modeswitch externalclass}
  4. interface
  5. uses js, web;
  6. Type
  7. TJQueryTopLeft = record
  8. top,left : integer;
  9. end;
  10. { // Sections/categories in the API documentation site to be checked/added.
  11. Todo : Deferred
  12. Todo : Effects
  13. Todo : events
  14. Todo : Forms
  15. Todo : Internals
  16. Todo : Manipulation
  17. Todo : Properties
  18. }
  19. TJQuery = class;
  20. TCallback = Procedure (args : JSValue);
  21. TCallbackEvent = Procedure (args : JSValue);
  22. TCallbacks = class external name 'Callbacks'
  23. Public
  24. function add(aCallBack : TCallBack) : TCallbacks;
  25. function add(aCallBack : Array of TCallBack) : TCallbacks;
  26. function add(aCallBack : TCallBackEvent) : TCallbacks;
  27. function add(aCallBack : Array of TCallBackEvent) : TCallbacks;
  28. function disable : TCallBacks;
  29. function disabled : Boolean;
  30. function empty : TCallBacks;
  31. function fire(arguments : JSValue) : TCallbacks; varargs;
  32. function fired : Boolean;
  33. function fireWith(context : JSValue; arguments : JSValue) : TCallbacks;
  34. function has(aCallBack : TCallBack) : Boolean;
  35. function has(aCallBack : TCallBackEvent) : Boolean;
  36. function lock : TCallBacks;
  37. function locked : boolean;
  38. function remove(aCallBack : TCallBack) : TCallbacks;
  39. function remove(aCallBack : Array of TCallBack) : TCallbacks;
  40. function remove(aCallBack : TCallBackEvent) : TCallbacks;
  41. function remove(aCallBack : Array of TCallBackEvent) : TCallbacks;
  42. end;
  43. { TJQuery }
  44. TJQueryAddClassHandler = Reference to Function (aIndex : Integer; AClass : String) : String;
  45. TJQueryAttrHandler = Reference to Function (aIndex : Integer; aAttr : String) : JSValue;
  46. TJQueryCSSHandler = Reference to Function (aIndex : Integer; AClass : String) : JSValue ;
  47. TJQueryEachHandler = Reference to Function (aIndex : Integer; AElement : TJSElement) : Boolean;
  48. TJQueryFilterHandler = Reference to Function (aIndex : Integer; AElement : TJSElement) : Boolean;
  49. TJQueryHeightHandler = Reference to Function (aIndex : Integer; AHeight : jsValue) : JSValue ;
  50. TJQueryHTMLHandler = Reference to Function(aIndex : Integer; aHTML : String) : String;
  51. TJQueryMapHandler = Reference to Function (aIndex : Integer; AElement : TJSElement) : TJSObject;
  52. TJQueryOffsetHandler = Reference to Function (aIndex : Integer; aCoords : TJQueryTopLeft) : TJQueryTopLeft;
  53. TJQueryPropHandler = Reference to Function(aIndex : Integer; oldProp : JSValue) : JSValue;
  54. TJQueryQueueHandler = Reference to procedure;
  55. TJQueryTextHandler = Reference to Function(aIndex : Integer; aString : String) : String;
  56. TJQueryToggleClassHandler = Reference to Function(aIndex : Integer; aClassName : string; AState : Boolean) : String;
  57. TJQueryValHandler = Reference to Function(aIndex :integer; aValue : String) : String;
  58. TJQueryWidthHandler = Reference to Function (aIndex : Integer; AHeight : jsValue) : JSValue ;
  59. TJQueryDeQueueFunction = Reference to Procedure;
  60. TJQueryAddQueueHandler = Reference to Procedure (aFunc : TJQueryDeQueueFunction);
  61. TAjaxEvent = class external name 'AjaxEvent' (TJSEvent);
  62. TDeferredDoneHandler = reference to function : Boolean;
  63. TJQueryDeferred = class external name 'Deferred' (TJSObject)
  64. Public
  65. Function done(aHandler :TDeferredDoneHandler) : TJQueryDeferred; overload;
  66. Function done(aHandlers : Array of TDeferredDoneHandler) : TJQueryDeferred; overload;
  67. end;
  68. TJQXHR = class;
  69. TJQXHRDoneHandler = reference to function(aData : jsValue; textStatus : String; aJQXHR : TJQXHR) : boolean;
  70. TJQXHRFailHandler = reference to function(aJQXHR : TJQXHR; textStatus : String; AErrorThrown : jsValue) : boolean;
  71. TJQXHRAlwaysHandler = reference to function(arg1 : TJSObject; textStatus : String; arg2 : TJSObject) : boolean;
  72. TJQXHR = class external name 'jqXHR' (TJQueryDeferred)
  73. private
  74. FReadyState: NativeInt; external name 'readyState';
  75. //FResponse: JSValue; external name 'response';
  76. FResponseText: string; external name 'responseText';
  77. FresponseXML: TJSDocument; external name 'responseXML';
  78. //FUpload: TJSXMLHttpRequestUpload; external name 'upload';
  79. FStatus : NativeInt; external name 'status';
  80. FStatusText : String; external name 'statustext';
  81. public
  82. function getResponseHeader(aName : string) : String;
  83. function getAllResponseHeaders : String;
  84. procedure overrideMimeType(aType : String);
  85. procedure setRequestHeader(aName, AValue : string);
  86. procedure done(aHandler : TJQXHRDoneHandler); overload;
  87. procedure always(aHandler : TJQXHRAlwaysHandler); overload;
  88. procedure fail(aHandler : TJQXHRFailHandler); overload;
  89. procedure _then(aSuccess : TJQXHRDoneHandler; aFail : TJQXHRFailHandler); overload;
  90. procedure abort;
  91. procedure abort(AStatusText : String);
  92. property readyState : NativeInt read FReadyState;
  93. property ResponseHeaders[aName : string] : string Read getResponseHeader;
  94. property responseXML : TJSDocument read FresponseXML;
  95. property responseText : string read FResponseText;
  96. property status : NativeInt read FStatus;
  97. property statusText : string read FStatusText;
  98. end;
  99. TJSAjaxSettings = class;
  100. TJQueryAjaxSettingsHandler = Reference to Function (aHXR : TJQXHR; aOptions : TJSAjaxSettings) : Boolean;
  101. TJQueryAjaxSettingsDataFilter = Reference to function (aData: String; aType : string) : JSValue;
  102. TJQueryAjaxSettingsErrorHandler = Reference to Function (aHXR : TJQXHR; aOptions : TJSAjaxSettings; aStatus, aError : String) : Boolean;
  103. TJQueryAjaxSettingsSuccessHandler = Reference to Function (data : JSValue; aStatus : String; aHXR : TJQXHR) : Boolean;
  104. TJQueryAjaxSettsingsXHRHandler = reference to function : JSValue;
  105. TJSAjaxSettings = class external name 'Object' (TJSObject)
  106. accepts : TJSObject;
  107. async : boolean;
  108. beforeSend : TJQueryAjaxSettingsHandler;
  109. cache : boolean;
  110. complete : TJQueryAjaxSettingsHandler;
  111. contents : TJSObject;
  112. contentType : String;
  113. context : TJSObject;
  114. converters : TJSObject;
  115. crossDomain : boolean;
  116. data : JSValue;
  117. dataFilter : TJQueryAjaxSettingsDataFilter;
  118. dataType : String;
  119. error : TJQueryAjaxSettingsErrorHandler;
  120. global: boolean;
  121. headers : TJSObject;
  122. ifModified : Boolean;
  123. isLocal : Boolean;
  124. json : String;
  125. jsonpCallback : String;
  126. method : string;
  127. mimeType : string;
  128. password : string;
  129. processData : Boolean;
  130. scriptCharset : String;
  131. statusCode : TJSObject;
  132. success : TJQueryAjaxSettingsSuccessHandler;
  133. timeout : NativeInt;
  134. traditional : boolean;
  135. url : string;
  136. username : string;
  137. xhr : TJQueryAjaxSettsingsXHRHandler;
  138. xhrFields : TJSObject;
  139. end;
  140. TJQueryAjaxTransportCompleteHandler = function (aStatus : NativeInt; aStatusText : string; responses, Headers : TJSObject) : Boolean;
  141. TJQueryAjaxTransportSendHandler = reference to function(headers: TJSObject; onComplete : TJQueryAjaxTransportCompleteHandler) : boolean;
  142. TJQueryAjaxTransportAbortHandler = reference to function () : Boolean;
  143. TJQueryAjaxTransport = record
  144. send : TJQueryAjaxTransportSendHandler;
  145. abort : TJQueryAjaxTransportAbortHandler;
  146. end;
  147. TJQueryAjaxTransportHandler = reference to Function (aOptions,aOriginalOptions : TJSObject; aXHR : TJQXHR) : TJQueryAjaxTransport;
  148. TJQueryAjaxPrefilterHandler = reference to procedure (aOptions,aOriginalOptions : TJSObject; aXHR : TJQXHR);
  149. TJQueryAjaxEventHandler = Reference to Function (aEvent : TAjaxEvent; aHXR : TJQXHR; aOptions : TJSAjaxSettings) : Boolean;
  150. TJQueryAjaxErrorHandler = Reference to Function (aEvent : TAjaxEvent; aHXR : TJQXHR; aOptions : TJSAjaxSettings; aError : String) : Boolean;
  151. TJQueryAjaxSuccessHandler = Reference to function (aData : TJSObject; aStatus : String; aXHR : TJQXHR) : Boolean;
  152. TJQueryAjaxLoadHandler = Reference to function (aResponseText,aStatus : String; aXHR : TJQXHR) : Boolean;
  153. TJQueryAjaxScriptHandler = Reference to function (aScript,aStatus : String; aXHR : TJQXHR) : Boolean;
  154. TJQueryAjaxHandler = Reference to procedure;
  155. TJQuery = class external name 'JQuery' (TJSObject)
  156. private
  157. FCSSHooks: TJSObject; external name 'cssHooks';
  158. FCSSNumber: TJSObject; external name 'cssNumber';
  159. FReady: TJSPromise; external name 'ready';
  160. function getEl(aIndex : Integer) : TJSElement; external name 'get';
  161. Public
  162. function add(Const aSelector : String) : TJQuery;overload;
  163. function add(Const aSelector : String; AContext : TJSElement) : TJQuery;overload;
  164. function add(Const aElement : TJSElement) : TJQuery;overload;
  165. function add(Const aElement : Array of TJSElement) : TJQuery;overload;
  166. function add(Const aQuery : TJQuery) : TJQuery;overload;
  167. function addBack(Const aSelector : String) : TJQuery;overload;
  168. function addBack : TJQuery;overload;
  169. function addClass(Const aClass : String) : TJQuery;overload;
  170. function addClass(Const aClassFunction : TJQueryAddClassHandler) : TJQuery; overload;
  171. function ajaxComplete(aHandler : TJQueryAjaxEventHandler) : TJQuery;
  172. function ajaxError(aHandler : TJQueryAjaxEventHandler) : TJQuery;
  173. function ajaxSend(aHandler : TJQueryAjaxEventHandler) : TJQuery;
  174. function ajaxStart(aHandler : TJQueryAjaxHandler) : TJQuery;
  175. function ajaxStop(aHandler : TJQueryAjaxHandler) : TJQuery;
  176. function ajaxSuccess(aHandler : TJQueryAjaxEventHandler) : TJQuery;
  177. class function ajax(aURL : String; aSettings : TJSObject) : tJQXHR; overload;
  178. class function ajax(aSettings : TJSObject) : tJQXHR; overload;
  179. class function ajax(aSettings : TJSAjaxSettings) : tJQXHR; overload;
  180. class procedure ajaxPrefilter(dataTypes : string; aHandler : TJQueryAjaxPrefilterHandler);overload;
  181. class procedure ajaxSetup(aSettings : TJSAjaxSettings); overload;
  182. class procedure ajaxSetup(aSettings : TJSObject); overload;
  183. class procedure ajaxTransport(aDataType : string; AHandler : TJQueryAjaxTransportHandler);
  184. function attr(Const attributeName : string) : string;overload;
  185. function attr(Const attributeName : string; Const Value : String) : TJQuery;overload;
  186. function attr(Const attributes : TJSObject) : TJQuery;overload;
  187. function attr(Const attributeName : string; aHandler : TJQueryAttrHandler) : TJQuery;overload;
  188. class function Callbacks : TCallbacks;overload;
  189. class function Callbacks(const aFlags : string) : TCallbacks;overload;
  190. function children(Const aSelector : String) : TJQuery;overload;
  191. function children : TJQuery;overload;
  192. function clearQueue : TJQuery;overload;
  193. function clearQueue(const aQueueName : String) : TJQuery;overload;
  194. function closest(Const aSelector : String) : TJQuery;overload;
  195. function closest(Const aSelector : String; AContext : TJSElement) : TJQuery;overload;
  196. function closest(Const aQuery : TJQuery) : TJQuery;overload;
  197. function closest(Const aElement : TJSElement) : TJQuery;overload;
  198. function contents : TJQuery;
  199. function css(Const aPropertyName : TJSObject) : string; overload;
  200. function css(Const aPropertyName : String) : string; overload;
  201. function css(Const aPropertyNames : Array of String) : string;overload;
  202. function css(Const aPropertyName, Avalue : String) : TJQuery;overload;
  203. function css(Const aPropertyName : String; Avalue : Integer) : TJQuery;overload;
  204. function css(Const aPropertyName : String; AHandler : TJQueryCSSHandler) : TJQuery;overload;
  205. class function data(aElement : TJSElement; const aKey : String; aValue : jsValue) : TJSObject;overload;
  206. class function data(aElement : TJSElement; const aKey : String) : TJSObject;overload;
  207. class function data(aElement : TJSElement) : TJSObject;overload;
  208. function data(aKey : String; aValue : JSValue) : TJQuery;overload;
  209. function data(aObj : TJSObject) : TJQuery;overload;
  210. function data(aKey : String) : TJSObject;overload;
  211. function data : TJSObject;overload;
  212. function dequeue : TJQuery;overload;
  213. function dequeue(const aQueueName : String) : TJQuery;overload;
  214. class function dequeue(aElement : TJSElement) : TJQuery;overload;
  215. class function dequeue(aElement : TJSElement; const aQueueName : String) : TJQuery;overload;
  216. function _end : TJQuery; external name 'end';
  217. function eq(AIndex : Integer) : TJQuery;
  218. function each(aHandler : TJQueryEachHandler) : TJQuery;
  219. class function escapeSelector(const S : String) : String;
  220. function filter(Const aSelector : String) : TJQuery;overload;
  221. function filter(aHandler : TJQueryFilterHandler) : TJQuery;overload;
  222. function filter(Const aQuery : TJQuery) : TJQuery;overload;
  223. function filter(Const aElement : TJSElement) : TJQuery;overload;
  224. function filter(Const aElements : Array of TJSElement) : TJQuery;overload;
  225. function find(Const aSelector : String) : TJQuery;overload;
  226. function find(Const aQuery : TJQuery) : TJQuery;overload;
  227. function find(Const aElement : TJSElement) : TJQuery;overload;
  228. function first : TJQuery;
  229. function get(aIndex : Integer) : TJSElement;overload;
  230. class function get : TJQXHR;overload;
  231. class function get(url : String) : TJQXHR;overload;
  232. class function get(url,Data : String) : TJQXHR;overload;
  233. class function get(url : String; Data : TJSObject) : TJQXHR;overload;
  234. class function get(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  235. class function get(url,Data : String; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  236. class function get(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  237. class function get(url,Data : String; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  238. class function get(aSettings : TJSAjaxSettings) : TJQXHR; overload;
  239. class function get(aSettings : TJSObject) : TJQXHR; overload;
  240. class function getJSON(url : String) : TJQXHR;overload;
  241. class function getJSON(url,Data : String) : TJQXHR;overload;
  242. class function getJSON(url : String; Data : TJSObject) : TJQXHR;overload;
  243. class function getJSON(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  244. class function getJSON(url,Data : String; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  245. class function getJSON(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  246. class function getJSON(url,Data : String; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  247. class function getScript(url : String) : TJQXHR;overload;
  248. class function getScript(url : String; aSuccess : TJQueryAjaxScriptHandler) : TJQXHR;overload;
  249. function has(Const aSelector : String) : TJQuery;
  250. function has(Const aQuery : TJQuery) : TJQuery;
  251. function hasClass(Const aClassName : String) : Boolean;
  252. class function hasData(aElement : TJSElement) : Boolean;
  253. function height: Integer;
  254. function height(aValue: Integer) : TJQuery;
  255. function height(aValue: String) : TJQuery;
  256. function height(aHandler: TJQueryHeightHandler) : TJQuery;
  257. function html : String;
  258. function html(Const aHTML : String) : TJQuery;
  259. function html(Const aHandler : TJQueryHTMLHandler) : TJQuery;
  260. function innerHeight: Integer;
  261. function innerHeight(aValue: Integer) : TJQuery;
  262. function innerHeight(aValue: String) : TJQuery;
  263. function innerHeight(aHandler: TJQueryHeightHandler) : TJQuery;
  264. function innerWidth: Integer;
  265. function innerWidth(aValue: Integer) : TJQuery;
  266. function innerWidth(aValue: String) : TJQuery;
  267. function innerWidth(aHandler: TJQueryWidthHandler) : TJQuery;
  268. function _is(Const aSelector : String) : TJQuery; external name 'is';
  269. function _is(Const aQuery : TJQuery) : TJQuery; external name 'is';
  270. function _is(aHandler : TJQueryFilterHandler) : TJQuery; external name 'is';
  271. function _is(Const aElement : TJSElement) : TJQuery; external name 'is';
  272. function _is(Const aElements : Array of TJSElement) : TJQuery; external name 'is';
  273. function last : TJQuery;
  274. class function load(url : String) : TJQXHR;overload;
  275. class function load(url,Data : String) : TJQXHR;overload;
  276. class function load(url : String; Data : TJSObject) : TJQXHR;overload;
  277. class function load(url : String; Data : TJSObject; success : TJQueryAjaxLoadHandler) : TJQXHR;overload;
  278. class function load(url,Data : String; success : TJQueryAjaxLoadHandler) : TJQXHR;overload;
  279. function map(aHandler : TJQueryMapHandler) : TJQuery;
  280. function next : TJQuery;overload;
  281. function next(const aSelector : String) : TJQuery;overload;
  282. function nextAll : TJQuery;overload;
  283. function nextAll(const aSelector : String) : TJQuery;overload;
  284. function nextUntil : TJQuery;overload;
  285. function nextUntil(const aSelector : String) : TJQuery;overload;
  286. function nextUntil(const aSelector,aFilter : String) : TJQuery;overload;
  287. function nextUntil(const aElement : TJSElement) : TJQuery;overload;
  288. function nextUntil(const aElement : TJSElement; aFilter : String) : TJQuery;overload;
  289. function nextUntil(const aQuery : TJQuery) : TJQuery;overload;
  290. function nextUntil(const aQuery : TJQuery; aFilter : String) : TJQuery;overload;
  291. function _not(const aSelector : String) : TJQuery; external name 'not';overload;
  292. function _not(const aSelector : TJSElement) : TJQuery; external name 'not';overload;
  293. function _not(const aSelector : Array of TJSElement) : TJQuery; external name 'not';overload;
  294. function _not(const aSelector : TJQuery) : TJQuery; external name 'not';overload;
  295. function _not(const aSelector : TJQueryFilterHandler) : TJQuery;external name 'not';overload;
  296. function noConflict : TJSObject;overload;
  297. function noConflict(removeAll: Boolean) : TJSObject;overload;
  298. function offSet: Integer;overload;
  299. function offSet(const aOffset : TJQueryTopLeft): TJQuery;overload;
  300. function offSet(aHandler : TJQueryOffsetHandler): TJQuery;overload;
  301. Function offsetParent : TJQuery;
  302. function outerHeight(IncludeMargin : Boolean): Integer;overload;
  303. function outerHeight: Integer;overload;
  304. function outerHeight(aValue: Integer) : TJQuery;overload;
  305. function outerHeight(aValue: String) : TJQuery;overload;
  306. function outerHeight(aHandler: TJQueryHeightHandler) : TJQuery;overload;
  307. function outerWidth(IncludeMargin : Boolean): Integer;overload;
  308. function outerWidth: Integer;overload;
  309. function outerWidth(aValue: Integer) : TJQuery;overload;
  310. function outerWidth(aValue: String) : TJQuery;overload;
  311. function outerWidth(aHandler: TJQueryWidthHandler) : TJQuery;overload;
  312. class function param (aObject : String) : String;overload;
  313. class function param (aObject : TJSObject) : String;overload;
  314. class function param (aObject : TJQuery) : String;overload;
  315. class function param (aObject : String; traditional : Boolean) : String;overload;
  316. class function param (aObject : TJSObject; traditional : Boolean) : String;overload;
  317. class function param (aObject : TJQuery; traditional : Boolean) : String;overload;
  318. Function parent : TJQuery;
  319. Function parent (const ASelector: String) : TJQuery;
  320. Function parents : TJQuery;
  321. Function parents (const ASelector: String) : TJQuery;
  322. function parentsUntil : TJQuery;
  323. function parentsUntil(const aSelector : String) : TJQuery;
  324. function parentsUntil(const aSelector,aFilter : String) : TJQuery;
  325. function parentsUntil(const aElement : TJSElement) : TJQuery;
  326. function parentsUntil(const aElement : TJSElement; aFilter : String) : TJQuery;
  327. function parentsUntil(const aQuery : TJQuery) : TJQuery;
  328. function parentsUntil(const aQuery : TJQuery; aFilter : String) : TJQuery;
  329. function position : TJQueryTopLeft;
  330. class function post(url : String) : TJQXHR;overload;
  331. class function post(url,Data : String) : TJQXHR;overload;
  332. class function post(url : String; Data : TJSObject) : TJQXHR;overload;
  333. class function post(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  334. class function post(url,Data : String; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  335. class function post(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  336. class function post(url,Data : String; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  337. class function post(aSettings : TJSAjaxSettings) : TJQXHR; overload;
  338. class function post(aSettings : TJSObject) : TJQXHR; overload;
  339. Function prev : TJQuery;overload;
  340. Function prev(Const aSelector : String) : TJQuery;overload;
  341. Function prevAll : TJQuery;overload;
  342. Function prevAll(Const aSelector : String) : TJQuery;overload;
  343. function prevUntil : TJQuery;overload;
  344. function prevUntil(const aSelector : String) : TJQuery;overload;
  345. function prevUntil(const aSelector,aFilter : String) : TJQuery;overload;
  346. function prevUntil(const aElement : TJSElement) : TJQuery;overload;
  347. function prevUntil(const aElement : TJSElement; aFilter : String) : TJQuery;overload;
  348. function prevUntil(const aQuery : TJQuery) : TJQuery;overload;
  349. function prevUntil(const aQuery : TJQuery; aFilter : String) : TJQuery;overload;
  350. function prop(const aPropertyName : String) : JSValue;overload;
  351. function prop(const aPropertyName : String;AValue : JSValue) : TJQuery;overload;
  352. function prop(const TJSObject) : TJQuery;overload;
  353. function prop(const aPropertyName : String; aHandler : TJQueryPropHandler) : TJQuery;overload;
  354. class function queue(element : TJSElement) : TJSarray;overload;
  355. class function queue(element : TJSElement; const aQueueName : String) : TJSarray;overload;
  356. class function queue(element : TJSElement; const aQueueName : string; anewQueue : TJSarray) : TJQuery;overload;
  357. class function queue(element : TJSElement; const aQueueName : String ; aHandler : TJQueryQueueHandler) : TJQuery;overload;
  358. function queue : TJSarray;overload;
  359. function queue(aQueueName : string) : TJSarray;overload;
  360. function queue(anArray : TJSArray) : TJQuery;overload;
  361. function queue(aQueueName : string; anArray : TJSarray) : TJQuery;overload;
  362. function queue(aQueueName : string; aHandler : TJQueryAddQueueHandler) : TJQuery;overload;
  363. function removeAttr(Const attributeName : string) : TJQuery;
  364. function removeClass(Const aClass : String) : TJQuery;overload;
  365. function removeClass(Const aClassFunction : TJQueryAddClassHandler) : TJQuery;overload;
  366. class function removeData(aElement : TJSElement; Const aName : String) : TJQuery;overload;
  367. class function removeData(aElement : TJSElement) : TJQuery;overload;
  368. function removeData(const aName : string) : TJQuery;overload;
  369. function removeData(const aNames : array of string) : TJQuery;overload;
  370. function removeData : TJQuery;overload;
  371. function removeProp(Const aPropertyName : string) : TJQuery;
  372. function scrollLeft : Integer;overload;
  373. function scrollLeft(aValue : Integer) : TJQuery;overload;
  374. function scrollTop : Integer;overload;
  375. function scrollTop(aValue : Integer) : TJQuery;overload;
  376. function serialize : string;
  377. function serializeArray : TJSObjectDynArrayArray;
  378. Function siblings : TJQuery;overload;
  379. Function siblings(Const aSelector : String) : TJQuery;overload;
  380. Function slice(aStart : integer) : TJQuery;overload;
  381. Function slice(aStart,aEnd : integer) : TJQuery;overload;
  382. Function sub : TJQuery;
  383. function text : String;overload;
  384. function text(Const aText : string): TJQuery;overload;
  385. function text(Const aText : Integer): TJQuery;overload;
  386. function text(Const aText : Double): TJQuery;overload;
  387. function text(Const aText : Boolean): TJQuery;overload;
  388. function text(aHandler : TJQueryTextHandler) : TJQuery;overload;
  389. function toggleClass(Const aClass : String) : TJQuery;overload;
  390. function toggleClass(Const aClass : String; aState : Boolean) : TJQuery;overload;
  391. function toggleClass(Const aHandler : TJQueryToggleClassHandler) : TJQuery;overload;
  392. function toggleClass(Const aHandler : TJQueryToggleClassHandler; AState : Boolean) : TJQuery;overload;
  393. function val : JSValue;overload;
  394. function val(Const aValue : String) : TJQuery;overload;
  395. function val(Const aValue : Integer) : TJQuery;overload;
  396. function val(Const aValue : Array of String) : TJQuery;overload;
  397. function val(aHandler : TJQueryValHandler) : TJQuery;overload;
  398. Function when(APromise : TJSPromise) : TJSPromise;overload;
  399. Function when : TJSPromise;overload;
  400. function Width: Integer;overload;
  401. function Width(aValue: Integer) : TJQuery;overload;
  402. function Width(aValue: String) : TJQuery;overload;
  403. function Width(aHandler: TJQueryWidthHandler) : TJQuery;overload;
  404. Property ready : TJSPromise Read FReady;
  405. // These should actually be class properties ?
  406. property cssHooks : TJSObject Read FCSSHooks;
  407. property cssNumber : TJSObject read FCSSNumber;
  408. Property Elements[AIndex : Integer] : TJSElement read getEl; default;
  409. end;
  410. Function JQuery(Const aSelector : String) : TJQuery; external name 'jQuery';
  411. Function JQuery(Const aSelector : String; Context : TJSElement) : TJQuery; external name 'jQuery';
  412. Function JQuery(Const aElement : TJSElement) : TJQuery; external name 'jQuery';
  413. Function JQuery(Const aElement : Array of TJSElement) : TJQuery; external name 'JQuery';
  414. Function JQuery(Const aElement : TJSObject) : TJQuery; external name 'jQuery';
  415. Function JQuery(Const aQuery : TJQuery) : TJQuery; external name 'jQuery';
  416. Function JQuery() : TJQuery; external name 'jQuery';
  417. Var
  418. gJQuery : TJQuery; external name 'jQuery';
  419. Implementation
  420. end.