rsence-pre 3.0.0.8 → 3.0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/client/conf/client_pkg.yaml +6 -2
  4. data/client/js/comm/queue/queue.js +32 -44
  5. data/client/js/comm/transporter/transporter.js +24 -16
  6. data/client/js/comm/values/values.js +27 -15
  7. data/client/js/controls/button/button.coffee +14 -5
  8. data/client/js/controls/button/themes/default/button.css +4 -2
  9. data/client/js/controls/checkbox/checkbox.js +4 -4
  10. data/client/js/controls/dialogs/sheet/sheet.js +11 -11
  11. data/client/js/controls/dialogs/sheet/themes/default/sheet.html +1 -1
  12. data/client/js/controls/imageview/imageview.js +15 -15
  13. data/client/js/controls/numerictextcontrol/numerictextcontrol.coffee +32 -10
  14. data/client/js/controls/onoffbutton/onoffbutton.coffee +5 -5
  15. data/client/js/controls/progress/progressbar/progressbar.js +6 -7
  16. data/client/js/controls/progress/progressbar/themes/default/progressbar.css +4 -4
  17. data/client/js/controls/progress/progressbar/themes/default/progressbar.html +1 -2
  18. data/client/js/controls/sliders/slider/slider.js +74 -79
  19. data/client/js/controls/stepper/stepper.js +31 -31
  20. data/client/js/controls/stringview/stringview.js +20 -8
  21. data/client/js/controls/tab/tab.js +57 -63
  22. data/client/js/controls/tab/themes/default/tab.html +4 -1
  23. data/client/js/controls/textcontrol/textcontrol.coffee +13 -3
  24. data/client/js/controls/validatorview/validatorview.js +4 -4
  25. data/client/js/controls/window/window.js +43 -56
  26. data/client/js/core/class/class.js +25 -23
  27. data/client/js/core/elem/elem.coffee +8 -1
  28. data/client/js/core/rsence_ns/rsence_ns.coffee +6 -2
  29. data/client/js/core/util/util_methods/util_methods.coffee +57 -15
  30. data/client/js/datetime/calendar/calendar.coffee +196 -199
  31. data/client/js/datetime/calendar/themes/default/calendar.css +81 -159
  32. data/client/js/datetime/calendar/themes/default/calendar.html +9 -18
  33. data/client/js/datetime/datepicker/datepicker.coffee +18 -3
  34. data/client/js/datetime/datetimepicker/datetimepicker.coffee +6 -1
  35. data/client/js/datetime/datetimevalue/datetimevalue.coffee +194 -0
  36. data/client/js/datetime/momentjs/momentjs.js +310 -76
  37. data/client/js/datetime/timepicker/timepicker.coffee +6 -1
  38. data/client/js/datetime/timesheet/timesheet.js +59 -61
  39. data/client/js/foundation/control/control.js +45 -44
  40. data/client/js/foundation/control/controldefaults/controldefaults.js +13 -9
  41. data/client/js/foundation/control/dyncontrol/dyncontrol.js +45 -57
  42. data/client/js/foundation/control/eventresponder/eventresponder.js +97 -97
  43. data/client/js/foundation/control/valuematrix/valuematrix.js +13 -13
  44. data/client/js/foundation/eventmanager/eventmanager.coffee +50 -32
  45. data/client/js/foundation/geom/rect/rect.js +43 -32
  46. data/client/js/foundation/locale_settings/locale_settings.js +36 -25
  47. data/client/js/foundation/system/system.js +79 -67
  48. data/client/js/foundation/thememanager/thememanager.coffee +11 -1
  49. data/client/js/foundation/value/pullvalue/pullvalue.coffee +7 -0
  50. data/client/js/foundation/value/pushvalue/pushvalue.coffee +25 -0
  51. data/client/js/foundation/value/value.js +22 -15
  52. data/client/js/foundation/view/view.js +94 -55
  53. data/client/js/foundation/view/viewdefaults/viewdefaults.js +5 -1
  54. data/client/js/lists/listitems/listitems.js +26 -4
  55. data/client/js/menus/combobox/combobox.coffee +55 -0
  56. data/client/js/menus/minimenu/minimenu.js +61 -30
  57. data/client/js/menus/minimenu/themes/default/minimenu.css +1 -6
  58. data/client/js/menus/minimenu/themes/default/minimenu.html +5 -4
  59. data/client/js/menus/minimenuitem/minimenuitem.js +6 -6
  60. data/client/js/menus/popupmenu/themes/default/popupmenu.css +1 -6
  61. data/client/js/menus/popupmenu/themes/default/popupmenu.html +5 -4
  62. data/client/js/tables/table/table.coffee +109 -64
  63. data/client/js/tables/table/themes/default/table.css +4 -0
  64. data/lib/rsence/msg.rb +64 -64
  65. data/lib/rsence/plugins/plugin.rb +68 -52
  66. data/lib/rsence/session/sequel_sessionstorage.rb +5 -5
  67. data/lib/rsence/value.rb +79 -59
  68. data/plugins/client_pkg/lib/client_pkg_build.rb +5 -1
  69. data/plugins/client_pkg/lib/client_pkg_serve.rb +40 -32
  70. data/plugins/main/js/main.js +46 -28
  71. metadata +6 -8
  72. data/client/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  73. data/client/js/datetime/calendar/themes/default/calendar_bg.png +0 -0
  74. data/client/js/datetime/calendar/themes/default/calendar_parts1.png +0 -0
  75. data/client/js/datetime/calendar/themes/default/calendar_parts2.png +0 -0
  76. data/client/js/datetime/datetimepicker/datetimepicker.js +0 -210
  77. data/client/js/datetime/datetimevalue/datetimevalue.js +0 -265
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsence-pre
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.8
4
+ version: 3.0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Riassence Inc.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-28 00:00:00.000000000 Z
12
+ date: 2013-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rsence-deps
@@ -229,18 +229,13 @@ files:
229
229
  - client/js/datetime/calendar/calendar.coffee
230
230
  - client/js/datetime/calendar/themes/default/calendar.css
231
231
  - client/js/datetime/calendar/themes/default/calendar.html
232
- - client/js/datetime/calendar/themes/default/calendar_arrows.png
233
- - client/js/datetime/calendar/themes/default/calendar_bg.png
234
- - client/js/datetime/calendar/themes/default/calendar_parts1.png
235
- - client/js/datetime/calendar/themes/default/calendar_parts2.png
236
232
  - client/js/datetime/calendar_pulldown/calendar_pulldown.coffee
237
233
  - client/js/datetime/calendar_pulldown/themes/default/calendar_pulldown.css
238
234
  - client/js/datetime/calendar_pulldown/themes/default/calendar_pulldown.html
239
235
  - client/js/datetime/calendar_pulldown/themes/default/calendar_pulldown.png
240
236
  - client/js/datetime/datepicker/datepicker.coffee
241
237
  - client/js/datetime/datetimepicker/datetimepicker.coffee
242
- - client/js/datetime/datetimepicker/datetimepicker.js
243
- - client/js/datetime/datetimevalue/datetimevalue.js
238
+ - client/js/datetime/datetimevalue/datetimevalue.coffee
244
239
  - client/js/datetime/momentjs/momentjs.js
245
240
  - client/js/datetime/timepicker/timepicker.coffee
246
241
  - client/js/datetime/timesheet/themes/default/timesheet.css
@@ -269,6 +264,8 @@ files:
269
264
  - client/js/foundation/locale_settings/locale_settings.js
270
265
  - client/js/foundation/system/system.js
271
266
  - client/js/foundation/thememanager/thememanager.coffee
267
+ - client/js/foundation/value/pullvalue/pullvalue.coffee
268
+ - client/js/foundation/value/pushvalue/pushvalue.coffee
272
269
  - client/js/foundation/value/value.js
273
270
  - client/js/foundation/view/morphanimation/morphanimation.js
274
271
  - client/js/foundation/view/view.js
@@ -279,6 +276,7 @@ files:
279
276
  - client/js/lists/propertylist/propertylist.js
280
277
  - client/js/lists/propertylist/propertylisteditor/propertylisteditor.js
281
278
  - client/js/lists/radiobuttonlist/radiobuttonlist.js
279
+ - client/js/menus/combobox/combobox.coffee
282
280
  - client/js/menus/menuitem/menuitem.js
283
281
  - client/js/menus/menuitem/themes/default/menuitem.css
284
282
  - client/js/menus/menuitem/themes/default/menuitem.html
@@ -1,210 +0,0 @@
1
-
2
- var
3
- HDateTimePicker = HControl.extend({
4
- setLocked: function(_lockedState){
5
- var
6
- _enabledState = !_lockedState;
7
- this.yyyy.setEnabled(_enabledState);
8
- this.mm.setEnabled(_enabledState);
9
- this.dd.setEnabled(_enabledState);
10
- this.h.setEnabled(_enabledState);
11
- this.m.setEnabled(_enabledState);
12
- },
13
- refreshValue: function(_readMode){
14
- if(!this.drawn){
15
- return;
16
- }
17
- if(!this.m){
18
- return;
19
- }
20
- // this.setLocked( HVM.values[ this.options.lockedId ].value );
21
- var
22
- date = new Date( this.value*1000 ),
23
- yyyy = date.getUTCFullYear(),
24
- mm = date.getUTCMonth()+1,
25
- dd = date.getUTCDate(),
26
- h = date.getUTCHours(),
27
- m = date.getUTCMinutes();
28
- if(_readMode){
29
- var
30
- nuDate = new Date( this.value*1000 ),
31
- doSet = false;
32
- if(this.yyyyValue.value !== yyyy){
33
- nuDate.setUTCFullYear( this.yyyyValue.value ); doSet = true;
34
- }
35
- if(this.mmValue.value !== mm){
36
- nuDate.setUTCMonth( this.mmValue.value-1 ); doSet = true;
37
- }
38
- if(this.ddValue.value !== dd){
39
- nuDate.setUTCDate( this.ddValue.value ); doSet = true;
40
- }
41
- if(this.hValue.value !== h){
42
- nuDate.setUTCHours( this.hValue.value ); doSet = true;
43
- }
44
- if(this.mValue.value !== m){
45
- nuDate.setUTCMinutes( this.mValue.value ); doSet = true;
46
- }
47
- if(doSet){
48
- this.setValue( nuDate.getTime()/1000 );
49
- this.setMonthMax( nuDate );
50
- }
51
- }
52
- else{
53
- this.yyyyValue.set( yyyy );
54
- this.mmValue.set( mm );
55
- this.ddValue.set( dd );
56
- this.hValue.set( h );
57
- this.mValue.set( m );
58
- }
59
- },
60
- setMonthMax: function( nuDate ){
61
- nuDate.setUTCSeconds( 0 );
62
- nuDate.setUTCMinutes( 0 );
63
- nuDate.setUTCHours( 0 );
64
- nuDate.setUTCDate( 1 );
65
- var
66
- mm = nuDate.getUTCMonth();
67
- if(mm === 11){
68
- nuDate.setUTCMonth( 0 );
69
- nuDate.setUTCFullYear( nuDate.getUTCFullYear()+1 );
70
- }
71
- else {
72
- nuDate.setUTCMonth( mm+1 );
73
- }
74
- var
75
- ms = nuDate.getTime() - 1000,
76
- maxDaysDate = new Date(ms),
77
- maxDays = maxDaysDate.getUTCDate();
78
- // console.log('maxDaysDate:',maxDaysDate.getUTCFullYear(),'-',maxDaysDate.getUTCMonth(),'-',maxDaysDate.getUTCDate());
79
- // console.log('maxDays:',maxDays);
80
- if(maxDays !== this.dd.numField.options.maxValue){
81
- // console.log('reset maxValue..');
82
- this.dd.numField.options.maxValue = maxDays;
83
- (this.dd.numField.options.maxValue < this.dd.numField.value) && this.ddValue.set( maxDays );
84
- this.dd.stepper.options.maxValue = maxDays;
85
- }
86
- },
87
- die: function(){
88
- this.yyyyValue.die();
89
- this.yyyy.die();
90
- this.mmValue.die();
91
- this.mm.die();
92
- this.ddValue.die();
93
- this.dd.die();
94
- this.hValue.die();
95
- this.h.die();
96
- this.mValue.die();
97
- this.m.die();
98
- this.base();
99
- },
100
- drawSubviews: function(){
101
- ELEM.setStyle( this.elemId, 'overflow', 'visible' );
102
- var
103
- _NumStepperField = HView.extend({
104
- setEnabled: function(_state){
105
- this.numField.setEnabled(_state);
106
- this.stepper.setEnabled(_state);
107
- if(_state){
108
- this.stepper.show();
109
- }
110
- else{
111
- this.stepper.hide();
112
- }
113
- },
114
- drawSubviews: function(){
115
- ELEM.setStyle( this.elemId, 'overflow', 'visible' );
116
- this.numField = HNumericTextControl.extend({
117
- refreshValue: function(){
118
- this.base();
119
- this.parent.parent.refreshValue(true);
120
- },
121
- textBlur: function(){
122
- this.setValue(
123
- this.validateText(
124
- this.getTextFieldValue()
125
- )
126
- );
127
- }
128
- }).nu(
129
- [ 0, 0, this.rect.width-10, 21 ],
130
- this, {
131
- events: {
132
- textEnter: false
133
- },
134
- minValue: this.options.minValue,
135
- maxValue: this.options.maxValue,
136
- valueObj: this.options.valueObj
137
- }
138
- );
139
- this.stepper = HStepper.nu(
140
- [ this.rect.width-15, 0, 15, 21 ],
141
- this, {
142
- minValue: this.options.minValue,
143
- maxValue: this.options.maxValue,
144
- valueObj: this.options.valueObj
145
- }
146
- );
147
- }
148
- }),
149
- _numStepperRect = HRect.nu( 0, 0, 50, 21 );
150
- this.yyyyValue = HValue.nu( false, 2010 );
151
- this.yyyy = _NumStepperField.nu(
152
- HRect.nu( _numStepperRect ),
153
- this, {
154
- minValue: 2010,
155
- maxValue: 2020,
156
- valueObj: this.yyyyValue
157
- }
158
- );
159
- _numStepperRect.setWidth( 35 );
160
- _numStepperRect.offsetBy( 55, 0 );
161
- this.mmValue = HValue.nu( false, 12 );
162
- this.mm = _NumStepperField.nu(
163
- HRect.nu( _numStepperRect ),
164
- this, {
165
- minValue: 1,
166
- maxValue: 12,
167
- valueObj: this.mmValue
168
- }
169
- );
170
- _numStepperRect.offsetBy( 40, 0 );
171
- this.ddValue = HValue.nu( false, 24 );
172
- this.dd = _NumStepperField.nu(
173
- HRect.nu( _numStepperRect ),
174
- this, {
175
- minValue: 1,
176
- maxValue: 31,
177
- valueObj: this.ddValue
178
- }
179
- );
180
- _numStepperRect.offsetBy( 50, 0 );
181
- this.hValue = HValue.nu( false, 22 );
182
- this.h = _NumStepperField.nu(
183
- HRect.nu( _numStepperRect ),
184
- this, {
185
- minValue: 0,
186
- maxValue: 23,
187
- valueObj: this.hValue
188
- }
189
- );
190
- _numStepperRect.offsetBy( 40, 0 );
191
- this.mValue = HValue.nu( false, 45 );
192
- this.m = _NumStepperField.nu(
193
- HRect.nu( _numStepperRect ),
194
- this, {
195
- minValue: 0,
196
- maxValue: 59,
197
- valueObj: this.mValue
198
- }
199
- );
200
- _numStepperRect.offsetBy( 37, 2 );
201
- _numStepperRect.setWidth( 60 );
202
- HStringView.nu(
203
- HRect.nu( _numStepperRect ),
204
- this, {
205
- // valueObj: HVM.values[this.options.tzValueId]
206
- }
207
- );
208
- this.refreshValue();
209
- }
210
- });
@@ -1,265 +0,0 @@
1
-
2
- /*** = Description
3
- ** Auxiliary class for time handling.
4
- ***/
5
- var//RSence.DateTime
6
- HDateTime = HClass.extend({
7
- msWeek: 604800000,
8
- msDay: 86400000,
9
- msHour: 3600000,
10
- msMinute: 60000,
11
-
12
- /** = Description
13
- * Returns month name of the given date.
14
- *
15
- * = Parameters
16
- * +_date+:: Date to return month name from.
17
- *
18
- * = Returns
19
- * Month name
20
- *
21
- **/
22
- monthName: function(_date){
23
- _date = (_date instanceof Date)?_date:this.date();
24
- return HLocale.dateTime.strings.monthsLong[_date.getUTCMonth()];
25
- },
26
-
27
- /** = Description
28
- * Returns week number for date given as input.
29
- *
30
- * = Parameters
31
- * +_date+:: Date to return week number from.
32
- *
33
- * = Returns
34
- * Number of the week.
35
- *
36
- **/
37
- week: function(_date){
38
- _date = (_date instanceof Date)?_date:this.date();
39
- var _firstDateOfYear = this.firstDateOfYear(_date),
40
- _firstWeekOfYear = this.firstDateOfWeek(_firstDateOfYear);
41
- if(_firstWeekOfYear.getUTCDate()<=28){
42
- _firstWeekOfYear = new Date(_firstWeekOfYear.getTime()+this.msWeek-this.tzMs(_firstWeekOfYear));
43
- }
44
- var _week = Math.ceil(
45
- ( ( ( _date.getTime() - _firstWeekOfYear - this.tzMs(_date) ) / this.msDay ) + _firstDateOfYear.getUTCDay() + 1 ) / 7
46
- );
47
- if((_week === 53) && (this.firstDateOfWeek(this.lastDateOfYear(_date)).getUTCDate() > 28 )){
48
- _week = 1;
49
- }
50
- return _week;
51
- },
52
-
53
- /** = Description
54
- * Returns day of the month for the date given as input.
55
- *
56
- * = Parameters
57
- * +_date+:: Date to return day of the month.
58
- *
59
- * = Returns
60
- * Day of the month
61
- *
62
- **/
63
- mday: function(_date){
64
- _date = (_date instanceof Date)?_date:this.date();
65
- return _date.getUTCDate();
66
- },
67
-
68
- setMday: function( _mday ){
69
- var
70
- _date = this.date();
71
- _date.setUTCDate( _mday );
72
- return Math.round( _date.getTime()/1000 );
73
- },
74
-
75
- /** = Description
76
- * Returns month number for the date given as input.
77
- * Note that months are numbered from 0 to 11.
78
- *
79
- * = Parameters
80
- * +_date+:: Date to return month number from.
81
- *
82
- * = Returns
83
- * Number of the month 0 (January) to 11 (December).
84
- *
85
- **/
86
- month: function(_date){
87
- _date = (_date instanceof Date)?_date:this.date();
88
- return _date.getUTCMonth();
89
- },
90
-
91
- setMonth: function( _month ){
92
- var
93
- _date = this.date();
94
- _date.setUTCMonth( _month );
95
- return Math.round( _date.getTime()/1000 );
96
- },
97
-
98
- /** = Description
99
- * Returns year for given date.
100
- *
101
- * = Parameters
102
- * +_date+:: Date to return year from.
103
- *
104
- * = Returns
105
- * Year
106
- *
107
- **/
108
- year: function(_date){
109
- _date = (_date instanceof Date)?_date:this.date();
110
- return _date.getUTCFullYear();
111
- },
112
-
113
- setYear: function( _year ){
114
- var
115
- _date = this.date();
116
- _date.setUTCFullYear( _year );
117
- return Math.round( _date.getTime()/1000 );
118
- },
119
-
120
- /** = Description
121
- * Returns the timezone offset in milliseconds.
122
- *
123
- * = Parameters
124
- * +_date+:: The date to get timezone offset from.
125
- *
126
- * = Returns
127
- * Timezone offset in milliseconds.
128
- *
129
- **/
130
- tzMs: function(_date){
131
- if( typeof _date === 'number' ){
132
- var _dateDiv = new Date().getTime()/_date;
133
- if( _dateDiv > 1000 ){
134
- _date = new Date(_date);
135
- }
136
- else {
137
- _date = new Date(_date*1000);
138
- }
139
- }
140
- return _date.getTimezoneOffset()*this.msMinute;
141
- },
142
-
143
- /** = Description
144
- * Returns a Date instance for epoch given in seconds.
145
- *
146
- * = Parameters
147
- * +epoch_seconds+:: Point of time given in seconds
148
- * since 1 January 1970 00:00:00 UTC.
149
- *
150
- * = Returns
151
- * Date object
152
- *
153
- **/
154
- date: function(epoch_seconds){
155
- epoch_seconds = (typeof epoch_seconds === 'number')?epoch_seconds:this.value;
156
- var _date = new Date(epoch_seconds*1000);
157
- return _date;
158
- },
159
-
160
- /** = Description
161
- * Returns a Date object with first millisecond of the year.
162
- *
163
- * = Parameters
164
- * +_date+:: The date to get the first millisecond of the same year.
165
- *
166
- * = Returns
167
- * The Date object for the first millisecond of the year
168
- *
169
- **/
170
- firstDateOfYear: function(_date){
171
- _date = (_date instanceof Date)?_date:this.date();
172
- var _date1 = new Date( _date.getUTCFullYear(), 0, 1 ),
173
- _date2 = new Date( _date1.getTime() - this.tzMs(_date1) );
174
- return _date2;
175
- },
176
-
177
- /** = Description
178
- * Get last millisecond of the input given date's year as a Date object.
179
- *
180
- * = Parameters
181
- * +_date+:: The last millisecond of the year on the date given.
182
- *
183
- * = Returns
184
- * Last millisecond of the year as a Date object.
185
- *
186
- **/
187
- lastDateOfYear: function(_date){
188
- _date = (_date instanceof Date)?_date:this.date();
189
- var _date1 = new Date( new Date( _date.getUTCFullYear()+1, 0, 1 ) - 1 ),
190
- _date2 = new Date( _date1.getTime() - this.tzMs(_date1) );
191
- return _date2;
192
- },
193
-
194
- /** = Description
195
- * Returns the first millisecond of the input given date's month.
196
- *
197
- * = Parameters
198
- * +_date+:: The date to get the first millisecond of the month
199
- *
200
- * = Returns
201
- * The first millisecond on the given date's month as a Date object.
202
- *
203
- **/
204
- firstDateOfMonth: function(_date){
205
- _date = (_date instanceof Date)?_date:this.date();
206
- var _date1 = new Date( _date.getUTCFullYear(), _date.getUTCMonth(), 1 ),
207
- _date2 = new Date( _date1.getTime() - this.tzMs(_date1) );
208
- return _date2;
209
- },
210
-
211
- /** = Description
212
- * Returns the last millisecond of the input given date's month.
213
- *
214
- * = Parameters
215
- * +_date+:: The date to get the last millisecond of the month.
216
- *
217
- * = Returns
218
- * The last millisecond of the given date's month as a Date object.
219
- *
220
- **/
221
- lastDateOfMonth: function(_date){
222
- _date = (_date instanceof Date)?_date:this.date();
223
- var _date1 = new Date( new Date( _date.getUTCFullYear(), _date.getUTCMonth()+1, 1 ) - 1 ),
224
- _date2 = new Date( _date1.getTime() - this.tzMs(_date1) );
225
- return _date2;
226
- },
227
-
228
- /** = Description
229
- * Returns the first millisecond when the week starts for date given as input.
230
- *
231
- * = Parameters
232
- * +_date+:: The date to get the first millisecond.
233
- *
234
- * = Returns
235
- * Date for the first millisecond of the week.
236
- *
237
- **/
238
- firstDateOfWeek: function(_date){
239
- _date = (_date instanceof Date)?_date:this.date();
240
- var _wday = _date.getUTCDay();
241
- if(_wday===0){
242
- _wday = 7;
243
- }
244
- var _dateMs = ((_wday-1)*this.msDay),
245
- _date1 = new Date( _date.getTime() - _dateMs ),
246
- _date2 = new Date( _date1.getTime() );
247
- return _date2;
248
- },
249
-
250
- /** = Description
251
- * Returns the last millisecond of the week for the given date.
252
- *
253
- * = Parameters
254
- * +_date+:: The date to get the last millisecond
255
- *
256
- * = Returns
257
- * The last millisecond of the week as a Date object.
258
- *
259
- **/
260
- lastDateOfWeek: function(_date){
261
- var _firstDateOfWeek = this.firstDateOfWeek(_date),
262
- _lastDateOfWeek = new Date( _firstDateOfWeek.getTime() + this.msWeek - this.msDay - 1 );
263
- return _lastDateOfWeek;
264
- }
265
- });