Compare commits
4 Commits
v1.0.0
...
fbeb3247af
| Author | SHA1 | Date | |
|---|---|---|---|
| fbeb3247af | |||
| 932bf4e5cf | |||
| 7b0a0ac311 | |||
| a152dc7fb8 |
@@ -1,6 +1,6 @@
|
|||||||
Package: AVSDevR.ShinyInputs
|
Package: AVSDevR.ShinyInputs
|
||||||
Title: Provides Additional Inputs for Shiny
|
Title: Provides Additional Inputs for Shiny
|
||||||
Version: 1.0.0
|
Version: 1.0.2
|
||||||
Authors@R:
|
Authors@R:
|
||||||
person("Craig", "Williams", , "craig@avsdev.uk", role = c("aut", "cre"))
|
person("Craig", "Williams", , "craig@avsdev.uk", role = c("aut", "cre"))
|
||||||
Description: Provides additional inputs which can be used in shiny
|
Description: Provides additional inputs which can be used in shiny
|
||||||
|
|||||||
@@ -19,10 +19,12 @@ formatDates <- function(value, min, max) {
|
|||||||
value[lubridate::ymd(value) > lubridate::ymd(dates$max)] <- dates$max
|
value[lubridate::ymd(value) > lubridate::ymd(dates$max)] <- dates$max
|
||||||
}
|
}
|
||||||
dates <- lapply(dates, format, "%Y-%m-%d")
|
dates <- lapply(dates, format, "%Y-%m-%d")
|
||||||
value <- lapply(value, format, "%Y-%m-%d")
|
|
||||||
dates <- lapply(dates, function(.x) {
|
dates <- lapply(dates, function(.x) {
|
||||||
if (length(.x) == 0) NULL else .x
|
if (length(.x) == 0) NULL else .x
|
||||||
})
|
})
|
||||||
|
sort_order <- sort(as.numeric(value), index.return = TRUE, na.last = FALSE)$ix
|
||||||
|
value <- value[sort_order]
|
||||||
|
value <- lapply(value, format, "%Y-%m-%d")
|
||||||
value <- lapply(value, function(.x) {
|
value <- lapply(value, function(.x) {
|
||||||
if (length(.x) == 0) NULL else .x
|
if (length(.x) == 0) NULL else .x
|
||||||
})
|
})
|
||||||
@@ -87,12 +89,16 @@ betterDateInput <- function(
|
|||||||
#'
|
#'
|
||||||
#' @export
|
#' @export
|
||||||
updateBetterDateInput <- function(
|
updateBetterDateInput <- function(
|
||||||
session, inputId, label = NULL, min = NULL, max = NULL, value = NULL
|
session, inputId, label = NULL, min = NULL, max = NULL, value = NULL,
|
||||||
|
view = NULL
|
||||||
) {
|
) {
|
||||||
dates <- formatDates(value, min, max)
|
dates <- c(
|
||||||
|
formatDates(value, min, max),
|
||||||
|
view = formatDates(view, NULL, NULL)$value
|
||||||
|
)
|
||||||
message <- list(
|
message <- list(
|
||||||
label = label, value = shiny:::dropNulls(dates$value),
|
label = label, value = shiny:::dropNulls(dates$value),
|
||||||
min = dates$min, max = dates$max,
|
min = dates$min, max = dates$max, view = shiny:::dropNulls(dates$view),
|
||||||
id = inputId
|
id = inputId
|
||||||
)
|
)
|
||||||
message <- shiny:::dropNulls(message)
|
message <- shiny:::dropNulls(message)
|
||||||
|
|||||||
@@ -103,6 +103,19 @@ $.extend(dateInputBinding, {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
setView: function(el, view) {
|
||||||
|
var $el = $(el);
|
||||||
|
var $input = $el.find('input').eq(0);
|
||||||
|
|
||||||
|
if (view !== void 0) {
|
||||||
|
if (view === null || (Array.isArray(view) && view.length == 0)) {
|
||||||
|
$input.data().datepicker.o.defaultViewDate = new Date();
|
||||||
|
} else {
|
||||||
|
$input.data().datepicker.o.defaultViewDate = new Date(view);
|
||||||
|
}
|
||||||
|
$input.bsDatepicker('update');
|
||||||
|
}
|
||||||
|
},
|
||||||
subscribe: function(el, callback) {
|
subscribe: function(el, callback) {
|
||||||
$(el).on('change', function(event) {
|
$(el).on('change', function(event) {
|
||||||
callback();
|
callback();
|
||||||
@@ -136,6 +149,10 @@ $.extend(dateInputBinding, {
|
|||||||
this.setValue(el, data.value);
|
this.setValue(el, data.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.hasOwnProperty('view')) {
|
||||||
|
this.setView(el, data.view);
|
||||||
|
}
|
||||||
|
|
||||||
// if (data.hasOwnProperty('disabled')) {
|
// if (data.hasOwnProperty('disabled')) {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|||||||
2
inst/js/betterDateInput.min.js
vendored
2
inst/js/betterDateInput.min.js
vendored
@@ -1 +1 @@
|
|||||||
var dateInputBinding=new Shiny.InputBinding;$.extend(dateInputBinding,{_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){if(t==null){$(e).bsDatepicker("setStartDate",null);return}var a=this._newDate(t);if(a===null)return;var i=$(e).bsDatepicker("getUTCDate");$(e).bsDatepicker("setStartDate",this._utcDateAsLocal(a));if(a&&i&&a.getTime()>i.getTime()){$(e).bsDatepicker("clearDates")}else{$(e).bsDatepicker("setUTCDate",i)}},_setMax:function(e,t){if(t==null){$(e).bsDatepicker("setEndDate",null);return}var a=this._newDate(t);if(a===null)return;var i=$(e).bsDatepicker("getUTCDate");$(e).bsDatepicker("setEndDate",this._utcDateAsLocal(a));if(a&&i&&a.getTime()<i.getTime()){$(e).bsDatepicker("clearDates")}else{$(e).bsDatepicker("setUTCDate",i)}},_dateAsUTC:function(e){return new Date(e.getTime()-e.getTimezoneOffset()*6e4)},_utcDateAsLocal:function(e){return new Date(e.getTime()+e.getTimezoneOffset()*6e4)},_padZeros:function(e,t){var a=e.toString();while(a.length<t){a="0"+a}return a},_formatDateUTC:function(e){if(e instanceof Date){return e.getUTCFullYear()+"-"+this._padZeros(e.getUTCMonth()+1,2)+"-"+this._padZeros(e.getUTCDate(),2)}else{return null}},find:function(e){return $(e).find(".shiny-betterDate-input")},getId:function(e){return $(e).attr("id")},getValue:function(e){var t=$(e);var a=t.find("input").eq(0);var i=null;if(a.data("date-multidate")==true){i=a.bsDatepicker("getUTCDates");if(i.length>0){i=i.map(this._formatDateUTC.bind(this))}}else{i=a.bsDatepicker("getUTCDate");i=this._formatDateUTC(i)}return i},setValue:function(e,t){var a=$(e);var i=a.find("input").eq(0);if(t!==void 0){if(t===null||Array.isArray(t)&&t.length==0){i.val("").bsDatepicker("update")}else{if(i.data("date-multidate")==true&&Array.isArray(t)&&t.length>1){var n=t.map(this._newDate.bind(this));i.bsDatepicker("setUTCDates",n)}else{var r=this._newDate(t);i.bsDatepicker("setUTCDate",r)}}}},subscribe:function(e,t){$(e).on("change",function(e){t()})},unsubscribe:function(e){$(e).off("change")},getState:function(e){return{value:this.getValue(e)}},receiveMessage:function(e,t){var a=$(e);var i=a.find("input").eq(0);if(t.hasOwnProperty("label")){$(e).find('label[for="'+e.id+'Text"]').text(t.label)}if(t.hasOwnProperty("min")){this._setMin(i[0],t.min)}if(t.hasOwnProperty("max")){this._setMax(i[0],t.max)}if(t.hasOwnProperty("value")){this.setValue(e,t.value)}a.trigger("change")},initialize:function e(t){var a=$(t);var i=a.find(".input-betterDate").eq(0);var n=a.find("input").eq(0);n.bsDatepicker();var r=i.data("initial-date");this.setValue(t,r);this._setMin(n[0],i.data("min-date"));this._setMax(n[0],i.data("max-date"));n.bsDatepicker().on("changeDate",function(e){a.trigger("change")})}});Shiny.inputBindings.register(dateInputBinding,"shinyExtra.dateInputBinding");
|
var dateInputBinding=new Shiny.InputBinding;$.extend(dateInputBinding,{_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){if(t==null){$(e).bsDatepicker("setStartDate",null);return}var a=this._newDate(t);if(a===null)return;var i=$(e).bsDatepicker("getUTCDate");$(e).bsDatepicker("setStartDate",this._utcDateAsLocal(a));if(a&&i&&a.getTime()>i.getTime()){$(e).bsDatepicker("clearDates")}else{$(e).bsDatepicker("setUTCDate",i)}},_setMax:function(e,t){if(t==null){$(e).bsDatepicker("setEndDate",null);return}var a=this._newDate(t);if(a===null)return;var i=$(e).bsDatepicker("getUTCDate");$(e).bsDatepicker("setEndDate",this._utcDateAsLocal(a));if(a&&i&&a.getTime()<i.getTime()){$(e).bsDatepicker("clearDates")}else{$(e).bsDatepicker("setUTCDate",i)}},_dateAsUTC:function(e){return new Date(e.getTime()-e.getTimezoneOffset()*6e4)},_utcDateAsLocal:function(e){return new Date(e.getTime()+e.getTimezoneOffset()*6e4)},_padZeros:function(e,t){var a=e.toString();while(a.length<t){a="0"+a}return a},_formatDateUTC:function(e){if(e instanceof Date){return e.getUTCFullYear()+"-"+this._padZeros(e.getUTCMonth()+1,2)+"-"+this._padZeros(e.getUTCDate(),2)}else{return null}},find:function(e){return $(e).find(".shiny-betterDate-input")},getId:function(e){return $(e).attr("id")},getValue:function(e){var t=$(e);var a=t.find("input").eq(0);var i=null;if(a.data("date-multidate")==true){i=a.bsDatepicker("getUTCDates");if(i.length>0){i=i.map(this._formatDateUTC.bind(this))}}else{i=a.bsDatepicker("getUTCDate");i=this._formatDateUTC(i)}return i},setValue:function(e,t){var a=$(e);var i=a.find("input").eq(0);if(t!==void 0){if(t===null||Array.isArray(t)&&t.length==0){i.val("").bsDatepicker("update")}else{if(i.data("date-multidate")==true&&Array.isArray(t)&&t.length>1){var n=t.map(this._newDate.bind(this));i.bsDatepicker("setUTCDates",n)}else{var r=this._newDate(t);i.bsDatepicker("setUTCDate",r)}}}},setView:function(e,t){var a=$(e);var i=a.find("input").eq(0);if(t!==void 0){if(t===null||Array.isArray(t)&&t.length==0){i.data().datepicker.o.defaultViewDate=new Date}else{i.data().datepicker.o.defaultViewDate=new Date(t)}i.bsDatepicker("update")}},subscribe:function(e,t){$(e).on("change",function(e){t()})},unsubscribe:function(e){$(e).off("change")},getState:function(e){return{value:this.getValue(e)}},receiveMessage:function(e,t){var a=$(e);var i=a.find("input").eq(0);if(t.hasOwnProperty("label")){$(e).find('label[for="'+e.id+'Text"]').text(t.label)}if(t.hasOwnProperty("min")){this._setMin(i[0],t.min)}if(t.hasOwnProperty("max")){this._setMax(i[0],t.max)}if(t.hasOwnProperty("value")){this.setValue(e,t.value)}if(t.hasOwnProperty("view")){this.setView(e,t.view)}a.trigger("change")},initialize:function e(t){var a=$(t);var i=a.find(".input-betterDate").eq(0);var n=a.find("input").eq(0);n.bsDatepicker();var r=i.data("initial-date");this.setValue(t,r);this._setMin(n[0],i.data("min-date"));this._setMax(n[0],i.data("max-date"));n.bsDatepicker().on("changeDate",function(e){a.trigger("change")})}});Shiny.inputBindings.register(dateInputBinding,"shinyExtra.dateInputBinding");
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"sources":["betterDateInput.js"],"names":["dateInputBinding","Shiny","InputBinding","$","extend","_newDate","date","Date","d","parse","isNaN","_setMin","el","bsDatepicker","parsedDate","this","curValue","_utcDateAsLocal","getTime","_setMax","_dateAsUTC","getTimezoneOffset","_padZeros","n","digits","str","toString","length","_formatDateUTC","getUTCFullYear","getUTCMonth","getUTCDate","find","scope","getId","attr","getValue","$el","$input","eq","value","data","map","bind","setValue","Array","isArray","val","newValues","newValue","subscribe","callback","on","event","unsubscribe","off","getState","receiveMessage","hasOwnProperty","id","text","label","min","max","trigger","initialize","$mainInput","inputBindings","register"],"mappings":"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"}
|
{"version":3,"sources":["betterDateInput.js"],"names":["dateInputBinding","Shiny","InputBinding","$","extend","_newDate","date","Date","d","parse","isNaN","_setMin","el","bsDatepicker","parsedDate","this","curValue","_utcDateAsLocal","getTime","_setMax","_dateAsUTC","getTimezoneOffset","_padZeros","n","digits","str","toString","length","_formatDateUTC","getUTCFullYear","getUTCMonth","getUTCDate","find","scope","getId","attr","getValue","$el","$input","eq","value","data","map","bind","setValue","Array","isArray","val","newValues","newValue","setView","view","datepicker","o","defaultViewDate","subscribe","callback","on","event","unsubscribe","off","getState","receiveMessage","hasOwnProperty","id","text","label","min","max","trigger","initialize","$mainInput","inputBindings","register"],"mappings":"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"}
|
||||||
Reference in New Issue
Block a user