phuse-org / valtools

Validation framework for R packages used in clinical research and drug development.
https://phuse-org.github.io/valtools/
Other
51 stars 10 forks source link

Peyman/shiny #111

Closed peymaneshghi closed 1 year ago

peymaneshghi commented 3 years ago

Added a dcf to bind vt_create_package() to RStudio's New Project Wizard. Updated vt_use_req() to add an option to collect requirements through a shiny gadget. If we like this approach, same option can be added to vt_use_test_case().

thebioengineer commented 3 years ago

thanks for the PR @peymaneshghi - would you mind splitting out the features into two different PRs? that would make it simpler to play around and test them. I want to think around and play around with the shiny input features separately from adding in the wizard.

peymaneshghi commented 3 years ago

sure @thebioengineer, here I reverted the wizard commit and will open a separate new PR for that. I hope this works for you or let me know if you prefer me to create a new branch and new PR for this one too?

thebioengineer commented 3 years ago

This works. Thanks @peymaneshghi .

I was testing the dcf opening wizard, and I noticed that the same project gets opened twice when it is run. We will want to fix that.

thebioengineer commented 3 years ago

Will move above comment.

Could you please add all the dependencies as @importFrom roxygen tags? I think I got all of them here:

#' @importFrom shiny textInput observeEvent reactiveValues paneViewer runGadget
#' @importFrom miniUI miniPage gadgetTitleBar miniContentPanel
#' @importFrom rhandsontable rHandsontableOutput renderRHandsontable hot_to_r
peymaneshghi commented 3 years ago

Thanks.. added those tags plus a few more

peymaneshghi commented 3 years ago

@thebioengineer and et.al., do you think this adds value to the package? if so I can work on test cases collection through shiny too.
Equally you might prefer to keep the package lightweight and you may prefer not to add additional dependencies?

thebioengineer commented 3 years ago

I only had a short amount of time to play around with the shiny gadget - I think it makes it much more accessible to folks. I think it would be a good idea for us (you, myself, @mariev, @elimillera ) to brainstorm how we could use this concept and make it more flexible, and the best place for it to live (re: comment keeping package lightweight). This same gadget could be extended to most of the inputs, and if we could make it able to also edit the files, that would be pretty cool.