libjquery.pas 27 KB

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