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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/client/conf/client_pkg.yaml +6 -2
- data/client/js/comm/queue/queue.js +32 -44
- data/client/js/comm/transporter/transporter.js +24 -16
- data/client/js/comm/values/values.js +27 -15
- data/client/js/controls/button/button.coffee +14 -5
- data/client/js/controls/button/themes/default/button.css +4 -2
- data/client/js/controls/checkbox/checkbox.js +4 -4
- data/client/js/controls/dialogs/sheet/sheet.js +11 -11
- data/client/js/controls/dialogs/sheet/themes/default/sheet.html +1 -1
- data/client/js/controls/imageview/imageview.js +15 -15
- data/client/js/controls/numerictextcontrol/numerictextcontrol.coffee +32 -10
- data/client/js/controls/onoffbutton/onoffbutton.coffee +5 -5
- data/client/js/controls/progress/progressbar/progressbar.js +6 -7
- data/client/js/controls/progress/progressbar/themes/default/progressbar.css +4 -4
- data/client/js/controls/progress/progressbar/themes/default/progressbar.html +1 -2
- data/client/js/controls/sliders/slider/slider.js +74 -79
- data/client/js/controls/stepper/stepper.js +31 -31
- data/client/js/controls/stringview/stringview.js +20 -8
- data/client/js/controls/tab/tab.js +57 -63
- data/client/js/controls/tab/themes/default/tab.html +4 -1
- data/client/js/controls/textcontrol/textcontrol.coffee +13 -3
- data/client/js/controls/validatorview/validatorview.js +4 -4
- data/client/js/controls/window/window.js +43 -56
- data/client/js/core/class/class.js +25 -23
- data/client/js/core/elem/elem.coffee +8 -1
- data/client/js/core/rsence_ns/rsence_ns.coffee +6 -2
- data/client/js/core/util/util_methods/util_methods.coffee +57 -15
- data/client/js/datetime/calendar/calendar.coffee +196 -199
- data/client/js/datetime/calendar/themes/default/calendar.css +81 -159
- data/client/js/datetime/calendar/themes/default/calendar.html +9 -18
- data/client/js/datetime/datepicker/datepicker.coffee +18 -3
- data/client/js/datetime/datetimepicker/datetimepicker.coffee +6 -1
- data/client/js/datetime/datetimevalue/datetimevalue.coffee +194 -0
- data/client/js/datetime/momentjs/momentjs.js +310 -76
- data/client/js/datetime/timepicker/timepicker.coffee +6 -1
- data/client/js/datetime/timesheet/timesheet.js +59 -61
- data/client/js/foundation/control/control.js +45 -44
- data/client/js/foundation/control/controldefaults/controldefaults.js +13 -9
- data/client/js/foundation/control/dyncontrol/dyncontrol.js +45 -57
- data/client/js/foundation/control/eventresponder/eventresponder.js +97 -97
- data/client/js/foundation/control/valuematrix/valuematrix.js +13 -13
- data/client/js/foundation/eventmanager/eventmanager.coffee +50 -32
- data/client/js/foundation/geom/rect/rect.js +43 -32
- data/client/js/foundation/locale_settings/locale_settings.js +36 -25
- data/client/js/foundation/system/system.js +79 -67
- data/client/js/foundation/thememanager/thememanager.coffee +11 -1
- data/client/js/foundation/value/pullvalue/pullvalue.coffee +7 -0
- data/client/js/foundation/value/pushvalue/pushvalue.coffee +25 -0
- data/client/js/foundation/value/value.js +22 -15
- data/client/js/foundation/view/view.js +94 -55
- data/client/js/foundation/view/viewdefaults/viewdefaults.js +5 -1
- data/client/js/lists/listitems/listitems.js +26 -4
- data/client/js/menus/combobox/combobox.coffee +55 -0
- data/client/js/menus/minimenu/minimenu.js +61 -30
- data/client/js/menus/minimenu/themes/default/minimenu.css +1 -6
- data/client/js/menus/minimenu/themes/default/minimenu.html +5 -4
- data/client/js/menus/minimenuitem/minimenuitem.js +6 -6
- data/client/js/menus/popupmenu/themes/default/popupmenu.css +1 -6
- data/client/js/menus/popupmenu/themes/default/popupmenu.html +5 -4
- data/client/js/tables/table/table.coffee +109 -64
- data/client/js/tables/table/themes/default/table.css +4 -0
- data/lib/rsence/msg.rb +64 -64
- data/lib/rsence/plugins/plugin.rb +68 -52
- data/lib/rsence/session/sequel_sessionstorage.rb +5 -5
- data/lib/rsence/value.rb +79 -59
- data/plugins/client_pkg/lib/client_pkg_build.rb +5 -1
- data/plugins/client_pkg/lib/client_pkg_serve.rb +40 -32
- data/plugins/main/js/main.js +46 -28
- metadata +6 -8
- data/client/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/client/js/datetime/calendar/themes/default/calendar_bg.png +0 -0
- data/client/js/datetime/calendar/themes/default/calendar_parts1.png +0 -0
- data/client/js/datetime/calendar/themes/default/calendar_parts2.png +0 -0
- data/client/js/datetime/datetimepicker/datetimepicker.js +0 -210
- data/client/js/datetime/datetimevalue/datetimevalue.js +0 -265
@@ -1,40 +1,49 @@
|
|
1
|
-
.
|
1
|
+
.default > .calendar,
|
2
|
+
.default > .calendar_bg,
|
3
|
+
.default > .calendar > .head,
|
4
|
+
.default > .calendar > .head > .prev_month,
|
5
|
+
.default > .calendar > .head > .next_month,
|
6
|
+
.default > .calendar > .head > .month_year,
|
7
|
+
.default > .calendar > .weekdays,
|
8
|
+
.default > .calendar > .weekdays > div,
|
9
|
+
.default > .calendar > .weeks,
|
10
|
+
.default > .calendar > .weeks > .week_row,
|
11
|
+
.default > .calendar > .weeks > .week_row > .col_inactive,
|
12
|
+
.default > .calendar > .weeks > .week_row > .col_selected,
|
13
|
+
.default > .calendar > .weeks > .week_row > .col_wk,
|
14
|
+
.default > .calendar > .weeks > .week_row > .col_active,
|
15
|
+
.default > .calendar > .weeks > .week_row > .col_today {
|
2
16
|
position: absolute;
|
3
|
-
left:
|
17
|
+
left: 0; top: 0; right: 0; bottom: 0;
|
4
18
|
}
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
.
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
.
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
background-position: -16px 0px;
|
23
|
-
right: 2px;
|
24
|
-
}
|
25
|
-
.calendar_head_prev_month:hover {
|
26
|
-
background-position: 0px -16px;
|
27
|
-
}
|
28
|
-
.calendar_head_next_month:hover {
|
29
|
-
background-position: -16px -16px;
|
30
|
-
}
|
31
|
-
.calendar_head_prev_month:active,
|
32
|
-
.calendar_head_next_month:active {
|
33
|
-
background-color: #fff;
|
19
|
+
|
20
|
+
.default > .calendar > .head { height: 20px; bottom: auto; }
|
21
|
+
|
22
|
+
.default > .calendar > .head > .prev_month,
|
23
|
+
.default > .calendar > .head > .next_month {
|
24
|
+
top: 4px; width: 18px; height: 18px; bottom: auto;
|
25
|
+
font-size: 18px; line-height: 18px;
|
26
|
+
vertical-align: middle; text-align: center;
|
27
|
+
cursor: pointer; color: #999;
|
28
|
+
}
|
29
|
+
.default > .calendar > .head > .prev_month { left: 2px; }
|
30
|
+
|
31
|
+
.default > .calendar > .head > .prev_month > .flipped {
|
32
|
+
transform: scale(-1,1);
|
33
|
+
-moz-transform: scale(-1,1);
|
34
|
+
-webkit-transform: scale(-1,1);
|
35
|
+
display: inline-block;
|
34
36
|
}
|
35
|
-
.
|
36
|
-
|
37
|
-
|
37
|
+
.default > .calendar > .head > .next_month { right: 2px; left: auto; }
|
38
|
+
|
39
|
+
.default > .calendar > .head > .prev_month:hover,
|
40
|
+
.default > .calendar > .head > .next_month:hover { color: #000; }
|
41
|
+
|
42
|
+
.default > .calendar > .head > .prev_month:hover,
|
43
|
+
.default > .calendar > .head > .next_month:hover { background-color: white; }
|
44
|
+
|
45
|
+
.default > .calendar > .head > .month_year {
|
46
|
+
left: 20px; right: 20px; height: 20px; bottom: auto;
|
38
47
|
color: #000;
|
39
48
|
font-family: Helvetica, Arial, sans-serif;
|
40
49
|
font-weight: normal;
|
@@ -43,13 +52,10 @@
|
|
43
52
|
vertical-align: middle;
|
44
53
|
text-align: center;
|
45
54
|
}
|
46
|
-
.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
.calendar_weekdays div {
|
51
|
-
position: absolute;
|
52
|
-
top: 0px; height: 15px; width: 25px;
|
55
|
+
.default > .calendar > .weekdays { top: 20px; height: 15px; right: auto; }
|
56
|
+
|
57
|
+
.default > .calendar > .weekdays > div {
|
58
|
+
height: 15px; width: 25px;
|
53
59
|
color: #000;
|
54
60
|
font-family: Helvetica, Arial, sans-serif;
|
55
61
|
font-size: 11px;
|
@@ -57,141 +63,57 @@
|
|
57
63
|
vertical-align: middle;
|
58
64
|
text-align: center;
|
59
65
|
}
|
60
|
-
.
|
61
|
-
position: absolute;
|
66
|
+
.default > .calendar > .weeks {
|
62
67
|
top: 34px; left: 0px; right: 2px; bottom: 2px;
|
63
68
|
}
|
64
|
-
.
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
.
|
69
|
-
.
|
70
|
-
.
|
71
|
-
.calendar_weeks_week_col_yes,
|
72
|
-
.calendar_weeks_week_col_today {
|
73
|
-
position: absolute;
|
69
|
+
.default > .calendar > .weeks > .week_row { left: 0px; right: 0px; }
|
70
|
+
|
71
|
+
.default > .calendar > .weeks > .week_row > .col_inactive,
|
72
|
+
.default > .calendar > .weeks > .week_row > .col_selected,
|
73
|
+
.default > .calendar > .weeks > .week_row > .col_wk,
|
74
|
+
.default > .calendar > .weeks > .week_row > .col_active,
|
75
|
+
.default > .calendar > .weeks > .week_row > .col_today {
|
74
76
|
text-decoration: none;
|
75
|
-
top: 0px;
|
76
77
|
font-family: Helvetica, Arial, sans-serif;
|
77
78
|
font-size: 15px;
|
78
79
|
vertical-align: middle;
|
79
80
|
text-align: center;
|
80
81
|
cursor: pointer;
|
81
82
|
}
|
82
|
-
.
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
.
|
87
|
-
|
88
|
-
|
89
|
-
.
|
90
|
-
color: #000;
|
91
|
-
}
|
92
|
-
.calendar_weeks_week_col_yes,
|
93
|
-
.calendar_weeks_week_col_sel {
|
83
|
+
.default > .calendar > .weeks > .week_row > .col_wk { color: #000; cursor: default; }
|
84
|
+
|
85
|
+
.default > .calendar > .weeks > .week_row > .col_inactive { color: #666; }
|
86
|
+
|
87
|
+
.default.enabled > .calendar > .weeks > .week_row > .col_inactive:hover { color: #000; }
|
88
|
+
|
89
|
+
.default > .calendar > .weeks > .week_row > .col_active,
|
90
|
+
.default > .calendar > .weeks > .week_row > .col_selected {
|
94
91
|
color: #000;
|
95
92
|
background-color: #ddd;
|
96
93
|
font-weight: normal;
|
97
94
|
border: 1px solid #666;
|
98
95
|
}
|
99
|
-
.
|
100
|
-
|
101
|
-
}
|
102
|
-
|
103
|
-
|
104
|
-
color: #F00;
|
105
|
-
}
|
106
|
-
.enabled > .calendar_control > .calendar_weeks > .calendar_weeks_week_row > .calendar_weeks_week_col_yes:hover {
|
96
|
+
.default > .calendar > .weeks > .week_row > .col_selected { background-color: #fff; }
|
97
|
+
|
98
|
+
.default > .calendar > .weeks > .week_row > .col_today { font-weight: bold; color: #f00; }
|
99
|
+
|
100
|
+
.default.enabled > .calendar > .weeks > .week_row > .col_active:hover {
|
107
101
|
border: 2px solid black; margin: -1px; z-index: 100; border-radius: 3px;
|
108
102
|
}
|
109
|
-
.calendar_bg {
|
110
|
-
position: absolute;
|
103
|
+
.default > .calendar_bg {
|
111
104
|
left: -1px; right: -1px;
|
112
|
-
top: -1px; bottom: -
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
}
|
118
|
-
.disabled > .calendar_bg *,
|
119
|
-
.disabled > .calendar_control * {
|
120
|
-
opacity: 0.8;
|
121
|
-
}
|
122
|
-
.calendar_bg .calendar_nw,
|
123
|
-
.calendar_bg .calendar_n,
|
124
|
-
.calendar_bg .calendar_ne,
|
125
|
-
.calendar_bg .calendar_sw,
|
126
|
-
.calendar_bg .calendar_s,
|
127
|
-
.calendar_bg .calendar_se {
|
128
|
-
height: 12px;
|
129
|
-
background-image: #{this.getCssFilePath('calendar_parts1.png')};
|
130
|
-
}
|
131
|
-
.calendar_bg .calendar_c {
|
132
|
-
left: 12px; right: 12px; top: 12px; bottom: 12px;
|
133
|
-
background-color: #fbfafb;
|
134
|
-
/* background-image: #{this.getCssFilePath('calendar_bg.png')};*/
|
135
|
-
}
|
136
|
-
.calendar_bg .calendar_w,
|
137
|
-
.calendar_bg .calendar_e {
|
138
|
-
top: 12px; bottom: 12px;
|
139
|
-
width: 12px;
|
140
|
-
background-image: #{this.getCssFilePath('calendar_parts2.png')};
|
105
|
+
top: -1px; bottom: -1px;
|
106
|
+
border: 1px solid #e0e0e0;
|
107
|
+
border-radius: 3px;
|
108
|
+
border-top: 0; border-left: 0;
|
109
|
+
box-shadow: 0 0 3px #333;
|
110
|
+
#{this.gradientCSS('#fcfcfc',[45,'#ffffff'],[55,'#fdfdfd'],[75,'#f3f3f3'],'#f0f0f0')}
|
141
111
|
}
|
142
|
-
.calendar_bg
|
143
|
-
|
144
|
-
|
112
|
+
.default.disabled > .calendar_bg *, {
|
113
|
+
border-color: #ddd;
|
114
|
+
box-shadow: 0 0 3px #666;
|
115
|
+
#{this.gradientCSS('#d6d6d6',[66,'#d0d0d0'],[71,'#d3d3d3'],'#cccccc')}
|
145
116
|
}
|
146
|
-
.
|
147
|
-
|
148
|
-
.calendar_bg .calendar_sw,
|
149
|
-
.calendar_bg .calendar_se {
|
150
|
-
width: 12px;
|
117
|
+
.default.disabled > .calendar * {
|
118
|
+
opacity: 0.9;
|
151
119
|
}
|
152
|
-
.calendar_bg .calendar_nw,
|
153
|
-
.calendar_bg .calendar_n,
|
154
|
-
.calendar_bg .calendar_ne {
|
155
|
-
top: 0px;
|
156
|
-
}
|
157
|
-
.calendar_bg .calendar_sw,
|
158
|
-
.calendar_bg .calendar_s,
|
159
|
-
.calendar_bg .calendar_se {
|
160
|
-
bottom: 0px;
|
161
|
-
}
|
162
|
-
.calendar_bg .calendar_nw,
|
163
|
-
.calendar_bg .calendar_w,
|
164
|
-
.calendar_bg .calendar_sw {
|
165
|
-
left: 0px;
|
166
|
-
}
|
167
|
-
.calendar_bg .calendar_ne,
|
168
|
-
.calendar_bg .calendar_e,
|
169
|
-
.calendar_bg .calendar_se {
|
170
|
-
right: 0px;
|
171
|
-
}
|
172
|
-
.calendar_bg .calendar_nw {
|
173
|
-
background-position: 0px 0px;
|
174
|
-
}
|
175
|
-
.calendar_bg .calendar_n {
|
176
|
-
background-position: 0px -24px;
|
177
|
-
}
|
178
|
-
.calendar_bg .calendar_ne {
|
179
|
-
background-position: -12px 0px;
|
180
|
-
}
|
181
|
-
.calendar_bg .calendar_sw {
|
182
|
-
background-position: 0px -12px;
|
183
|
-
}
|
184
|
-
.calendar_bg .calendar_s {
|
185
|
-
background-position: 0px -36px;
|
186
|
-
}
|
187
|
-
.calendar_bg .calendar_se {
|
188
|
-
background-position: -12px -12px;
|
189
|
-
}
|
190
|
-
.calendar_bg .calendar_w {
|
191
|
-
background-position: 0px 0px;
|
192
|
-
}
|
193
|
-
.calendar_bg .calendar_e {
|
194
|
-
background-position: -12px 0px;
|
195
|
-
}
|
196
|
-
|
197
|
-
|
@@ -1,20 +1,11 @@
|
|
1
|
-
<div class="calendar_bg">
|
2
|
-
|
3
|
-
<div class="
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
<div class="calendar_e"></div>
|
8
|
-
<div class="calendar_sw"></div>
|
9
|
-
<div class="calendar_s"></div>
|
10
|
-
<div class="calendar_se"></div>
|
11
|
-
</div>
|
12
|
-
<div class="calendar_control" id="control]I[">
|
13
|
-
<div class="calendar_head">
|
14
|
-
<div class="calendar_head_prev_month" id="prevMonth]I["></div>
|
15
|
-
<div class="calender_head_month_year" id="state]I["></div>
|
16
|
-
<div class="calendar_head_next_month" id="nextMonth]I["></div>
|
1
|
+
<div class="calendar_bg" id="bg]I["></div>
|
2
|
+
<div class="calendar" id="control]I[">
|
3
|
+
<div class="head">
|
4
|
+
<div class="month_year" id="state]I["></div>
|
5
|
+
<div class="next_month" id="nextMonth]I[">▶</div>
|
6
|
+
<div class="prev_month" id="prevMonth]I["><span class="flipped">▶</span></div>
|
17
7
|
</div>
|
18
|
-
<div class="
|
19
|
-
<div class="
|
8
|
+
<div class="weekdays" id="label]I["></div>
|
9
|
+
<div class="weeks" id="value]I["></div>
|
20
10
|
</div>
|
11
|
+
${ELEM.setStyle(this.elemId,'overflow','visible')}
|
@@ -1,14 +1,28 @@
|
|
1
1
|
HDatePicker = HTextControl.extend
|
2
|
+
defaultEvents: UtilMethods.prototype.cloneObject( HNumberField.prototype.defaultEvents )
|
2
3
|
controlDefaults: HTextControl.prototype.controlDefaults.extend
|
3
|
-
fieldFormat: 'YYYY-MM-DD'
|
4
4
|
refreshAfter: 3
|
5
|
+
useUTC: null
|
6
|
+
fieldFormat: null
|
5
7
|
preserveTime: true
|
6
8
|
preserveDate: false
|
7
9
|
calendarPicker: false
|
8
10
|
calendarHorizontalAlign: 'right'
|
9
11
|
calendarVerticalAlign: 'top'
|
12
|
+
scrollUnit: 'days'
|
13
|
+
customOptions: (_options)->
|
14
|
+
_options.useUTC = HLocale.dateTime.defaultOptions.useUTC if _options.useUTC == null
|
15
|
+
_options.fieldFormat = HLocale.dateTime.strings.dateFormat if _options.fieldFormat == null
|
16
|
+
mouseWheel: (_delta)->
|
17
|
+
_date = @moment(@value*1000)
|
18
|
+
if _delta > 0
|
19
|
+
_date.add(1,@options.scrollUnit)
|
20
|
+
else if _delta < 0
|
21
|
+
_date.subtract(1,@options.scrollUnit)
|
22
|
+
@setValue(_date.unix())
|
23
|
+
true
|
10
24
|
valueToField: (_value)->
|
11
|
-
_date = moment
|
25
|
+
_date = @moment(_value*1000)
|
12
26
|
@_datePreserve = [ _date.year(), _date.month(), _date.date() ] if @options.preserveDate
|
13
27
|
if @options.preserveTime and @_timePreserve? and @calendar? and not @calendar.menuItemView.isHidden
|
14
28
|
@_dateRestore(_date)
|
@@ -35,7 +49,7 @@ HDatePicker = HTextControl.extend
|
|
35
49
|
_date.minutes( _minutes )
|
36
50
|
_date.seconds( _seconds )
|
37
51
|
fieldToValue: (_value)->
|
38
|
-
_date = moment
|
52
|
+
_date = @moment(_value,@options.fieldFormat)
|
39
53
|
return @value unless _date.isValid()
|
40
54
|
@_dateRestore(_date)
|
41
55
|
_date.unix()
|
@@ -54,6 +68,7 @@ HDatePicker = HTextControl.extend
|
|
54
68
|
).new( [null,0,24,24,1,null], @,
|
55
69
|
value: @value
|
56
70
|
valueObj: @valueObj
|
71
|
+
useUTC: @options.useUTC
|
57
72
|
todayStart: @options.todayStart
|
58
73
|
calendarHorizontalAlign: @options.calendarHorizontalAlign
|
59
74
|
calendarVerticalAlign: @options.calendarVerticalAlign
|
@@ -1,7 +1,12 @@
|
|
1
1
|
HDateTimePicker = HDatePicker.extend
|
2
2
|
controlDefaults: HDatePicker.prototype.controlDefaults.extend
|
3
|
-
fieldFormat:
|
3
|
+
fieldFormat: null
|
4
4
|
refreshAfter: 3
|
5
5
|
preserveTime: false
|
6
6
|
preserveDate: false
|
7
7
|
calendarPicker: false
|
8
|
+
scrollUnit: 'minutes'
|
9
|
+
customOptions: (_options)->
|
10
|
+
_options.fieldFormat = HLocale.dateTime.strings.dateTimeFormat if _options.fieldFormat == null
|
11
|
+
@base(_options)
|
12
|
+
|
@@ -0,0 +1,194 @@
|
|
1
|
+
HDateTime = UtilMethods.extend
|
2
|
+
|
3
|
+
# constants:
|
4
|
+
msWeek: 604800000
|
5
|
+
msDay: 86400000
|
6
|
+
msHour: 3600000
|
7
|
+
msMinute: 60000
|
8
|
+
|
9
|
+
locale: HLocale.dateTime
|
10
|
+
localeStrings: HLocale.dateTime.strings
|
11
|
+
|
12
|
+
_dateSel: (_date)->
|
13
|
+
if _date and _date._d instanceof Date # moment.js
|
14
|
+
_zone = _date.zone()
|
15
|
+
_date = @moment(_date.unix()*1000).zone(_zone)
|
16
|
+
_date = _date.toDate()
|
17
|
+
return @date() if @typeChr( _date ) != 'd'
|
18
|
+
_date
|
19
|
+
|
20
|
+
dateInRange: (_date, _min, _max)-> ( _date >= _min and _date < _max )
|
21
|
+
|
22
|
+
### = Description
|
23
|
+
# Returns month name of the given date.
|
24
|
+
#
|
25
|
+
# = Parameters
|
26
|
+
# +_date+:: Date to return month name from.
|
27
|
+
#
|
28
|
+
# = Returns
|
29
|
+
# Month name
|
30
|
+
#
|
31
|
+
###
|
32
|
+
monthName: (_date)-> @localeStrings.monthsLong[ @_dateSel(_date).getMonth() ]
|
33
|
+
|
34
|
+
### = Description
|
35
|
+
# Returns week number for date given as input.
|
36
|
+
#
|
37
|
+
# = Parameters
|
38
|
+
# +_date+:: Date to return week number from.
|
39
|
+
#
|
40
|
+
# = Returns
|
41
|
+
# Number of the week.
|
42
|
+
#
|
43
|
+
###
|
44
|
+
week: (_date)-> @moment(@_dateSel(_date)).week()
|
45
|
+
|
46
|
+
### = Description
|
47
|
+
# Returns day of the month for the date given as input.
|
48
|
+
#
|
49
|
+
# = Parameters
|
50
|
+
# +_date+:: Date to return day of the month.
|
51
|
+
#
|
52
|
+
# = Returns
|
53
|
+
# Day of the month
|
54
|
+
#
|
55
|
+
###
|
56
|
+
mday: (_date)-> @moment( @_dateSel(_date) ).date()
|
57
|
+
setMday: (_mday)-> @moment( @date() ).date( _mday ).unix()
|
58
|
+
|
59
|
+
### = Description
|
60
|
+
# Returns month number for the date given as input.
|
61
|
+
# Note that months are numbered from 0 to 11.
|
62
|
+
#
|
63
|
+
# = Parameters
|
64
|
+
# +_date+:: Date to return month number from.
|
65
|
+
#
|
66
|
+
# = Returns
|
67
|
+
# Number of the month 0 (January) to 11 (December).
|
68
|
+
#
|
69
|
+
###
|
70
|
+
month: (_date)-> @moment( @_dateSel(_date) ).month()
|
71
|
+
setMonth: ( _month )-> @moment( @date() ).month( _month ).unix()
|
72
|
+
|
73
|
+
|
74
|
+
### = Description
|
75
|
+
# Returns year for given date.
|
76
|
+
#
|
77
|
+
# = Parameters
|
78
|
+
# +_date+:: Date to return year from.
|
79
|
+
#
|
80
|
+
# = Returns
|
81
|
+
# Year
|
82
|
+
#
|
83
|
+
###
|
84
|
+
year: (_date)-> @moment( @_dateSel(_date) ).year()
|
85
|
+
setYear: ( _year )-> @moment( @date() ).year( _year ).unix()
|
86
|
+
|
87
|
+
### = Description
|
88
|
+
# Returns the timezone offset in milliseconds.
|
89
|
+
#
|
90
|
+
# = Parameters
|
91
|
+
# +_date+:: The date to get timezone offset from.
|
92
|
+
#
|
93
|
+
# = Returns
|
94
|
+
# Timezone offset in milliseconds.
|
95
|
+
#
|
96
|
+
###
|
97
|
+
tzMs: (_date)->
|
98
|
+
if @typeChr(_date) == 'n'
|
99
|
+
_dateDiv = @msNow()/_date
|
100
|
+
if _dateDiv > 1000
|
101
|
+
_date = @moment(_date)
|
102
|
+
else
|
103
|
+
_date = @moment(_date*1000)
|
104
|
+
_date.zone()*@msMinute
|
105
|
+
|
106
|
+
|
107
|
+
### = Description
|
108
|
+
# Returns a Date instance for epoch given in seconds.
|
109
|
+
#
|
110
|
+
# = Parameters
|
111
|
+
# +_epochSecs+:: Point of time given in seconds
|
112
|
+
# since 1 January 1970 00:00:00 UTC.
|
113
|
+
#
|
114
|
+
# = Returns
|
115
|
+
# Date object
|
116
|
+
#
|
117
|
+
###
|
118
|
+
date: (_epochSecs)->
|
119
|
+
if @typeChr(_epochSecs) != 'n'
|
120
|
+
_epochSecs = @value
|
121
|
+
@moment(_epochSecs*1000).toDate()
|
122
|
+
|
123
|
+
### = Description
|
124
|
+
# Returns a Date object with first millisecond of the year.
|
125
|
+
#
|
126
|
+
# = Parameters
|
127
|
+
# +_date+:: The date to get the first millisecond of the same year.
|
128
|
+
#
|
129
|
+
# = Returns
|
130
|
+
# The Date object for the first millisecond of the year
|
131
|
+
#
|
132
|
+
###
|
133
|
+
firstDateOfYear: (_date)-> @moment(@_dateSel(_date)).startOf('year').toDate()
|
134
|
+
|
135
|
+
### = Description
|
136
|
+
# Get last millisecond of the input given date's year as a Date object.
|
137
|
+
#
|
138
|
+
# = Parameters
|
139
|
+
# +_date+:: The last millisecond of the year on the date given.
|
140
|
+
#
|
141
|
+
# = Returns
|
142
|
+
# Last millisecond of the year as a Date object.
|
143
|
+
#
|
144
|
+
###
|
145
|
+
lastDateOfYear: (_date)-> @moment(@_dateSel(_date)).endOf('year').toDate()
|
146
|
+
|
147
|
+
### = Description
|
148
|
+
# Returns the first millisecond of the input given date's month.
|
149
|
+
#
|
150
|
+
# = Parameters
|
151
|
+
# +_date+:: The date to get the first millisecond of the month
|
152
|
+
#
|
153
|
+
# = Returns
|
154
|
+
# The first millisecond on the given date's month as a Date object.
|
155
|
+
#
|
156
|
+
###
|
157
|
+
firstDateOfMonth: (_date)-> @moment(@_dateSel(_date)).startOf('month').toDate()
|
158
|
+
|
159
|
+
### = Description
|
160
|
+
# Returns the last millisecond of the input given date's month.
|
161
|
+
#
|
162
|
+
# = Parameters
|
163
|
+
# +_date+:: The date to get the last millisecond of the month.
|
164
|
+
#
|
165
|
+
# = Returns
|
166
|
+
# The last millisecond of the given date's month as a Date object.
|
167
|
+
#
|
168
|
+
###
|
169
|
+
lastDateOfMonth: (_date)-> @moment(@_dateSel(_date)).endOf('month').toDate()
|
170
|
+
|
171
|
+
### = Description
|
172
|
+
# Returns the first millisecond when the week starts for date given as input.
|
173
|
+
#
|
174
|
+
# = Parameters
|
175
|
+
# +_date+:: The date to get the first millisecond.
|
176
|
+
#
|
177
|
+
# = Returns
|
178
|
+
# Date for the first millisecond of the week.
|
179
|
+
#
|
180
|
+
###
|
181
|
+
firstDateOfWeek: (_date)-> @moment(@_dateSel(_date)).startOf('week').toDate()
|
182
|
+
|
183
|
+
### = Description
|
184
|
+
# Returns the last millisecond of the week for the given date.
|
185
|
+
#
|
186
|
+
# = Parameters
|
187
|
+
# +_date+:: The date to get the last millisecond
|
188
|
+
#
|
189
|
+
# = Returns
|
190
|
+
# The last millisecond of the week as a Date object.
|
191
|
+
#
|
192
|
+
###
|
193
|
+
lastDateOfWeek: (_date)-> @moment(@_dateSel(_date)).endOf('week').toDate()
|
194
|
+
|