Perspective Calendar

We are pleased to announce the beta release of our new perspective calendar module.

Head to to get a trial download link, and see the documentation (still being constructed). You may even find a different free module…

We would really appreciate any feedback, and we’d love to see your screenshots!

Currently compatible from 8.0.3 onwards. No support for 8.1 yet.


This module has been updated to correct a resizing issue within coordinate containers. Please note, the calendar component must be placed either within a Flex container, or a coordinate container.

Please expose style property for every section so we can custom the overall look.

The component will inherit the styling section of the container it is inside, additionally the following styling options are available:

  • Background – Can be set to a solid colour or a gradient using a colour array provided. The opacity can be set and the gradient can be modified with a rotation or location depending on which gradient style is used.
  • Title – The font color, size, weight and family can be defined. A separator can also be defined for when a date range is shown.
  • Buttons – The button colour, text font and colour of the active button can be defined.

And on events:

  • borderColor: The color around the border of the event.
  • backgroundColor: The color in the background of the event box. Also used in the dots at the side of the list view.
  • textColor: The color of the text on the event.

Event Display

  • Color – The default background and border colour of the events.
  • Background Color – The default background colour of the events. Overrides the Color property
  • Border Color – The default border color of the events.
  • Font – The colour, weight, size and family can all be set.

If there is sufficient interest, we can look to add more options.


The Perspective Calendar module has been updated to support Ignition Version 8.1.

The 8.1 version of the module now also supports rrule recurrence for repeating events.

Find it here:

This video demontrates using rrule within the component


Hi @jonathan.taylor,

Does the licensing/module support redundant gateways?

Absolutely - pricing follows IA redundancy pricing with the redundant licence at 50%.

Hi Jonathan, calendar component is really nice. I’m looking for a couple of things…

  • Multiple events overlap. Can they re-size to fill the day column but not overlap?
  • For the week view, can we limit the number of days shown to say three? I know this is not a week, but am looking at being able to show scheduled events on multiple lines over the course of a few days.
  • How do I change the current view programmatically? Changing the default view doesn’t change the current view. Can’t figure out how to get the listView although it sometimes appears after editing.


Hi Jason,

Thanks for looking at the calendar module - I’ve passed your questions on to our developer in-house. He’s just finishing off a project in the next few days but will be looking at this as soon as he can. I did have a brief conversation with him this morning and he says it’s possible he could add in the ability to programmatically change the view, and that he’ll look into the list view too.

I’ll be in touch soon


An update:

We have now released version 1.6.2 of the calendar module which now includes the EXDATE portion of rrule and adds a slotEventOverlap property to toggle events overlapping on a time view.

Additionally, a new parameter of currentView on the root of the property tree can be used to change the current view and will change to reflect what is being shown if the buttons/links on the calendar are used.

A list of valid views plus documentation for the rest of the calendar properties can be found on our module support website along with a link to the updated module file.

Also, there is a parameter of the “Date and Time Display” section called Hidden Days, this is an array of integers of which days to hide from the calendar. Days are indexed from 0 = Sunday and range 0-6.

Download available at

slot_overlap_prop hidden_days_array current_view_prop

1 Like

Is it possible to translate some terms (month,day,week,…) and to use other langage (FR) for month/day ?

We should be able to do this no problem. We will update it early next week.


A new version is available with translations.

Additionally two more properties are available:

  • localeSettings.locale (string ISO-3166 locales)
  • localeSettings.dir (string) - either ‘rtl’ or ‘ltr’ (controls direction some rendering)
1 Like

Thanks for the feedback.
I will test it as soin as possible !

There is now an update to this module available on this post

Hi Jonathan,

I'd like to know does this module support Recurring Events like every July, Every Tuesday and Monday,...?


from version 1.6.0 (current is 1.7.2) RRule plugin is included and functional
see docs Calendar Component RRule - BIJC Module Support building rrules with the object works well but see the note regarding RRule strings.

1 Like

Thanks, Chris,

I did some play with rrule, to setup tasks for every Mon, Tue from 6 to 8 oclock, but I can't figure out how to set start and end hour in the rrule events. As you see in the events my start time is 6:00 and end time is 08:00 on the same day but it show 2:15pm instead.
When I delete rrule the calendar shows 6:00 in the event box correctly.
What should I put in rrule to show the current hour for me?

The start and end for the events are defined slightly differently when it is a recurring event. The dtstart property of the rrule object defines both when the rule is active from and the first time the event will run unless defined by other properties like byhour or byminute. This is in ISO8601 format so the T between the date and time is required.

The duration property on the main object is used to set the end times for the events.

An example event object below shows how to get events every Monday and Tuesday from 6am to 8am between Jan 1st 2023 and Jan 1st 2024

  "id": 7,
  "title": "recur",
  "rrule": {
    "dtstart": "2023-01-01T06:00:00",
    "byweekday": [
    "freq": "weekly",
    "until": "2024-01-01"
  "duration": "02:00"
1 Like

Hi Lewis,

I see that the calendar component doesn't correctly respond to the parent container size.
As it doesn't resize correctly for the first time, if I change the view size again it works.
This is true for both height and width.