Я хочу изменить цвет кнопки в R / Shiny, не отменяя его. В частности, я хочу, чтобы кнопка была красной, если параметры для выполнения изменились, но выполняются только при нажатии кнопки.
Я выделил параметры в реактиве и реагирую только на изменение кнопки:
# react on button pressed (unfortunately also if color is changed
input$Button
# don't react on parameters changes
paramet <- isolate(input$parameter)
В наблюдателе я проверяю параметры и меняю цвет:
if (!modified) {
# cat(file = stderr(), "\n\ntsne not modified\n\n\n")
actionButton(name, "apply changes", width = '80%',
style = "color: #fff; background-color: #00b300; border-color: #2e6da4")
} else {
# cat(file = stderr(), "\n\ntsne modified\n\n\n")
actionButton(name, "apply changes", width = '80%',
style = "color: #fff; background-color: #cc0000; border-color: #2e6da4")
}
Но как-то это вызывает кнопку.
Единственное, о чем я могу думать, - это создание нового реактива, который меняется только при нажатии кнопки. Т.е. в моем наблюдателе я бы изменил реактивное значение, если значение кнопки будет увеличено, то есть мне придется сохранить старое значение в переменной, специфичной для проекта. Я надеялся, что для этого будет более простой способ.
Спасибо за вашу помощь.