Add slider2Input

This commit is contained in:
Winston Chang
2014-11-14 16:29:36 -06:00
parent 7b3e9ab031
commit b0162efb1f
17 changed files with 3043 additions and 0 deletions

40
R/input-slider2.R Normal file
View File

@@ -0,0 +1,40 @@
#' @export
slider2Input <- function(inputId, label, min, max, value, step = NULL,
round = FALSE, format = '#,##0.#####', locale = 'us',
ticks = TRUE, animate = FALSE, width = NULL) {
sliderProps <- dropNulls(list(
class = "js-range-slider",
id = inputId,
`data-type` = if (length(value) > 1) "double",
`data-min` = min,
`data-max` = max,
`data-from` = value[1],
`data-to` = if (length(value) > 1) value[2],
`data-step` = step,
`data-grid` = if(ticks) TRUE,
`data-grid-snap` = if (!is.null(step)) TRUE
))
sliderTag <- do.call(tags$input, sliderProps)
if (is.null(label)) {
sliderTag <- div(class = "form-group",
sliderTag
)
} else {
sliderTag <- div(class = "form-group",
controlLabel(inputId, label),
sliderTag
)
}
dep <- htmlDependency("ionrangeslider", "2.0.1", c(href="shared/ionrangeslider"),
script = "js/ion.rangeSlider.min.js",
stylesheet = c("css/normalize.css", "css/ion.rangeSlider.css",
"css/ion.rangeSlider.skinModern.css")
)
attachDependencies(sliderTag, dep)
}