summaryrefslogtreecommitdiffstats
path: root/lib/extensions/jquery.jtable.aspnetpagemethods.js
diff options
context:
space:
mode:
authorHalil İbrahim Kalkan <hikalkan@gmail.com>2013-01-13 20:47:06 +0200
committerHalil İbrahim Kalkan <hikalkan@gmail.com>2013-01-13 20:47:06 +0200
commit714e396500d8ca31ccf5e0972c8a77b365365f4a (patch)
tree43cae707262293df88553dd6433863a42be04d2a /lib/extensions/jquery.jtable.aspnetpagemethods.js
parenta08e406f31de23ff7fd8cb766fdd9f7f62fbd82d (diff)
downloadjtable-714e396500d8ca31ccf5e0972c8a77b365365f4a.zip
jtable-714e396500d8ca31ccf5e0972c8a77b365365f4a.tar.gz
jtable-714e396500d8ca31ccf5e0972c8a77b365365f4a.tar.bz2
jTable version 2.0.0
All codebase revised and refactored. All CSS re-written using less css. [#3] Added metro style theme with 10 color options. [#2] Added a basic theme that can be start point who want to create themes to jTable. Added methods: getRowByKey, selectRows. [#8] Added field option: ajaxSettings. Added feature: editing primary key's value. [#34] Added feature: Allow updating a record with server response after updateAction [#66] Added ready-to-use localization scripts. [#67] Fixed some issues. [#25, #29, #42, #46] Set default values for key field as "edit: false" and "create: false" Fixed some other minor bugs. Removed standard theme. Tested with latest jQuery libraries (jQuery v1.8.3 and jQuery UI v1.9.2).
Diffstat (limited to 'lib/extensions/jquery.jtable.aspnetpagemethods.js')
-rw-r--r--lib/extensions/jquery.jtable.aspnetpagemethods.js71
1 files changed, 48 insertions, 23 deletions
diff --git a/lib/extensions/jquery.jtable.aspnetpagemethods.js b/lib/extensions/jquery.jtable.aspnetpagemethods.js
index 307381d..17b2a2c 100644
--- a/lib/extensions/jquery.jtable.aspnetpagemethods.js
+++ b/lib/extensions/jquery.jtable.aspnetpagemethods.js
@@ -27,42 +27,67 @@ THE SOFTWARE.
*/
(function ($) {
-
+
//extension members
$.extend(true, $.hik.jtable.prototype, {
- /* OVERRIDES BASE METHOD */
+ /* OVERRIDES BASE METHOD.
+ * THIS METHOD IS DEPRECATED AND WILL BE REMOVED FROM FEATURE RELEASES.
+ * USE _ajax METHOD.
+ *************************************************************************/
_performAjaxCall: function (url, postData, async, success, error) {
+ this._ajax({
+ url: url,
+ data: postData,
+ async: async,
+ success: success,
+ error: error
+ });
+ },
+
+ /* OVERRIDES BASE METHOD */
+ _ajax: function (options) {
var self = this;
- if (postData == null || postData == undefined) {
- postData = {};
- } else if (typeof postData == 'string') {
- postData = self._convertQueryStringToObject(postData);
+ var opts = $.extend({}, this.options.ajaxSettings, options);
+
+ if (opts.data == null || opts.data == undefined) {
+ opts.data = {};
+ } else if (typeof opts.data == 'string') {
+ opts.data = self._convertQueryStringToObject(opts.data);
}
- var qmIndex = url.indexOf('?');
+ var qmIndex = opts.url.indexOf('?');
if (qmIndex > -1) {
- $.extend(postData, self._convertQueryStringToObject(url.substring(qmIndex + 1)));
+ $.extend(opts.data, self._convertQueryStringToObject(opts.url.substring(qmIndex + 1)));
}
- postData = JSON.stringify(postData);
+ opts.data = JSON.stringify(opts.data);
+ opts.contentType = 'application/json; charset=utf-8';
- $.ajax({
- url: url,
- type: 'POST',
- dataType: 'json',
- contentType: "application/json; charset=utf-8",
- data: postData,
- async: async,
- success: function (data) {
- data = self._normalizeJSONReturnData(data);
- success(data);
- },
- error: function () {
- error();
+ //Override success
+ opts.success = function (data) {
+ data = self._normalizeJSONReturnData(data);
+ if (options.success) {
+ options.success(data);
}
- });
+ };
+
+ //Override error
+ opts.error = function () {
+ if (options.error) {
+ options.error();
+ }
+ };
+
+ //Override complete
+ opts.complete = function () {
+ if (options.complete) {
+ options.complete();
+ }
+ };
+
+ $.ajax(opts);
},
/* OVERRIDES BASE METHOD */