Title: | Customizable Timer for 'shiny' Applications |
Version: | 0.1.0 |
Description: | Provides a customizable timer widget for 'shiny' applications. Key features include countdown and count-up mode, multiple display formats (including simple seconds, minutes-seconds, hours-minutes-seconds, and minutes-seconds-centiseconds), ability to pause, resume, and reset the timer. 'shinytimer' widget can be particularly useful for creating interactive and time-sensitive applications, tracking session times, setting time limits for tasks or quizzes, and more. |
Depends: | R (≥ 4.1.0) |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.1 |
Imports: | shiny, htmltools |
Suggests: | R6, testthat (≥ 3.0.0) |
NeedsCompilation: | no |
Packaged: | 2025-03-05 08:42:28 UTC; banasm |
Author: | Maciej Banas [aut, cre] |
Maintainer: | Maciej Banas <banasmaciek@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-03-07 11:10:09 UTC |
Set shinyTimer in motion: count down
Description
Set shinyTimer in motion: count down
Usage
countDown(inputId, session = shiny::getDefaultReactiveDomain())
Arguments
inputId |
The input ID corresponding to the UI element. |
session |
The session object from the shiny server function. |
Value
No return value, called for side effects.
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
shinyTimer("timer", label = "Countdown Timer", seconds = 20, type = "mm:ss"),
actionButton("start", "Start Countdown")
),
server = function(input, output, session) {
observeEvent(input$start, {
countDown("timer")
})
}
)
}
Set shinyTimer in motion: count up
Description
Set shinyTimer in motion: count up
Usage
countUp(inputId, session = shiny::getDefaultReactiveDomain())
Arguments
inputId |
The input ID corresponding to the UI element. |
session |
The session object from the shiny server function. |
Value
No return value, called for side effects.
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
shinyTimer("timer", label = "Count Up Timer", seconds = 0, type = "mm:ss.cs"),
actionButton("start", "Start Counting Up")
),
server = function(input, output, session) {
observeEvent(input$start, {
countUp("timer")
})
}
)
}
Pause shinyTimer
Description
Pause shinyTimer
Usage
pauseTimer(inputId, session = shiny::getDefaultReactiveDomain())
Arguments
inputId |
The input ID corresponding to the UI element. |
session |
The session object from the shiny server function. |
Value
No return value, called for side effects.
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
shinyTimer("timer", label = "Countdown Timer", seconds = 20, type = "mm:ss"),
actionButton("start", "Start Countdown"),
actionButton("pause", "Pause Countdown")
),
server = function(input, output, session) {
observeEvent(input$start, {
countDown("timer")
})
observeEvent(input$pause, {
pauseTimer("timer")
})
}
)
}
Reset shinyTimer
Description
Reset shinyTimer
Usage
resetTimer(
inputId,
hours = 0,
minutes = 0,
seconds = 0,
session = shiny::getDefaultReactiveDomain()
)
Arguments
inputId |
The input ID corresponding to the UI element. |
hours |
The new reset time in hours. |
minutes |
The new reset time in minutes. |
seconds |
The new reset time in seconds. |
session |
The session object from the shiny server function. |
Value
No return value, called for side effects.
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
shinyTimer("timer", label = "Countdown Timer", seconds = 20, type = "mm:ss"),
actionButton("reset", "Reset Timer")
),
server = function(input, output, session) {
observeEvent(input$reset, {
resetTimer("timer", seconds = 20)
})
}
)
}
shinyTimer widget
Description
shinyTimer widget
Usage
shinyTimer(
inputId,
label = NULL,
hours = 0,
minutes = 0,
seconds = 0,
type = "simple",
background = "none",
...
)
Arguments
inputId |
The input id. |
label |
The label to display above the countdown. |
hours |
An integer, the starting time in hours for the countdown. |
minutes |
An integer, the starting time in minutes for the countdown. |
seconds |
An integer, the starting time in seconds for the countdown. |
type |
The type of the countdown timer display ("simple", "mm:ss", "hh:mm:ss", "mm:ss.cs"). |
background |
The shape of the timer's container ("none", "circle", "rectangle"). |
... |
Any additional parameters you want to pass to the placeholder for the timer ( |
Value
A shiny UI component for the countdown timer.
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
shinyTimer("timer", label = "Countdown Timer", seconds = 10)
),
server = function(input, output, session) {
observeEvent(input$start, {
countDown("timer", session)
})
}
)
}
Update shinyTimer widget
Description
Update shinyTimer widget
Usage
updateShinyTimer(
inputId,
hours = NULL,
minutes = NULL,
seconds = NULL,
type = NULL,
label = NULL,
background = NULL,
session = shiny::getDefaultReactiveDomain()
)
Arguments
inputId |
The input ID corresponding to the UI element. |
hours |
The new starting time in hours for the countdown. |
minutes |
The new starting time in minutes for the countdown. |
seconds |
The new starting time in seconds for the countdown. |
type |
The new type of the countdown timer display ("simple", "mm:ss", "hh:mm:ss", "mm:ss.cs"). |
label |
The new label to be displayed above the countdown timer. |
background |
The new shape of the timer's container ("none", "circle", "rectangle"). |
session |
The session object from the shiny server function. |
Value
No return value, called for side effects.
Examples
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
shinyTimer("timer", label = "Countdown Timer", seconds = 10, type = "mm:ss"),
actionButton("update", "Update Timer")
),
server = function(input, output, session) {
observeEvent(input$update, {
updateShinyTimer("timer", seconds = 20, type = "hh:mm:ss")
})
}
)
}