DayPilot Pro for ASP.NET MVC 7.8

Release date: June 11, 2014 (build 7.8.5681)

Drag and Drop Event Moving Indicator (Scheduler)

asp.net-mvc-scheduler-drag-and-drop-moving-indicator.png

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  EventMovingStartEndEnabled = true,
  EventMovingStartEndFormat = "MMMM d, yyyy"
})

Demo

Drag and Drop Event Resizing Indicator (Scheduler)

asp.net-mvc-scheduler-drag-and-drop-resizing-indicator.png

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  EventResizingStartEndEnabled = true,
  EventResizingStartEndFormat = "MMMM d, yyyy"
})

Demo

Drag and Drop Event Creating Indicator (Scheduler)

asp.net-mvc-scheduler-drag-and-drop-event-creating-indicator.png

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  TimeRangeSelectingStartEndEnabled = true,
  TimeRangeSelectingStartEndFormat = "MMMM d, yyyy"
})

Demo

Event Deleting (Scheduler)

scheduler-for-asp.net-mvc-event-deleting.png

MVC View

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  EventDeleteHandling = EventDeleteHandlingType.CallBack
})

MVC Controller

protected override void OnEventDelete(EventDeleteArgs e)
{
  new EventManager(Controller).EventDelete(e.Id);
  Update();
}

Demo:

Event Deleting (Event Calendar)

event-calendar-for-asp.net-mvc-event-deleting.png

MVC View

@Html.DayPilotCalendar("dpc", new DayPilotCalendarConfig
{
  BackendUrl = Url.Action("Backend", "Calendar"),
  // ...
  EventDeleteHandling = EventDeleteHandlingType.CallBack
})

MVC Controller

protected override void OnEventDelete(EventDeleteArgs e)
{
  new EventManager(Controller).EventDelete(e.Id);
  Update();
}

Demo:

Event Deleting (Monthly Event Calendar)

monthly-event-calendar-asp.net-mvc-event-deleting.png

MVC View

@(Html.DayPilotMonth("dpm", new DayPilotMonthConfig {
    BackendUrl = Url.Action("Backend", "Month"),
    // ...
    EventDeleteHandling = EventDeleteHandlingType.CallBack
}))

MVC Controller

protected override void OnEventDelete(EventDeleteArgs e)
{
  new EventManager(Controller).EventDelete(e.Id);
  Update();
}

Demo:

Row Double Click (Scheduler)

mvc-scheduler-row-double-click.png

MVC View

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  RowDoubleClickHandling = RowClickHandlingType.Edit
})

Inline Row Editing (Scheduler)

scheduler-for-asp.net-mvc-row-editing.png

MVC View

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  RowClickHandling = RowClickHandlingType.Edit,
  RowEditHandling = RowEditHandlingType.CallBack
})

MVC Controller

protected override void OnRowEdit(RowEditArgs e)
{
  e.Resource.Name = e.NewText;
  Update(CallBackUpdateType.Full);
}

Demo

Row Selecting (Scheduler)

scheduler-for-asp.net-mvc-row-selecting.png

MVC View

@Html.DayPilotScheduler("dps", new DayPilotSchedulerConfig {
  BackendUrl = Url.Action("Backend", "Scheduler"),
  // ...
  RowClickHandling = RowClickHandlingType.Select,
  RowSelectHandling = RowSelectHandlingType.CallBack
})

MVC Controller

protected override void OnRowSelect(RowSelectArgs e)
{
  UpdateWithMessage("Number of selected rows: " + SelectedRows.Count);
}

Demo

Windows 8 Touch Support (Calendar)

Windows 8 touch devices are supported in DayPilot Calendar.

Touch Gesture Customization (Calendar)

You can customize "tap and hold" touch gesture handling using new properties: EventTapAndHoldHandling and TimeRangeTapAndHoldHandling.

EventTapAndHoldHandling options:

  • Move (default)
  • ContextMenu

TimeRangeTapAndHoldHandling options:

  • Select (default)
  • ContextMenu

External Drag and Drop on Touch Devices (Calendar)

event-calendar-for-asp.net-mvc-external-drag-and-drop.png

Example

<p>Drag items from this list to the calendar:</p>
<ul id="external">
  <li data-id="123" data-duration="1800"><span style="cursor:move">Item #123 (30 minutes)</span></li>
  <li data-id="124" data-duration="3600"><span style="cursor:move">Item #124 (60 minutes)</span></li>
</ul>

<script type="text/javascript">
  var parent = document.getElementById("external");
  var items = parent.getElementsByTagName("li");
  for (var i = 0; i < items.length; i++) {
      var e = items[i];
      var item = {
          element: e,
          id: e.getAttribute("data-id"),
          text: e.innerText,
          duration: e.getAttribute("data-duration")
      };
      DayPilot.Calendar.makeDraggable(item);
  }
</script>

Demo

External Drag and Drop on Touch Devices (Scheduler)

scheduler-for-asp.net-mvc-external-drag-and-drop.png

Example

<p>Drag items from this list to the scheduler:</p>
<ul id="external">
  <li data-id="123" data-duration="1800"><span style="cursor:move">Item #123 (30 minutes)</span></li>
  <li data-id="124" data-duration="3600"><span style="cursor:move">Item #124 (60 minutes)</span></li>
</ul>

<script type="text/javascript">
    var parent = document.getElementById("external");
    var items = parent.getElementsByTagName("li");
    for (var i = 0; i < items.length; i++) {
        var e = items[i];
        var item = {
            element: e,
            id: e.getAttribute("data-id"),
            text: e.innerText,
            duration: e.getAttribute("data-duration")
        };
        DayPilot.Scheduler.makeDraggable(item);
    }
</script>

Demo

Improvements

  • [Scheduler] Scheduler: Event drag and drop indicators. (build 5665)
  • Strongly signed assemblies. (build 5667)
  • [Calendar] "Move" active area action supported on touch devices. (build 5667)
  • [Scheduler] Recurrence properties added to EventResizeArgs, EventMoveArgs (build 5673)
  • [Month] Recurrence properties added to EventResizeArgs, EventMoveArgs (build 5673)
  • [Calendar] Recurrence properties added to EventResizeArgs, EventMoveArgs (build 5673)
  • [Scheduler] Scheduler: Fixing event display after auto cell width update. (build 5677)

Fixes

  • [Scheduler] Rendering of zero-duration events starting and ending at cell start fixed. (build 5670)
  • [Scheduler] External drag and drop fixed (dragging over resource or time header). (build 5671)
  • [Scheduler] Resizing short events using the left border when useEventBoxes = "Never" fixed. (build 5672)

DayPilot for JavaScript, ASP.NET WebForms, ASP.NET MVC, Java