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

Manage custom configuration sets (add/delete/load) #1318

Closed
ce-bo opened this issue Oct 2, 2020 · 1 comment · Fixed by #1405
Closed

Manage custom configuration sets (add/delete/load) #1318

ce-bo opened this issue Oct 2, 2020 · 1 comment · Fixed by #1405
Assignees
Labels
feature Feature requests javascript Pull requests that update Javascript code. Usually created by Dependabot. pr-visualization Issues that touch the visualization pr(oject) which means web and desktop features.

Comments

@ce-bo
Copy link
Collaborator

ce-bo commented Oct 2, 2020

Feature request (raw)

Feature: Save current configuration. Add a button to the main menu (next to "scenario") that allows to save the current setting. It requires a setting name. As soon as saved the setting (redux state without the cc.json part - the latter is ) (simple + or "add" button next to an input field for the name) it's possible to jump back to that configuration / setting by clicking on the configurations name. Next to the configuration name there's a delete button (similar to the custom scenario ones). This is only kept in memory! Do not use the local storage.

Description

As an auditor, I want to be able to switch between preconfigured map configurations so that I can return to earlier states easily and switch back and force.

Acceptance criteria

  • There is a button to open a menu which lists all currently saved configurations with its names next to "custom scenarios".
  • There is another button inside the opened menu to add a new custom view ("+" label).
  • The buttons show appropriate titles on hover.
  • Inside the menu, I can delete individual configurations
  • If a specific configuration is clicked, the configuration will be loaded and the map will be re-rendered.

Development notes (optional Task Breakdown)

  • An API has to be defined as similar to the cc.json schema
  • The API has to include the following parts initially:
    • Overall everything that is necessary to provide the exact view of the user later on
    • Excluded/Filtered/Blacklisted parts
    • Presentation mode and view settings
    • Current render mode (single/multi/delta)
    • Focused building
    • View angle
    • Zoom factor
    • Hash value of the map (a single configuration is always only valid for a specific map.)
    • used metrics and thresholds (colors) as well
    • distribution of a metric (e.g. rloc) per programming language
    • ....
  • The API has to be versioned
  • Configurations for delta and multiple mode are only valid in case that both maps are loaded and match the hash value.
  • It may not be identical to the redux state as the redux state may change at any point of time
  • Configuration name (optional: default is Map Name + increasing number)
  • It is possible to add infinite configurations per map.
  • We need a logic to transform the redux state and all it's necessary (API) information to a configuration and vice versa.
  • The configuration should never include the metric data itself, just the metric types
  • The data is saved in the Local Storage
  • Mark configurations which are not mapped to the current map as disabled or rather hide them in a collapsed list.

Open questions

@ce-bo ce-bo self-assigned this Oct 2, 2020
@ce-bo ce-bo added the feature Feature requests label Oct 2, 2020
ce-bo added a commit that referenced this issue Oct 7, 2020
ce-bo added a commit that referenced this issue Oct 7, 2020
ce-bo added a commit that referenced this issue Oct 8, 2020
ce-bo added a commit that referenced this issue Oct 8, 2020
ce-bo added a commit that referenced this issue Oct 8, 2020
ce-bo added a commit that referenced this issue Oct 8, 2020
ce-bo added a commit that referenced this issue Oct 8, 2020
@ce-bo ce-bo added javascript Pull requests that update Javascript code. Usually created by Dependabot. pr-visualization Issues that touch the visualization pr(oject) which means web and desktop features. labels Oct 12, 2020
@ce-bo
Copy link
Collaborator Author

ce-bo commented Oct 13, 2020

We have encountered a problem when setting the state and setting the camera position from the custom view afterwards, the camera position will be overridden by the default camera position.
This is due to the fact that events are processed without guaranteeing the order.

ce-bo added a commit that referenced this issue Oct 20, 2020
ce-bo added a commit that referenced this issue Oct 20, 2020
ce-bo added a commit that referenced this issue Oct 20, 2020
ce-bo added a commit that referenced this issue Oct 20, 2020
ce-bo added a commit that referenced this issue Oct 21, 2020
ce-bo added a commit that referenced this issue Oct 21, 2020
ce-bo added a commit that referenced this issue Oct 21, 2020
ce-bo added a commit that referenced this issue Oct 21, 2020
ce-bo added a commit that referenced this issue Oct 22, 2020
ce-bo added a commit that referenced this issue Oct 23, 2020
ce-bo added a commit that referenced this issue Oct 23, 2020
ce-bo added a commit that referenced this issue Oct 26, 2020
ce-bo added a commit that referenced this issue Oct 30, 2020
ce-bo added a commit that referenced this issue Nov 2, 2020
ce-bo added a commit that referenced this issue Nov 2, 2020
ce-bo added a commit that referenced this issue Nov 2, 2020
ce-bo added a commit that referenced this issue Nov 2, 2020
ce-bo added a commit that referenced this issue Nov 2, 2020
ce-bo added a commit that referenced this issue Nov 3, 2020
ce-bo added a commit that referenced this issue Nov 3, 2020
ce-bo added a commit that referenced this issue Nov 4, 2020
ce-bo added a commit that referenced this issue Nov 4, 2020
ce-bo added a commit that referenced this issue Nov 4, 2020
ce-bo added a commit that referenced this issue Nov 4, 2020
ce-bo added a commit that referenced this issue Nov 4, 2020
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
ce-bo added a commit that referenced this issue Nov 5, 2020
ce-bo added a commit that referenced this issue Nov 6, 2020
ce-bo added a commit that referenced this issue Nov 6, 2020
ce-bo added a commit that referenced this issue Nov 6, 2020
ce-bo added a commit that referenced this issue Nov 6, 2020
* Add new component to manage Custom Views and to apply them #1318

* Add minor UI improvements #1318

* Improve resolving selected map file name, Add Jest unit tests like the other UI components do #1318

* Add Unit Tests #1318

* Clear PageObject #1318

* Fix initial view name suggestion #1318

* Add e2e test to be sure the override warning will be shown, Improve README #1318

* Simplify resetting customViews #1318

* Fix localStorage mock #1318

* Support Single/Multiple/Delta mode #1318

* Add global setting "Enable Experimental Features" and show/hide CustomViews accordingly #1318

* Merge branch 'main' into feature/1318/manage-and-apply-custom-views

# Conflicts:
#	visualization/app/codeCharta/codeCharta.model.ts
#	visualization/app/codeCharta/state/injector.service.ts
#	visualization/app/codeCharta/state/state.module.ts
#	visualization/app/codeCharta/state/store/appSettings/appSettings.actions.ts
#	visualization/app/codeCharta/state/store/appSettings/appSettings.reducer.ts
#	visualization/app/codeCharta/state/store/appSettings/appSettings.splitter.ts
#	visualization/app/codeCharta/ui/ribbonBar/ribbonBar.component.ts
#	visualization/app/codeCharta/util/dataMocks.ts
#	visualization/package-lock.json
#	visualization/package.json

* Add dirty (temporal) Timeout to restore camera settings from CustomView properly #1318

* Fix wrong merged conflict #1318

* Fix component unit test #1318

* Clean up component #1318

* Add minor improvements and Add unit tests #1318

* Add unit tests #1318

* Minor improvement #1318

* Adjust Changelog #1318

* Fix typo in e2e test #1410

Co-authored-by: RomanenkoVladimir <volodymyr.romanenko@icloud.com>

* Update visualization/app/codeCharta/ui/customViews/customViews.component.html

Co-authored-by: RomanenkoVladimir <volodymyr.romanenko@icloud.com>

* Do not trigger rendering process, if experimental features option changes #1318.

* Adjust e2e test name #1318

* Separate Scenario and CustomView Local Storage Elements, Fix e2e test #1318

* Apply code style #1318

* Fix local storage key (scenarios) #1318

* Change checksums #1318

* Fix TypeError due to uninitialized content variable #1318

* Track CustomConfigs by a new unique id, Improve UI #1318

Let tests broken for now...

* Fix CustomViewController Unit Tests #1318

* Fix Unit Tests #1318

* Fix missing md5 lib #1318

* Add e2e test for CustomViewItemGroups, Adjust tsConfig deprecated property name #1318

* Fix e2e test #1318

* Update puppeteer #1318

* Improve CustomViewItemGroupKeys #1318

* Remove dead code #1318

* Apply PR suggestions #1318

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

* Handle Set and Map objects when serializing/deserializing object/json #1318

* Small improvements, Extend unit tests #1318

* Extend unit tests #1318

* Small improvements, Extend unit tests #1318

* Replace CustomView with CustomConfig

* Replace CustomView with CustomConfig

* Apply code style #1318

* Deactivate flaky e2e test #1318

* Deactivate flaky e2e test #1318

Co-authored-by: RomanenkoVladimir <volodymyr.romanenko@icloud.com>
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature requests javascript Pull requests that update Javascript code. Usually created by Dependabot. pr-visualization Issues that touch the visualization pr(oject) which means web and desktop features.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant