Kaynağa Gözat

Add alert for bad emo::ji()

pull/1/head
Garrick Aden-Buie 5 yıl önce
ebeveyn
işleme
e707220eb0
2 değiştirilmiş dosya ile 40 ekleme ve 3 silme
  1. +22
    -3
      R/emoji_picker.R
  2. +18
    -0
      inst/picker/emoji-picker.js

+ 22
- 3
R/emoji_picker.R Dosyayı Görüntüle

get_picker_type() get_picker_type()
), ),
shiny::div(id = "emoji-picker", style = "width: 100%; min-height: 425; position: relative;"), shiny::div(id = "emoji-picker", style = "width: 100%; min-height: 425; position: relative;"),
shiny::HTML('<div id="alert_bad_emo_ji" class="alert alert-danger" role="alert"><strong style="font-family: monospace">emo</strong> doesn\'t know the emoji <strong id="bad_emo_ji_name"></strong></div>'),
rstudio_style(), rstudio_style(),
shiny::tags$script(src = "eb/emoji-picker.js", type = "module"), shiny::tags$script(src = "eb/emoji-picker.js", type = "module"),
shiny::tags$head( shiny::tags$head(
shiny::tags$script(src = 'eb/he.js'), shiny::tags$script(src = 'eb/he.js'),
shiny::tags$style(
'.emoji-picker__plugin-container { justify-content: space-between; }
.emoji-picker { border-radius: 0 !important; }'
shiny::tags$style('
.emoji-picker__plugin-container { justify-content: space-between; }
.emoji-picker { border-radius: 0 !important; }

#alert_bad_emo_ji {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 9999;
border-radius: 0;
transform: translateY(-100px);
transition: transform 0.5s ease-in;
text-align: center;
}

#alert_bad_emo_ji.show-bad-emo-ji {
transform: translateY(0);
}
'
) )
) )
) )
paste0('emo::ji("', input$emoji$name, '")') paste0('emo::ji("', input$emoji$name, '")')
}, },
error = function(e) { error = function(e) {
session$sendCustomMessage("bad_emo_ji", input$emoji$name)
message("{emo} doesn't know the emoji ", shQuote(input$emoji$name)) message("{emo} doesn't know the emoji ", shQuote(input$emoji$name))
NULL NULL
} }

+ 18
- 0
inst/picker/emoji-picker.js Dosyayı Görüntüle

$().on('shiny:sessioninitialized', reportPickerType) $().on('shiny:sessioninitialized', reportPickerType)


Shiny.addCustomMessageHandler('update_picker_type', updatePickerType) Shiny.addCustomMessageHandler('update_picker_type', updatePickerType)

const badEmojiAlert = document.getElementById('alert_bad_emo_ji')
let hideAlertTimer = null

function hideBadEmojiAlert() {
badEmojiAlert.classList.remove('show-bad-emo-ji')
}

function showBadEmojiAlert(name) {
if (hideAlertTimer) {
clearTimeout(hideAlertTimer)
}
badEmojiAlert.classList.add('show-bad-emo-ji')
document.getElementById('bad_emo_ji_name').innerText = name
hideAlertTimer = setTimeout(hideBadEmojiAlert, 3000)
}

Shiny.addCustomMessageHandler('bad_emo_ji', showBadEmojiAlert)

Yükleniyor…
İptal
Kaydet