knitr::opts_chunk$set(echo = TRUE)
.tui-full-calendar-weekday-grid-date-decorator {
 background: #ff1424 !important;
}
# Packages ----------------------------------------------------------------

library(tuicalendr)
library(htmltools)


# Datas -------------------------------------------------------------------

calendarProps <- data.frame(
  id = c("1", "2", "3"), 
  name = c("TODO", "Meetings", "Tasks"),
  color = c("#FFF", "#FFF", "#000"), 
  bgColor = c("#E41A1C", "#377EB8", "#4DAF4A"),
  borderColor = c("#a90000", "#005288", "#0a7f1c")
)


n <- 20

date_start <- sample(
  seq(from = as.POSIXct(Sys.Date()-14), by = "1 hour", length.out = 24*7*4),
  n, TRUE
)
date_end <- date_start + sample(1:25, n, TRUE) * 3600
schedules <- data.frame(
  id = 1:n, 
  calendarId = as.character(sample(1:3, n, TRUE)),
  title = LETTERS[1:n],
  start = format(date_start, format = "%Y-%m-%dT%H:%00:%00"),
  end = format(date_end, format = "%Y-%m-%dT%H:%00:%00"),
  category = sample(c("allday", "time", "task"), n, TRUE),
  stringsAsFactors = FALSE
)


make_body <- function(title) {
  doRenderTags(tags$div(
    tags$h3("Title for", title),
    tags$p(
      "Yan can write", tags$em("custom"), tags$b("HTML"),
      "in a popup !"
    ),
    tags$p(
      style = "color: firebrick;",
      "For example write in red !"
    ),
    tags$ul(
      tags$li("Or make a bullet list!"),
      tags$li("With another item"),
      tags$li("And one more")
    )
  ))
}

schedules$body <- unlist(lapply(schedules$title, make_body))




# Calendar ----------------------------------------------------------------

calendar(defaultView = "month", taskView = TRUE, scheduleView = c("time", "allday")) %>% 
  set_calendars_props_df(df = calendarProps) %>% 
  add_schedule_df(df = schedules)


dreamRs/tuicalendr documentation built on Aug. 4, 2021, 12:02 a.m.