Remove coffeescript date utils and use es6
parent
d1ad367afe
commit
e3d899cb0e
|
@ -1,5 +1,5 @@
|
|||
css = require './style'
|
||||
dateUtils = require '../date_utils'
|
||||
dateTime = require '../util/date-time'
|
||||
|
||||
module.exports = React.createClass
|
||||
displayName: 'Day',
|
||||
|
@ -11,7 +11,7 @@ module.exports = React.createClass
|
|||
viewDate : React.PropTypes.object
|
||||
|
||||
_dayStyle: ->
|
||||
marginLeft: "#{dateUtils.firstWeekDay(@props.viewDate) * 100/7}%"
|
||||
marginLeft: "#{dateTime.getFirstWeekDay(@props.viewDate) * 100/7}%"
|
||||
|
||||
_isSelected: () ->
|
||||
isSameYear = @props.viewDate.getFullYear() == @props.selectedDate.getFullYear()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CTG = React.addons.CSSTransitionGroup
|
||||
css = require './style'
|
||||
dateUtils = require '../date_utils'
|
||||
dateTime = require '../util/date-time'
|
||||
FontIcon = require '../font_icon'
|
||||
Month = require './month'
|
||||
|
||||
|
@ -31,10 +31,10 @@ module.exports = React.createClass
|
|||
# -- Events
|
||||
onDayClick: (event) ->
|
||||
@setState
|
||||
selectedDate: dateUtils.setDay(@state.viewDate, parseInt(event.target.textContent))
|
||||
selectedDate: dateTime.setDay(@state.viewDate, parseInt(event.target.textContent))
|
||||
|
||||
onYearClick: (event) ->
|
||||
newDate = dateUtils.setYear(@state.viewDate, parseInt(event.target.textContent))
|
||||
newDate = dateTime.setYear(@state.selectedDate, parseInt(event.target.textContent))
|
||||
@setState
|
||||
selectedDate: newDate
|
||||
viewDate: newDate
|
||||
|
@ -53,12 +53,12 @@ module.exports = React.createClass
|
|||
incrementViewMonth: ->
|
||||
@setState
|
||||
direction: 'right'
|
||||
viewDate: dateUtils.addMonths(@state.viewDate, 1)
|
||||
viewDate: dateTime.addMonths(@state.viewDate, 1)
|
||||
|
||||
decrementViewMonth: ->
|
||||
@setState
|
||||
direction: 'left'
|
||||
viewDate: dateUtils.addMonths(@state.viewDate, -1)
|
||||
viewDate: dateTime.addMonths(@state.viewDate, -1)
|
||||
|
||||
# -- Render
|
||||
renderYear: (year) ->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
css = require './style'
|
||||
Day = require './day'
|
||||
util = require '../date_utils'
|
||||
dateTime = require '../util/date-time'
|
||||
|
||||
module.exports = React.createClass
|
||||
displayName: 'Month',
|
||||
|
@ -13,13 +13,13 @@ module.exports = React.createClass
|
|||
render: ->
|
||||
<div>
|
||||
<span className={css.title}>
|
||||
{ util.monthInWords(@props.viewDate)} {@props.viewDate.getFullYear() }
|
||||
{ dateTime.getFullMonth(@props.viewDate)} {@props.viewDate.getFullYear() }
|
||||
</span>
|
||||
<div className={css.week}>
|
||||
{ <span key={"dw#{i}"}>{ util.weekDayInWords(i).charAt(0) }</span> for i in [0..6] }
|
||||
{ <span key={"dw#{i}"}>{ dateTime.getFullDayOfWeek(i).charAt(0) }</span> for i in [0..6] }
|
||||
</div>
|
||||
<div className={css.days}>
|
||||
{ for i in [1..util.daysInMonth(@props.viewDate)]
|
||||
{ for i in [1..dateTime.getDaysInMonth(@props.viewDate)]
|
||||
<Day key={"d#{i}"}
|
||||
day={i}
|
||||
onClick={@props.onDayClick}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
css = require './style'
|
||||
dateUtils = require '../date_utils'
|
||||
Dialog = require '../dialog'
|
||||
Calendar = require '../calendar'
|
||||
css = require './style'
|
||||
dateTime = require '../util/date-time'
|
||||
Dialog = require '../dialog'
|
||||
|
||||
module.exports = React.createClass
|
||||
displayName: 'CalendarDialog'
|
||||
|
@ -25,7 +25,7 @@ module.exports = React.createClass
|
|||
# -- Events
|
||||
onCalendarChange: (calendar) ->
|
||||
@setState
|
||||
date: dateUtils.cloneDatetime(calendar.getValue())
|
||||
date: dateTime.clone(calendar.getValue())
|
||||
display: 'months'
|
||||
|
||||
onDateCancel: (ref, method) ->
|
||||
|
@ -50,9 +50,9 @@ module.exports = React.createClass
|
|||
className = "display-#{@state.display}"
|
||||
<Dialog ref="dialog" type={css.dialog} className={className} actions={@state.actions}>
|
||||
<header className={css.header}>
|
||||
<span className={css.headerWeekday}>{dateUtils.weekDayInWords(@state.date.getDay())}</span>
|
||||
<span className={css.headerWeekday}>{dateTime.getFullDayOfWeek(@state.date.getDay())}</span>
|
||||
<div onClick={@displayMonths}>
|
||||
<span className={css.headerMonth}>{dateUtils.monthInShortWords(@state.date)}</span>
|
||||
<span className={css.headerMonth}>{dateTime.getShortMonth(@state.date)}</span>
|
||||
<span className={css.headerDay}>{@state.date.getDate()}</span>
|
||||
</div>
|
||||
<span className={css.headerYear} onClick={@displayYears}>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
css = require './style'
|
||||
dateUtils = require '../date_utils'
|
||||
Input = require '../input'
|
||||
CalendarDialog = require './dialog'
|
||||
css = require './style'
|
||||
dateTime = require '../util/date-time'
|
||||
Input = require '../input'
|
||||
|
||||
module.exports = React.createClass
|
||||
displayName : 'DatePicker'
|
||||
|
@ -27,7 +27,7 @@ module.exports = React.createClass
|
|||
# -- Private methods
|
||||
formatDate: (date) ->
|
||||
day = date.getDate()
|
||||
month = dateUtils.monthInWords(date)
|
||||
month = dateTime.getFullMonth(date)
|
||||
year = date.getFullYear()
|
||||
"#{day} #{month} #{year}"
|
||||
|
||||
|
|
|
@ -1,103 +0,0 @@
|
|||
module.exports =
|
||||
daysInMonth: (date) ->
|
||||
(new Date(date.getFullYear(), date.getMonth() + 1, 0)).getDate()
|
||||
|
||||
firstWeekDay: (date) ->
|
||||
(new Date(date.getFullYear(), date.getMonth(), 1)).getDay()
|
||||
|
||||
monthInWords: (date) ->
|
||||
switch (date.getMonth())
|
||||
when 0 then 'January'
|
||||
when 1 then 'February'
|
||||
when 2 then 'March'
|
||||
when 3 then 'April'
|
||||
when 4 then 'May'
|
||||
when 5 then 'June'
|
||||
when 6 then 'July'
|
||||
when 7 then 'August'
|
||||
when 8 then 'September'
|
||||
when 9 then 'October'
|
||||
when 10 then 'November'
|
||||
when 11 then 'December'
|
||||
|
||||
monthInShortWords: (date) ->
|
||||
switch (date.getMonth())
|
||||
when 0 then 'Jan'
|
||||
when 1 then 'Feb'
|
||||
when 2 then 'Mar'
|
||||
when 3 then 'Apr'
|
||||
when 4 then 'May'
|
||||
when 5 then 'Jun'
|
||||
when 6 then 'Jul'
|
||||
when 7 then 'Aug'
|
||||
when 8 then 'Sep'
|
||||
when 9 then 'Oct'
|
||||
when 10 then 'Nov'
|
||||
when 11 then 'Dec'
|
||||
|
||||
weekDayInWords: (day) ->
|
||||
switch (day)
|
||||
when 0 then 'Sunday'
|
||||
when 1 then 'Monday'
|
||||
when 2 then 'Tuesday'
|
||||
when 3 then 'Wednesday'
|
||||
when 4 then 'Thursday'
|
||||
when 5 then 'Friday'
|
||||
when 6 then 'Saturday'
|
||||
|
||||
weekDayInShortWords: (day) ->
|
||||
switch (day)
|
||||
when 0 then 'Sun'
|
||||
when 1 then 'Mon'
|
||||
when 2 then 'Tue'
|
||||
when 3 then 'Wed'
|
||||
when 4 then 'Thu'
|
||||
when 5 then 'Fri'
|
||||
when 6 then 'Sat'
|
||||
|
||||
addDays: (date, days) ->
|
||||
newDate = @cloneDatetime(date)
|
||||
newDate.setDate(date.getDate() + days)
|
||||
newDate
|
||||
|
||||
addMonths: (date, months) ->
|
||||
newDate = @cloneDatetime(date)
|
||||
newDate.setMonth(date.getMonth() + months)
|
||||
newDate
|
||||
|
||||
addYears: (date, years) ->
|
||||
newDate = @cloneDatetime(date)
|
||||
newDate.setFullYear(date.getFullYear() + years)
|
||||
newDate
|
||||
|
||||
setDay: (date, day) ->
|
||||
newDate = @cloneDatetime(date)
|
||||
newDate.setDate(day)
|
||||
newDate
|
||||
|
||||
setYear: (date, year) ->
|
||||
newDate = @cloneDatetime(date)
|
||||
newDate.setFullYear(year)
|
||||
newDate
|
||||
|
||||
cloneDatetime: (date) ->
|
||||
new Date(date.getTime())
|
||||
|
||||
timeMode: (datetime) ->
|
||||
if datetime.getHours() >= 12 then 'pm' else 'am'
|
||||
|
||||
toggleTimeMode: (datetime) ->
|
||||
newDatetime = @cloneDatetime(datetime)
|
||||
hours = datetime.getHours()
|
||||
if hours > 12 then newDatetime.setHours(hours - 12) else newDatetime.setHours(hours + 12)
|
||||
newDatetime
|
||||
|
||||
setHours: (datetime, hours) ->
|
||||
newDatetime = @cloneDatetime(datetime)
|
||||
newDatetime.setHours(hours)
|
||||
newDatetime
|
||||
|
||||
setMinutes: (datetime, minutes) ->
|
||||
newDatetime = @cloneDatetime(datetime)
|
||||
newDatetime.setMinutes(minutes)
|
||||
newDatetime
|
|
@ -57,9 +57,8 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
|
||||
getFullDayOfWeek (d) {
|
||||
let dow = d.getDay();
|
||||
switch (dow) {
|
||||
getFullDayOfWeek (day) {
|
||||
switch (day) {
|
||||
default: return 'Unknown';
|
||||
case 0: return 'Sunday';
|
||||
case 1: return 'Monday';
|
||||
|
|
Loading…
Reference in New Issue