The original documentation recommended using ReactorFeed and BlackBoxPath for overrides. These still work, but we now recommend using BlackBoxOverride, as follows:
Let ([
$$com.reactorize.log = $$com.reactorize.log & BlackBoxOverride("DayCal" ; "js" ; Home::CalOverrides);];DayCal2(... <your DayCal parameters>
)
)
Replace DayCal with MonthCal or ResourceCal as required.
Let(
$$com.reactorize.log = $$com.reactorize.log & BlackBoxOverride("ResourceCal" ; "js" ;"AppointmentStartTimeMask = 'G:i';HourLabelDateMask = 'G:i';WhereClause = 'RecordID>15 and RecordID<40' ;AllowDeletes=true ;datelineDateMask='d/m'" ) ;ResourceCal(......
))
By overriding some masks, you can change to 24-hour time. The defaults for these masks are:
AppointmentStartTimeMask = 'g:i A';They should be overridden as follows:
HourLabelDateMask = 'g:i <\\sp\\a\\n>A</\\sp\\a\\n>';
AppointmentStartTimeMask = 'G:i'
HourLabelDateMask = 'G:i';
AppointmentStartTimeMask = 'H:i';
HourLabelDateMask = 'H:i';
A table of useful date masking formats is found at the bottom of this page. A useful link for other date masking can be found here.
| JavaScript Variables | Brief Description |
|---|---|
| WhereClause | An SQL 'WHERE' clause which allows you to specify the calendar found set. e.g. WhereClause = 'RecordID < 20' ; This can be useful if you need a complicated set of match criteria. |
| AllowCreation | Disables record creation when set to false. ( Default: true ). |
| AllowEdits | Sets allow edit, deletes, move, resize to false. ( Default: true ) |
| AllowEdit | Disables record description editing when set to false. ( Default: true ) |
| AllowDeletes | Disables record deletion when set to false. ( Default: true ) |
| AllowMove | Disables start time/date movement when set to false. ( Default: true ) |
| AllowDeselect | Let the user deselect records using the Day Calendar ( Default: true ) |
| AllowResize | Disables duration changes when set to false. ( Default: true ) |
| AllowScroll | Disables horizontal scrolling when set to false. ( Default: true ) |
| AllowOverlap | Disables record overlap when set to false. ( Default: true ) |
| CreationMethod | How you allow the user to create records ( Default: 'drag' ) |
| AppointmentColour | The default colour of appointments when the appointment doesn't have a colour set in its colour field, or the colour field is not used ( Default: '#5588bb' ) |
| StartCalendarHours | The time of day that the Day Calendar will start drawing hour blocks ( Default: '00:00:00' ) |
| EndCalendarHours | The time of day that the Day Calendar will stop drawing hour blocks ( Default: '24:00:00' ) |
| StartWorkHours | The time of day that the Day Calendar will stop drawing its darker highlight colour representing non-work hours ( Default: '08:00:00' ) |
| EndWorkHours | The time of day that the Day Calendar will re-start drawing its darker highlight colour representing non-work hours ( Default: '18:00:00' ) |
| StartDay | The day of the week on which to start the Month display. Cam be Sunday or Monday. |
| datelineOrientation | The position of the horizontal bar which contains the date labels ( Default: 'bottom' ) |
| timelineOrientation | The position of the vertical bar which contains the hour labels ( Default: 'left' ) |
| timelineWidth | The width of the blue bar which contains the hour labels ( Default: 80 ) |
| DragPrecision | The precision in minutes used when dragging and creating appointments ( Default: 15 ) |
| MinHourHeight | The smallest height that a single half hour block will shrink to ( Default: 24 ) |
| MinDayWidth | The smallest width that a single day block will shrink to ( Default: 95 ) |
| DefaultScrollSpeed | The maximum scroll speed when holding down the button ( Default: 15 ) |
| ScrollPercent | The starting scroll position ( Default: 0.575 ) |
| ScrollDay | The number of the day that is scrolled to when the calendar loads ( Default: 0 ) |
| AppointmentOpacity | The standard opacity of a normal appointment ( Default: 1 ) |
| OverlapOpacity | The opacity of bookings which are overlapping ( Default: .8 ) |
| DragOpacity | The opacity of bookings while they are being dragged ( Default: .5 ) |
| isPollActive | Allow polling of the data in the appointment table for automatic updating of the Day Calendar if records are changed ( Default: true ) |
| isDebugPoll | If set to true, will provide debugging feedback of polling ( Default: false ) |
| DefaultPosSpeed | Animation speed of default/drag positioning of elements. ( Default: 50 ) |
| PollPosSpeed | Animation speed of poll update positioning of elements. ( Default: 300 ) |
| RecolourSpeed | Animation speed of colour changes in elements. ( Default: 2500 ) |
| SelectSpeed | Speed of appointment select animation. ( Default: 300 ) |
| DragOpacitySpeed | Speed of fade on drag animation. ( Default: 500 ) |
| ToolTipDateMask | Dates on dateline in tooltip popups. ( Default: "D jS M Y" ) |
| AppointmentStartTimeMask | Start time display for an appointment (Top left of each appointment). ( Default: "g A" ) |
| HourLabelDateMask | Hour display in the left Label bar. ( Default: "g <\\sp\\a\\n>A" ) |
| datelineDateMask | Standard display of date in the dateline. ( Default: "D, jS" ) |
| FirstDayOfMonthDateMask | Mask for the first date of each month (in the dateline) ( Default: "M, Y" ) |
| ScriptParameterDateMask | Mask for dates being passed as a script parameter. ( Default: "Y/m/d" ) |
WhereClause = '\"Calendar_Appointment\".\"Transaction_type\" < 2';
'bottom' (Default) This setting will draw the dateline at the bottom of the screen.
'top'This will cause the dateline to be drawn at the top of the screen.
'hidden'Will cause the dateline to be hidden.
'left' (Default) This setting will draw the timeline at the left of the screen.
'right'This will cause the timeline to be drawn at the right of the screen.
'hidden'Will cause the timeline to be hidden.
'drag' (default) create appointments by dragging.
'click' create appointments by double click.
'both' use either method to create appointments.
Comments
Steve Wright (unauthenticated)
Sep 20, 2011
Scroll Percent is a useful one for restoring the scroll position if you leave the layout, such as for editing in-depth appointment details via your own detail layout. Here is something I just setup and so far, seems to be working quite well.
I run a script via ActionOnApptCreate which jumps to a new layout for editing (not a new window for various reasons)
The first line of that script sets a global variable as follows :
Set Variable [$$reactor_last_scroll; Value:ReactorJSRun("webviewerid" ; "ScrollHandlers.vertical.scrollpercent") ]
This gives me the last scrolled to position (vertically)
In the webviewer calculation, I specify the ScrollPercent as follows :
"&Case (not IsEmpty($$reactor_last_scroll) ; "ScrollPercentVert = "&$$reactor_last_scroll&";" ; "ScrollPercentVert = 0.0;" ) &"
Of course, I can clear the global variable if required to reset the scroll, otherwise it will return to the last position, which is pretty cool !