1.29.2Stricter AV end_time validation
Fixes a bug where a
00:00 would break if the Availability Viewer was loaded with a timezone that crossed a UTC date boundary.
1.29.1Agenda View style fixes
Styling fixes for the attendee list in the Agenda View element.
1.29.0Auto create new Availability Rules
A config option to automatically create a new Availability Rule when the rule doesn’t already exist. You can find more information in the docs
1.28.0Exposed context for all Elements
A context object is returned for all UI Elements. This currently includes the
tzid that is being used by that element.
1.27.1Custom periods for default Availability Rule
A config option to set custom periods for the default availability rules. You can find more information in the docs.
1.26.1Availability Rule calendar filtering
Fixes a bug where deleted calendars were still appearing in the Availability Rules calendar-selector list.
1.26.0Availability Rule Not Found Notification
A notification fires when an
is not found. You can find more information in the docs.
Fixes a bug where the callback option would be removed after multiple calls to
1.25.2Availability Viewer stability and performance
More thorough validation of
end_time config options for Availability Viewer, and more efficient re-rendering on hover interactions.
Fixes issue introduced in 1.25.0 where time labels were not updating correctly on grid expansion when in
1.25.0Extends date-range supported by Availability Viewer queries
Removes the 35-days limit on
query_periods, allowing the Availability Viewer to show availability for multiple months.
1.24.1Validation update for Availability Viewer
Allowing empty query_periods arrays for Availability Viewer availability query options.
1.24.0Refresh method for all elements
refresh() method to every UI Element that, when called, will reload the element and re-fetch any data.
1.23.1Security fixes and dependency updates
Updating build-time dependencies to remove vulnerabilities and increase stability.
Adds modes to change the way the AgendaViewer element shows events, allowing a mix of Free/Busy blocks and managed event details.
1.22.3AvailabilityViewer confirm positioning fix
Fixes a bug where the confirm button would appear at the top of the week on touch-only browsers.
Fixes a bug introduced in 1.22.1 where npm prepublish script was breaking the bundle.
1.22.1Fixing issue with npm publishing
Ensures npm is always given the correct path for the source file.
1.22.0AvailabilityViewer slots_visibile notification added
Adds a new notification when the Availability Viewer is showing some slots.
1.21.1Better validation of query_periods
Fixes a bug where invalid query_periods could make the Availability Viewer and Slot Picker elements to fail to render without an error notification.
Fixes a bug introduced by v1.20.12 that caused Availability Viewer and Slot Picker elements to fail to render.
1.20.12Stability and bug fixes for Availability Rules
Makes the Availability Rules state-handling more efficient.
Ensures the Availability Rules element always respects the saved time zone of a rule. Previously would override a rule’s
tzid when editing the rule on a device in a time zone different to the one on the already-saved rule.
Improved slot calculation for empty Availability Rules grid.
Fixes a bug where the Availability Viewer was able to load when provided multiple
options. Valid modes are listed in the docs
Fixes a bug in the Availability Viewer where
mode.multi_select slot labels were appearing in the incorrect order when selected in non-linear order.
Stricter handling of tzid in the Slot Picker.
Callbacks are retained correctly when
update() method is called. Fixes a bug introduced in v1.20.3.
1.20.5Bug fixes and stability
Improvements to layout and free_select mode for the Availability Viewer element.
1.20.3Better option parsing on update
Ensures correct validation of original options when updating an existing element with new options.
Availability Viewer loads an empty week-grid when provided an empty (invalid)
Hide profiles from the Availability Rules calendar-selector when the profile has no calendars to show.
1.20.0Grid expansion for Availability Rules
Improves the UX for expanding the time-grid of the Availability Rules element. Clicking the ‘up’ or ‘down’ arrows in the time column will expand the time shown on the grid to midnight (in each direction respectively). Replaces the cog-icon-and-dropdown pattern
1.19.0Improved calendar selection for Availability Rules
Enhanced styling and keyboard interaction for the calendar selector in the Availablity Rules element. Groups calendars by profile, and allows toggling of all calendars within a profile.
1.18.1Fix Slot picker title when picking times in some timezones
Fix an inconsistency with displaying the date during time picking. It was possible to have the slot picker show the date in UTC when in timezones at offsets greater than 10 hours from UTC. The day picker was accurate but the title on the time picker would be in UTC instead of local time.
1.18.0Expandable week grid for free_select mode
The Availability Viewer preview grid can now be expanded to midnight (both forwards and backwards) when in
mode. Full details in the config mode section of the docs
1.17.0free_select mode for Availability Viewer
The Availability Viewer now has a new
config mode that turns the Element into a
generator. Full details in the config mode section of the docs
Adds support for
available_periods, in line with the updated API.
1.16.0Added support for more languages
1.15.0New Availability Rules notification
no_visible_slots notification has been added to the Availability Viewer. Full details for all notification callbacks for the Availability Rules can be found in the documentation.
- Extra detail has been added to error notifications.
1.14.0New Availability Rules notification
no_slots_found notification has been added to the Availability Viewer. Full details for all notification callbacks for the Availability Rules can be found in the documentation.
- Extra detail has been added to error notifications.
1.13.3Availability Viewer keyboard behaviour
Removing slots in the Availability Viewer from the tabindex, allowing for more practical navigation between week-views with a keyboard.
1.13.2Enhancements for Availability Rules notifications
availability_rule_edited is now also fired whenever the selected calendars are changed in the UI.
1.13.1New Availability Rules notification type
notitification type to the Availability Rules UI Element. Full details for all notification callbacks for the Availability Rules can be found in the documentation
1.12.1Availability Rules tzid support
tzid optional for AvailabilityRules (was previously “required”).
1.12.0SlotPicker tzid support
tzid option can now be passed to the SlotPicker, overriding the browser default.
Updating internal dependencies to latest versions, including some security updates.
- Events that trigger a log (
error) now also trigger a notification callback.
- Slot Picker now triggers a
no_slots_found notification when an availability query returns an empty result. Details in the docs.
1.10.0Customisable week start day for AvailabilityRules and AvailabilityViewer
Adds the new
initialisation option that enables custom week-start-days. Full details for this option can be found in the docs
1.9.4Handle profile-revoke errors
Streamlined response handling when revoking profiles using the Calendar Sync UI Element. Fixes a bug where successful revoke-requests were triggering an
element_token error and not updating the UI.
1.9.3Handle events with no name
Adds a sensible fallback for events created without a
summary value (which would previously cause the Agenda View to crash).
1.9.2Availability Viewer optional config
config.end_time are reverted to being optional initialisation options (reverses a change to enhanced validation in v1.9.0 that made them required).
1.9.1Availability Rules bugfix
Fixes a bug introduced in 1.9.0 where unknown availability rule IDs were causing the Availability Rules UI Element to show an error rather than creating a new rule.
1.9.0Improved error handling
Adds greater detail to configuration errors, and introduces optional log-levels (controlled by the new
) allowing developers to choose the verbosity of the logs produced by the UI Elements.
1.8.1Date localization scoping
Making use of locales more tightly scoped to their context to prevent mutating
moment global settings (for
1.7.21Time zone aware mock data
Fixes a bug where mock data was not being correctly rendered in certain time zones.
1.7.19Availability Rules day names
Fixes a bug where the day names were not being localized for the Availability Rules UI Element.
Adds some additional prefixed class names to enable easier customization with CSS - for more details, see the customization documentation
type="button" attribute to all buttons within the elements’ markup, allowing UI Elements to be rendered inside html forms.
1.7.12Availability Viewer DST fixes
Improves handling of Daylight Saving Time (DST) switchover in the Availability Viewer element.
- Correct time-labels for DST switchover week.
- Sensible slot fallback for DST transition period (1am - 2am).
- Query-cropping correctly adjusts to display-period for DST-switchover week.
1.7.11Availability Viewer bugfix
- Fixes a bug where slot-selections a day either side of the visible period are still displayed after navigating between weeks.
1.7.10Availability Rules bugfixes
- Correctly display rules that end at midnight.
- Correctly calculates availability when rules don’t match provided duration. (e.g. rule starts at 09:15, but the element is displaying with a duration of 60 or 30.).
1.7.9Agenda View enhancements
- Fixes a bug where scrollable ‘events’ view was too tall on certain screen sizes (and therefore overflowing).
- Performance enhancements.
- Fixes a bug where Availability Viewer legend would be hidden for certain browsers.
- Improves general cross-browser consistency.
- Fixes overflow-bug in Availability Viewer when on small screens.
- Availability Rules columns correctly calculate width when browser is resized.
- Dependency version updates.
1.7.4Slot Picker response count
Removes the need to apply a
value to allow more than 20 slots per response. New default limit is 200, matching the API
1.7.0Availability Viewer unrestricted slot selection
Adds a new
that allows for unrestricted selection of slots - overriding normal availability-based behavior.
1.6.1Calendar Sync enhancement
When the Calendar Sync element is called with the
is applied to the profile authorization URL automatically.
UI Elements now support localization into the following languages: Dutch, French, German, Italian, and Spanish.
- Filtering deleted calendars from calendar lists.
- Correcting position calculation for overflow slot target.
1.5.0single_profile option for Calendar Sync (and bug fixes)
single_profile option added.
- Better handling for empty availability responses.
- Fix for UI issue when Availability Rules are assigned to a removed profile.
1.4.1User-editable Availability Viewer window
bounds_control option added
- Setting a 24hr (midnight-midnight) window is now possible
- Improved timezone handling
1.3.6Available via NPM
1.3.5Availability Rules calendar selector
All label in the
included calendars box consistent with the behaviour of availability rules by removing
1.3.2Availability Viewer slot results
Addresses the issue of big queries hitting the 200-slots limit by increasing the number of useable slots returned to the viewer.
1.3.0Time zone option for Availability Viewer
tzid parameter that allows the Availability Viewer to be initialised with a specific time zone. If
tzid is declared, the time zone will be displayed in the footer of the Element.
Note: using this new
tzid option will cause the Availability Viewer to render in a timezone that may not match the timezone of the user’s computer. Be sure to highlight this to the user.
Fixes a bug where available periods starting on a Sunday were causing the Availability Viewer to display the preceding week (with no availability) on load.
1.2.3Smarter overrun calculation handles cross-dateline days
Slots that ‘overrun’ the end of the visible period are found using a
moment.diff() between the end of the period and the end of the slot.
This method failed to account for days that crossed the dateline. It now does.
Slot heights were far too high for the
interval: 15; duration: 30 combo.
Now, an hour will always be
60px high, and the slots will be divided accordingly.
1.2.0callback for rules
- triggered on successful ‘rules saved’ response from API
1.1.2sniffing timezone for mock data
1.1.0Time Zone Translation
time zone display in Availability Rules footer
translations moved into
time zone translation handler
1.0.0UI Elements v1.0.0
The release of UI Elements v1.0.0 marks an important transition from prototype to full-fledged product. We have been able to shape the Elements into a robust suite suitable for use in any application environment.
The changes from v0 to v1 are designed to enable a more flexible and customizable set of Elements, as well as providing a solid platform for future expansion. The new config option standardizes many of the more ad-hoc options from early versions, and all style-related options have been moved to the styles option. The callback format has also been amended to support multiple notification types from a single Element, paving the way for richer and deeper integrations.
Find out more in the Upgrade Guide, including the upgrade steps for those using older versions.