Skip to contents

Usage

Create interactive calendars with:

You can display calendars in interactive R Markdown documents or Shiny applications:

  • R Markdown: display calendars that you can navigate and click on schedules to display extra information.
  • Shiny: display calendars where you can edit, update and drag-and-drop schedules.

Monthly calendar

Create a monthly calendar:

  • cal_demo_data() return a data.frame with schedules example
  • useNavigation = TRUE: add navigation buttons to change the month displayed
  • cal_month_options(): global options for calendar
  • cal_props(): set properties for schedules groups (background and text color …)
calendar(cal_demo_data(), navigation = TRUE, defaultDate = Sys.Date()) %>%
  cal_month_options(
    startDayOfWeek  = 1, 
    narrowWeekend = TRUE
  ) %>% 
  cal_props(cal_demo_props())
#> The `name` provided ('home') is deprecated in Font Awesome 6:
#> * please consider using 'house' or 'fas fa-house' instead
#> * use the `verify_fa = FALSE` to deactivate these messages

Weekly calendar

Create a weekly calendar:

  • cal_demo_data("week") return a data.frame with schedules example for week
  • view = "week": activate week view for calendar
  • defaultDate = Sys.Date(): force calendar to show the specified date (otherwise it shows the current date)
  • cal_week_options(): global options for calendar
  • cal_props(): set properties for schedules groups (background and text color …)
calendar(cal_demo_data("week"), view = "week", defaultDate = Sys.Date()) %>% 
  cal_week_options(
    startDayOfWeek = 1,
    workweek = TRUE
  ) %>% 
  cal_props(cal_demo_props())

Schedules

To add schedules into a calendar who can pass a data.frame as first argument to calendar(), or use cal_schedules() :

# Define directly schedules properties
calendar() %>%
  cal_schedules(
    title = "My schedule",
    start = format(Sys.Date(), "%Y-%m-03 00:00:00"),
    end = format(Sys.Date(), "%Y-%m-17 00:00:00")
  )

# Or you can use a data.frame
my_calendar_data <- data.frame(
  title = "My schedule",
  start = format(Sys.Date(), "%Y-%m-03 00:00:00"),
  end = format(Sys.Date(), "%Y-%m-17 00:00:00")
)
calendar() %>%
  cal_schedules(
    my_calendar_data
  )

Properties for schedules are described in table below:

Calendar properties

Calendar properties can be used to set common appearance to a group of schedules with the same calendarId.

calendar() %>%
  cal_schedules(
    title = "My schedule",
    calendarId = 123, # <-- set a calendarId
    start = format(Sys.Date(), "%Y-%m-03 00:00:00"),
    end = format(Sys.Date(), "%Y-%m-17 00:00:00")
  ) %>% 
  cal_props(
    id = 123, # <-- reference to schedules' calendarId
    name = "My Calendar",
    color = "white",
    bgColor = "darkorange",
    borderColor = "darkorange"
  )

Properties for calendars are described in table below: