How to control the display order of the GUI components


#1

Hello,
I have noticed that the GUI components of my APP try to display all at the same time and if the display is slow (my computer only has two processors), they display at the same time and out of order. I wonder if there is a way to control the order of display of the GUI components and if some widget is slow displaying, make the other widget displays wait until the previous has completed. Additionally, I found that in my 2 processors computer, if a function takes an enormous amount of time, any other previous GUI component does not display and the long function seems to take over the processor. I do not know very much about this, but is if all the functions were being loaded at the same and competing for the resources. Is there any way to control the order of execution of the program?

Thanks
...


#2

Hi,

I am not clear with your question on displaying order so maybe if you post a reproducer that will help us understand exactly where is the problem.

Also we do have a lot of examples for shiny present at https://github.com/rstudio/shiny-examples where you can find how to use various GUI components and how they can be displayed in various ways.

Thanks for reaching out to the shiny team.


#3

It is my understanding that GUI components should display in the panel in the order in which they are coded. Please see the correct order after [1]. However, some times

                choices = c("", "Y", "N")), 
'''
,for example is displayed before 

''' selectInput("selectYN", label = h5(strong("Do you accept these files for processing (Y/N)")),
                             choices = c("","Y", "N"), selected = NULL),
     verbatimTextOutput("acceptedFiles"),
     verbatimTextOutput("selectFiles")

, or the previous gets displayed

    textOutput("displayingFiles"),

[1]
'''

verbatimTextOutput("filesToBeDisplayed"),
textOutput("displayingFiles"),

selectInput("selectYN", label = h5(strong("Do you accept these files for processing (Y/N)")),
choices = c("","Y", "N"), selected = NULL),

 verbatimTextOutput("acceptedFiles"),

 verbatimTextOutput("selectFiles"),

 selectInput('selectfile', label = h5(strong("Select files. To undo selection select the selected file again and press delete")),c(Choose='', list.files("~/PATH")), multiple=TRUE, selectize=TRUE),

selectInput("bigtable", label = h5(strong("SELECT A LOOKUP TEXT FILE.To undo selection, select the selected file again and press delete.")),
choices = c(Choose='', list.files(file.path(getwd(), "directory"))), multiple=FALSE, selectize = TRUE),

verbatimTextOutput("lookUpTableSelection"),

verbatimTextOutput("findBigTable"),

verbatimTextOutput("retrieveSelection"),

 verbatimTextOutput("noSulfation"),

selectInput("glyco", label = h5(strong("A concatenated file with that name has been found already processed by glyCount. Use this file (Y) or rerun glyCount on your PEPTIDES (N)?")),
            choices = c("","Y", "N"), selected = NULL),

selectInput("mapfiles", label = h5(strong("Do you want to use one of these files as your merge_MAP (Y), or create a new one (N)? ")),
            choices = c("", "Y", "N")),

verbatimTextOutput("mergeMapFiles"),

verbatimTextOutput("mapFilesAnswer"),

verbatimTextOutput("returnedLength"),

selectInput("IDENT", label = h5(strong("Enter the number of the merge_MAP file you want: 1-20")),
            choices = c("", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14","15","16", "17", "18", "19", "20"),
            multiple=FALSE, selectize = TRUE),

verbatimTextOutput("identFileMessage"),

verbatimTextOutput("mapFileList"),

verbatimTextOutput("mapFnotIdentical"),

selectInput("mapquestion", label = h5(strong("Do you want glycoPipe to create a NEW merge_MAP file to match detected sample/ file names (Y), or exit so you can edit merge_MAP file and start again (N) ")),
            choices = c("", "Y", "N"),selected = NULL),

verbatimTextOutput("foundFalse"),

verbatimTextOutput("takeInput"),

selectInput("selectMergeMapFile", label = h5(strong( "Proceed with this merge_MAP file (Y), or have glycoPipe create a NEW merge_MAP file (N)? ")),
            choices = c("Y", "N")),

verbatimTextOutput("selectMergeMap"),

verbatimTextOutput("mergemapfile"),

verbatimTextOutput("findmap"),

verbatimTextOutput("findmapmessage"),

selectInput("userquestion", label = h5(strong("Proceed with this merge_MAP file (Y), or exit glycoPipe so you can edit this file (N)? ")),

            choices = c("", "Y", "N"),selected = NULL),
verbatimTextOutput("askuser"),

#4

Hi,

Its not like that its about how are creating the ui section of the app and what you are using?
I would like you to go through the 081-widgets-gallery app and the other selectize apps in the shiny-examples which will show you how to arrange the UI.

Please let us know if after going through those apps still you are not able to figure out how to display the UI widgets.

Thanks for reaching out to the shiny team.


#5

Hi,
Thank you. The link you pointed to "https://github.com/rstudio/shiny-examples 1" does not work. I get the message "Hmm. We’re having trouble finding that site." Could you please check why is that.


#6

Hi ,

The link works fine , checked it again. How about you try this link http://shiny.rstudio.com/tutorial/written-tutorial/lesson3/ and let us know if you are able to access it? This has some tutorials and guidance for displaying UI widgets.

Thanks


#7

Yes, "https://github.com/rstudio/shiny-examples " works fine. Thanks