如何用代码关闭甜言蜜语的消息

时间:2019-05-24 17:12:35

标签: r sweetalert shinyjs

我正在尝试找出完成所有计算后如何用代码关闭自定义sweetalert的过程。

我在我的应用程序中显示了一个自定义shinyjs::js$swalgif,在长时间计算的开始处放置了一个旋转器GIF。一旦完成计算(结果现在已在我闪亮的App中绘制,我想删除/关闭消息而无需用户单击任何内容 我已经尝试了一些方法;

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')



                    })
        }
    )
}

0 个答案:

没有答案