Обложка канала

R4marketing | канал Алексея Селезнёва | Язык R

Автор канала Алексей Селезнёв, руководитель отдела аналитики в Netpeak, автор R пакетов: ryandexdirect, rfacebookstat и др. В канале публикуются статьи, доклады, новости, заметки по языку R.

R4marketing | канал Алексея Селезнёва | Язык R

3 года назад
Открыть в
Как добавить кнопку "копировать в буфер обмена" в интерфейс Shiny приложения Если ваше приложение генерирует какой то текст, который необходимо скопировать в буфер обмена, например какой нибудь код, или URL, то для удобства копирования можно добавить в интерфейс приложения кнопку "Копировать в буфер обмена". Сделать это можно с помощью пакета rclipboard и функции rclipButton(). Данная функция копирует в буфер обмена текст, который передан в её аргумент clipText. Но, для активации функции копирования включите функцию rclipboardSetup() в пользовательский интерфейс вашего приложения. Пример:
# in the UI
rclipboardSetup(),
uiOutput("clip_button")

# in the server
renderUI({
  rclipButton(
    "clip_button",
    "Copy to clipboard",
    clipText = "Text to be copied",
    icon = icon("clipboard")
  )
})

Можно ещё немного улучшить этот интерфейс. Дело в том, что в приведённом выше примере при клике по кнопке "Copy to clipboard" визуально ничего не происходит. Но мы можем добавить всплывающую подсказку с помощью пакета tippy. Добавить всплывающую подсказку можно вызвав функцию tippy_this() в пользовательском интерфейсе, указав при этом идентификатор пользовательского элемента. В нашем примере идентификатором кнопки копирования в буфер обмена является clip_button. Пример:
# in the UI
tippy_this(
  "clip_button",
  tooltip = "String copied!",
  trigger = "click"
)

Ссылки: - Посмотреть целиком код приложения, который использован в качестве примера - README пакета rclipboard #заметки_по_R