glänzende App: Download-Button deaktivieren

Meine glänzende App erzeugt einige Dateien, die der Benutzer herunterladen kann. Ich habe zu diesem Zweck den Download-Button in der Benutzeroberfläche platziert. Wenn die Seite jedoch gestartet wird und bevor eine Berechnung durchgeführt wurde, muss nichts heruntergeladen werden. Ich möchte verhindern, dass Benutzer leere Seiten herunterladen.

Aus diesem Grund denke ich daran, den downloadButton zu deaktivieren, bevor die Ausgabe fertig ist. Aber ich weiß nicht, wie ich das machen soll. Ich habe Möglichkeiten gefunden, ActionButton zu deaktivieren (wie ShinyBS-Paket und andere JS-Codes), aber nichts für DownloadButton.

Im Moment verwende ich validate (), um Fehler zu werfen, wenn die Ausgabe nicht bereit ist. Wenn Sie jedoch auf den Download-Button klicken, wird eine neue leere Webseite mit einer hässlichen Fehlermeldung geöffnet.

Lass mich wissen was du denkst.

Dies ist mein UI-Code

 downloadButton('download', 'Download Lasso component matrix')),

und das ist mein server code:

  output$download_matrix <- downloadHandler(
      filename = function() { 
      validate(
      need(is.null(outputData())==FALSE, "No data to download yet")
      )
      paste('combined_model_matrix', '.txt', sep='') },
    content = function(file) {
      write.csv(outputData()$combinedAdjMtr, file)
})

Antworten auf die Frage(2)

Ihre Antwort auf die Frage