This commit is contained in:
pvictor 2020-03-04 22:52:13 +01:00
parent ea12c0b1f6
commit 8f56dca2b9
2 changed files with 12 additions and 12 deletions

View File

@ -34,7 +34,7 @@ set_input_click <- function(ax, inputId, multiple = FALSE,
value = effect_value value = effect_value
) )
)) ))
ax$x$input$category <- list( ax$x$shinyEvents$click <- list(
inputId = session$ns(inputId) inputId = session$ns(inputId)
) )
ax ax
@ -56,7 +56,7 @@ set_input_click <- function(ax, inputId, multiple = FALSE,
#' @examples #' @examples
set_input_zoom <- function(ax, inputId, set_input_zoom <- function(ax, inputId,
session = shiny::getDefaultReactiveDomain()) { session = shiny::getDefaultReactiveDomain()) {
ax$x$input$zoom <- list( ax$x$shinyEvents$zoom <- list(
inputId = session$ns(inputId) inputId = session$ns(inputId)
) )
ax ax

View File

@ -22,40 +22,40 @@ HTMLWidgets.widget({
ax_opts.chart.parentHeightOffset = 0; ax_opts.chart.parentHeightOffset = 0;
} }
if (x.hasOwnProperty("input") & HTMLWidgets.shinyMode) { if (x.hasOwnProperty("shinyEvents") & HTMLWidgets.shinyMode) {
if (!ax_opts.hasOwnProperty("chart")) { if (!ax_opts.hasOwnProperty("chart")) {
ax_opts.chart = {}; ax_opts.chart = {};
} }
if (!ax_opts.chart.hasOwnProperty("events")) { if (!ax_opts.chart.hasOwnProperty("events")) {
ax_opts.chart.events = {}; ax_opts.chart.events = {};
} }
if (x.input.hasOwnProperty("category")) { if (x.shinyEvents.hasOwnProperty("click")) {
ax_opts.chart.events.dataPointSelection = function( ax_opts.chart.events.dataPointSelection = function(
event, event,
chartContext, chartContext,
opts opts
) { ) {
var selected = {}; var select = {};
for (var i = 0; i < opts.selectedDataPoints.length; i++) { for (var i = 0; i < opts.selectedDataPoints.length; i++) {
if (typeof opts.selectedDataPoints[i] === "undefined") { if (typeof opts.selectedDataPoints[i] === "undefined") {
continue; continue;
} }
if (opts.w.config.series[i].hasOwnProperty("name")) { if (opts.w.config.series[i].hasOwnProperty("name")) {
var name = opts.w.config.series[i].name; var name = opts.w.config.series[i].name;
selected[name] = getSelection(opts, i); select[name] = getSelection(opts, i);
} else { } else {
selected[i] = getSelection(opts, i); select[i] = getSelection(opts, i);
} }
} }
if (is_single(opts)) { if (is_single(opts)) {
selected = selected[Object.keys(selected)[0]]; select = select[Object.keys(select)[0]];
} }
Shiny.setInputValue(x.input.category.inputId, selected); Shiny.setInputValue(x.shinyEvents.click.inputId, select);
}; };
} }
if (x.input.hasOwnProperty("zoom")) { if (x.shinyEvents.hasOwnProperty("zoom")) {
ax_opts.chart.events.zoomed = function(chartContext, xaxis, yaxis) { ax_opts.chart.events.zoomed = function(chartContext, xaxis, yaxis) {
var id = x.input.zoom.inputId; var id = x.shinyEvents.zoom.inputId;
if (chartContext.w.config.xaxis.type == "datetime") { if (chartContext.w.config.xaxis.type == "datetime") {
id = id + ":apex_datetime"; id = id + ":apex_datetime";
} }
@ -141,7 +141,7 @@ function getSelection(opts, serieIndex) {
}); });
} else { } else {
var data = opts.w.config.series[serieIndex].data; var data = opts.w.config.series[serieIndex].data;
//console.log(opts.selectedDataPoints); console.log(opts.selectedDataPoints);
selected = opts.selectedDataPoints[serieIndex].map(function(index) { selected = opts.selectedDataPoints[serieIndex].map(function(index) {
var val = data[index]; var val = data[index];
if (typeXY.indexOf(opts.w.config.chart.type) < 0) { if (typeXY.indexOf(opts.w.config.chart.type) < 0) {