| Issue 374: | Getting the current view | |
| 2 people starred this issue and may be notified of changes. | Back to list |
I am using Full calender in my application. I want to maintain the
previously used view in my page.
My code :
public ActionResult FullCalendar()
{
DateTime calendarStart;
DateTime calendarEnd;
if (Session["Start"] != null)
{
calendarStart = (DateTime)Session["Start"];
calendarEnd = (DateTime) Session["End"];
}
else
{
calendarStart = CalendarHelper
.GetMonthViewRangeStart(today.Year, today.Month);
calendarEnd = CalendarHelper
.GetMonthViewRangeEnd(today.Year, today.Month);
}
var data = new FullCalendarConfig()
{
Callback =
"/Events/Admin/FullCalendarCallBack",
AspectRatio = 1.35,
Editable = false,
Views =
FullCalendarConfig.CalendarViews.Month |
FullCalendarConfig.CalendarViews.BasicWeek,
Start = calendarStart,
End = calendarEnd,
//Events =
FullCalendarCallBack(calendarStart.ToUnixTimestamp(),
calendarEnd.ToUnixTimestamp()).ToString()
};
ViewData.Model = data;
return View();
}
public ActionResult FullCalendarCallBack(double Start, double End)
{
//get model
var today = userTimeZoneInfo.ToLocalDateTime(DateTime.UtcNow);
Session["Start"] = Start.ToDateTimeFromUnixTimestamp();
Session["End"] = End.ToDateTimeFromUnixTimestamp();
DateTime calendarStart = (DateTime) Session["Start"] ;
DateTime calendarEnd = (DateTime) Session["End"];
//DateTime calendarStart = CalendarHelper
// .GetMonthViewRangeStart(today.Year, today.Month);
//DateTime calendarEnd = CalendarHelper
// .GetMonthViewRangeEnd(today.Year, today.Month);
//if (!string.IsNullOrEmpty(Request["start"]))
// calendarStart =
double.Parse(Request["start"]).ToDateTimeFromUnixTimestamp();
//if (!string.IsNullOrEmpty(Request["start"]))
// calendarEnd =
double.Parse(Request["end"]).ToDateTimeFromUnixTimestamp();
var result = new JsonResult();
var eventData = eventListItemFinder.ByDateRange(calendarStart,
calendarEnd);
var transformer = new
EventListItemToFullCalendarEventDataTransformer();
transformer.OnItemTransformed += (x, args) =>
{
args.To.url =
Url.PluginActionLink<AdminController, EventsPlugin>(c =>
c.ViewEvent(args.From.Id));
var tzRegion =
tzService.GetRegionByCode(args.From.RegionCode);
args.To.end =
tzRegion.ToLocalDateTime(args.From.EndsOn).ToString("yyyy-MM-dd");
args.To.start =
tzRegion.ToLocalDateTime(args.From.StartsOn).ToString("yyyy-MM-dd");
};
var data = new
List<FullCalendarEventData>(transformer.Transform(eventData));
result.Data = data.ToArray();
return result;
}
and javascript:
<div id="fullCalendar" class="clearTables"></div>
<script type="text/javascript">
var forceRenderToday = function() {
debugger;
$("#fullCalendar").fullCalendar({
year: <%=Model.Start.Year%>,
month: <%=Model.Start.Month%>,
editable: false,
disableDragging: true,
disableResizing: true,
events: "<% = Model.Callback %>",
header: {
left: "prev,next,today",
center: "title",
right: "<% = Model.ViewsToString() %>"
}
});
};
$(document).ready(function() {
// force render
debugger;
setTimeout("forceRenderToday()", 10);
// var view = $('#fullCalendar').fullCalendar('getView');
});
I want to pass the current view details in callback? How can i do that?
Is there any other ways to achieve this?
Mar 15, 2010
Project Member
#1
adamrs...@gmail.com
Status:
Done
|
|
| ► Sign in to add a comment |