From 9cdf957071bc03d71db133cbf0dcbb482e16b98c Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 27 Dec 2014 19:52:47 +0800 Subject: [PATCH] update code for calendar --- app/assets/images/loading1.gif | Bin 0 -> 55605 bytes app/assets/javascripts/calendar.js | 122 +++- app/assets/javascripts/calendar_frontend.js | 123 +++- app/assets/stylesheets/calendar.css | 394 ------------ app/assets/stylesheets/calendar.scss | 605 ++++++++++++++++++ app/controllers/admin/calendars_controller.rb | 12 +- app/views/admin/calendars/_form.html.erb | 108 ++-- app/views/admin/calendars/edit.html.erb | 28 +- app/views/admin/calendars/index.html.erb | 26 +- app/views/admin/calendars/new.html.erb | 28 +- app/views/admin/calendars/show.html.erb | 4 +- 11 files changed, 908 insertions(+), 542 deletions(-) create mode 100644 app/assets/images/loading1.gif delete mode 100644 app/assets/stylesheets/calendar.css create mode 100644 app/assets/stylesheets/calendar.scss diff --git a/app/assets/images/loading1.gif b/app/assets/images/loading1.gif new file mode 100644 index 0000000000000000000000000000000000000000..e092d812896908cc485f7631a7578080a0361ad3 GIT binary patch literal 55605 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 " + start_time + "

" : " " + start_time + " " + end_time + ""); + } else { + var sh = _event._start.getHours() > 12 ? _event._start.getHours() - 12 : _event._start.getHours(), + eh = _event._end.getHours() > 12 ? _event._end.getHours() - 12 : _event._end.getHours(), + sm = _event._start.getMinutes() < 10 ? '0' + _event._start.getMinutes() : _event._start.getMinutes(), + em = _event._end.getMinutes() < 10 ? '0' + _event._end.getMinutes() : _event._end.getMinutes(), + stime = _event._start.getHours() > 12 ? sh + ':' + sm + " PM" : sh + ':' + sm + " AM", + etime = _event._end.getHours() > 12 ? eh + ':' + em + " PM" : eh + ':' + em + " AM", + same = (_event._start.getDate() == _event._end.getDate() && _event._start.getMonth() == _event._end.getMonth() && _event._start.getFullYear() == _event._end.getFullYear()); + start_time = month_names[_event._start.getMonth()] + " " + _event._start.getDate() + ", " + _event._start.getFullYear(); + end_time = month_names[_event._end.getMonth()] + " " + _event._end.getDate() + ", " + _event._end.getFullYear(); - start_time = _event._start.toLocaleString().replace(stime,""); - end_time = _event._end.toLocaleString().replace(etime,""); - - stime = stime.substr(0,stime.length - 3); - etime = etime.substr(0,etime.length - 3); - - time_string = (start_time === end_time ? start_time + " " + stime + " - " + etime : start_time + " " + stime + " - " + end_time + " " +etime ); + time_string = (same ? "

" + start_time + "

" + stime + " " + etime : "

" + start_time + "" + stime + "

" + end_time + "" + etime + "

"); } - event_quick_view = $(''); - template = ''; + event_quick_view = $(''); + template = '' + + ''; if(_event.can_edit){ - template+=''; + template += ''; } } @@ -386,6 +401,7 @@ var EventDialog = function(calendar,event){ var x = pos.x, y = pos.y, winheight = $(window).height(); + console.log(event_quick_view.width()) if((x + event_quick_view.width()) > $(window).width()){ x = x - event_quick_view.width(); } @@ -418,13 +434,59 @@ var AgendaView = function(calendar){ var end_month = ((start_month + minDifference) > 11 ? (start_month + minDifference) - 11 : start_month + minDifference); var end_year = ((start_month + minDifference) > 11 ? start_year+1 : start_year); var monthNames = ['January','February','March','April','May','June','July','August','September','October','November','December']; - var month_template = '

SunMonTueWedThuFriSat
'; + var month_template = '
' + + '

' + + '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
SunMonTueWedThuFriSat
' + + '
' + + '
'; - var event_list_template = '
No events for this month.
'; + var event_list_template = '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
DateTimeEvents
No events for this month.
' + + '
'; - var head_template = '
'; + var head_template = '
' + + '' + + '' + + '' + + '' + + '' + + '
'; - var event_template = "
"; + var event_template = '' + + '' + + '' + + '' + + '
' + + '' + + ''; var cache = false; var show_event_clicked = false; @@ -570,7 +632,7 @@ var AgendaView = function(calendar){ dateFormat = $.fullCalendar.formatDate(s, "ddd dd"); else dateFormat = $.fullCalendar.formatDates(s, e, "ddd dd, MMM - {ddd dd, MMM}"); - e_t.find("th").text(dateFormat); + e_t.find("td:first").text(dateFormat); e_t.find("td.event_time").text((event.allDay ? "All Day" : $.fullCalendar.formatDate(s, "hh:mm"))); e_t.find("div.event").text(event.title).css("color",event.color); return e_t; diff --git a/app/assets/javascripts/calendar_frontend.js b/app/assets/javascripts/calendar_frontend.js index a5980b8..31de1d6 100644 --- a/app/assets/javascripts/calendar_frontend.js +++ b/app/assets/javascripts/calendar_frontend.js @@ -80,16 +80,16 @@ var Calendar = function(dom,page_id){ }) if(view != "agenda"){ if(c.currentView == "agenda"){ - $("#sec1").addClass("span3").removeClass("span7"); + // $("#sec1").addClass("span3").removeClass("span7"); $("#sec2").show(); - $("#sec3").addClass("span4").removeClass("span5"); + // $("#sec3").addClass("span4").removeClass("span5"); agendaView.hide(); } c.calendar.fullCalendar('changeView',view); }else{ - $("#sec1").addClass("span7").removeClass("span3"); + // $("#sec1").addClass("span7").removeClass("span3"); $("#sec2").hide(); - $("#sec3").addClass("span5").removeClass("span4"); + // $("#sec3").addClass("span5").removeClass("span4"); agendaView.inflate(); } c.currentView = view; @@ -120,35 +120,47 @@ var EventDialog = function(calendar,event){ var event_quick_view = null; var template = ""; var _this_event = null; + var month_names = ["Jan","Feb","March","April","May","June","July","Aug","Sep","Oct","Nov","Dec"]; this.inflate = function(_event){ if(!_event) throw new UserException("EventStick can't be null!"); _this_event = _event; var start_time = "", - end_time = "", - time_string = null; + end_time = "", + time_string = null; - if(_event.allDay){ - start_time = (/00:00:00/i.test(_event._start.toLocaleString()) ? $.fullCalendar.formatDate(_event._start,"ddd MMM dd, yyyy") : $.fullCalendar.formatDate(_event._start,"ddd MMM dd, yyyy hh:mm")); + if(_event.allDay) { + start_time = $.fullCalendar.formatDate(_event._start,"MMM dd, yyyy"); if(_event._end) - end_time = (/00:00:00/i.test(_event._end.toLocaleString()) ? $.fullCalendar.formatDate(_event._end,"ddd MMM dd, yyyy") : $.fullCalendar.formatDate(_event._end,"ddd MMM dd, yyyy hh:mm")); - time_string = (_event._start === _event._end || !_event._end ? start_time : start_time + " - " + end_time); - }else{ - var reg = new RegExp(/ [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/), - stime = _event._start.toLocaleString().split(",")[1], - etime = _event._end.toLocaleString().split(",")[1]; + end_time = $.fullCalendar.formatDate(_event._end,"MMM dd, yyyy"); + time_string = (_event._start === _event._end || !_event._end ? "

" + start_time + "

" : " " + start_time + " " + end_time + ""); + } else { + var sh = _event._start.getHours() > 12 ? _event._start.getHours() - 12 : _event._start.getHours(), + eh = _event._end.getHours() > 12 ? _event._end.getHours() - 12 : _event._end.getHours(), + sm = _event._start.getMinutes() < 10 ? '0' + _event._start.getMinutes() : _event._start.getMinutes(), + em = _event._end.getMinutes() < 10 ? '0' + _event._end.getMinutes() : _event._end.getMinutes(), + stime = _event._start.getHours() > 12 ? sh + ':' + sm + " PM" : sh + ':' + sm + " AM", + etime = _event._end.getHours() > 12 ? eh + ':' + em + " PM" : eh + ':' + em + " AM", + same = (_event._start.getDate() == _event._end.getDate() && _event._start.getMonth() == _event._end.getMonth() && _event._start.getFullYear() == _event._end.getFullYear()); + start_time = month_names[_event._start.getMonth()] + " " + _event._start.getDate() + ", " + _event._start.getFullYear(); + end_time = month_names[_event._end.getMonth()] + " " + _event._end.getDate() + ", " + _event._end.getFullYear(); - start_time = _event._start.toLocaleString().replace(stime,","); - end_time = _event._end.toLocaleString().replace(etime,","); - - stime = stime.substr(0,stime.length - 3); - etime = etime.substr(0,etime.length - 3); - - time_string = (start_time === end_time ? start_time + " " + stime + " - " + etime : start_time + " " + stime + " - " + end_time + " " +etime ); + time_string = (same ? "

" + start_time + "

" + stime + " " + etime : "

" + start_time + "" + stime + "

" + end_time + "" + etime + "

"); } - event_quick_view = $(''); - template = ''; + event_quick_view = $(''); + template = '