ソースを参照

Search emojis for text selected in IDE

tags/v0.2.0
親
コミット
8e3b36b6ea
2個のファイルの変更、16行の追加、0行の削除
  1. +4
    -0
      R/emoji_picker.R
  2. +12
    -0
      inst/picker/emoji-picker.js

+ 4
- 0
R/emoji_picker.R ファイルの表示

if (is.null(context)) { if (is.null(context)) {
context <- rstudioapi::getActiveDocumentContext() context <- rstudioapi::getActiveDocumentContext()
} }
initial_search <- if (nzchar(context$selection[[1]]$text)) {
context$selection[[1]]$text
}
function(input, output, session) { function(input, output, session) {
shiny::observeEvent(input$close, { shiny::observeEvent(input$close, {
shiny::stopApp(invisible(input$emoji)) shiny::stopApp(invisible(input$emoji))


shiny::observe({ shiny::observe({
session$sendCustomMessage('update_picker_type', get_picker_type()) session$sendCustomMessage('update_picker_type', get_picker_type())
session$sendCustomMessage("search_emoji", initial_search)
}) })


shiny::observeEvent(input$picker_type, { shiny::observeEvent(input$picker_type, {

+ 12
- 0
inst/picker/emoji-picker.js ファイルの表示

} }


Shiny.addCustomMessageHandler('bad_emo_ji', showBadEmojiAlert) Shiny.addCustomMessageHandler('bad_emo_ji', showBadEmojiAlert)

function searchEmoji(word) {
const searchInput = document.querySelector('input.emoji-picker__search')
searchInput.value = ''
word.split('').forEach(function(key) {
const keyEvent = new KeyboardEvent('keyup', {key})
searchInput.value += key
searchInput.dispatchEvent(keyEvent)
})
}

Shiny.addCustomMessageHandler('search_emoji', searchEmoji)

読み込み中…
キャンセル
保存