inst/ModelBuild/svrBttnCalib.R

###################################################
## reactive function on setting calibration data to populate mdlData and set mdlTbl and mdlSumm to NULL
observe(
    {
    if (input$bttnCalibData == 0) {return(NULL)}
  
    isolate({
                ## sanity checks on inputs
                if(input$selInputVar=="" |
                   input$selOutputVar == "" |
                   input$selInputVar==input$selOutputVar){
                    str <- "Please select unique input and output series"
                    session$sendCustomMessage("messageBox", str)
                    return(NULL)
                }

                ## make an example mdlData
                tmp <- list(series = c(input=input$selInputVar,output=input$selOutputVar),
                            calib = c(input$selCalibStrt, input$selValidStrt),
                            valid = c(input$selCalibFnsh, input$selValidFnsh)
                            )
                
                ## check mdlData does no match
                if(!is.null(analysisRecord$mdlData)){
                    theSame <- TRUE
                    for(ii in names(analysisRecord$mdlData)){
                        if(any(analysisRecord$mdlData[[ii]]!=tmp[[ii]])){
                            theSame <- FALSE
                        }
                    }
                    if(theSame){
                        str <- "Selection matches that currently in use"
                        session$sendCustomMessage("messageBox", str)
                        return(NULL)
                    }
                }

                ## else populate
                analysisRecord$mdlTbl <- NULL
                analysisRecord$mdlSumm <- NULL
                analysisRecord$mdlData <- tmp
            })
    return(NULL)
})
waternumbers/FloodForT documentation built on Nov. 5, 2019, 12:07 p.m.