- Add distinction between `getInstance` and `getInstanceOrCreate` since
it is not always possible to create an instance (since you might not
know the correct arguments)
- Remove all the `export const *Store = *Store.getInstance<*Store>();`
calls as it defeats the purpose of `Singleton`. Plus with the typing
changes the appropriate `*Store.getInstance()` is "short enough".
- Special case the two extension export facades to not need to use
`getInstanceOrCreate`. Plus since they are just facades it is always
possible to create them.
- Move some other types to be also `Singleton`'s: ExtensionLoader,
ExtensionDiscovery, ThemeStore, LocalizationStore, ...
- Fixed dev-run always using the same port with electron inspect
- Update Store documentation with new recommendations about creating
instances of singletons
- Fix all unit tests to create their dependent singletons
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Add lens:// protocol handling with a routing mechanism
- document the methods in an extension guide
- remove handlers when an extension is deactivated or removed
- make sure that the found extension when routing a request is currently enabled (as a backup)
- added documentation about the above behaviour to the guide
- tweaked the naming convention so that it is clearer that the router uses extension names as not IDs (which currently are folder paths)
- Convert the extension API to use an array for registering handlers
- switch design to execute both main and renderer handlers simultaneously, without any overlap checking
- change open to be a dev dep
- improve docs, export types for extensions, skip integration tests
- switch to event emitting renderer being ready
- Add logging and fix renderer:loaded send to main
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert StatusBarRegistration to use components field
- More similar to all other *Registration types for extensions
- Simpler fix for using the components.Icon type, now accepts functions
that return component instance like all other *Registration types
- Kept old fix for backwards compatability
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix docs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Rework extensions guides
* Edited MobX guide.
* Changed MobX in mkdocs.yml nav.
Signed-off-by: Paul Williams <pawilliams@mirantis.com>
* split line by sentances
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* use pid+frameId
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use correct process id
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Edited and reworked content in the Extension Guides Overview and the Generator and Main Extension guides.
Signed-off-by: Paul Williams <pawilliams@mirantis.com>
Update docs/extensions/guides/main-extension.md
Co-authored-by: Panu Horsmalahti <panu.horsmalahti@iki.fi>
Update docs/extensions/guides/generator.md
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Signed-off-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
* extension store guide
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* improve docs as per reviews and rereading
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* more doc tweaks
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* extension guides for statusBarItems, kubeObjectMenuItems, and kubeObjectDetailItems
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address extension guide review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix typos found in review
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* add step to verify docs on area/documentation PRs
* use GH actions to run the verification
* add check if label is set to area/documentation
* fix broken links in docs with WIP files
* add generating API docs before verifying
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* add a brief overview to our use of mobx and mark all observable fields as observable in our docs
* add to navigation
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Steve Richards <srichards@mirantis.com>
Co-authored-by: Mario Sarcher <msarcher@mirantis.com>
Co-authored-by: steve richards <steve.james.richards@gmail.com>
Co-authored-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: pauljwil <pauljwil@gmail.com>