Remove coffeescript date utils and use es6

old
Javi Velasco 2015-09-05 20:43:54 +02:00
parent d1ad367afe
commit e3d899cb0e
7 changed files with 23 additions and 127 deletions

View File

@ -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()

View File

@ -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) ->

View File

@ -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}

View File

@ -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}>

View File

@ -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}"

View File

@ -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

View File

@ -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';