Compare commits
4 Commits
2384c0284a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a2b2231503 | |||
| 665d6a8cfa | |||
| 8b0d0f4380 | |||
| db2f16450c |
@@ -1,6 +1,6 @@
|
|||||||
Package: AVSDevR.A11yShinyInputs
|
Package: AVSDevR.A11yShinyInputs
|
||||||
Title: Accesible Alternatives to Shiny Inputs
|
Title: Accesible Alternatives to Shiny Inputs
|
||||||
Version: 1.0.1
|
Version: 1.0.3
|
||||||
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 accessible alternatives to shiny inputs such as the radio
|
Description: Provides accessible alternatives to shiny inputs such as the radio
|
||||||
|
|||||||
@@ -26,8 +26,10 @@ a11yFileInput <- function(
|
|||||||
class = "shiny-input-file",
|
class = "shiny-input-file",
|
||||||
name = inputId,
|
name = inputId,
|
||||||
type = "file",
|
type = "file",
|
||||||
style = "position: absolute !important; top: -99999px !important; \
|
style = "position: absolute !important; top: 0px !important; \
|
||||||
left: -99999px !important;",
|
left: 0px !important; height: 0px !important; width: 0px !important; \
|
||||||
|
display: none !important",
|
||||||
|
tabindex = -1,
|
||||||
`data-restore` = restoredValue
|
`data-restore` = restoredValue
|
||||||
)
|
)
|
||||||
if (multiple) {
|
if (multiple) {
|
||||||
@@ -39,7 +41,8 @@ a11yFileInput <- function(
|
|||||||
if (!is.null(capture)) {
|
if (!is.null(capture)) {
|
||||||
inputTag$attribs$capture <- capture
|
inputTag$attribs$capture <- capture
|
||||||
}
|
}
|
||||||
htmltools::tags$div(
|
|
||||||
|
output_tags <- htmltools::tags$div(
|
||||||
class = "form-group shiny-input-container",
|
class = "form-group shiny-input-container",
|
||||||
style = htmltools::css(width = htmltools::validateCssUnit(width)),
|
style = htmltools::css(width = htmltools::validateCssUnit(width)),
|
||||||
htmltools::tags$label(
|
htmltools::tags$label(
|
||||||
@@ -55,8 +58,11 @@ a11yFileInput <- function(
|
|||||||
class = "input-group-btn input-group-prepend",
|
class = "input-group-btn input-group-prepend",
|
||||||
htmltools::tags$span(
|
htmltools::tags$span(
|
||||||
class = "btn btn-default btn-file",
|
class = "btn btn-default btn-file",
|
||||||
onclick = paste0("$('#", inputId, "').click();"),
|
tabindex = 0,
|
||||||
buttonLabel
|
onclick = "fileInputClick(event);",
|
||||||
|
onkeydown = "fileInputKeydown(event);",
|
||||||
|
buttonLabel,
|
||||||
|
`data-target` = inputId
|
||||||
),
|
),
|
||||||
inputTag
|
inputTag
|
||||||
),
|
),
|
||||||
@@ -74,4 +80,6 @@ a11yFileInput <- function(
|
|||||||
htmltools::tags$div(class = "progress-bar")
|
htmltools::tags$div(class = "progress-bar")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
htmltools::attachDependencies(output_tags, a11yShinyInputsDependency())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,3 +17,9 @@ fieldset.shiny-input-container div.select-all-container {
|
|||||||
margin-top: -5px;
|
margin-top: -5px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-file:focus {
|
||||||
|
color: #333;
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
border-color: #adadad;
|
||||||
|
}
|
||||||
@@ -12,3 +12,12 @@ const clearAll = function(event) {
|
|||||||
$input.trigger('change');
|
$input.trigger('change');
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
const fileInputClick = function(event) {
|
||||||
|
$('#' + $(event.target).data('target')).click();
|
||||||
|
}
|
||||||
|
const fileInputKeydown = function(event) {
|
||||||
|
if (event.key == "Enter" || event.key == " ") {
|
||||||
|
event.preventDefault();
|
||||||
|
$('#' + $(event.target).data('target')).click();
|
||||||
|
}
|
||||||
|
}
|
||||||
2
inst/js/a11yShinyInputs.min.js
vendored
2
inst/js/a11yShinyInputs.min.js
vendored
@@ -1 +1 @@
|
|||||||
const checkAll=function(e){e.preventDefault();e=$(e.target).closest(".shiny-input-a11ycheckboxgroup");return e.find('input[type="checkbox"]').prop("checked",!0),e.trigger("change"),!1},clearAll=function(e){e.preventDefault();e=$(e.target).closest(".shiny-input-a11ycheckboxgroup");return e.find('input[type="checkbox"]').prop("checked",!1),e.trigger("change"),!1};
|
const checkAll=function(t){t.preventDefault();const e=$(t.target).closest(".shiny-input-a11ycheckboxgroup");e.find('input[type="checkbox"]').prop("checked",true);e.trigger("change");return false};const clearAll=function(t){t.preventDefault();const e=$(t.target).closest(".shiny-input-a11ycheckboxgroup");e.find('input[type="checkbox"]').prop("checked",false);e.trigger("change");return false};const fileInputClick=function(t){$("#"+$(t.target).data("target")).click()};const fileInputKeydown=function(t){if(t.key=="Enter"||t.key==" "){t.preventDefault();$("#"+$(t.target).data("target")).click()}};
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"sources":["a11yShinyInputs.js"],"names":["checkAll","event","preventDefault","$input","$","target","closest","find","prop","trigger","clearAll"],"mappings":"AAAA,MAAMA,SAAW,SAASC,GACxBA,EAAMC,eAAe,EACfC,EAASC,EAAEH,EAAMI,MAAM,EAAEC,QAAQ,gCAAgC,EAGvE,OAFAH,EAAOI,KAAK,wBAA0B,EAAEC,KAAK,UAAW,CAAA,CAAI,EAC5DL,EAAOM,QAAQ,QAAQ,EAChB,CAAA,CACT,EACMC,SAAW,SAAST,GACxBA,EAAMC,eAAe,EACfC,EAASC,EAAEH,EAAMI,MAAM,EAAEC,QAAQ,gCAAgC,EAGvE,OAFAH,EAAOI,KAAK,wBAA0B,EAAEC,KAAK,UAAW,CAAA,CAAK,EAC7DL,EAAOM,QAAQ,QAAQ,EAChB,CAAA,CACT"}
|
{"version":3,"sources":["inst/js/a11yShinyInputs.js"],"names":["checkAll","event","preventDefault","$input","$","target","closest","find","prop","trigger","clearAll","fileInputClick","data","click","fileInputKeydown","key"],"mappings":"AAAA,MAAMA,SAAW,SAASC,GACxBA,EAAMC,eAAe,EACrB,MAAMC,EAASC,EAAEH,EAAMI,MAAM,EAAEC,QAAQ,gCAAgC,EACvEH,EAAOI,KAAK,wBAA0B,EAAEC,KAAK,UAAW,IAAI,EAC5DL,EAAOM,QAAQ,QAAQ,EACvB,OAAO,KACT,EACA,MAAMC,SAAW,SAAST,GACxBA,EAAMC,eAAe,EACrB,MAAMC,EAASC,EAAEH,EAAMI,MAAM,EAAEC,QAAQ,gCAAgC,EACvEH,EAAOI,KAAK,wBAA0B,EAAEC,KAAK,UAAW,KAAK,EAC7DL,EAAOM,QAAQ,QAAQ,EACvB,OAAO,KACT,EACA,MAAME,eAAiB,SAASV,GAC9BG,EAAE,IAAMA,EAAEH,EAAMI,MAAM,EAAEO,KAAK,QAAQ,CAAC,EAAEC,MAAM,CAChD,EACA,MAAMC,iBAAmB,SAASb,GAChC,GAAIA,EAAMc,KAAO,SAAWd,EAAMc,KAAO,IAAK,CAC5Cd,EAAMC,eAAe,EACrBE,EAAE,IAAMA,EAAEH,EAAMI,MAAM,EAAEO,KAAK,QAAQ,CAAC,EAAEC,MAAM,CAChD,CACF"}
|
||||||
Reference in New Issue
Block a user