Skip to content

Commit e393d58

Browse files
committed
Update jquery.jtable.js
1 parent 713c820 commit e393d58

File tree

1 file changed

+39
-37
lines changed

1 file changed

+39
-37
lines changed

jquery.jtable.js

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ THE SOFTWARE.
3333
(function ($) {
3434

3535
var unloadingPage;
36-
36+
3737
$(window).on('beforeunload', function () {
3838
unloadingPage = true;
3939
});
@@ -51,9 +51,12 @@ THE SOFTWARE.
5151
//Options
5252
actions: {},
5353
fields: {},
54-
fieldOrder: [],
5554
animationsEnabled: true,
5655
defaultDateFormat: 'yy-mm-dd',
56+
defaultChangeMonth: false,
57+
defaultChangeYear: false,
58+
defaultYearRange: 'c-10:c+10',
59+
defaultMaxDate: null,
5760
dialogShowEffect: 'fade',
5861
dialogHideEffect: 'fade',
5962
showCloseButton: false,
@@ -149,7 +152,7 @@ THE SOFTWARE.
149152
this._createErrorDialogDiv();
150153
this._addNoDataRow();
151154

152-
this._cookieKeyPrefix = this._generateCookieKeyPrefix();
155+
this._cookieKeyPrefix = this._generateCookieKeyPrefix();
153156
},
154157

155158
/* Normalizes some options for all fields (sets default values).
@@ -200,31 +203,21 @@ THE SOFTWARE.
200203
_createFieldAndColumnList: function () {
201204
var self = this;
202205

203-
//fill columnList according to order
204-
$.each(self.options.fieldOrder,
205-
function (index, value) {
206-
if (value in self.options.fields) {
207-
self._columnList.push(value);
208-
}
206+
$.each(self.options.fields, function (name, props) {
207+
208+
//Add field to the field list
209+
self._fieldList.push(name);
210+
211+
//Check if this field is the key field
212+
if (props.key == true) {
213+
self._keyField = name;
209214
}
210-
);
211-
212-
//fill rest of columns, if not part of fieldOrder already
213-
$.each(self.options.fields,
214-
function (name, props)
215-
{
216-
self._fieldList.push(name);
217-
if (props.key == true) {
218-
self._keyField = name;
219-
}
220215

221-
if (props.list != false && props.type != 'hidden') {
222-
if ($.inArray(name, self._columnList) == -1) {
223-
self._columnList.push(name);
224-
}
225-
}
216+
//Add field to column list if it is shown in the table
217+
if (props.list != false && props.type != 'hidden') {
218+
self._columnList.push(name);
226219
}
227-
);
220+
});
228221
},
229222

230223
/* Creates the main container div.
@@ -817,15 +810,14 @@ THE SOFTWARE.
817810

818811
var displayFormat = field.displayFormat || this.options.defaultDateFormat;
819812
var date = this._parseDate(fieldValue);
820-
// Gp - if an error occur, return a format error
821813
try {
822814
return this._formatDate(displayFormat, date);
823815
} catch (e) {
824816
return date;
825817
}
826818
},
827-
828-
/* Format the date/time field.
819+
820+
/* Format the date/time field.
829821
*************************************************************************/
830822
_formatDate: function (format, date) {
831823

@@ -1043,7 +1035,6 @@ THE SOFTWARE.
10431035
parseInt(dateString.substr(14, 2), 10),
10441036
parseInt(dateString.substr(17, 2), 10)
10451037
);
1046-
// added by Gp
10471038
} else if (dateString.indexOf('T') > 0) { //Format: ISO 8601 2009-10-15T14:42:51
10481039
var dtstr = dateString.replace(/\D/g, " ");
10491040
var dtcomps = dtstr.split(" ");
@@ -1282,7 +1273,7 @@ THE SOFTWARE.
12821273
jqXHR.abort();
12831274
return;
12841275
}
1285-
1276+
12861277
if (options.error) {
12871278
options.error(arguments);
12881279
}
@@ -1667,9 +1658,20 @@ THE SOFTWARE.
16671658
if(value != undefined) {
16681659
$input.val(value);
16691660
}
1670-
1661+
16711662
var displayFormat = field.displayFormat || this.options.defaultDateFormat;
1672-
$input.datepicker({ dateFormat: displayFormat });
1663+
var changeMonth = field.changeMonth || this.options.defaultChangeMonth;
1664+
var changeYear = field.changeYear || this.options.defaultChangeYear;
1665+
var yearRange = field.yearRange || this.options.defaultYearRange;
1666+
var maxDate = field.maxDate || this.options.defaultMaxDate;
1667+
1668+
$input.datepicker({
1669+
dateFormat: displayFormat,
1670+
changeMonth: changeMonth,
1671+
changeYear: changeYear,
1672+
yearRange: yearRange,
1673+
maxDate: maxDate
1674+
});
16731675
return $('<div />')
16741676
.addClass('jtable-input jtable-date-input')
16751677
.append($input);
@@ -1682,7 +1684,7 @@ THE SOFTWARE.
16821684
if (value != undefined) {
16831685
$textArea.val(value);
16841686
}
1685-
1687+
16861688
return $('<div />')
16871689
.addClass('jtable-input jtable-textarea-input')
16881690
.append($textArea);
@@ -1695,7 +1697,7 @@ THE SOFTWARE.
16951697
if (value != undefined) {
16961698
$input.val(value);
16971699
}
1698-
1700+
16991701
return $('<div />')
17001702
.addClass('jtable-input jtable-text-input')
17011703
.append($input);
@@ -1708,7 +1710,7 @@ THE SOFTWARE.
17081710
if (value != undefined) {
17091711
$input.val(value);
17101712
}
1711-
1713+
17121714
return $('<div />')
17131715
.addClass('jtable-input jtable-password-input')
17141716
.append($input);
@@ -1798,7 +1800,7 @@ THE SOFTWARE.
17981800

17991801
return $containerDiv;
18001802
},
1801-
1803+
18021804
/* Fills a dropdown list with given options.
18031805
*************************************************************************/
18041806
_fillDropDownListWithOptions: function ($select, options, value) {
@@ -1935,7 +1937,7 @@ THE SOFTWARE.
19351937
}
19361938

19371939
var field = self.options.fields[fieldName];
1938-
1940+
19391941
//check if this combobox depends on others
19401942
if (!field.dependsOn) {
19411943
return;

0 commit comments

Comments
 (0)