DayPilot Pro 3.6

Released on 1 May, 2007.

Features

(F09) Inline event editing

There is be a new option for EventClickEventHandling:

  • Disabled
  • JavaScript
  • PostBack
  • CallBack
  • Edit

When the handling is set to Edit, the event is turned into an editable box after a user click.

  • Editing is finished (and the changes submitted) by clicking outside of the editable box or by hitting Enter.
  • Editing can be cancelled by hitting Esc.

The changes submission can be handled as usual:

  • PostBack
  • AJAX callback
  • custom JavaScript

See a live demo.

(F14) Client-side JavaScript API

New JavaScript-related features:

1. The client-side object name can be set using ClientObjectName property. In the previous releases the object name was always ClientID of the control. That resulted in a very long name when the control was placed in a page that used master pages (e.g. ctl00_ContentPlaceHolder1_DayPilotCalendar1).

2. It is now easier to call CallBack and PostBack requests from custom JavaScript event handlers.

Custom resizing handler (before):

function customResize(start, pstart, end, id, tag, border, step) {
  var params = 'RES:' + escape(start) + '&' + escape(pstart) + '&' + escape(end) + '&'
                            + escape(border) + '&' + escape(step) + '&' + escape(id) + '&' + escape(id);
  __doPostBack('ctl00$ContentPlaceHolder1$DayPilotCalendar1', params);
}

Custom resizing handler (now):

function customResize(e, newStart, newEnd) {
  dpc1.eventResizeCallBack(e, newStart, newEnd);
}

The parameters are now passed in a reasonable format: e is an object representing an event, newStart is a Date object representing the new starting date and time and newEnd is a Date object representing the new ending date and time.

3. All JavaScript handlers are now passed a JavaScript object representing the given calendar event (except of TimeRangeSelected) instead of a set of individual properties.

(F19) Support for mobile devices

There is a new control (DayPilotMobile) that supports events rendering in a very simplified format that can be rendered in mobile devices.

See a live demo.

  • Simplistic rendering (just <div>, <b>, and <a> HTML tags)
  • Multiple days support.
  • Custom event links (optional)
  • Custom free time links (optional)
  • Business hours start/end marks (optional)

Sample output (without free time links):

1/1/2007
---- 9:00 AM ----
9:30 AM-10:00 AM Event #3
12:30 PM-2:25 PM Event #2
12:45 PM-1:10 PM Event #1
---- 6:00 PM ----
6:35 PM-6:40 PM Event #4

Sample output (with free time links):

1/1/2007
  * 540 min
---- 9:00 AM ----
  * 30 min
9:30 AM-10:00 AM Event #3
  * 150 min
12:30 PM-2:25 PM Event #2
12:45 PM-1:10 PM Event #1
  * 290 min
---- 6:00 PM ----
  * 35 min
6:35 PM-6:40 PM Event #4
  * 320 min

The data binding API is the same as for DayPilotCalendar. DayPilotMobile supports a limited set of properties:

  • DataEndField (data source column with event ending date)
  • DataStartField (data source column with event starting date)
  • DataTagField (data source column with event custom data)
  • DataTextField (data source column with event name)
  • DataValueField (data source column with event id)
  • Days (number of days to be shown)
  • EventNavigateUrl (URL of event link)
  • FreeNavigateUrl (URL of free time link)
  • HeaderDateFormat (date format of the day title)
  • ShowBusinessStartEnd (whether business start and end times should be visible)
  • StartDate (starting calendar date)

(F23) EventClickEventArgs extending

Current EventClickEventArgs properties:

  • Tag
  • Value

All properties are available:

  • Start
  • End
  • Value
  • Text
  • Tag

(F24) Event-specific context menu

Each event can have a cusom context menu. The default menu specified in ContextMenuID property can be overridden in BeforeEventRender event by setting e.ContextMenuClientName property. Note that you should set DayPilotMenu.ClientObjectName for these custom menus.

See a live demo.

Other improvements

1. Context menu title can be turned off (DayPilotMenu.ShowMenuTitle property).

2. For overnight events (that are shown as separate parts in each day) moving and resizing is limited:

  • It is possible to resize only using the very first top border and very last bottom border.
  • It is possible to move only using the first event part (in the first day).

This behavior is now indicated by a special cursor (not-allowed). The not-allowed cursor is shown when the mouse is over a part where usually an action would be allowed but is not because the it is only an event part.

3. It is possible to specify custom date for each column in resources view. This way it is possible to hide non-business days:

  • switch to resources view
  • add columns for the days you want to show
  • set Column.Date property for each column

Fixes