@@ -33,7 +33,7 @@ THE SOFTWARE.
33
33
( function ( $ ) {
34
34
35
35
var unloadingPage ;
36
-
36
+
37
37
$ ( window ) . on ( 'beforeunload' , function ( ) {
38
38
unloadingPage = true ;
39
39
} ) ;
@@ -51,9 +51,12 @@ THE SOFTWARE.
51
51
//Options
52
52
actions : { } ,
53
53
fields : { } ,
54
- fieldOrder : [ ] ,
55
54
animationsEnabled : true ,
56
55
defaultDateFormat : 'yy-mm-dd' ,
56
+ defaultChangeMonth : false ,
57
+ defaultChangeYear : false ,
58
+ defaultYearRange : 'c-10:c+10' ,
59
+ defaultMaxDate : null ,
57
60
dialogShowEffect : 'fade' ,
58
61
dialogHideEffect : 'fade' ,
59
62
showCloseButton : false ,
@@ -149,7 +152,7 @@ THE SOFTWARE.
149
152
this . _createErrorDialogDiv ( ) ;
150
153
this . _addNoDataRow ( ) ;
151
154
152
- this . _cookieKeyPrefix = this . _generateCookieKeyPrefix ( ) ;
155
+ this . _cookieKeyPrefix = this . _generateCookieKeyPrefix ( ) ;
153
156
} ,
154
157
155
158
/* Normalizes some options for all fields (sets default values).
@@ -200,31 +203,21 @@ THE SOFTWARE.
200
203
_createFieldAndColumnList : function ( ) {
201
204
var self = this ;
202
205
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 ;
209
214
}
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
- }
220
215
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 ) ;
226
219
}
227
- ) ;
220
+ } ) ;
228
221
} ,
229
222
230
223
/* Creates the main container div.
@@ -817,15 +810,14 @@ THE SOFTWARE.
817
810
818
811
var displayFormat = field . displayFormat || this . options . defaultDateFormat ;
819
812
var date = this . _parseDate ( fieldValue ) ;
820
- // Gp - if an error occur, return a format error
821
813
try {
822
814
return this . _formatDate ( displayFormat , date ) ;
823
815
} catch ( e ) {
824
816
return date ;
825
817
}
826
818
} ,
827
-
828
- /* Format the date/time field.
819
+
820
+ /* Format the date/time field.
829
821
*************************************************************************/
830
822
_formatDate : function ( format , date ) {
831
823
@@ -1043,7 +1035,6 @@ THE SOFTWARE.
1043
1035
parseInt ( dateString . substr ( 14 , 2 ) , 10 ) ,
1044
1036
parseInt ( dateString . substr ( 17 , 2 ) , 10 )
1045
1037
) ;
1046
- // added by Gp
1047
1038
} else if ( dateString . indexOf ( 'T' ) > 0 ) { //Format: ISO 8601 2009-10-15T14:42:51
1048
1039
var dtstr = dateString . replace ( / \D / g, " " ) ;
1049
1040
var dtcomps = dtstr . split ( " " ) ;
@@ -1282,7 +1273,7 @@ THE SOFTWARE.
1282
1273
jqXHR . abort ( ) ;
1283
1274
return ;
1284
1275
}
1285
-
1276
+
1286
1277
if ( options . error ) {
1287
1278
options . error ( arguments ) ;
1288
1279
}
@@ -1667,9 +1658,20 @@ THE SOFTWARE.
1667
1658
if ( value != undefined ) {
1668
1659
$input . val ( value ) ;
1669
1660
}
1670
-
1661
+
1671
1662
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
+ } ) ;
1673
1675
return $ ( '<div />' )
1674
1676
. addClass ( 'jtable-input jtable-date-input' )
1675
1677
. append ( $input ) ;
@@ -1682,7 +1684,7 @@ THE SOFTWARE.
1682
1684
if ( value != undefined ) {
1683
1685
$textArea . val ( value ) ;
1684
1686
}
1685
-
1687
+
1686
1688
return $ ( '<div />' )
1687
1689
. addClass ( 'jtable-input jtable-textarea-input' )
1688
1690
. append ( $textArea ) ;
@@ -1695,7 +1697,7 @@ THE SOFTWARE.
1695
1697
if ( value != undefined ) {
1696
1698
$input . val ( value ) ;
1697
1699
}
1698
-
1700
+
1699
1701
return $ ( '<div />' )
1700
1702
. addClass ( 'jtable-input jtable-text-input' )
1701
1703
. append ( $input ) ;
@@ -1708,7 +1710,7 @@ THE SOFTWARE.
1708
1710
if ( value != undefined ) {
1709
1711
$input . val ( value ) ;
1710
1712
}
1711
-
1713
+
1712
1714
return $ ( '<div />' )
1713
1715
. addClass ( 'jtable-input jtable-password-input' )
1714
1716
. append ( $input ) ;
@@ -1798,7 +1800,7 @@ THE SOFTWARE.
1798
1800
1799
1801
return $containerDiv ;
1800
1802
} ,
1801
-
1803
+
1802
1804
/* Fills a dropdown list with given options.
1803
1805
*************************************************************************/
1804
1806
_fillDropDownListWithOptions : function ( $select , options , value ) {
@@ -1935,7 +1937,7 @@ THE SOFTWARE.
1935
1937
}
1936
1938
1937
1939
var field = self . options . fields [ fieldName ] ;
1938
-
1940
+
1939
1941
//check if this combobox depends on others
1940
1942
if ( ! field . dependsOn ) {
1941
1943
return ;
0 commit comments