diff --git a/R/betterDateRangeInput.R b/R/betterDateRangeInput.R index 9fd30a5..c0a1704 100644 --- a/R/betterDateRangeInput.R +++ b/R/betterDateRangeInput.R @@ -68,7 +68,12 @@ betterDateRangeInput <- function( style = htmltools::css( width = shiny::validateCssUnit(width) ), - shiny:::shinyInputLabel(inputId, label), + shiny::tags$label( + class = "control-label", + id = paste0(inputId, "-label"), + `for` = paste0(inputId, "_start"), + label + ), shiny::div( class = "input-daterange input-group", `data-date-language` = language, @@ -82,6 +87,7 @@ betterDateRangeInput <- function( `data-date-autoclose` = if (autoclose) "true" else "false", `data-autonext` = if (autonext) "true" else "false", shiny::tags$input( + id = paste0(inputId, "_start"), class = "form-control", type = "text", name = paste0(inputId, "_start"), @@ -94,6 +100,7 @@ betterDateRangeInput <- function( shiny::span(class = "input-group-text", separator) ), shiny::tags$input( + id = paste0(inputId, "_end"), class = "form-control", type = "text", name = paste0(inputId, "_end"), diff --git a/inst/js/betterDateRangeInput.js b/inst/js/betterDateRangeInput.js index 3c114e1..1857815 100644 --- a/inst/js/betterDateRangeInput.js +++ b/inst/js/betterDateRangeInput.js @@ -10,7 +10,7 @@ $.extend(dateRangeInputBinding, { }, _setMin: function(el, date) { var $el = $(el); - var $mainInput = $el.find('.input-daterange').eq(0); + var $mainInput = $el.closest('.input-daterange').eq(0); var autonext = false; if ($mainInput.data('autonext') == true) { @@ -42,7 +42,7 @@ $.extend(dateRangeInputBinding, { }, _setMax: function(el, date) { var $el = $(el); - var $mainInput = $el.find('.input-daterange').eq(0); + var $mainInput = $el.closest('.input-daterange').eq(0); var autonext = false; if ($mainInput.data('autonext') == true) { diff --git a/inst/js/betterDateRangeInput.min.js b/inst/js/betterDateRangeInput.min.js index 6f0e600..41bcf9d 100644 --- a/inst/js/betterDateRangeInput.min.js +++ b/inst/js/betterDateRangeInput.min.js @@ -1 +1 @@ -var dateRangeInputBinding=new Shiny.InputBinding;$.extend(dateRangeInputBinding,{_newDate:function(e){if(e instanceof Date)return e;var t=Date.parse(e);if(isNaN(t))return null;return new Date(t)},_setMin:function(e,t){var a=$(e);var n=a.find(".input-daterange").eq(0);var i=false;if(n.data("autonext")==true){n.data("autonext",false);i=true}if(t==null){a.bsDatepicker("setStartDate",null);n.data("autonext",i);return}var r=this._newDate(t);if(r===null){n.data("autonext",i);return}var s=$(e).bsDatepicker("getUTCDate");a.bsDatepicker("setStartDate",this._utcDateAsLocal(r));if(r&&s&&r.getTime()>s.getTime()){a.bsDatepicker("clearDates")}else{a.bsDatepicker("setUTCDate",s)}n.data("autonext",i)},_setMax:function(e,t){var a=$(e);var n=a.find(".input-daterange").eq(0);var i=false;if(n.data("autonext")==true){n.data("autonext",false);i=true}if(t==null){a.bsDatepicker("setEndDate",null);n.data("autonext",i);return}var r=this._newDate(t);if(r===null){n.data("autonext",i);return}var s=a.bsDatepicker("getUTCDate");a.bsDatepicker("setEndDate",this._utcDateAsLocal(r));if(r&&s&&r.getTime()s.getTime()){a.bsDatepicker("clearDates")}else{a.bsDatepicker("setUTCDate",s)}n.data("autonext",i)},_setMax:function(e,t){var a=$(e);var n=a.closest(".input-daterange").eq(0);var i=false;if(n.data("autonext")==true){n.data("autonext",false);i=true}if(t==null){a.bsDatepicker("setEndDate",null);n.data("autonext",i);return}var r=this._newDate(t);if(r===null){n.data("autonext",i);return}var s=a.bsDatepicker("getUTCDate");a.bsDatepicker("setEndDate",this._utcDateAsLocal(r));if(r&&s&&r.getTime()