Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Send loading status while loading simulation. #118

Merged
merged 1 commit into from
Oct 29, 2019

Conversation

eidekrist
Copy link
Member

Closes #116, reporting to the client that a simulation is being loaded.

For testing, use together with cse-client branch feature/104-indicate-loading-status.

@eidekrist eidekrist added the enhancement New feature or request label Oct 21, 2019
@eidekrist eidekrist self-assigned this Oct 21, 2019
Copy link
Contributor

@hplatou hplatou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eidekrist eidekrist merged commit 12ebc6c into master Oct 29, 2019
@eidekrist eidekrist deleted the feature/116-send-loading-status branch October 29, 2019 12:48
hplatou pushed a commit that referenced this pull request May 13, 2020
hplatou pushed a commit that referenced this pull request May 14, 2020
* Initial copy from inside go project

* Dep cleanup

* Trend cleanup

* Moved build info from go project

* Create README.md

* Removed folder structure from go project

* Disabling trend validation for now

* More cleaning

* Proper navigation coming up

* Proper navigation coming up

* Proper navigation coming up

* Switched to more controller style loading

* Structured the code

* Revert "Structured the code"

This reverts commit 05a1fbb

* Structured the code (#4)

* Layout (#5)

* Reorganized to prepare for layout work

* Semantic UI based layout

* Ship (#6)

* Demo SVG component on start page

* Silly SVG boat on main screen

* Boat that rotates with the clock signal

* On demand streaming from server (#7)

* Commands to server are now vectors of strings

* Stop putting dist outside workspace

* New structure for trend signals from server

* Bug causing module not to be set

* Showing websocket connection state in top bar

* Feature/8 variable metadata (#9)

* #8 Group variables by causality

* #8 Display variable type

* Muting warnings about overwriting controllers and events, for less spam in console

* Update README.md

* Put static loading text inside app div so it goes away on app load

* Don't kill the feed for one module when navigating away.

* Select FMUs to use in simulation  (#11)

* #10 Simple load config functionality if loaded is false.

* #10 Add command for tearing down simulation

* #10 Removing printout

* #10 Helper fn for socket commands

* Feature/12 trending any signal (#13)

* #12 Added more info to trending

* #12 Proper width for trending.

* #12 Show a bunch of status instead of boat

* #12 Nicer header for module

* #12 Less silly stuff

* Latest cljs

* Latest kee-frame

* Switching to chart.js, data structures

* Switched to plot.ly, seems to work allright.

* More cleanup, stopped using name of chart div

* Beautiful boat no longer in use

* Including lein-count to enable nice bragging capabilities

* Formatted

* Config for default config folder

* Using CPU and mem stats on page

* Archiving artifacts

* Trend events and data model (#16)

* Call Plotly.update instead of extendTraces when new data is available. Add hooks to zoom events, send desired range to server.

* Added good 'ole newline at the end

* Added header column for modules

* updating readme

* Add logging option (#19)

* Specify optional log folder

* Don't send nil

* Real time status and controls

* Styling setup page

* More styling. Page dimmer when server is down. Move teardown button to controls on overview page.

* Can manipulate input & parameter values (#21)

* #20 Can manipulate input & parameter values

* #17 Always same order on causality tabs. Polishing.

* #17 Added buttons & handler for setting trend timespans (#22)

* #23 Replace single variable trending with common trend page. Controls for adding variable to trend view, and removing all.

* #26 First step in retrieving, validating and requesting module data.

* #28 Added mailto link for feedback

* #28 Create simple dropdown menu on the right side with feedback link and placeholder for user guide.

* added link to JIP site and suggested changing icons

* #26 Modules and signals based on module-data.

* gui details (#25)

* slightly modifying side bar layout

* display model name in title

* not in use

* making plot autosize

* models not components

* formatting

* #30 Added component, basic content, example ssd file (#31)

* #30 Added component, basic content, example ssd file

* #30 Incorporated guide in help menu

* #26 Casuality as part of route. Subscribe to signal-value for each signal.

* #26 Subscribe to specific signals

* #26 Module data was not fetched during refresh on module route.

* #26 Fixes after merge

* #26 Simple pagination

* #26 Better page select. Set variables per page. Use semantic built-in loader spinner.

* #26 Latest snapshot of kee-frame, awaiting fix in websocket initialization.

* Send variable value reference for trend command. Supports coming changes in cse-server-go and should not break existing functionality.

* Show feedback message for commands (#38)

* #37 Dismissable feedback message display on bottom right corner. Will disappear after 3 s if command was successful.

* Removed println

* Moving css, xml and js resources from public/ to public/static/ (#39)

* Feature/32 provide xy plot (#40)

* #32 Added action dropdown with trend selections

* #32 Added action dropdown with trend selections

* #32 Renamed tag to plot-type

* #32 Initial support for multiple trends in view data & user actions

* #32 Added trend listing to the sidebar

* #32 Individual trend counts, better trend data subscriptions

* #32 Possible to add signals to individual trends

* #32 Removing trends

* #32 Primitive support for modifying trend labels

* #32 Changed to common variable override component for label editing

* #32 Cleaned up trend subs a bit

* #32 Latest GUI to support multiple trend types

* #32 Not draw trend until required data is in place

* #32 Fixed XY plot data provider

* Update src/cse_client/controller.cljs

Co-Authored-By: restenb <40600023+restenb@users.noreply.github.com>

* #32 Updated after mob review

* Cleanup Jenkinsfile and run 'lein clean' before build

* Previously used config folders (#41)

* #34 first attempt using localStorage

* #34 can load config from previously-used-list

* #34 updating semantic to 2.4.0

* #34 can remove paths from previously used list

* #34 robustifying js interop

* #34 Not loading directly from prev configs, but setting input field

* Scenario support (#48)

* #44 Load a scenario

* #44 Routes for scenario stuffs. Load individual scenarios.

* #44 Display running status. Cancel running scenario.

* #44 Check if scenario is valid

* #44 Unfortunate typo

* #44 Rename "Run scenario" to "Load scenario"

* feature(charts): charts use more of available vertical space and are responsive

Replace deprecated call to js/Plotly.plot with js/Plotly.react: https://plot.ly/javascript/plotlyjs-function-reference/#plotlyplot.
Add parameter responsive:true to js/Plotly.react function call making the plot responsive.
Let the charts use more of the available vertical space by setting the height of the dom element wrapping the svg plot to 70% of view height. The 70% was defined by trial and error.

#49

* chore(project): figwheel reloads css changes

* feature(ux): several user experience improvements

- Sidebar link 'Overview' renamed to 'Simulation setup' / 'Simulation status', matching the main view header.
- Trend header uses the trend label as header text, like what's done for the models.
- Button text indicates that another scenario is running.
- Scenario name texts changed, capitalizing and removing the .json-part. Add additional info to main view header.
- Trend action dropdown opens to the left. Change label "Trend" to "Time series", matching "New time series" option.
- Allow renaming of plot using keyboard enter and clicking outside of edit box.

Closes #53

* feature #43: split plot creation and plot variable addition

Always show Trends in sidebar and add clickable links to create new plots.
Add functionality for removing variables and entire plots in the sidebar.
Only potentially show link as active if viewing a trend.
Only show remove variables icon when there are variables to remove.
Add icons to main trend view buttons and update text.
Remove option to create plots from variable action menu. Simplify menu.

* feature(controller): avoid unnecessary redirects when deleting

Only navigate to index when necessary; when deleting the trend that is currently being viewed.
Move sidebar trend buttons out from anchor tag, preventing a navigation occuring when pressing a button.
Let events removetrend and untrend take an index parameter of which trend to operate on.
Fix problem where label point would show above tooltip.

Closes #61
Closes #64

* feature(scatter plot): show range selector & no zoom event dispatch

Show range selector in scatter plot.
Only run relayout-callback for plot types "trend".

Closes #59

* fix(core): disable debug mode for minified build

Debug variable set to true only for dev build in project.clj, but the var was missing in the referenced namespace. Add
the debug var to the core namespace and use it to toggle kee-frame debug mode.
Fix react sequence key issue, moving the key from the anchor tag to the parent.

Fixes #51

* feature(command feedback): hide success feedback with option to show

Hide the success command feedback as default. Add option to toggle show/hide in the top right dropdown menu. Store
setting to localstorage to remember between sessions.

Closes #60

* feature(trend): rename labels

Rename default labels "Trend #1" -> "Time series" or "XY plot". Generate a unique ID when creating each new trend. This
id is not shown in the UI. This solution will be replaced at a later point by a change to the go server.

* Reset overrides (#68)

* feature(variable-override-editor): immediate feedback when editing

Provide feedback to the user when editing while the simulator is paused.
Introduce state to say if a variable has been edited. If it has been edited and the simulation is paused, use the
interal state value. Otherwise use the app-db value. Remove edited flag on reset.

Closes #71

* fix(variable-editor): adjustments for use with plot titles

Only show the "Remove override" button when used for variables.
Show hover text "Rename plot" when editing plot titles.

Fixes #72

* feature(variables): show which axis the variable will be added to

Indicate in the label in the dropdown menu on which axis the variable will be added to.

Closes #76

* fix(trend): legend and label improvements

Add time title label to x axis for timeseries plots.
Fix issue where legend was not showing when only one signal was plotted.
Fix merging of data for xy plots by namespacing keys, allowing legend text to reflect which signal variables are
plotted.
Place legend below plot.
Let the label in the sidebar count signals in pairs for xy plots.

Fixes #62

* chore(project): add development dependencies for emacs use (#79)

* Bugfix/refresh support (#81)

* chore(project): add development dependencies for emacs use

* Make all routes refreshable without crashes and showing correct data.

* chore(plot): simplify using plotly react

* #80 Trend timespans coupled to individual trends (#84)

* Feature/85 only fetch data for active plot (#86)

* #85 Modified trend-enter and trend-leave to signal currently viewed trend index

* #85 Keep trend index, but send trend id to server for toggling fetching observer values

* #85 Remove unused subscription

* View and override boolean and string variables (#88)

* #87 Set and get boolean and string variable values

* Fixing broken functionality

* Don't plot strings and booleans. Only reals can be added to XY-plot. Switch places of "Create new..." and created plots.

* Make sure uneditable booleans also are shown

* Feature/169 arbitrary real time target (#91)

* #169 Added input field of arbitrary real time factor

* #169 Default value handling of real time factor

* #169 Update view code for setting real time factor

* #169 Disable input field when real time is disabled

* #169 Removed enable/disable real time factor functionality again, simple enter + set instead

* #169 Added real time factor target to simulation status

* #169 Use existing variable field instead to clean up flow

* #169 using text editor component

* #89 Added description of log config in user guide + example file (#90)

* Scenarios should no longer contain causality and type information. (#94)

* #93 Going back to Plotly.newPlot and update fns (#96)

* Feature/212 provide overview of modified variables (#95)

* #212 Update module data with flag for manipulated signal

* #212 Doing map transforms on incoming messages was a really, really, really, quite bad idea indeed. Now a subscription instead

* #212 Small improvement

* #212 Newline at EOF is very important, very important

* #212 Only show remove override option when modifier is present

* Switch to using msgpack binary format instead of json. Borrowed codes from itnernet. (#97)

* Updated user guide and tool tips. (#101)

* #100 Updated user guide and tool tips.

* Added newline, undo fomatting changes to view.cljs

* Show boolean values in scenario view (#102)

* #103 Show the user that an erroneous state has been reached. (#105)

* Remove loading spinner when navigating between caualities within same model (#108)

* Variables encoded based on array index instead of comma-separated string (#107)

* #104 Disable load button and show spinner while simulation is being loaded. (#106)

* Remove unnecessary info from "addtotrend" command (#112)

* layout updates on component-did-update #116 (#118)

* #113 enabling sidebar vertical scroll on overflow (#117)

* #83 error when deleting plot (#121)

* #83 Added check. If deleting a trend with index smaller than current, navigate to (current index - 1)

* #83 Changed to navigate to index. If navigating to (current_index - 1) the trend would freeze temporarily.

* fix(trend): solve resize error by updating plotly (#134)

Resize error is solved in an updated version of plotly. However, the cljsjs version is not, so the cljsjs version is
replaced by a :foreign-lib loaded from the resources folder.

Fixes #124

* feature(plot): show plot variables table (#125)

* feature(plot): show plot variables table

Show a table of the plotted variables below the plot.
Prepare functionality for removing a variable from a plot (issue #111).
Set the number of shown decimal places to always be four.
Button for expanding and compressing the plot.

Closes #122

* #132 Updated. Now the menu "Scenarios" is displayed only if list of scenarios is not empty. (#139)

* #126 - Fixed values on Y axis. Added auto-margin and fixed current margins to the maximum. Values are now displayed with more digits when needed. (#138)

* fix(models): show list sorted alphabetically (#140)

Closes #123

* fix(trend): prevent crash on autoscale (#141)

The server would crash if the plotly autoscale button was clicked without setting the trend range (10s, 30s, .. etc).
This commit adds the default fallback value of 10 seconds if the trend range has not been set manually.

Fixes #136

* fix(plot): redraw traces when changing between plots (#137)

* fix(plot): redraw traces when changing between plots

Always redraw the traces when the data changes. This solves two problems; the signal name not displayed correctly on
newly created plot when the simulation is running (#127), and to reset the plot config when changing between plots (#130).

Fixes #127
Fixes #130

* Activate autoscale when changing between plots.

Fixes #130

* fix(trend): legend displayed below x-axis label (#135)

* fix(trend): legend displayed below x-axis label

Adjust plotly layout object to show the legend of plotted variables below the x-axis label for time series plots.

Fixes #129

* Set the image download options to use the width and height of the displayed dom element, solving legend and variable
labels overlapping

* feature: save current plot configuration (#142)

* feature: save current plot configuration

Add a button to the simulation status page where the user can save the current plot configuration.

Closes #110

* Use "plot" not "trend", improve tooltip hover text.

* move the export plot config button from simulation status to plot menu

* Update tooltip text to avoid problem of / vs \

* #143 Added a simple fix to have an unique key. The nicest solution would be to remove repeated signals from the table, but I have decided for the simple fix (with a random key). (#144)

* Testing Go with GitHub Actions

* Install Conan dependencies

* Install and configure conan correctly

* Install and configure conan correctly on both Linux and Windows

* Try to create new default profile

* Run go build

* Set CGO_FLAGS

* Try escape

* Try no escape

* Try no escape

* Re-try escape

* Re-try escape

* Re-try no escape

* Testing

* Testing

* Last try for tonight

* Good nigth!

* Good nigth!

* Upload artifact

* Different artifacts for different platforms

* Use correct syntax

* Prepare distribution

* Missing target folder

* Should work with both bash and powershell

* adding MPL 2.0 License (#146)

* Linux version requires to set rpath on required libs

* Update .gitignore with virtualrunenv generated files

* Renamed workflow

* Fixing yaml syntax

* Fix wrong action version

* Install Leiningen

* Wrong path to app.js

* Run action 'setup-go' to get GOBIN on path

* Need to install packr

* Try utilizing cache to speedup build (caching .m2)

* Testing use of cache (caching .m2)

* Debugging location of downloaded artifact

* Debugging location of downloaded artifact

* Use version v2 of download-artifact to extract to correct path

* Removed debugging printout

Co-authored-by: ingsol <inge.solvoll@dnvgl.com>
Co-authored-by: Inge Solvoll <inge.solvoll@gmail.com>
Co-authored-by: Kristoffer Eide <37700866+eidekrist@users.noreply.github.com>
Co-authored-by: LEKJA <levi.jamt@dnvgl.com>
Co-authored-by: eidekrist <kristoffer.eide@dnvgl.com>
Co-authored-by: STENBRO <Fjye377bsiving08>
Co-authored-by: ljamt <levi.jamt@gmail.com>
Co-authored-by: Roger Eivind Stenbro <40600023+restenb@users.noreply.github.com>
Co-authored-by: flakstad <andreas.arning.flakstad@dnvgl.com>
Co-authored-by: Andreas Flakstad <47635744+flakstad@users.noreply.github.com>
Co-authored-by: César Carvalho <42600051+cesarcarc@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Report that a configuration is being loaded
2 participants