fix: adjusted to not allow typing

This commit is contained in:
Andreas Gammelgaard Damsbo 2026-03-30 20:16:33 +02:00
commit ce0ecef633
No known key found for this signature in database
2 changed files with 31 additions and 19 deletions

View file

@ -270,7 +270,7 @@ vectorSelectInput <- function(inputId,
colorSelectInput <- function(inputId, colorSelectInput <- function(inputId,
label, label,
choices, choices,
selected = "", selected = NULL,
previews = 4, previews = 4,
..., ...,
placeholder = "") { placeholder = "") {
@ -306,31 +306,43 @@ colorSelectInput <- function(inputId,
choices_new <- stats::setNames(vals, labels) choices_new <- stats::setNames(vals, labels)
if (is.null(selected) || selected == "") {
selected <- vals[[1]]
}
shiny::selectizeInput( shiny::selectizeInput(
inputId = inputId, inputId = inputId,
label = label, label = label,
choices = choices_new, choices = choices_new,
selected = selected, selected = selected,
..., ...,
options = list( options = list(
render = I( render = I(
"{ "{
option: function(item, escape) { option: function(item, escape) {
item.data = JSON.parse(item.label); item.data = JSON.parse(item.label);
return '<div style=\"padding:3px 12px\">' + return '<div style=\"padding:3px 12px\">' +
'<div><strong>' + escape(item.data.name) + '</strong></div>' + '<div><strong>' + escape(item.data.name) + '</strong></div>' +
(item.data.label != '' ? '<div><small>' + escape(item.data.label) + '</small></div>' : '') + (item.data.label != '' ? '<div><small>' + escape(item.data.label) + '</small></div>' : '') +
'<div style=\"margin-top:4px\">' + item.data.swatch + '</div>' + '<div style=\"margin-top:4px\">' + item.data.swatch + '</div>' +
'</div>'; '</div>';
}, },
item: function(item, escape) { item: function(item, escape) {
item.data = JSON.parse(item.label); item.data = JSON.parse(item.label);
return '<div style=\"display:flex;align-items:center;gap:6px\">' + return '<div style=\"display:flex;align-items:center;gap:6px\">' +
'<span>' + escape(item.data.name) + '</span>' + '<span>' + escape(item.data.name) + '</span>' +
item.data.swatch + item.data.swatch +
'</div>'; '</div>';
} }
}" }"
),
onInitialize = I(
"function() {
var self = this;
self.$control_input.prop('readonly', true);
self.$control_input.css('cursor', 'default');
self.$control.css('cursor', 'pointer');
}"
) )
) )
) )

View file

@ -9,7 +9,7 @@ colorSelectInput(
inputId, inputId,
label, label,
choices, choices,
selected = "", selected = NULL,
previews = 4, previews = 4,
..., ...,
placeholder = "" placeholder = ""