Как закрыть сообщение со сладким кодом кодом? - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь выяснить, как закрыть пользовательский sweetalert с кодом после всех вычислений.

Я показываю пользовательский shinyjs::js$swalgif в моем приложении с вращающимся GIF, помещенным в начале длинного вычисления.После того, как вычисление выполнено (и результаты теперь отображаются в моем блестящем приложении, я хотел бы удалить / закрыть сообщение без необходимости нажимать на пользователя все, что я пробовал;

swal.close(), closeSweetAlert(session), removeModal(session)

но безрезультатно, см. также github issue ps не уверен, почему GIF такой маленький и почему текстовое html-текст отсутствует в фиктивном приложении (хотя здесь это не важно)

 jscodeswal <- c(
    'shinyjs.swalGIF= function(params) { 
        var defaultParams = {title: null, html : null, imageUrl: null };
        params = shinyjs.getParams(params, defaultParams);
        swal({title : params.title, html : params.html,  imageUrl : params.imageUrl,
            animation : false,
            showConfirmButton : false,
            showCancelButton : false,
            allowOutsideClick: false,
            allowEscapeKey: false
        });
    };'
)
if (interactive()) {
    require(shiny)
    require(shinyalert)
    require(shinyjs)
    shinyApp(
        ui = fluidPage(
            shinyjs::useShinyjs(),
            shinyjs::extendShinyjs(text = jscodeswal),
            tags$head(
                includeScript("https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.0.1/sweetalert.min.js"),
                includeCSS("https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.0.1/sweetalert.min.css")
            ),
            actionButton("btn", "Click me")
        ),
        server = function(input, output, session) {
            observeEvent(input$btn, {
                # Show a simple modal
                shinyjs::js$swalGIF(title = '<span style="color:#339FFF; font-size: 30px">Test message<span>',
                                    html = '<br><span style = "font-weight: normal; color:#797979">Please close me when done!<br><br>',
                                    imageUrl = 'https://media.giphy.com/media/4HgDESJLG1JSmqTOnH/giphy.gif')



                    })
        }
    )
}
...