libjquery.pas 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  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 closest(Const aSelector : String) : TJQuery;overload;
  187. function closest(Const aSelector : String; AContext : TJSElement) : TJQuery;overload;
  188. function closest(Const aQuery : TJQuery) : TJQuery;overload;
  189. function closest(Const aElement : TJSElement) : TJQuery;overload;
  190. function contents : TJQuery;
  191. function css(Const aPropertyName : TJSObject) : string; overload;
  192. function css(Const aPropertyName : String) : string; overload;
  193. function css(Const aPropertyNames : Array of String) : string;overload;
  194. function css(Const aPropertyName, Avalue : String) : TJQuery;overload;
  195. function css(Const aPropertyName : String; Avalue : Integer) : TJQuery;overload;
  196. function css(Const aPropertyName : String; AHandler : TJQueryCSSHandler) : TJQuery;overload;
  197. class function data(aElement : TJSElement; const aKey : String; aValue : jsValue) : TJSObject;overload;
  198. class function data(aElement : TJSElement; const aKey : String) : TJSObject;overload;
  199. class function data(aElement : TJSElement) : TJSObject;overload;
  200. function data(aKey : String; aValue : JSValue) : TJQuery;overload;
  201. function data(aObj : TJSObject) : TJQuery;overload;
  202. function data(aKey : String) : TJSObject;overload;
  203. function data : TJSObject;overload;
  204. function dequeue : TJQuery;overload;
  205. function dequeue(const aQueueName : String) : TJQuery;overload;
  206. class function dequeue(aElement : TJSElement) : TJQuery;overload;
  207. class function dequeue(aElement : TJSElement; const aQueueName : String) : TJQuery;overload;
  208. function _end : TJQuery; external name 'end';
  209. function eq(AIndex : Integer) : TJQuery;
  210. function each(aHandler : TJQueryEachHandler) : TJQuery;
  211. class function escapeSelector(const S : String) : String;
  212. function filter(Const aSelector : String) : TJQuery;overload;
  213. function filter(aHandler : TJQueryFilterHandler) : TJQuery;overload;
  214. function filter(Const aQuery : TJQuery) : TJQuery;overload;
  215. function filter(Const aElement : TJSElement) : TJQuery;overload;
  216. function filter(Const aElements : Array of TJSElement) : TJQuery;overload;
  217. function find(Const aSelector : String) : TJQuery;overload;
  218. function find(Const aQuery : TJQuery) : TJQuery;overload;
  219. function find(Const aElement : TJSElement) : TJQuery;overload;
  220. function first : TJQuery;
  221. function get(aIndex : Integer) : TJSElement;overload;
  222. class function get : TJQXHR;overload;
  223. class function get(url : String) : TJQXHR;overload;
  224. class function get(url,Data : String) : TJQXHR;overload;
  225. class function get(url : String; Data : TJSObject) : TJQXHR;overload;
  226. class function get(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  227. class function get(url,Data : String; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  228. class function get(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  229. class function get(url,Data : String; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  230. class function get(aSettings : TJSAjaxSettings) : TJQXHR; overload;
  231. class function get(aSettings : TJSObject) : TJQXHR; overload;
  232. class function getJSON(url : String) : TJQXHR;overload;
  233. class function getJSON(url,Data : String) : TJQXHR;overload;
  234. class function getJSON(url : String; Data : TJSObject) : TJQXHR;overload;
  235. class function getJSON(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  236. class function getJSON(url,Data : String; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  237. class function getJSON(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  238. class function getJSON(url,Data : String; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  239. class function getScript(url : String) : TJQXHR;overload;
  240. class function getScript(url : String; aSuccess : TJQueryAjaxScriptHandler) : TJQXHR;overload;
  241. function has(Const aSelector : String) : TJQuery;
  242. function has(Const aQuery : TJQuery) : TJQuery;
  243. function hasClass(Const aClassName : String) : Boolean;
  244. class function hasData(aElement : TJSElement) : Boolean;
  245. function height: Integer;
  246. function height(aValue: Integer) : TJQuery;
  247. function height(aValue: String) : TJQuery;
  248. function height(aHandler: TJQueryHeightHandler) : TJQuery;
  249. function html : String;
  250. function html(Const aHTML : String) : TJQuery;
  251. function html(Const aHandler : TJQueryHTMLHandler) : TJQuery;
  252. function innerHeight: Integer;
  253. function innerHeight(aValue: Integer) : TJQuery;
  254. function innerHeight(aValue: String) : TJQuery;
  255. function innerHeight(aHandler: TJQueryHeightHandler) : TJQuery;
  256. function innerWidth: Integer;
  257. function innerWidth(aValue: Integer) : TJQuery;
  258. function innerWidth(aValue: String) : TJQuery;
  259. function innerWidth(aHandler: TJQueryWidthHandler) : TJQuery;
  260. function _is(Const aSelector : String) : TJQuery; external name 'is';
  261. function _is(Const aQuery : TJQuery) : TJQuery; external name 'is';
  262. function _is(aHandler : TJQueryFilterHandler) : TJQuery; external name 'is';
  263. function _is(Const aElement : TJSElement) : TJQuery; external name 'is';
  264. function _is(Const aElements : Array of TJSElement) : TJQuery; external name 'is';
  265. function last : TJQuery;
  266. class function load(url : String) : TJQXHR;overload;
  267. class function load(url,Data : String) : TJQXHR;overload;
  268. class function load(url : String; Data : TJSObject) : TJQXHR;overload;
  269. class function load(url : String; Data : TJSObject; success : TJQueryAjaxLoadHandler) : TJQXHR;overload;
  270. class function load(url,Data : String; success : TJQueryAjaxLoadHandler) : TJQXHR;overload;
  271. function map(aHandler : TJQueryMapHandler) : TJQuery;
  272. function next : TJQuery;overload;
  273. function next(const aSelector : String) : TJQuery;overload;
  274. function nextAll : TJQuery;overload;
  275. function nextAll(const aSelector : String) : TJQuery;overload;
  276. function nextUntil : TJQuery;overload;
  277. function nextUntil(const aSelector : String) : TJQuery;overload;
  278. function nextUntil(const aSelector,aFilter : String) : TJQuery;overload;
  279. function nextUntil(const aElement : TJSElement) : TJQuery;overload;
  280. function nextUntil(const aElement : TJSElement; aFilter : String) : TJQuery;overload;
  281. function nextUntil(const aQuery : TJQuery) : TJQuery;overload;
  282. function nextUntil(const aQuery : TJQuery; aFilter : String) : TJQuery;overload;
  283. function _not(const aSelector : String) : TJQuery; external name 'not';overload;
  284. function _not(const aSelector : TJSElement) : TJQuery; external name 'not';overload;
  285. function _not(const aSelector : Array of TJSElement) : TJQuery; external name 'not';overload;
  286. function _not(const aSelector : TJQuery) : TJQuery; external name 'not';overload;
  287. function _not(const aSelector : TJQueryFilterHandler) : TJQuery;external name 'not';overload;
  288. function noConflict : TJSObject;overload;
  289. function noConflict(removeAll: Boolean) : TJSObject;overload;
  290. function offSet: Integer;overload;
  291. function offSet(const aOffset : TJQueryTopLeft): TJQuery;overload;
  292. function offSet(aHandler : TJQueryOffsetHandler): TJQuery;overload;
  293. Function offsetParent : TJQuery;
  294. Function On_(events : String; aHandler : TJSEventHandler) : TJQuery; external name 'on'; overload;
  295. Function On_(events : String; selector : String; aHandler : TJSEventHandler) : TJQuery; external name 'on'; overload;
  296. Function On_(events : String; selector : String; data : JSValue; aHandler : TJSEventHandler) : TJQuery; external name 'on'; overload;
  297. Function On_(events : TJSObject; selector : String; data : JSValue) : TJQuery; external name 'on'; overload;
  298. Function On_(events : TJSObject; data : JSValue) : TJQuery; overload;
  299. Function On_(events : TJSObject) : TJQuery; overload;
  300. function outerHeight(IncludeMargin : Boolean): Integer;overload;
  301. function outerHeight: Integer;overload;
  302. function outerHeight(aValue: Integer) : TJQuery;overload;
  303. function outerHeight(aValue: String) : TJQuery;overload;
  304. function outerHeight(aHandler: TJQueryHeightHandler) : TJQuery;overload;
  305. function outerWidth(IncludeMargin : Boolean): Integer;overload;
  306. function outerWidth: Integer;overload;
  307. function outerWidth(aValue: Integer) : TJQuery;overload;
  308. function outerWidth(aValue: String) : TJQuery;overload;
  309. function outerWidth(aHandler: TJQueryWidthHandler) : TJQuery;overload;
  310. class function param (aObject : String) : String;overload;
  311. class function param (aObject : TJSObject) : String;overload;
  312. class function param (aObject : TJQuery) : String;overload;
  313. class function param (aObject : String; traditional : Boolean) : String;overload;
  314. class function param (aObject : TJSObject; traditional : Boolean) : String;overload;
  315. class function param (aObject : TJQuery; traditional : Boolean) : String;overload;
  316. Function parent : TJQuery;
  317. Function parent (const ASelector: String) : TJQuery;
  318. Function parents : TJQuery;
  319. Function parents (const ASelector: String) : TJQuery;
  320. function parentsUntil : TJQuery;
  321. function parentsUntil(const aSelector : String) : TJQuery;
  322. function parentsUntil(const aSelector,aFilter : String) : TJQuery;
  323. function parentsUntil(const aElement : TJSElement) : TJQuery;
  324. function parentsUntil(const aElement : TJSElement; aFilter : String) : TJQuery;
  325. function parentsUntil(const aQuery : TJQuery) : TJQuery;
  326. function parentsUntil(const aQuery : TJQuery; aFilter : String) : TJQuery;
  327. function position : TJQueryTopLeft;
  328. class function post(url : String) : TJQXHR;overload;
  329. class function post(url,Data : String) : TJQXHR;overload;
  330. class function post(url : String; Data : TJSObject) : TJQXHR;overload;
  331. class function post(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  332. class function post(url,Data : String; success : TJQueryAjaxSuccessHandler) : TJQXHR;overload;
  333. class function post(url : String; Data : TJSObject; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  334. class function post(url,Data : String; success : TJQueryAjaxSuccessHandler; aDataType : string) : TJQXHR;overload;
  335. class function post(aSettings : TJSAjaxSettings) : TJQXHR; overload;
  336. class function post(aSettings : TJSObject) : TJQXHR; overload;
  337. function prepend(content : String) : TJQuery; overload;
  338. function prepend(Content1,Content2 : String) : TJQuery; overload;
  339. function prepend(aHandler : TPrependCallback) : TJQuery; overload;
  340. Function prev : TJQuery;overload;
  341. Function prev(Const aSelector : String) : TJQuery;overload;
  342. Function prevAll : TJQuery;overload;
  343. Function prevAll(Const aSelector : String) : TJQuery;overload;
  344. function prevUntil : TJQuery;overload;
  345. function prevUntil(const aSelector : String) : TJQuery;overload;
  346. function prevUntil(const aSelector,aFilter : String) : TJQuery;overload;
  347. function prevUntil(const aElement : TJSElement) : TJQuery;overload;
  348. function prevUntil(const aElement : TJSElement; aFilter : String) : TJQuery;overload;
  349. function prevUntil(const aQuery : TJQuery) : TJQuery;overload;
  350. function prevUntil(const aQuery : TJQuery; aFilter : String) : TJQuery;overload;
  351. function prop(const aPropertyName : String) : JSValue;overload;
  352. function prop(const aPropertyName : String;AValue : JSValue) : TJQuery;overload;
  353. function prop(const TJSObject) : TJQuery;overload;
  354. function prop(const aPropertyName : String; aHandler : TJQueryPropHandler) : TJQuery;overload;
  355. class function queue(element : TJSElement) : TJSarray;overload;
  356. class function queue(element : TJSElement; const aQueueName : String) : TJSarray;overload;
  357. class function queue(element : TJSElement; const aQueueName : string; anewQueue : TJSarray) : TJQuery;overload;
  358. class function queue(element : TJSElement; const aQueueName : String ; aHandler : TJQueryQueueHandler) : TJQuery;overload;
  359. function queue : TJSarray;overload;
  360. function queue(aQueueName : string) : TJSarray;overload;
  361. function queue(anArray : TJSArray) : TJQuery;overload;
  362. function queue(aQueueName : string; anArray : TJSarray) : TJQuery;overload;
  363. function queue(aQueueName : string; aHandler : TJQueryAddQueueHandler) : TJQuery;overload;
  364. function remove(Const Selector : string) : TJQuery; overload;
  365. function remove() : TJQuery;overload;
  366. function removeAttr(Const attributeName : string) : TJQuery;
  367. function removeClass(Const aClass : String) : TJQuery;overload;
  368. function removeClass(Const aClassFunction : TJQueryAddClassHandler) : TJQuery;overload;
  369. class function removeData(aElement : TJSElement; Const aName : String) : TJQuery;overload;
  370. class function removeData(aElement : TJSElement) : TJQuery;overload;
  371. function removeData(const aName : string) : TJQuery;overload;
  372. function removeData(const aNames : array of string) : TJQuery;overload;
  373. function removeData : TJQuery;overload;
  374. function removeProp(Const aPropertyName : string) : TJQuery;
  375. function scrollLeft : Integer;overload;
  376. function scrollLeft(aValue : Integer) : TJQuery;overload;
  377. function scrollTop : Integer;overload;
  378. function scrollTop(aValue : Integer) : TJQuery;overload;
  379. function serialize : string;
  380. function serializeArray : TJSObjectDynArrayArray;
  381. Function siblings : TJQuery;overload;
  382. Function siblings(Const aSelector : String) : TJQuery;overload;
  383. Function slice(aStart : integer) : TJQuery;overload;
  384. Function slice(aStart,aEnd : integer) : TJQuery;overload;
  385. Function sub : TJQuery;
  386. function text : String;overload;
  387. function text(Const aText : string): TJQuery;overload;
  388. function text(Const aText : Integer): TJQuery;overload;
  389. function text(Const aText : Double): TJQuery;overload;
  390. function text(Const aText : Boolean): TJQuery;overload;
  391. function text(aHandler : TJQueryTextHandler) : TJQuery;overload;
  392. function toggleClass(Const aClass : String) : TJQuery;overload;
  393. function toggleClass(Const aClass : String; aState : Boolean) : TJQuery;overload;
  394. function toggleClass(Const aHandler : TJQueryToggleClassHandler) : TJQuery;overload;
  395. function toggleClass(Const aHandler : TJQueryToggleClassHandler; AState : Boolean) : TJQuery;overload;
  396. function val : JSValue;overload;
  397. function val(Const aValue : String) : TJQuery;overload;
  398. function val(Const aValue : Integer) : TJQuery;overload;
  399. function val(Const aValue : Array of String) : TJQuery;overload;
  400. function val(aHandler : TJQueryValHandler) : TJQuery;overload;
  401. Function when(APromise : TJSPromise) : TJSPromise;overload;
  402. Function when : TJSPromise;overload;
  403. function Width: Integer;overload;
  404. function Width(aValue: Integer) : TJQuery;overload;
  405. function Width(aValue: String) : TJQuery;overload;
  406. function Width(aHandler: TJQueryWidthHandler) : TJQuery;overload;
  407. Property ready : TJSPromise Read FReady;
  408. // These should actually be class properties ?
  409. property cssHooks : TJSObject Read FCSSHooks;
  410. property cssNumber : TJSObject read FCSSNumber;
  411. Property Elements[AIndex : Integer] : TJSElement read getEl; default;
  412. end;
  413. Function JQuery(Const aSelector : String) : TJQuery; external name 'jQuery';
  414. Function JQuery(Const aSelector : String; Context : TJSElement) : TJQuery; external name 'jQuery';
  415. Function JQuery(Const aElement : TJSElement) : TJQuery; external name 'jQuery';
  416. Function JQuery(Const aElement : Array of TJSElement) : TJQuery; external name 'jQuery';
  417. Function JQuery(Const aElement : TJSObject) : TJQuery; external name 'jQuery';
  418. Function JQuery(Const aQuery : TJQuery) : TJQuery; external name 'jQuery';
  419. Function JQuery() : TJQuery; external name 'jQuery';
  420. Var
  421. gJQuery : TJQuery; external name 'jQuery';
  422. Implementation
  423. end.