summaryrefslogtreecommitdiffstats
path: root/dev/jquery.jtable.utils.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 /dev/jquery.jtable.utils.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 'dev/jquery.jtable.utils.js')
-rw-r--r--dev/jquery.jtable.utils.js133
1 files changed, 133 insertions, 0 deletions
diff --git a/dev/jquery.jtable.utils.js b/dev/jquery.jtable.utils.js
new file mode 100644
index 0000000..fe4ba4f
--- /dev/null
+++ b/dev/jquery.jtable.utils.js
@@ -0,0 +1,133 @@
+/************************************************************************
+* Some UTULITY methods used by jTable *
+*************************************************************************/
+(function ($) {
+
+ $.extend(true, $.hik.jtable.prototype, {
+
+ /* Gets property value of an object recursively.
+ *************************************************************************/
+ _getPropertyOfObject: function (obj, propName) {
+ if (propName.indexOf('.') < 0) {
+ return obj[propName];
+ } else {
+ var preDot = propName.substring(0, propName.indexOf('.'));
+ var postDot = propName.substring(propName.indexOf('.') + 1);
+ return this._getPropertyOfObject(obj[preDot], postDot);
+ }
+ },
+
+ /* Sets property value of an object recursively.
+ *************************************************************************/
+ _setPropertyOfObject: function (obj, propName, value) {
+ if (propName.indexOf('.') < 0) {
+ obj[propName] = value;
+ } else {
+ var preDot = propName.substring(0, propName.indexOf('.'));
+ var postDot = propName.substring(propName.indexOf('.') + 1);
+ this._setPropertyOfObject(obj[preDot], postDot, value);
+ }
+ },
+
+ /* Inserts a value to an array if it does not exists in the array.
+ *************************************************************************/
+ _insertToArrayIfDoesNotExists: function (array, value) {
+ if ($.inArray(value, array) < 0) {
+ array.push(value);
+ }
+ },
+
+ /* Finds index of an element in an array according to given comparision function
+ *************************************************************************/
+ _findIndexInArray: function (value, array, compareFunc) {
+
+ //If not defined, use default comparision
+ if (!compareFunc) {
+ compareFunc = function (a, b) {
+ return a == b;
+ };
+ }
+
+ for (var i = 0; i < array.length; i++) {
+ if (compareFunc(value, array[i])) {
+ return i;
+ }
+ }
+
+ return -1;
+ },
+
+ /* Normalizes a number between given bounds or sets to a defaultValue
+ * if it is undefined
+ *************************************************************************/
+ _normalizeNumber: function (number, min, max, defaultValue) {
+ if (number == undefined || number == null) {
+ return defaultValue;
+ }
+
+ if (number < min) {
+ return min;
+ }
+
+ if (number > max) {
+ return max;
+ }
+
+ return number;
+ },
+
+ /* Formats a string just like string.format in c#.
+ * Example:
+ * _formatString('Hello {0}','Halil') = 'Hello Halil'
+ *************************************************************************/
+ _formatString: function () {
+ if (arguments.length == 0) {
+ return null;
+ }
+
+ var str = arguments[0];
+ for (var i = 1; i < arguments.length; i++) {
+ var placeHolder = '{' + (i - 1) + '}';
+ str = str.replace(placeHolder, arguments[i]);
+ }
+
+ return str;
+ },
+
+ //Logging methods ////////////////////////////////////////////////////////
+
+ _logDebug: function (text) {
+ if (!window.console) {
+ return;
+ }
+
+ console.log('jTable DEBUG: ' + text);
+ },
+
+ _logInfo: function (text) {
+ if (!window.console) {
+ return;
+ }
+
+ console.log('jTable INFO: ' + text);
+ },
+
+ _logWarn: function (text) {
+ if (!window.console) {
+ return;
+ }
+
+ console.log('jTable WARNING: ' + text);
+ },
+
+ _logError: function (text) {
+ if (!window.console) {
+ return;
+ }
+
+ console.log('jTable ERROR: ' + text);
+ }
+
+ });
+
+})(jQuery);