shinyscenarioeditor's Issues
ShinyApp for plots: propagate error for all try-catch
All try-catch must return the error (show it as pop-up)
Add plots from PK-Sim snapshots
Code exists.
Opening Excel files crashes application
If the excel file is on SharePoint and opened in excel.
Opening excel files should be in try-catch and errors forwarded to the user.
Add sample documents
- Snapshot
- pksim project
- related excel files
- autofill script
Rename PopulationParameters.xlsx to Populations.xlsx
Simulation time input
Code for converting output intervals to a common unit:
Eaxample JSON file:
ShinyApp for Plots: better tables
Tables should be editable. Would be great to have some sorting, filtering etc.
Add new/edit output intervals
Function to add a new output interval (or delete an existing one) to the list of output intervals of a scenario.
Start, end, and resolution and select units.
Define the data structure
The r$data
data structure contains:
- a generic key for each excel file (
scenarios
forScenarios.xlsx
) - For each key:
file_path
path to the filesheets
: vector of sheet names[Sheet]
: a daframe containing the data loaded from a sheet of the excel file[Sheet]_modified
: a dataframe intialised as[Sheet]
but where modified dataframe will be stored when changed.
Example:
r$data
$Scenarios
$file_path
$sheets
$Scenarios
$Scenarios_modified
$OutputPaths
$OutputPaths_modified
$Individuals
$file_path
$sheets
...
Cannot restore renv
When trying to restore renv packages, I get an error for the httpuv
package, last lines:
nce to `FOLDERID_LocalAppData'
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'httpuv'
* removing 'D:/Work/OSPS/Repos/shinyScenarioEditor/renv/profiles/dev/renv/staging/1/httpuv'
install of package 'httpuv' failed [error code 1]
When manually installing httpuv
from CRAN, an updated version is intalled (1.6.15, lockfile has 1.6.12). Maybe update your package locally and commit updated lockfile?
Add scenarios from snapshot
Load a PK-Sim snapshots and add all simulations as scenarios
Improve table style
datamods uses the reactable package.
Write README
Specify data types for all excel files
readxl function assumes that empty columns are logical with NA values. This makes {datamods} crash when editing value because logical cannot be NA. To solve this, all columns are read as characters.
However, for making the editing UI more convenient to the users, the data should be correctly typed.
Screen turns gray when clicking on "Export" without loading a configuration first
- Open app
- Click on "Export"
- Screen is gray.
Add logo to the app
Add (first design?) and esqlabs app logo to the app.
Last column is cropped
Create new Scenario from PKML
An option to create a new scenario from a pkml.
- Scenario_name:
simulation$name
- IndividualId: empty
- PopulationId: empty
- ModelParameterSheets: empty
- ApplicationProtocol:
simulation$name
, create additional sheet with application parameters? Only non-formula or formula overwritten - SimulationTime: parse.
- In case the output time schema contains fixed time points, show a warning that they will be discarded.
- ModelFile: name of the selected pkml
- OutputPathsIds: parse outputs from pkml. Do not create an additional entry in
OutputPaths
sheet if such a path is already defined.
Checks:
- A scenario with the same is already present
- An application protocol sheet with the name is already present
Integrate `{datamod}`
The edit_data with passable reactable options currently lives in this branch: https://github.com/dreamRs/datamods/tree/dev-2
When I try to pick an individual ID, the cell does not update with the selected value.
Create new project with the app
V1 supports loading projects via project configuration.
V2 should support setting up the whole project structure from the app.
Show `<unchanged>` for empty cells in `ApplicationProtocol`, `SimulationTime`, `SimulationTimeUnit`?
Empty cells in the columns
ApplicationProtocol
,SimulationTime
SimulationTimeUnit
OutputPathsIds
denote that the original values from the pkml will be taken. Can we show something like <unchanged>
(grey color?) for these cells, so it is clear to the user that he does not have to fill those cells out?
Create a additional section for Plots
to be changed/added:
- "plots" element in the data_structure()
- assign file_path with corresponding projectConfiguration() item in
mod_import.R
(~line 60) - new module called
tab_plots
for example - add
tab_plots
inmod_main_panel
tab_plots
should contain calls tomod_table_tab_server
andmod_table_tab_ui
Develop Drag and drop component with the Selection List of values (not checkbox) | Order matter
Cropped `OutputId` Dropdown
Warnings when starting the app
Listening on http://127.0.0.1:39645
Warning: `bindFillRole()` only works on htmltools::tag() objects (e.g., div(), p(), etc.), not objects of type 'shiny.tag.list'.
Mode: Dev
Warning: `bindFillRole()` only works on htmltools::tag() objects (e.g., div(), p(), etc.), not objects of type 'shiny.tag.list'.
Mode: Dev
Update renv.lock & DESCRIPTION files
Find a new name
Since the app will be used to modify all esqlabsR excel sheets, it should not be called shinyScenarioEditor anymore.
Setup Golem
Add validation button
- Script to highlight invalid rows with the red
Column Data Types and Values
Scenarios
Scenarios Table
Scenario_name
- text type; text input; no predefined values; no validationIndividualId
- text type; dropdown multiple selection input; options come from Individuals$IndividualBiometrics sheetPopulationId
- text type; dropdown selection input; options come from Populations$PopulationName sheet;ReadPopulationFromCSV
- text type; text input; no predefined values; no validationModelParameterSheets
- text type; text input; no predefined values; no validationApplicationProtocol
- text type; text input; no predefined values; no validationSimulationTime
- text type with the integer numeric values split by ";", modal window input with the only integer values allowedSimulationTimeUnit
- text type; dropdown selection input; options come from ospsuite::ospUnitsSteadyState
- boolean type; checkbox input; strict validation -> allowed values: true/falseSteadyStateTime
- text type; text input; no predefined values; no validationSteadyStateTimeUnit
- text type; dropdown selection input; options come from ospsuite::ospUnitsModelFile
- text type; text input; no predefined values; no validationOutputPathsIds
- text type; text input; no predefined values; no validation
OutputPaths Table
OutputPathId
- text type; text input;OutputPath
- text type; text input;
Individuals
IndividualBiometrics Table
IndividualId
- text type; text input; no predefined values; no validationSpecies
- text type; dropdown selection input; options come from ospsuite::SpeciesPopulation
- text type; text input;Gender
- text type; dropdown selection input; options come from ospsuite::GenderWeight
- numeric (integer) type; text input; min/max value ???Height
- numeric (integer) type; text input; min/max value ???Age
- numeric (integer) type; text input; min/max value ???
Populations
Demographics Table
PopulationName
- text type; text input; no predefined values; no validationspecies
- text type; dropdown selection input; options come from ospsuite::Speciespopulation
- text type; text input;numberOfIndividuals
- numeric (integer) type; text input; min/max value ???proportionOfFemale
- numeric (integer) type; text input; min/max value ???weightMin
- numeric (integer) type; text inputweightMax
- numeric (integer) type; text inputweightUnit
- text type; dropdown selection input; options come from ospsuite::ospUnitsheightMin
- numeric (integer) type; text inputheightMax
- numeric (integer) type; text inputheightUnit
- text type; dropdown selection input; options come from ospsuite::ospUnitsageMin
- numeric (integer) type; text inputageMax
- numeric (integer) type; text inputBMIMin
- numeric (integer) type; text inputBMIMax
- numeric (integer) type; text inputBMIUnit
- text type; dropdown selection input; options come from ospsuite::ospUnits
Plots
DataCombined Table
DataCombinedName
- text type; text input; no predefined values; no validationdataType
- text type; dropdown selection input; options: ['simulated', 'observed'] ???label
- text type; text input; no predefined values; no validationscenario
- text type; text input; no predefined values; no validationpath
- text type; text input; no predefined values; no validationdataSet
- text type; text input; no predefined values; no validationgroup
- text type; text input; no predefined values; no validationxOffsets
- numeric (integer) type; text inputxOffsetsUnits
- text type; dropdown selection input; options come from ospsuite::ospUnits ???yOffsets
- numeric (integer) type; text inputyOffsetsUnits
- text type; dropdown selection input; options come from ospsuite::ospUnits ???xScaleFactors
- numeric (integer) type; text inputyScaleFactors
- numeric (integer) type; text input
plotConfigurations Table
plotID
- text type; text input; no predefined values; no validationdataCombinedName
- text type; text input; no predefined values; no validationplotType
- text type; dropdown selection input; options: ['individual'] ???title
- text type; dropdown selection input; options come from ospsuite::ospUnits ???xUnit
- text type; dropdown selection input; options come from ospsuite::ospUnits ???yUnit
- text type; dropdown selection input; options come from ospsuite::ospUnits ???xAxisScale
- text type; dropdown selection input; options: ['lin', 'log'] ???yAxisScale
- text type; dropdown selection input; options: ['lin', 'log'] ???xAxisLimits
- numeric (integer) type; text inputyAxisLimits
- numeric (integer) type; text inputquantiles
- numeric type; text inputfoldDistance
- numeric type; text input
plotGrids Table
name
- text type; text input; no predefined values; no validationplotIDs
- text type; text input; no predefined values; no validationtitle
- text type; text input; no predefined values; no validation
Conditional Script to display dropdown values depends on another cell value
IndividualBiometrics -> Species -> Population
ShinyApp for plots: selection of sheets to read from data file
If some sheets cannot be parsed with current data importer configuration, nothing happens because by default all sheets are read. Provide a check-box selection of sheets present in the data file and "reload" button that triggers reading of data only from selected sheets.
Rename model tab to model "Parameter sets"
Support Keyboard shortcuts
Keyboard shortcuts do not work. Ctrl + z to undo would be the most useful one.
Loading of a report configuration fails
Configuration (and whole project structure) provided internally.
Error is:.
New names:
• `Bone` -> `Bone...1`
• `` -> `...2`
• `` -> `...3`
• `` -> `...4`
• `Bone` -> `Bone...5`
• `` -> `...6`
• `` -> `...7`
• `` -> `...8`
Warning: Error in [.data.frame: undefined columns selected
4: runApp
3: print.shiny.appobj
1: source
Define the input layout blueprint
How should inputs be organized ?
- table (datamods)
- Separate fields
Window Triple Scrollbars (X, Y axis)
OutputPaths - selection from the tree view
For the future.
We could offer an option to load a pkml with the simulation and present all possible outputs as a tree view, where the user cal select which outputs to add.
Implement OutputPaths selection in a dropdown menu
Lost focus on each action
Not reproducible @AKostiv8
Each time I make any change to the "Scenarios" table, the whole table is re-drawn (lost focus).
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.