- Add route, clusterRoute, and payloadValidatedClusterRoute helper
functions to improve types with backend routes
- Turn on the following new lints:
- react/jsx-first-prop-new-line
- react/jsx-wrap-multilines
- react/jsx-one-expression-per-line
- react/jsx-max-props-per-line
- react/jsx-indent
- react/jsx-indent-props
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix removing hot bar item
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix navigating back to tab in catalog from hotbar
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Implement a lot of technical requirements for behavioural unit tests
Note: the crux of this was to make routing env-agnostic, and not based on URLs as magic strings, but instead something type-enforced.
Note: extension-based routes comply to same exact interface by "late-registering" their routes when installed. Routes are just injectables.
Note: another chunk of global shared state is no more.
Note: a lot of explicit side effects have been cornered to injectables.
Note: a lot of stuff has become reactive as part if this.
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make a directory commonly available
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Require id for <Select /> to prevent non-deterministic renders
This was caused by global state in a 3rd party lib: "react-select".
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Specify id for all <Select /> to satisfy previous commit
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent explicit side effect in component by using existing dependency instead
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract instantiation of "conf" as injectables for causing side effects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce a legacy-helper to make gradual refactoring of inheritors of Singleton easier
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make legacy unit tests for hotbar green and more simple by using the new legacy helper
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Temporarily kludge all unit tests green with a disclaimer about allowing side-effects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove kludge in previous commit by explicitly permitting specific side effects where old unit tests require it
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent old unit test with side effects from accessing file system
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Migrate to actual typing for di.permitSideEffects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent unit tests from failing because of non-standard method of HTML-element not present in js-dom
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Adapt integration tests to recent changes
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix code style
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix artifact from bad rebase
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add a deprecation from a review comment
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove change that is not required
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant comment
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant file
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix bad merge
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Improve variable name
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Tweak logger interface to be more descriptive
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make injecting legacy singleton always provide new instance
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove conditional typing when not needed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Improve naming of variable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unnecessary code style changes
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove flag for causing side effects from too broad scope
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Override side-effects in unit test using injectable instead of monkey patching
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Flag some side-effects and add general overrides
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix unit tests in CI by removing explicit side-effect
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove explicit side-effect from getting default shell
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce abstraction for getting absolute paths
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using abstraction for getting absolute path to control explicit side effect
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce abstraction for joining paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using abstraction for joining paths to control explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix fake implementation for join paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix test after removing explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove explicit side effects from kubeconfig-syncs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix arguments after removing explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make registrators not async for not being needed anymore
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make generalCatalogEntities non-observable, as there is no requirement
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove redundant code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify logic for registering general catalog entity sources
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add TODO
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Replace function for getting application menu items with reactive solution
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix typo in interface name
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove global shared state usages of hot bar store
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant enum
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unnecessary CatalogEntityItem
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Using simple notation to set search url params
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix styles file name
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix: Catalog -> Columns visibility menu -> Empty title for "Icon"
Signed-off-by: Roman <ixrock@gmail.com>
* moving entity-icon inside name column / fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* added vertical alignment for texts in the name column
Signed-off-by: Roman <ixrock@gmail.com>
* Stop using remote to obtain app.getPath()
- Initialize entire map in bootstrap()
- Updated unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Resolve PR comments
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Ensure that init can only be called once and catch errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace basically all uses of app.getPath() with AppPaths.get()
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Redirect from /catalog to last catalog page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Splitting url params to pass in catalogURL()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding home button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Highlight catalog entity on route match
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Wait for general entites to load
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding WelcomePage catalog entity
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Highlight general entities in hotbar if their route matches
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving active entities sync to helper function
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix welcome page test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* HistoryStore initial draft
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding history icons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Jump history using electron methods
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using 1 topbar component for all views
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add Catalog title to sidebar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Show cluster name in sidebar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating topbar tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing Welcome tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing padding for external topbar items
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix cluster name prop
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using material icons for history buttons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding General Entities and General Category
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Usign material icons for general entities
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting background for hotbar icon explicitly
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding Catalog initially to first hotbar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Tuning hotbar store tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Changing type from GeneralEntity to General
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Search for catalog hotbar item in tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing Catalog link from bottom bar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Waiting for hotbar catalog entity
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Opening cluster list by data-testId
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing types on interfaces
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding general entities throught initializers
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing icon refs from CatalogEntitySpec
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- Transition workspace's to be labels
- Fix migrations to support multiple migrations for the same version
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Using TreeView for catalog menu
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Showing category icons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix catalog badges
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing darker background on Categories group
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set controlled selected prop
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>