cronofy-elements 1.48.1 → 1.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.gitkeep +0 -0
- package/dist/CronofyElements.js +2 -0
- package/{build/CronofyElements.v1.48.1.js.LICENSE.txt → dist/CronofyElements.js.LICENSE.txt} +0 -0
- package/package.json +10 -7
- package/.babelrc +0 -20
- package/.eslintrc.yaml +0 -43
- package/.prettierignore +0 -4
- package/.prettierrc +0 -7
- package/Makefile +0 -92
- package/brainstorm.md +0 -76
- package/build/CronofyElements.v1.48.1.js +0 -2
- package/build/npm/CronofyElements.js +0 -2
- package/compat.config.js +0 -25
- package/demo/agenda.ejs +0 -71
- package/demo/availability-viewer.ejs +0 -322
- package/demo/calendar-sync.ejs +0 -149
- package/demo/crossbrowser.ejs +0 -228
- package/demo/date-time-picker.ejs +0 -213
- package/demo/demo-styles.css +0 -134
- package/demo/index.ejs +0 -249
- package/demo/integration.ejs +0 -482
- package/demo/load-elements.ejs +0 -12
- package/demo/nav.ejs +0 -14
- package/demo/rules.ejs +0 -121
- package/demo/server.js +0 -425
- package/demo/slot-picker.ejs +0 -197
- package/git.README.md +0 -71
- package/notes.style.md +0 -197
- package/postcss.config.js +0 -3
- package/script/i18n-export +0 -11
- package/script/i18n-helpers/split_write.rb +0 -25
- package/script/i18n-import +0 -22
- package/script/i18n-reference-update +0 -241
- package/src/js/components/Agenda/Agenda.js +0 -243
- package/src/js/components/Agenda/AllDayEventsList.js +0 -37
- package/src/js/components/Agenda/Calendar.js +0 -100
- package/src/js/components/Agenda/CalendarHeader.js +0 -187
- package/src/js/components/Agenda/Event.js +0 -34
- package/src/js/components/Agenda/EventAllDay.js +0 -76
- package/src/js/components/Agenda/EventAttendees.js +0 -30
- package/src/js/components/Agenda/EventDetail.js +0 -111
- package/src/js/components/Agenda/EventMessages.js +0 -24
- package/src/js/components/Agenda/EventMeta.js +0 -48
- package/src/js/components/Agenda/EventTime.js +0 -34
- package/src/js/components/Agenda/EventWrapper.js +0 -271
- package/src/js/components/Agenda/Location.js +0 -29
- package/src/js/components/Agenda/Message.js +0 -22
- package/src/js/components/Agenda/TimedEventsList.js +0 -29
- package/src/js/components/AvailabilityRules/AddButton.js +0 -60
- package/src/js/components/AvailabilityRules/AvailabilityRules.js +0 -45
- package/src/js/components/AvailabilityRules/Calendar.js +0 -31
- package/src/js/components/AvailabilityRules/CalendarListItem.js +0 -53
- package/src/js/components/AvailabilityRules/CalendarProfiles.js +0 -67
- package/src/js/components/AvailabilityRules/CalendarSelector.js +0 -104
- package/src/js/components/AvailabilityRules/Calendars.js +0 -145
- package/src/js/components/AvailabilityRules/Checkmark.js +0 -51
- package/src/js/components/AvailabilityRules/DayLabels.js +0 -91
- package/src/js/components/AvailabilityRules/Footer.js +0 -109
- package/src/js/components/AvailabilityRules/Legend.js +0 -57
- package/src/js/components/AvailabilityRules/Loading.js +0 -53
- package/src/js/components/AvailabilityRules/RemoveButton.js +0 -57
- package/src/js/components/AvailabilityRules/Slot.js +0 -195
- package/src/js/components/AvailabilityRules/SlotDisplay.js +0 -27
- package/src/js/components/AvailabilityRules/Slots.js +0 -81
- package/src/js/components/AvailabilityRules/SlotsDisplay.js +0 -68
- package/src/js/components/AvailabilityRules/TimeExpander.js +0 -119
- package/src/js/components/AvailabilityRules/TimeLabels.js +0 -89
- package/src/js/components/AvailabilityRules/TimeZoneDisplay.js +0 -41
- package/src/js/components/AvailabilityRules/ToggleIcon.js +0 -41
- package/src/js/components/AvailabilityRules/Tooltip.js +0 -63
- package/src/js/components/AvailabilityRules/UnknownCalendar.js +0 -33
- package/src/js/components/AvailabilityRules/Week.js +0 -115
- package/src/js/components/AvailabilityRules/WeekGrid.js +0 -80
- package/src/js/components/AvailabilityRules/Wrapper.js +0 -414
- package/src/js/components/AvailabilityRules/contexts/drag-context.js +0 -15
- package/src/js/components/AvailabilityRules/scss/_base.buttons.scss +0 -58
- package/src/js/components/AvailabilityRules/scss/_base.theme.scss +0 -4
- package/src/js/components/AvailabilityRules/scss/_components.timezoneselector.scss +0 -74
- package/src/js/components/AvailabilityRules/scss/_generic.reset.scss +0 -13
- package/src/js/components/AvailabilityRules/scss/_settings.colours.scss +0 -12
- package/src/js/components/AvailabilityRules/scss/availabilityrules.scss +0 -5
- package/src/js/components/AvailabilityRules/utils/tz-utils.js +0 -44
- package/src/js/components/AvailabilityViewer/AvailabilityViewer.js +0 -524
- package/src/js/components/AvailabilityViewer/ColumnHeader.js +0 -35
- package/src/js/components/AvailabilityViewer/DayColumn.js +0 -36
- package/src/js/components/AvailabilityViewer/DayColumnDisplay.js +0 -33
- package/src/js/components/AvailabilityViewer/DayColumnWrapper.js +0 -29
- package/src/js/components/AvailabilityViewer/DayLabels.js +0 -41
- package/src/js/components/AvailabilityViewer/EmptyColumn.js +0 -29
- package/src/js/components/AvailabilityViewer/Footer.js +0 -36
- package/src/js/components/AvailabilityViewer/GridFreeSelect.js +0 -33
- package/src/js/components/AvailabilityViewer/HoverSlot.js +0 -35
- package/src/js/components/AvailabilityViewer/HoverTooltip.js +0 -34
- package/src/js/components/AvailabilityViewer/LabelColumn.js +0 -53
- package/src/js/components/AvailabilityViewer/LabelItem.js +0 -73
- package/src/js/components/AvailabilityViewer/Legend.js +0 -79
- package/src/js/components/AvailabilityViewer/Loading.js +0 -57
- package/src/js/components/AvailabilityViewer/MonthLabels.js +0 -43
- package/src/js/components/AvailabilityViewer/Navigation.js +0 -138
- package/src/js/components/AvailabilityViewer/Overlay.js +0 -60
- package/src/js/components/AvailabilityViewer/Preloading.js +0 -66
- package/src/js/components/AvailabilityViewer/SelectedSlot.js +0 -106
- package/src/js/components/AvailabilityViewer/SelectedSlots.js +0 -72
- package/src/js/components/AvailabilityViewer/SelectionMask.js +0 -44
- package/src/js/components/AvailabilityViewer/Slot.js +0 -237
- package/src/js/components/AvailabilityViewer/SlotFreeSelect.js +0 -115
- package/src/js/components/AvailabilityViewer/Slots.js +0 -57
- package/src/js/components/AvailabilityViewer/TimeExpander.js +0 -93
- package/src/js/components/AvailabilityViewer/TimeLines.js +0 -74
- package/src/js/components/AvailabilityViewer/TimeSelector.js +0 -243
- package/src/js/components/AvailabilityViewer/TimeSelectorTrigger.js +0 -42
- package/src/js/components/AvailabilityViewer/TimeZoneDisplay.js +0 -28
- package/src/js/components/AvailabilityViewer/ToggleIcon.js +0 -41
- package/src/js/components/AvailabilityViewer/Tooltip.js +0 -65
- package/src/js/components/AvailabilityViewer/Week.js +0 -255
- package/src/js/components/AvailabilityViewer/WeekWrapper.js +0 -132
- package/src/js/components/AvailabilityViewer/contexts/page-context.js +0 -17
- package/src/js/components/AvailabilityViewer/contexts/page-reducer.js +0 -28
- package/src/js/components/AvailabilityViewer/contexts/selection-context.js +0 -25
- package/src/js/components/AvailabilityViewer/contexts/selection-reducer.js +0 -18
- package/src/js/components/CalendarSync/Active.js +0 -57
- package/src/js/components/CalendarSync/AddToggle.js +0 -72
- package/src/js/components/CalendarSync/CalendarSync.js +0 -215
- package/src/js/components/CalendarSync/EditToggle.js +0 -71
- package/src/js/components/CalendarSync/Footer.js +0 -31
- package/src/js/components/CalendarSync/Inactive.js +0 -66
- package/src/js/components/CalendarSync/Loading.js +0 -52
- package/src/js/components/CalendarSync/Pending.js +0 -74
- package/src/js/components/CalendarSync/ProfileStatus.js +0 -33
- package/src/js/components/CalendarSync/Profiles.js +0 -109
- package/src/js/components/CalendarSync/ProviderLogo.js +0 -28
- package/src/js/components/CalendarSync/Providers.js +0 -80
- package/src/js/components/CalendarSync/RemoveLink.js +0 -96
- package/src/js/components/CalendarSync/SelectProvider.js +0 -25
- package/src/js/components/CalendarSync/contexts/status-reducer.js +0 -74
- package/src/js/components/DateTimePicker/Calendar.js +0 -127
- package/src/js/components/DateTimePicker/CalendarHeader.js +0 -80
- package/src/js/components/DateTimePicker/Confirm.js +0 -106
- package/src/js/components/DateTimePicker/DateTimePicker.js +0 -131
- package/src/js/components/DateTimePicker/DayButton.js +0 -38
- package/src/js/components/DateTimePicker/DayHeadings.js +0 -33
- package/src/js/components/DateTimePicker/Details.js +0 -33
- package/src/js/components/DateTimePicker/Error.js +0 -39
- package/src/js/components/DateTimePicker/Loading.js +0 -20
- package/src/js/components/DateTimePicker/LoadingCalendar.js +0 -21
- package/src/js/components/DateTimePicker/NoSlotsFound.js +0 -16
- package/src/js/components/DateTimePicker/SequencedSlotButton.js +0 -97
- package/src/js/components/DateTimePicker/SlotButton.js +0 -55
- package/src/js/components/DateTimePicker/SlotsList.js +0 -45
- package/src/js/components/DateTimePicker/Wrapper.js +0 -281
- package/src/js/components/DateTimePicker/contexts/status-context.js +0 -19
- package/src/js/components/DateTimePicker/contexts/status-reducer.js +0 -276
- package/src/js/components/DateTimePicker/contexts/theme-context.js +0 -33
- package/src/js/components/DateTimePicker/helpers/theming.js +0 -49
- package/src/js/components/DateTimePicker/scss/_base.buttons.scss +0 -58
- package/src/js/components/DateTimePicker/scss/_base.layout.scss +0 -28
- package/src/js/components/DateTimePicker/scss/_base.theme.scss +0 -17
- package/src/js/components/DateTimePicker/scss/_components.calendargrid.scss +0 -78
- package/src/js/components/DateTimePicker/scss/_components.calendarheader.scss +0 -71
- package/src/js/components/DateTimePicker/scss/_components.confirm.scss +0 -40
- package/src/js/components/DateTimePicker/scss/_components.details.scss +0 -20
- package/src/js/components/DateTimePicker/scss/_components.error.scss +0 -34
- package/src/js/components/DateTimePicker/scss/_components.loading.scss +0 -36
- package/src/js/components/DateTimePicker/scss/_components.slotslist.scss +0 -43
- package/src/js/components/DateTimePicker/scss/_components.timezoneselector.scss +0 -73
- package/src/js/components/DateTimePicker/scss/_generic.reset.scss +0 -18
- package/src/js/components/DateTimePicker/scss/_settings.colours.scss +0 -17
- package/src/js/components/DateTimePicker/scss/datetimepicker.scss +0 -5
- package/src/js/components/DateTimePicker/utils/calendar-keyboard.js +0 -109
- package/src/js/components/DateTimePicker/utils/calendar.js +0 -125
- package/src/js/components/DateTimePicker/utils/slots.js +0 -288
- package/src/js/components/SlotPicker/Confirm.js +0 -160
- package/src/js/components/SlotPicker/Days.js +0 -58
- package/src/js/components/SlotPicker/Slot.js +0 -72
- package/src/js/components/SlotPicker/SlotPicker.js +0 -292
- package/src/js/components/SlotPicker/Slots.js +0 -66
- package/src/js/components/SlotPicker/TimeSlots.js +0 -91
- package/src/js/components/generic/Button.js +0 -26
- package/src/js/components/generic/Container.js +0 -33
- package/src/js/components/generic/Error.js +0 -77
- package/src/js/components/generic/Loading.js +0 -51
- package/src/js/components/generic/LoadingSpinner.js +0 -30
- package/src/js/components/generic/ShadowScrollbars.js +0 -70
- package/src/js/components/generic/TimeZoneSelector.js +0 -158
- package/src/js/components/generic/TransitionSlide.js +0 -72
- package/src/js/contexts/i18n-context.js +0 -25
- package/src/js/contexts/log-context.js +0 -18
- package/src/js/contexts/tz-context.js +0 -18
- package/src/js/env.example.js +0 -8
- package/src/js/helpers/colors.js +0 -33
- package/src/js/helpers/comparators.AvailabilityViewer.js +0 -27
- package/src/js/helpers/connections.js +0 -370
- package/src/js/helpers/events.js +0 -166
- package/src/js/helpers/functional.js +0 -4
- package/src/js/helpers/generator.js +0 -107
- package/src/js/helpers/i18n.js +0 -153
- package/src/js/helpers/init.Agenda.js +0 -55
- package/src/js/helpers/init.AvailabilityRules.js +0 -195
- package/src/js/helpers/init.AvailabilityViewer.js +0 -215
- package/src/js/helpers/init.CalendarSync.js +0 -83
- package/src/js/helpers/init.DateTimePicker.js +0 -219
- package/src/js/helpers/init.SlotPicker.js +0 -89
- package/src/js/helpers/init.js +0 -308
- package/src/js/helpers/logging.js +0 -78
- package/src/js/helpers/mocks.js +0 -871
- package/src/js/helpers/slots.js +0 -340
- package/src/js/helpers/slots.rules.js +0 -220
- package/src/js/helpers/theming.js +0 -93
- package/src/js/helpers/translations.js +0 -42
- package/src/js/helpers/tz-list.js +0 -136
- package/src/js/helpers/utils.AvailabilityRules.js +0 -110
- package/src/js/helpers/utils.AvailabilityViewer.js +0 -789
- package/src/js/helpers/utils.CalendarSync.js +0 -199
- package/src/js/helpers/utils.js +0 -76
- package/src/js/hooks/useWindowSize.js +0 -20
- package/src/js/main.js +0 -133
- package/src/js/next.js +0 -37
- package/src/js/styles/_settings.utils.scss +0 -82
- package/src/js/styles/colors.js +0 -13
- package/src/js/styles/global.js +0 -49
- package/src/js/styles/utils.js +0 -81
- package/src/js/translations/de/agenda.json +0 -12
- package/src/js/translations/de/availability_rules.json +0 -18
- package/src/js/translations/de/availability_viewer.json +0 -14
- package/src/js/translations/de/calendar_sync.json +0 -14
- package/src/js/translations/de/core.json +0 -15
- package/src/js/translations/de/date_time_picker.json +0 -14
- package/src/js/translations/de/slot_picker.json +0 -9
- package/src/js/translations/de/time_zones.json +0 -135
- package/src/js/translations/en/agenda.json +0 -12
- package/src/js/translations/en/availability_rules.json +0 -18
- package/src/js/translations/en/availability_viewer.json +0 -14
- package/src/js/translations/en/calendar_sync.json +0 -14
- package/src/js/translations/en/core.json +0 -23
- package/src/js/translations/en/date_time_picker.json +0 -15
- package/src/js/translations/en/slot_picker.json +0 -9
- package/src/js/translations/en/time_zones.json +0 -17
- package/src/js/translations/es/agenda.json +0 -12
- package/src/js/translations/es/availability_rules.json +0 -18
- package/src/js/translations/es/availability_viewer.json +0 -14
- package/src/js/translations/es/calendar_sync.json +0 -14
- package/src/js/translations/es/core.json +0 -15
- package/src/js/translations/es/date_time_picker.json +0 -14
- package/src/js/translations/es/slot_picker.json +0 -9
- package/src/js/translations/es/time_zones.json +0 -203
- package/src/js/translations/fr/agenda.json +0 -12
- package/src/js/translations/fr/availability_rules.json +0 -18
- package/src/js/translations/fr/availability_viewer.json +0 -14
- package/src/js/translations/fr/calendar_sync.json +0 -14
- package/src/js/translations/fr/core.json +0 -15
- package/src/js/translations/fr/date_time_picker.json +0 -14
- package/src/js/translations/fr/slot_picker.json +0 -9
- package/src/js/translations/fr/time_zones.json +0 -161
- package/src/js/translations/fr-CA/agenda.json +0 -12
- package/src/js/translations/fr-CA/availability_rules.json +0 -18
- package/src/js/translations/fr-CA/availability_viewer.json +0 -14
- package/src/js/translations/fr-CA/calendar_sync.json +0 -14
- package/src/js/translations/fr-CA/core.json +0 -23
- package/src/js/translations/fr-CA/date_time_picker.json +0 -14
- package/src/js/translations/fr-CA/slot_picker.json +0 -9
- package/src/js/translations/fr-CA/time_zones.json +0 -163
- package/src/js/translations/it/agenda.json +0 -12
- package/src/js/translations/it/availability_rules.json +0 -18
- package/src/js/translations/it/availability_viewer.json +0 -14
- package/src/js/translations/it/calendar_sync.json +0 -14
- package/src/js/translations/it/core.json +0 -15
- package/src/js/translations/it/date_time_picker.json +0 -14
- package/src/js/translations/it/slot_picker.json +0 -9
- package/src/js/translations/it/time_zones.json +0 -126
- package/src/js/translations/ja/agenda.json +0 -12
- package/src/js/translations/ja/availability_rules.json +0 -18
- package/src/js/translations/ja/availability_viewer.json +0 -14
- package/src/js/translations/ja/calendar_sync.json +0 -14
- package/src/js/translations/ja/core.json +0 -15
- package/src/js/translations/ja/date_formats.json +0 -5
- package/src/js/translations/ja/date_time_picker.json +0 -14
- package/src/js/translations/ja/slot_picker.json +0 -9
- package/src/js/translations/ja/time_zones.json +0 -435
- package/src/js/translations/nl/agenda.json +0 -12
- package/src/js/translations/nl/availability_rules.json +0 -18
- package/src/js/translations/nl/availability_viewer.json +0 -14
- package/src/js/translations/nl/calendar_sync.json +0 -14
- package/src/js/translations/nl/core.json +0 -15
- package/src/js/translations/nl/date_time_picker.json +0 -14
- package/src/js/translations/nl/slot_picker.json +0 -9
- package/src/js/translations/nl/time_zones.json +0 -118
- package/src/js/translations/ru/agenda.json +0 -12
- package/src/js/translations/ru/availability_rules.json +0 -18
- package/src/js/translations/ru/availability_viewer.json +0 -14
- package/src/js/translations/ru/calendar_sync.json +0 -14
- package/src/js/translations/ru/core.json +0 -15
- package/src/js/translations/ru/date_time_picker.json +0 -14
- package/src/js/translations/ru/slot_picker.json +0 -9
- package/src/js/translations/ru/time_zones.json +0 -435
- package/src/js/translations/sv/agenda.json +0 -12
- package/src/js/translations/sv/availability_rules.json +0 -18
- package/src/js/translations/sv/availability_viewer.json +0 -14
- package/src/js/translations/sv/calendar_sync.json +0 -14
- package/src/js/translations/sv/core.json +0 -15
- package/src/js/translations/sv/date_time_picker.json +0 -14
- package/src/js/translations/sv/slot_picker.json +0 -9
- package/src/js/translations/sv/time_zones.json +0 -136
- package/tests/AvailabilityRules/AvailabilityRules.test.js +0 -39
- package/tests/AvailabilityRules/__snapshots__/AvailabilityRules.test.js.snap +0 -1045
- package/tests/AvailabilityViewer/Navigation.test.js +0 -130
- package/tests/AvailabilityViewer/contexts/page-reducer.test.js +0 -87
- package/tests/AvailabilityViewer/reducer.test.js +0 -73
- package/tests/CalendarSync/Active.test.js +0 -25
- package/tests/CalendarSync/AddToggle.test.js +0 -57
- package/tests/CalendarSync/EditToggle.test.js +0 -57
- package/tests/CalendarSync/Inactive.test.js +0 -26
- package/tests/CalendarSync/Pending.test.js +0 -25
- package/tests/CalendarSync/ProviderLogo.test.js +0 -95
- package/tests/CalendarSync/__snapshots__/Active.test.js.snap +0 -61
- package/tests/CalendarSync/__snapshots__/Inactive.test.js.snap +0 -78
- package/tests/CalendarSync/__snapshots__/Pending.test.js.snap +0 -90
- package/tests/CalendarSync/__snapshots__/ProviderLogo.test.js.snap +0 -267
- package/tests/CalendarSync/init.CalendarSync.test.js +0 -302
- package/tests/CalendarSync/mocks/theme.js +0 -14
- package/tests/CalendarSync/status-reducer.test.js +0 -435
- package/tests/DateTimePicker/SequencedSlotButton.test.js +0 -157
- package/tests/DateTimePicker/SlotButton.test.js +0 -118
- package/tests/DateTimePicker/contexts/status-reducer.test.js +0 -1036
- package/tests/DateTimePicker/dummy-data.js +0 -883
- package/tests/DateTimePicker/utils.test.js +0 -515
- package/tests/colors.test.js +0 -70
- package/tests/components/TimezoneSelector.test.js +0 -124
- package/tests/components/main.test.js +0 -203
- package/tests/components/rtl-utils.js +0 -32
- package/tests/connections.test.js +0 -684
- package/tests/events.test.js +0 -472
- package/tests/generator.test.js +0 -74
- package/tests/i18n.test.js +0 -255
- package/tests/init.Agenda.test.js +0 -122
- package/tests/init.AvailabilityRules.test.js +0 -279
- package/tests/init.AvailabilityViewer.test.js +0 -740
- package/tests/init.SlotPicker.test.js +0 -166
- package/tests/init.test.js +0 -231
- package/tests/logging.test.js +0 -235
- package/tests/mocks/i18n.js +0 -3
- package/tests/mocks/theme.js +0 -3
- package/tests/setupJest.js +0 -8
- package/tests/slots.rules.test.js +0 -195
- package/tests/slots.test.js +0 -278
- package/tests/utils.AvailabilityRules.test.js +0 -221
- package/tests/utils.AvailabilityViewer.test.js +0 -1800
- package/tests/utils.CalendarSync.test.js +0 -277
- package/tests/utils.test.js +0 -119
- package/webpack.config.js +0 -114
package/compat.config.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const path = require("path");
|
|
2
|
-
const baseConfig = require("./webpack.config.js");
|
|
3
|
-
const { GitRevisionPlugin } = require("git-revision-webpack-plugin");
|
|
4
|
-
const gitRevisionPlugin = new GitRevisionPlugin();
|
|
5
|
-
|
|
6
|
-
module.exports = (env, argv) => ({
|
|
7
|
-
...baseConfig(env, argv),
|
|
8
|
-
entry: [
|
|
9
|
-
"core-js/stable",
|
|
10
|
-
"regenerator-runtime/runtime",
|
|
11
|
-
"whatwg-fetch",
|
|
12
|
-
"./src/js/main.js"
|
|
13
|
-
],
|
|
14
|
-
output: {
|
|
15
|
-
path: path.resolve(__dirname, "build"),
|
|
16
|
-
filename:
|
|
17
|
-
argv.mode === "development"
|
|
18
|
-
? `CronofyElements.dev.ie.js`
|
|
19
|
-
: `CronofyElements.${gitRevisionPlugin.version()}.ie.js`,
|
|
20
|
-
library: "CronofyElements",
|
|
21
|
-
libraryTarget: "umd",
|
|
22
|
-
umdNamedDefine: true
|
|
23
|
-
},
|
|
24
|
-
target: ["web", "es5"]
|
|
25
|
-
});
|
package/demo/agenda.ejs
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
7
|
-
<title>Embedding demo: integration checks</title>
|
|
8
|
-
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
|
|
9
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
|
|
10
|
-
<link href="/demo/demo-styles.css" rel="stylesheet">
|
|
11
|
-
<%- include('load-elements.ejs', { mode: 'dev'}) %>
|
|
12
|
-
</head>
|
|
13
|
-
|
|
14
|
-
<body class="trouble">
|
|
15
|
-
<% var slug = 'agenda'; %>
|
|
16
|
-
<%- include nav.ejs %>
|
|
17
|
-
|
|
18
|
-
<h1>Agenda View</h1>
|
|
19
|
-
<div id="cronofy-error-message"></div>
|
|
20
|
-
<h2>default</h2>
|
|
21
|
-
<div id="cronofy-agenda-view"></div>
|
|
22
|
-
<h2>custom colours</h2>
|
|
23
|
-
<div id="cronofy-agenda-view-two"></div>
|
|
24
|
-
|
|
25
|
-
<script>
|
|
26
|
-
if ("<%= agenda_token %>" === "invalid") {
|
|
27
|
-
const errorMessageWrapper = document.querySelector('#cronofy-error-message');
|
|
28
|
-
errorMessageWrapper.innerHTML = "<span class='error'>There was a problem generating the element token. Check that your <code>CLIENT_ID</code>, <code>CLIENT_SECRET</code>, and <code>SUB</code> environment variables are correct.</span>"
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const locale = "<%= locale %>";
|
|
32
|
-
|
|
33
|
-
CronofyElements.Agenda({
|
|
34
|
-
element_token: "<%= agenda_token %>",
|
|
35
|
-
target_id: 'cronofy-agenda-view',
|
|
36
|
-
api_domain:"<%= api_domain %>",
|
|
37
|
-
demo: true,
|
|
38
|
-
// locale: 'keys',
|
|
39
|
-
// translations: {
|
|
40
|
-
// en: {
|
|
41
|
-
// agenda: {
|
|
42
|
-
// today: 'Override today'
|
|
43
|
-
// }
|
|
44
|
-
// }
|
|
45
|
-
// },
|
|
46
|
-
styles: {
|
|
47
|
-
prefix:"AG1"
|
|
48
|
-
},
|
|
49
|
-
callback: cb => console.log('AG1 callback', cb),
|
|
50
|
-
locale: locale
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
CronofyElements.Agenda({
|
|
54
|
-
element_token: "<%= agenda_token %>",
|
|
55
|
-
target_id: 'cronofy-agenda-view-two',
|
|
56
|
-
api_domain:"<%= api_domain %>",
|
|
57
|
-
styles: {
|
|
58
|
-
colors:{ calendars: ['#0074d9','#ffdc00'] },
|
|
59
|
-
prefix:"AG2"
|
|
60
|
-
},
|
|
61
|
-
config: {
|
|
62
|
-
mode: "free_busy_managed"
|
|
63
|
-
},
|
|
64
|
-
locale: locale
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
console.log('done.');
|
|
68
|
-
</script>
|
|
69
|
-
|
|
70
|
-
</body>
|
|
71
|
-
</html>
|
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
7
|
-
<title>Embedding demo: availability viewer</title>
|
|
8
|
-
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
|
|
9
|
-
<link href="/demo/demo-styles.css" rel="stylesheet">
|
|
10
|
-
|
|
11
|
-
<%- include('load-elements.ejs', { mode: 'dev'}) %>
|
|
12
|
-
</head>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<body class="trouble">
|
|
16
|
-
<% var slug = 'availability-viewer'; %>
|
|
17
|
-
<%- include nav.ejs %>
|
|
18
|
-
|
|
19
|
-
<h1>Availability Viewer</h1>
|
|
20
|
-
<div id="cronofy-error-message"></div>
|
|
21
|
-
<div id="cronofy-availability-viewer"></div>
|
|
22
|
-
<button id="cronofy-availability-query">New Query</button>
|
|
23
|
-
<button id="cronofy-availability-refresh">Refresh</button>
|
|
24
|
-
<button id="cronofy-availability-prev-page">Prev Page</button>
|
|
25
|
-
<button id="cronofy-availability-next-page">Next Page</button>
|
|
26
|
-
<button id="cronofy-availability-mode">activate free select</button>
|
|
27
|
-
<button id="cronofy-custom-styles">activate custom styles</button>
|
|
28
|
-
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Recusandae, doloribus eaque? Animi, velit culpa nostrum omnis vitae rem placeat ut mollitia autem porro! Qui molestiae porro rerum similique, aliquid deleniti!</p>
|
|
29
|
-
<div id="cronofy-availability-viewer-two"></div>
|
|
30
|
-
<hr>
|
|
31
|
-
<div id="cronofy-availability-viewer-three"></div>
|
|
32
|
-
<div class="wrapper">
|
|
33
|
-
<div class="column">
|
|
34
|
-
<h2>Consectetur adipisicing elit</h2>
|
|
35
|
-
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. <a href="/">Voluptate sed ex totam odit</a> quae hic voluptatibus, quisquam dicta animi laborum velit laboriosam, placeat suscipit tenetur voluptates! Illo tempora minus animi.</p>
|
|
36
|
-
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quidem consequuntur repudiandae nesciunt, totam dicta earum deleniti magnam eveniet eligendi sunt adipisci veniam esse aliquid aperiam corporis optio fuga tempora sit!</p>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="column">
|
|
39
|
-
<h2>Est deserunt non quis do quis nostrud ad exercitation proident incididunt.</h2>
|
|
40
|
-
<p>Excepturi dicta neque ut, a expedita quaerat, tempore dolor placeat quibusdam cumque ipsam cum officia voluptate, ea fuga optio necessitatibus inventore tempora?</p>
|
|
41
|
-
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Natus nisi eveniet voluptas provident esse beatae minus at error dignissimos neque? Temporibus velit numquam aut labore porro neque ipsum, deleniti a?</p>
|
|
42
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum sunt eligendi, error quos nulla dolorem alias corrupti iste fugiat deleniti nam unde, porro provident a voluptatem at voluptates, dolores sed!</p>
|
|
43
|
-
</div>
|
|
44
|
-
</div>
|
|
45
|
-
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Natus nisi eveniet voluptas provident esse beatae minus at error dignissimos neque? Temporibus velit numquam aut labore porro neque ipsum, deleniti a?</p>
|
|
46
|
-
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Debitis saepe maxime corporis nemo hic rerum porro in repudiandae? Libero eligendi impedit reiciendis exercitationem fuga ex eos aliquid itaque facere corrupti.</p>
|
|
47
|
-
<hr>
|
|
48
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum sunt eligendi, error quos nulla dolorem alias corrupti iste fugiat deleniti nam unde, porro provident a voluptatem at voluptates, dolores sed!</p>
|
|
49
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum commodi fuga laboriosam? Quas officiis doloremque iure modi, ipsam dolore ad illum saepe et voluptatum quis tempore ullam dolor, sequi nulla!</p>
|
|
50
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum sunt eligendi, error quos nulla dolorem alias corrupti iste fugiat deleniti nam unde, porro provident a voluptatem at voluptates, dolores sed!</p>
|
|
51
|
-
|
|
52
|
-
<script>
|
|
53
|
-
if ("<%= availability_token %>" === "invalid") {
|
|
54
|
-
const errorMessageWrapper = document.querySelector('#cronofy-error-message');
|
|
55
|
-
errorMessageWrapper.innerHTML = "<span class='error'>There was a problem generating the element token. Check that your <code>CLIENT_ID</code>, <code>CLIENT_SECRET</code>, and <code>SUB</code> environment variables are correct.</span>"
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const moment = CronofyElements.moment;
|
|
59
|
-
const locale = "<%= locale %>";
|
|
60
|
-
|
|
61
|
-
const display = {
|
|
62
|
-
// 0 = don't show the element
|
|
63
|
-
// 1 = show the element
|
|
64
|
-
one: 1,
|
|
65
|
-
two: 1,
|
|
66
|
-
three: 1
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
const utcOffset = moment().utcOffset();
|
|
70
|
-
const invertedOffset =
|
|
71
|
-
Math.sign(utcOffset) === -1 ? Math.abs(utcOffset) : 0 - utcOffset;
|
|
72
|
-
const offset = invertedOffset / 60;
|
|
73
|
-
|
|
74
|
-
const today = moment()
|
|
75
|
-
.add(1, "day")
|
|
76
|
-
.seconds(0);
|
|
77
|
-
const startDay = today
|
|
78
|
-
.clone()
|
|
79
|
-
.startOf('isoWeek')
|
|
80
|
-
.subtract(1, "day")
|
|
81
|
-
.add(7,"day");
|
|
82
|
-
|
|
83
|
-
const simpleOffsetTime = function(days,time) {
|
|
84
|
-
const timeString = `${moment().seconds(0).format("YYYY-MM-DD")}T${time}:00Z`;
|
|
85
|
-
const output = moment(timeString)
|
|
86
|
-
.add(days, "days")
|
|
87
|
-
.add(offset, "hours");
|
|
88
|
-
return output.utc().format();
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const offsetTime = function(days, time) {
|
|
92
|
-
const timeString = `${startDay.clone().format("YYYY-MM-DD")}T${time}:00Z`;
|
|
93
|
-
const output = moment(timeString)
|
|
94
|
-
.add(days, "days")
|
|
95
|
-
.add(offset, "hours");
|
|
96
|
-
return output.utc().format();
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
let availablePeriods = [
|
|
100
|
-
{ start: offsetTime(1, "09:00"), end: offsetTime(1, "17:30") },
|
|
101
|
-
{ start: offsetTime(2, "09:00"), end: offsetTime(2, "17:30") },
|
|
102
|
-
{ start: offsetTime(3, "09:00"), end: offsetTime(3, "17:30") },
|
|
103
|
-
{ start: offsetTime(4, "05:00"), end: offsetTime(4, "20:00") },
|
|
104
|
-
{ start: offsetTime(5, "05:00"), end: offsetTime(5, "17:30") },
|
|
105
|
-
{ start: offsetTime(8, "09:00"), end: offsetTime(8, "19:30") },
|
|
106
|
-
{ start: offsetTime(9, "09:00"), end: offsetTime(9, "17:30") },
|
|
107
|
-
{ start: offsetTime(10, "09:00"), end: offsetTime(10, "17:30") },
|
|
108
|
-
{ start: offsetTime(11, "09:00"), end: offsetTime(11, "17:30") },
|
|
109
|
-
{ start: offsetTime(12, "09:00"), end: offsetTime(12, "17:30") },
|
|
110
|
-
{ start: offsetTime(15, "08:00"), end: offsetTime(19, "19:30") }
|
|
111
|
-
];
|
|
112
|
-
|
|
113
|
-
// Long query period
|
|
114
|
-
// availablePeriods = [
|
|
115
|
-
// { start: offsetTime(1, "09:00"), end: offsetTime(90, "17:30") }
|
|
116
|
-
// ];
|
|
117
|
-
|
|
118
|
-
// Query period with at least one missing week in the middle
|
|
119
|
-
// availablePeriods = [
|
|
120
|
-
// { start: offsetTime(1, "09:00"), end: offsetTime(7, "17:30") },
|
|
121
|
-
// { start: offsetTime(25, "09:00"), end: offsetTime(50, "17:30") }
|
|
122
|
-
// ];
|
|
123
|
-
|
|
124
|
-
if (display.one) {
|
|
125
|
-
|
|
126
|
-
const originalQuery = {
|
|
127
|
-
element_token: "<%= availability_token %>",
|
|
128
|
-
target_id: 'cronofy-availability-viewer',
|
|
129
|
-
api_domain:"<%= api_domain %>",
|
|
130
|
-
availability_query: {
|
|
131
|
-
participants: [
|
|
132
|
-
{
|
|
133
|
-
required: "all",
|
|
134
|
-
members: [
|
|
135
|
-
{ sub: "<%= sub %>" }
|
|
136
|
-
// {
|
|
137
|
-
// sub: "<%= sub %>",
|
|
138
|
-
// managed_availability: "true",
|
|
139
|
-
// availability_rule_ids: ["weekly_work_hours"],
|
|
140
|
-
// // only_preferred_periods: false
|
|
141
|
-
// }
|
|
142
|
-
]
|
|
143
|
-
}
|
|
144
|
-
],
|
|
145
|
-
required_duration: { minutes: 60 },
|
|
146
|
-
query_periods: availablePeriods,
|
|
147
|
-
},
|
|
148
|
-
config: {
|
|
149
|
-
start_time: "08:00",
|
|
150
|
-
end_time: "18:00",
|
|
151
|
-
interval: 30,
|
|
152
|
-
mode: "default", // default | multi_select | no_confirm | free_select
|
|
153
|
-
// week_start_day: "Monday"
|
|
154
|
-
logs: "info",
|
|
155
|
-
allow_expansion: true
|
|
156
|
-
},
|
|
157
|
-
styles: {
|
|
158
|
-
prefix: "AV1"
|
|
159
|
-
},
|
|
160
|
-
// tzid: "Europe/London",
|
|
161
|
-
locale: locale,
|
|
162
|
-
callback: cb => console.log('callback',cb),
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
const Viewer = CronofyElements.AvailabilityViewer(originalQuery);
|
|
166
|
-
|
|
167
|
-
const refresh = document.querySelector('#cronofy-availability-refresh');
|
|
168
|
-
refresh.addEventListener('click', () => Viewer.refresh() , false);
|
|
169
|
-
|
|
170
|
-
const nextPage = document.querySelector('#cronofy-availability-next-page');
|
|
171
|
-
nextPage.addEventListener('click', () => Viewer.navigate.next() , false);
|
|
172
|
-
|
|
173
|
-
const prevPage = document.querySelector('#cronofy-availability-prev-page');
|
|
174
|
-
prevPage.addEventListener('click', () => Viewer.navigate.prev() , false);
|
|
175
|
-
|
|
176
|
-
const newQuery = document.querySelector('#cronofy-availability-query');
|
|
177
|
-
newQuery.addEventListener('click',loadNewQuery,false);
|
|
178
|
-
|
|
179
|
-
function randomFromArray(array) {
|
|
180
|
-
const randomIndex = Math.floor(Math.random()*array.length);
|
|
181
|
-
return array[randomIndex]
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
function loadNewQuery() {
|
|
185
|
-
const startOptions = [
|
|
186
|
-
"05:00","05:30",
|
|
187
|
-
"06:00","06:30",
|
|
188
|
-
"07:00","07:30",
|
|
189
|
-
"08:00","08:30",
|
|
190
|
-
"09:00","09:30",
|
|
191
|
-
"10:00","10:30",
|
|
192
|
-
"11:00","11:30"
|
|
193
|
-
];
|
|
194
|
-
const endOptions = [
|
|
195
|
-
"15:00","15:30",
|
|
196
|
-
"16:00","16:30",
|
|
197
|
-
"17:00","17:30",
|
|
198
|
-
"18:00","18:30",
|
|
199
|
-
"19:00","19:30",
|
|
200
|
-
"20:00","20:30",
|
|
201
|
-
"21:00","21:30"
|
|
202
|
-
];
|
|
203
|
-
const intervalOptions = [15,30,60];
|
|
204
|
-
const newConfig = {
|
|
205
|
-
start_time: randomFromArray(startOptions),
|
|
206
|
-
end_time: randomFromArray(endOptions),
|
|
207
|
-
interval: randomFromArray(intervalOptions)
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
console.log(newConfig);
|
|
211
|
-
Viewer.update({
|
|
212
|
-
config: newConfig
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
const newMode = document.querySelector('#cronofy-availability-mode');
|
|
217
|
-
newMode.addEventListener('click',loadNewMode,false);
|
|
218
|
-
function loadNewMode() {
|
|
219
|
-
const freeSelectActive = newMode.classList.contains("free-select-active")
|
|
220
|
-
if (!freeSelectActive) {
|
|
221
|
-
console.log("Activating \"free_select\" mode.");
|
|
222
|
-
Viewer.update({config: { mode: "free_select" }});
|
|
223
|
-
} else {
|
|
224
|
-
console.log(`Reseting mode to "${originalQuery.config.mode}".`);
|
|
225
|
-
Viewer.update({config: { mode: originalQuery.config.mode }});
|
|
226
|
-
}
|
|
227
|
-
newMode.classList.toggle("free-select-active")
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
const toggleStyles = document.querySelector('#cronofy-custom-styles');
|
|
231
|
-
toggleStyles.addEventListener('click',loadCustomStyles,false);
|
|
232
|
-
function loadCustomStyles() {
|
|
233
|
-
const customStylesActive = toggleStyles.classList.contains("custom-styles-active")
|
|
234
|
-
if (!customStylesActive) {
|
|
235
|
-
console.log("Activating custom styles");
|
|
236
|
-
Viewer.update({styles: { prefix: "AV1_custom" }});
|
|
237
|
-
} else {
|
|
238
|
-
console.log("Reseting custom styles");
|
|
239
|
-
Viewer.update({styles: { prefix: "AV1" }});
|
|
240
|
-
}
|
|
241
|
-
toggleStyles.classList.toggle("custom-styles-active")
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
if (display.two) {
|
|
246
|
-
const ViewerTwo = CronofyElements.AvailabilityViewer({
|
|
247
|
-
element_token: "<%= availability_token %>",
|
|
248
|
-
target_id: 'cronofy-availability-viewer-two',
|
|
249
|
-
api_domain:"<%= api_domain %>",
|
|
250
|
-
availability_query: {
|
|
251
|
-
participants: [
|
|
252
|
-
{
|
|
253
|
-
required: "all",
|
|
254
|
-
members: [
|
|
255
|
-
{ sub: "<%= sub %>" }
|
|
256
|
-
]
|
|
257
|
-
}
|
|
258
|
-
],
|
|
259
|
-
required_duration: { minutes: 60 },
|
|
260
|
-
query_periods: [
|
|
261
|
-
{ start: offsetTime(1, "09:00"), end: offsetTime(1, "17:30") },
|
|
262
|
-
{ start: offsetTime(2, "08:00"), end: offsetTime(2, "17:30") },
|
|
263
|
-
{ start: offsetTime(3, "09:00"), end: offsetTime(3, "17:30") },
|
|
264
|
-
{ start: offsetTime(4, "09:00"), end: offsetTime(4, "17:30") },
|
|
265
|
-
{ start: offsetTime(5, "09:00"), end: offsetTime(5, "17:30") }
|
|
266
|
-
],
|
|
267
|
-
},
|
|
268
|
-
config: {
|
|
269
|
-
start_time:"09:00",
|
|
270
|
-
end_time: "14:00",
|
|
271
|
-
interval: 15,
|
|
272
|
-
mode: "multi_select",
|
|
273
|
-
max_selection_count: 4
|
|
274
|
-
},
|
|
275
|
-
styles: {
|
|
276
|
-
prefix: "AV2"
|
|
277
|
-
},
|
|
278
|
-
callback: slot => console.log('AV2 callback',slot),
|
|
279
|
-
demo: true,
|
|
280
|
-
locale: locale
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
if (display.three) {
|
|
285
|
-
const ViewerThree = CronofyElements.AvailabilityViewer({
|
|
286
|
-
element_token: "<%= availability_token %>",
|
|
287
|
-
target_id: 'cronofy-availability-viewer-three',
|
|
288
|
-
api_domain:"<%= api_domain %>",
|
|
289
|
-
availability_query: {
|
|
290
|
-
participants: [
|
|
291
|
-
{
|
|
292
|
-
required: "all",
|
|
293
|
-
members: [
|
|
294
|
-
{ sub: "<%= sub %>" }
|
|
295
|
-
]
|
|
296
|
-
}
|
|
297
|
-
],
|
|
298
|
-
required_duration: { minutes: 60 },
|
|
299
|
-
query_periods: [
|
|
300
|
-
{ start: offsetTime(1, "09:00"), end: offsetTime(1, "17:30") },
|
|
301
|
-
{ start: offsetTime(2, "08:00"), end: offsetTime(2, "17:30") },
|
|
302
|
-
{ start: offsetTime(3, "09:00"), end: offsetTime(3, "17:30") },
|
|
303
|
-
{ start: offsetTime(4, "09:00"), end: offsetTime(4, "17:30") },
|
|
304
|
-
{ start: offsetTime(5, "09:00"), end: offsetTime(5, "17:30") }
|
|
305
|
-
],
|
|
306
|
-
},
|
|
307
|
-
config: {
|
|
308
|
-
start_time:"10:00",
|
|
309
|
-
end_time: "13:00",
|
|
310
|
-
interval: 60
|
|
311
|
-
},
|
|
312
|
-
callback: slot => console.log('AV3 callback',slot),
|
|
313
|
-
demo: true,
|
|
314
|
-
locale: locale
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
console.log('done.');
|
|
319
|
-
</script>
|
|
320
|
-
|
|
321
|
-
</body>
|
|
322
|
-
</html>
|
package/demo/calendar-sync.ejs
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
7
|
-
<title>Embedding demo: integration checks</title>
|
|
8
|
-
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
|
|
9
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
|
|
10
|
-
<link href="/demo/demo-styles.css" rel="stylesheet">
|
|
11
|
-
<%- include('load-elements.ejs', { mode: 'dev'}) %>
|
|
12
|
-
</head>
|
|
13
|
-
|
|
14
|
-
<body class="trouble">
|
|
15
|
-
<% var slug = 'calendar-sync'; %>
|
|
16
|
-
<%- include nav.ejs %>
|
|
17
|
-
|
|
18
|
-
<h1>Calendar Sync</h1>
|
|
19
|
-
<div id="cronofy-error-message"></div>
|
|
20
|
-
<h2>default</h2>
|
|
21
|
-
<div id="cronofy-calendar-sync"></div>
|
|
22
|
-
<h2>demo</h2>
|
|
23
|
-
<div id="cronofy-calendar-sync-two"></div>
|
|
24
|
-
<h2>no token</h2>
|
|
25
|
-
<div id="cronofy-calendar-sync-three"></div>
|
|
26
|
-
<h2>single_profile</h2>
|
|
27
|
-
<div id="cronofy-calendar-sync-four"></div>
|
|
28
|
-
|
|
29
|
-
<script>
|
|
30
|
-
if ("<%= cal_sync_token %>" === "invalid") {
|
|
31
|
-
const errorMessageWrapper = document.querySelector('#cronofy-error-message');
|
|
32
|
-
errorMessageWrapper.innerHTML = "<span class='error'>There was a problem generating the element token. Check that your <code>CLIENT_ID</code>, <code>CLIENT_SECRET</code>, and <code>SUB</code> environment variables are correct.</span>"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const locale = "<%= locale %>";
|
|
36
|
-
|
|
37
|
-
const display = {
|
|
38
|
-
// 0 = don't show the element
|
|
39
|
-
// 1 = show the element
|
|
40
|
-
one: 1,
|
|
41
|
-
two: 1,
|
|
42
|
-
three: 1,
|
|
43
|
-
four: 1
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
if (display.one) {
|
|
47
|
-
CronofyElements.CalendarSync({
|
|
48
|
-
element_token: "<%= cal_sync_token %>",
|
|
49
|
-
target_id: 'cronofy-calendar-sync',
|
|
50
|
-
app_domain:"<%= app_domain %>",
|
|
51
|
-
api_domain:"<%= api_domain %>",
|
|
52
|
-
data_center: "us",
|
|
53
|
-
// authorization_url: "http://localhost:8080/auth/cronofy",
|
|
54
|
-
// authorization_url: "/auth/cronofy",
|
|
55
|
-
authorization: {
|
|
56
|
-
redirect_uri: "http://localhost:8080/",
|
|
57
|
-
client_id: "<%= client_id %>",
|
|
58
|
-
scope: "read_free_busy"
|
|
59
|
-
},
|
|
60
|
-
locale: locale,
|
|
61
|
-
// locale: 'keys',
|
|
62
|
-
// translations: {
|
|
63
|
-
// en: {
|
|
64
|
-
// core: {
|
|
65
|
-
// back: 'Override back'
|
|
66
|
-
// },
|
|
67
|
-
// calendar_sync: {
|
|
68
|
-
// calendar_accounts: 'Override calendar_accounts'
|
|
69
|
-
// }
|
|
70
|
-
// }
|
|
71
|
-
// },
|
|
72
|
-
tzid: "Etc/UTC",
|
|
73
|
-
demo: false,
|
|
74
|
-
callback: cb => {
|
|
75
|
-
console.log("callback", cb);
|
|
76
|
-
},
|
|
77
|
-
// config: {
|
|
78
|
-
// revoke_mode: "callback_only", // trigger_and_callback | callback_only
|
|
79
|
-
// },
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (display.two) {
|
|
84
|
-
CronofyElements.CalendarSync({
|
|
85
|
-
element_token: "<%= cal_sync_token %>",
|
|
86
|
-
target_id: 'cronofy-calendar-sync-two',
|
|
87
|
-
authorization: {
|
|
88
|
-
redirect_uri: "http://localhost:8080/",
|
|
89
|
-
client_id: "<%= client_id %>",
|
|
90
|
-
scope: "read_only"
|
|
91
|
-
},
|
|
92
|
-
tzid: "Etc/UTC",
|
|
93
|
-
demo: true,
|
|
94
|
-
locale: locale,
|
|
95
|
-
callback: cb => {
|
|
96
|
-
console.log("callback", cb);
|
|
97
|
-
},
|
|
98
|
-
// config: {
|
|
99
|
-
// revoke_mode: "callback_only",
|
|
100
|
-
// },
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (display.three) {
|
|
105
|
-
CronofyElements.CalendarSync({
|
|
106
|
-
target_id: 'cronofy-calendar-sync-three',
|
|
107
|
-
authorization: {
|
|
108
|
-
redirect_uri: "http://localhost:8080/",
|
|
109
|
-
client_id: "<%= client_id %>",
|
|
110
|
-
scope: "read_only"
|
|
111
|
-
},
|
|
112
|
-
locale: locale,
|
|
113
|
-
tzid: "Etc/UTC",
|
|
114
|
-
callback: cb => {
|
|
115
|
-
console.log("callback", cb);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
if (display.four) {
|
|
121
|
-
CronofyElements.CalendarSync({
|
|
122
|
-
element_token: "<%= cal_sync_token %>",
|
|
123
|
-
target_id: 'cronofy-calendar-sync-four',
|
|
124
|
-
app_domain:"<%= app_domain %>",
|
|
125
|
-
api_domain:"<%= api_domain %>",
|
|
126
|
-
data_center: "us",
|
|
127
|
-
authorization: {
|
|
128
|
-
redirect_uri: "http://localhost:8080/",
|
|
129
|
-
client_id: "<%= client_id %>",
|
|
130
|
-
scope: "read_only"
|
|
131
|
-
},
|
|
132
|
-
locale: locale,
|
|
133
|
-
single_profile: true,
|
|
134
|
-
tzid: "Etc/UTC",
|
|
135
|
-
//demo: true,
|
|
136
|
-
callback: cb => {
|
|
137
|
-
console.log("callback", cb);
|
|
138
|
-
},
|
|
139
|
-
// config: {
|
|
140
|
-
// revoke_mode: "callback_only",
|
|
141
|
-
// },
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
console.log('done.');
|
|
146
|
-
</script>
|
|
147
|
-
|
|
148
|
-
</body>
|
|
149
|
-
</html>
|