Compare commits

...

4 Commits

Author SHA1 Message Date
Winston Chang
8ef8ee5b13 Add staticdocs entries for interactive plots 2015-06-12 16:19:45 -07:00
Joe Cheng
b789d3f6e0 Update metadata 2015-06-11 23:42:11 -07:00
Joe Cheng
453536268a Un-deprecate data table functions until DT stabilizes 2015-06-11 23:28:07 -07:00
Joe Cheng
8b841cb7d2 Fix #856: Outputs can not be unbound and re-bound
Conflicts:
	inst/www/shared/shiny.js
	inst/www/shared/shiny.js.map
	inst/www/shared/shiny.min.js
	inst/www/shared/shiny.min.js.map
2015-06-11 23:22:30 -07:00
11 changed files with 45 additions and 27 deletions

View File

@@ -1,8 +1,8 @@
Package: shiny
Type: Package
Title: Web Application Framework for R
Version: 0.12.0
Date: 2015-05-18
Version: 0.12.1
Date: 2015-06-11
Authors@R: c(
person("Winston", "Chang", role = c("aut", "cre"), email = "winston@rstudio.com"),
person("Joe", "Cheng", role = "aut", email = "joe@rstudio.com"),

11
NEWS
View File

@@ -1,3 +1,14 @@
shiny 0.12.1
--------------------------------------------------------------------------------
* Fixed an issue where unbindAll() causes subsequent bindAll() to be ignored for
previously bound outputs. (#856)
* Undeprecate `dataTableOutput` and `renderDataTable`, which had been deprecated
in favor of the new DT package. The DT package is a bit too new and has a
slightly different API, we were too hasty in deprecating the existing Shiny
functions.
shiny 0.12.0
--------------------------------------------------------------------------------

View File

@@ -2101,9 +2101,6 @@ dataTableDependency <- list(
#' @rdname tableOutput
#' @export
dataTableOutput <- function(outputId) {
shinyDeprecated(
'DT::dataTableOutput', old = 'shiny::dataTableOutput', version = '0.11.1'
)
attachDependencies(
div(id = outputId, class="shiny-datatable-output"),
dataTableDependency

View File

@@ -416,10 +416,9 @@ downloadHandler <- function(filename, content, contentType=NA) {
#' @note This function only provides the server-side version of DataTables
#' (using R to process the data object on the server side). There is a
#' separate package \pkg{DT} (\url{https://github.com/rstudio/DT}) that allows
#' you to create both server-side and client-side DataTables. The functions
#' \code{renderDataTable()} and \code{dataTableOutput()} in \pkg{shiny} have
#' been deprecated since v0.11.1. Please use \code{DT::renderDataTable()} and
#' \code{DT::dataTableOutput()} (see
#' you to create both server-side and client-side DataTables, and supports
#' additional DataTables features. Consider using \code{DT::renderDataTable()}
#' and \code{DT::dataTableOutput()} (see
#' \url{http://rstudio.github.io/DT/shiny.html} for more information).
#' @export
#' @inheritParams renderPlot
@@ -448,9 +447,6 @@ downloadHandler <- function(filename, content, contentType=NA) {
renderDataTable <- function(expr, options = NULL, searchDelay = 500,
callback = 'function(oTable) {}', escape = TRUE,
env = parent.frame(), quoted = FALSE) {
shinyDeprecated(
'DT::renderDataTable', old = 'shiny::renderDataTable', version = '0.11.1'
)
installExprFunction(expr, "func", env, quoted)
markRenderFunction(dataTableOutput, function(shinysession, name, ...) {

View File

@@ -160,6 +160,17 @@ sd_section("Utility functions",
"shiny-options"
)
)
sd_section("Plot interaction",
"Functions related to interactive plots",
c(
"brushedPoints",
"brushOpts",
"clickOpts",
"dblclickOpts",
"hoverOpts",
"nearPoints"
)
)
sd_section("Embedding",
"Functions that are intended for third-party packages that embed Shiny applications.",
c(

View File

@@ -4282,7 +4282,7 @@ function initShiny() {
continue;
var $el = $(el);
if ($el.data('shiny-output-binding')) {
if ($el.hasClass('shiny-bound-output')) {
// Already bound; can happen with nested uiOutput (bindAll
// gets called on two ancestors)
continue;
@@ -4306,12 +4306,14 @@ function initShiny() {
var outputs = $(scope).find('.shiny-bound-output');
for (var i = 0; i < outputs.length; i++) {
var bindingAdapter = $(outputs[i]).data('shiny-output-binding');
var $el = $(outputs[i]);
var bindingAdapter = $el.data('shiny-output-binding');
if (!bindingAdapter)
continue;
var id = bindingAdapter.binding.getId(outputs[i]);
shinyapp.unbindOutput(id, bindingAdapter);
$(outputs[i]).removeClass('shiny-bound-output');
$el.removeClass('shiny-bound-output');
$el.removeData('shiny-output-binding');
}
setTimeout(sendOutputHiddenState, 0);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -52,10 +52,9 @@ elements in the list.
This function only provides the server-side version of DataTables
(using R to process the data object on the server side). There is a
separate package \pkg{DT} (\url{https://github.com/rstudio/DT}) that allows
you to create both server-side and client-side DataTables. The functions
\code{renderDataTable()} and \code{dataTableOutput()} in \pkg{shiny} have
been deprecated since v0.11.1. Please use \code{DT::renderDataTable()} and
\code{DT::dataTableOutput()} (see
you to create both server-side and client-side DataTables, and supports
additional DataTables features. Consider using \code{DT::renderDataTable()}
and \code{DT::dataTableOutput()} (see
\url{http://rstudio.github.io/DT/shiny.html} for more information).
}
\examples{

View File

@@ -23,7 +23,7 @@ function initShiny() {
continue;
var $el = $(el);
if ($el.data('shiny-output-binding')) {
if ($el.hasClass('shiny-bound-output')) {
// Already bound; can happen with nested uiOutput (bindAll
// gets called on two ancestors)
continue;
@@ -47,12 +47,14 @@ function initShiny() {
var outputs = $(scope).find('.shiny-bound-output');
for (var i = 0; i < outputs.length; i++) {
var bindingAdapter = $(outputs[i]).data('shiny-output-binding');
var $el = $(outputs[i]);
var bindingAdapter = $el.data('shiny-output-binding');
if (!bindingAdapter)
continue;
var id = bindingAdapter.binding.getId(outputs[i]);
shinyapp.unbindOutput(id, bindingAdapter);
$(outputs[i]).removeClass('shiny-bound-output');
$el.removeClass('shiny-bound-output');
$el.removeData('shiny-output-binding');
}
setTimeout(sendOutputHiddenState, 0);