Commit Graph
1244 Commits
Author SHA1 Message Date
Panu Horsmalahti 1477bb8274 Enforce semicolons in eslint
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 16:35:04 +02:00
Sebastian Malton 0f3f5611ba Make BaseStore abstract (#1431)
* make BaseStore abstract so that implementers are forced to decide how to store data

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-19 09:24:41 -05:00
pashevskii b64694acda Add Search by Ip to Pod View (#1445)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2020-11-19 09:24:06 -05:00
Jari Kolehmainen d60eee20cc fix extensionLoader error on dev environments where renderer might start early (#1447)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 16:11:58 +02:00
Jari Kolehmainen 5589a99e7e Fix TypeError: Cannot read property 'stopServer' of undefined (#1440)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 13:48:43 +02:00
Jari Kolehmainen 5aaacb21f9 Refactor ipc module (#1225)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 11:48:13 +02:00
Jari Kolehmainen c4b98534dc kube-auth-proxy: accept only target cluster hostname (#1433)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 08:32:07 +02:00
Lauri Nevala 3197e3a1fe Catch errors when responding from proxy error (#1416)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 12:33:53 +02:00
Lauri Nevala 126e1ff7a8 Reorder File menu (#1420)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 11:03:38 +02:00
Lauri Nevala 04517148c0 Add computed name property to cluster (#1428)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 09:12:11 +02:00
Lauri Nevala d19eb57037 Track service start and stop events (#1414)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 08:55:57 +02:00
Alex Andreev 960bbe6813 Showing colors in logs (#1419)
* Converting ansi values to colored html

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Rewriting AnsiUp colors for search overlay

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-18 08:31:36 +03:00
Alex Andreev 6fd0bebdd6 Fixing workspaces adding/editing (#1405)
* Fix creating new workspace

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Show not yet enabled workspaces in list

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Not showing disabled workspaces

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-17 16:35:59 +03:00
Sebastian Malton 25be6401e2 cleanup main side of metrics route for readability (#988)
* cleanup main side of metrics route for readability

* split out ??= for headers

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-16 10:43:53 -05:00
Roman 13dbdac2f2 PageRegistration / PageMenuRegistration fixes & more simplification (#1386)
* PageRegistration & PageMenuRegistration fixes & more simplification, fix #1383

Signed-off-by: Roman <ixrock@gmail.com>

* clean up test, deprecate page.routePath

Signed-off-by: Roman <ixrock@gmail.com>

* fix: proper `isActive` state matching for page-menu-target to page considering current document location

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-16 15:18:53 +02:00
Jari Kolehmainen 596e60a6f3 Generate extension-api .d.ts and .js files using tsc (#1387)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-16 15:09:16 +02:00
Alex Andreev d612626801 Adding Extensions item for non-mac menu (#1392)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-16 13:50:32 +03:00
Alex Andreev d559d5e62a Exporting active theme to extensions (#1371)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-16 12:10:35 +02:00
techknowlogick fce05c6cb2 Use latest alpine version (3.12) for shell sessions (#1384)
Signed-off-by: Matti R <matti@mdranta.net>
2020-11-16 12:09:21 +02:00
Alex Andreev f98d11a0be MInor workspace fixes (#1382)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-15 17:04:21 +03:00
Jari Kolehmainen 55b6edfc2a Fix PageRegistry.getByPageMenuTarget issue when package name has special chars (#1380)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-14 10:16:40 +02:00
Sebastian Malton 4d3204766b add retry cap to handleStaticFile to prevent an infitite loop (#1373)
* add retry cap to handleStaticFile to prevent an infitite loop

* 'yarn -> yarn run' for node_module dependencies

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-13 15:45:57 -05:00
Jari Kolehmainen 0fb859a22a Default PageRegistration.routePath to path based on id (#1374)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-13 19:37:03 +02:00
Jari KolehmainenandRoman df0f080380 Simplify pages/menus/registry extension api internal implementation (#1364)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Roman <ixrock@gmail.com>
2020-11-13 17:04:39 +02:00
Alex Andreev 73d50f4695 Fix Landing Page width (#1359)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-13 15:36:45 +03:00
RomanandJari Kolehmainen faa1cef307 PageRegistration & BaseRegistry refactoring (#1334)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-12 16:29:02 +02:00
Alex Andreev 6432b3bb9e Removing parental element styles that affect extensions (#1331)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-12 12:58:59 +02:00
Jari Kolehmainen 4222359bd6 Add LensRendererExtension.navigate (#1345)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-12 10:30:57 +02:00
Jari Kolehmainen deb4773b44 Allow to specify KubeObjectDetailRegistration priority (#1335)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-12 09:16:22 +02:00
Roman 1f88c05e82 Refactoring: removed kube versioned api (#1328)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-12 08:39:50 +02:00
Jari Kolehmainen 00be4aa184 Remove windowManager from extension api (#1323)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-11 21:55:49 +02:00
Jari Kolehmainen 6a908cb528 Expose kube object store types to extensions (#1326)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-11 16:12:31 +02:00
Roman c67dad54e3 fix: allow to select kube-api objects with label & field selectors (#1327)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-11 13:42:36 +02:00
Lauri Nevala bcbbe140b9 Expose registration and related component interfaces to extensions (#1322)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-11 11:56:13 +02:00
Jari Kolehmainen d0102a2d9a Expose all custom k8s api classes via extension api (#1319)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-11 11:48:13 +02:00
Lauri Nevala 85c4a10114 Implement KubeObjectStatusText extension API (#1188)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-11 08:57:15 +02:00
Sebastian Malton a78bbb5f6c Fix rendering of boolean values in CRDs (#1087)
* Fix rendering of boolean values in CRDs

- add optional special casing for boolean values in DrawerItems and
  TableRows since React (imo annoying fashion) does not render boolean
  values by default.
- add a spinner on the sidebar for when the CRD menu is expeanded but
  the entries have not been loaded yet.
- Add ability to double click a Badge to expand, also make it so that
  Badges highligh all text on first click.

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-10 10:10:19 -05:00
Alex Andreev dd90dcb7f0 Removing !important statements from theme variables (#1303)
* Removing !important statements from theme vars

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Wait for user store to load

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fix this reference

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Aligning test with resetTheme() fixes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-10 15:16:16 +03:00
Lauri Nevala 05188ef3cc Do not expose registries to extensions (#1304)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-10 12:46:40 +02:00
Alex Andreev b2f3cdd0d2 Keeping Icon focus state only for keyboard (#1234)
* Passing toolbar prop into action menus

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Toggling .mouse-intent

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Icon focus restyling

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding what-input dependency

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-10 12:36:06 +03:00
Lauri Nevala 0f8e8c2237 Expose CRD api to extensions (#1297)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-10 09:02:32 +02:00
Jim Ehrismann 033a91f002 implemented app menu testing support (#1105)
* implemented app menu testing support

* addded Preferences page helm repo test

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2020-11-09 15:10:30 -05:00
Alex Andreev 8d1c29ae4c Docs: extension styling and theming (#1267)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-09 19:05:27 +02:00
Sebastian MaltonandSebastian Malton d0ada00a18 Add mechanism for users to specify accessible namespaces (#702)
* Add mechanism for users to specify namespaces that are accessible to them. This is generally useful for when the user doesn't have permission to list the namespaces.

- Add new component "EditableList" which provides a simple way to
  display a list of items that can be added too.

- Add the ClusterAccessibleNamespaces to the GeneralClusterSettings

- style editable list list of lists, switch to using <>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-11-09 10:45:09 -05:00
Alex AndreevandLauri Nevala 16fb35e3f9 Log search (#1114)
* Moving logs to virtual list

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Introducing log search

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Setting ref for VirtualList to access its methods

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Introducing search store

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Centering overlay when scroll to it

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Using SearchInput in PodLogSearch

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Using Prev/Next icons for search

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* No trigger logs load when scrolled by method

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* SearchInput refactoring

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding find counters

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Clean search query on dock tab change

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Refresh search when logs get changed

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Case-insensitive search

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Improve logs scrolling experience

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Catching empty logs in various places

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fixing downloading logs

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Clean up some duplicated styles

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Removing jump-to-bottom animation

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fixing since label

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Reducing container selector size

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Scroll down to bottom after each reload

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fix search within timestamps if they not provided

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Use log row hover color from theme

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add search bindings for 'Esc' & 'Enter' hits

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Focus input fields on CmdOrCtrl+F

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Move search.store.ts in to /common folder

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* search.store.ts -> search-store.ts

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding test for search store

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding integration tests for logs

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fixing scroll jumping bug

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Removing download icon check for testing purpose

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Removing clicking on nginx-create-pod-test

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Moving log tests before cluster operations

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Build extensions before integration tests

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Build also npm before integration tests

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Move npm build and extension build into own build step

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Removing separator sketches

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Horizontal scrolling to founded keyword

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Delaying horizontal scrolling

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-09 17:46:14 +03:00
Roman f69f8c793f Export more UI components via extensions-api (#1285)
* export more UI components via extensions-api, touches #1277 #1284

Signed-off-by: Roman <ixrock@gmail.com>

* fix build, added table + notification-store exports

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-09 15:16:32 +02:00
chh 85f0ef8c2e Add webpack hot-reload/cache plugins to improve Lens DX (#1250)
* Add webpack-dev-server (for hot module replacement) to serve statics, add HardSourceWebpackPlugin to improve re-compiling speed

* Serve statics using webpack-dev-server instead of lens-proxy, redirect request of Lens.html/Lens.js to webpack-dev-server

* Add react-refresh-webpack-plugin and its dep for hot-reload

* Add hot-reload plugin, and make proxy redirects requests to webpackdevserver

* Add hard-source webpack plugin to main process

* Remove parameter 'path' of handleStaticFile

* Upgarde webpack to v4 latest stable

* Fix build error: plugins shouldnt be null

Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
2020-11-09 21:04:41 +08:00
Roman 474aaae8c6 ApiManager.registerStore should be simplified #1275 (#1278)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-09 13:30:41 +02:00
Roman 94ac081588 Extensions api fixes (#1233)
* fix: create extension instance only when enabled

Signed-off-by: Roman <ixrock@gmail.com>

* mark extension.isEnabled with private modifier

Signed-off-by: Roman <ixrock@gmail.com>

* try-catch errors for extension.disable()

Signed-off-by: Roman <ixrock@gmail.com>

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>

* make ext.isBundled non optional

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-07 18:56:26 +02:00
Alex Andreev 2197e5e53d Renaming theme .json files (#1256)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-06 15:30:55 +03:00