1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
Commit Graph

19 Commits

Author SHA1 Message Date
Sebastian Malton
4c92f3f251
Fully support displaying all supported PodVolume types (#4131) 2022-03-28 09:04:15 -04:00
Jari Kolehmainen
b3574e1a21
TLS cert per cluster for lens-k8s-proxy (#5081)
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-03-28 08:39:57 -04:00
Dmitriy Noa
9f6c3e230a
Improve dock tabs UX (#4754)
* Add separators and scroll button

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add tabs controlls

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Update values on resize

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Fix right button

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add change tab on keydown

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Fix flickering and arrows position

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Fix pr comments. Cleanup function. Simplify reaction

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add disposer cleanup

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add separators and scroll button

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add tabs controlls

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Update values on resize

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Fix right button

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add change tab on keydown

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Fix flickering and arrows position

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Fix pr comments. Cleanup function. Simplify reaction

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add disposer cleanup

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* PR fixes and improvements

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Add reaction cleanup

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Cleanup. Remove reaction.

Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com>

* Active tab soft background

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

* Show close btn on hover

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

* Removing custom left/right arrow buttons

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

* Remove dock-tabs styles from dock.scss

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

* Add dock-tabs.module.scss

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

* Add useResizeObserver hook

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

* Set tabs scrollable on small window sizes

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

* Add custom scrollbar on hover

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

* Update scrollbar overflow on tabs change

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

* Adding shadow corners to scrollable area

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

* Update material icons font

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

* Change terminal and chart install icons

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

* Add hover tooltip

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

* Controls scrollable within Tabs

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

* Move tooltips to top

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

* Set dock tabs theme colors

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

* Mock ResizeObserver

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

* Increase tooltip show delay

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

* Scroll active tab into view

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

* Scroll horizontally with mouse wheel

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

* Add tiny shadow to cropped tab

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

* Remove dock-tab.scss

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

* Adding tab role attributes

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

* Handle dock open/closed state

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

* Increase shadow corner size

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

* Selecting next or previous tab after closing selected one

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

* Add tiny test

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

* Use scrollIntoViewIfNeeded in tabs

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

* Small cleaning

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

* Small fix for useResizeObserver deps array

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

* Fix plus button padding on empty dock

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

* Fix close button position in active tab

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

* Remove min-width for tab title

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

* Clean up

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

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2022-03-21 15:55:51 +03:00
Janne Savolainen
589472c2b5
Shorten license header to reduce amount of clutter in top of the files (#4709)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-01-18 10:18:10 +02:00
Roman
4c83f5becf
Replacing global themed sass-vars to css-vars (#4322)
* generating css-vars
* convert all global / theme sass vars to css vars with available default theme colors
* added missing colors to dark lens theme
2021-11-15 17:37:23 +02:00
chh
64fb590377
Fix sass warnings (#3783)
* Fix sass warnings

Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>

* Add a space

Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>

* Update src/renderer/components/input/input.scss

Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>

* Response to comments

Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>

Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
2021-09-14 10:09:09 +03:00
Alex Andreev
b5f4ab3c44
Fixing <Tab/> onKeyDown error (#3537)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-07-30 08:50:39 -04:00
Sebastian Malton
c335b0f054
Only create TerminalStore after ThemeStore (#3359)
- Use Proxy for backwards compatability

- Fix a bunch of unit tests that needed all the Singleton's created

- Add comments on the order required for the store migrations

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-07-13 12:36:46 -04:00
Sebastian Malton
baef6944aa
Reduce transition duration for <Tab>'s (#3167)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-07-06 08:42:59 -04:00
Roman
2c3b510997
Mobx-6 migration (#2718)
* mobx-6 migration -- part 1

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

* mobx-6 migration -- part 2 (npx mobx-undecorate --keepDecorators)

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

* mobx-6 migration -- part 3 (more fixes)

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

* unwrap possible observables from IPC-messaging

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

* mobx-6 migration -- remove @autobind as class-decorator

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

* mobx-6: replacing @autobind() as method-decorator to @boundMethod

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

* mobx-6: use toJS()-wrapper since monkey-patching require(mobx).toJS doesn't work

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

* removed `@observable static`

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

* use {useDefineForClassFields: true} in tsconfig.json

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

* remove ExtendedObservableMap

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fix: removed makeObservable(this) from "terminal-tab.tsx"

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

* storage-helper refactoring

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

* normalize usages of #observable-value.toJSON() / attempt to catch the wind

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

* refactoring, more possible branch fixes + lint

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

* debugging cluster-view error -- part 1

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

* fix: refreshing cluster-view on ready

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

* fix: various app-crashes related to KubeObject.spec.* access from "undefined"
fix: config-map-details crash

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

* fix: namespace-store refactoring / saving selected-namespaces to external json-file

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

* fix: don't cache mobx.when(() => this.someObservable) cause might not work as expected due later call of makeObservable(this) in constructor

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

* fix: app-crash on editing k8s resource

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

* fix: restore "all namespaces" on page reload

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

* - fix: persist table-sort params and cluster-view's sidebar state to lens-local-storage
- new-feature: auto-open main-window's devtools in development-mode (yes/no/ugly?)

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

* fix: crd definition details -> crashing with <AceEditor mode="json"> (added missing mode-file in ace-editor.tsx)

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

* fix: crd definitions -> groups selector couldn't deselect last selected option

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

* refactoring: extensions-api exports clarification for "@k8slens/extensions"

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

* fix: various app-crashes related to kube-events (events page, some details page, overview, etc.)

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

* Reverted "use {useDefineForClassFields: true} in tsconfig.json" (various app-crash fixes)
This flag seems to be not possible to use with class-inheritance in some cases.

Example / demo:
`KubeObject` class has initial type definitions for the fields like: "metadata", "kind", etc.
and constructor() has Object.assign(this, data);
Meanwhile child class, e.g. KubeEvent inherited from KubeObject and has it's own extra type definitions for underlying resource, e.g. "involvedObject", "source", etc.

So calling super(data) doesn't work as expected for child class as it's own type definitions overwrites data from parent's constructor with `undefined` at later point.

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

* master-merge lint-fixes

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

* catalog.tsx / catalog-entities.store.ts refactoring & fixes

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

* fix: Catalog -> Browse all tab

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

* fix: CommandPalette doesn't appear from global menu by click/hotkey

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

* - Merging interfaces & classses to avoid overwriting fields from parent's super(data)-call with Object.assign(this, data). Otherwise use "declare" keyword at class field definition.

- Revamping {useDefineForClassFields: true} to avoid issues with non-observable class fields in some cases (from previous commit):

```
@observer
export class CommandContainer extends React.Component<CommandContainerProps> {
  // without some defined initial value "commandComponent" is non-observable for some reasons
  // when tsconfig.ts has {useDefineForClassFields:false}
  @observable.ref commandComponent: React.ReactNode = null;

  constructor(props: CommandContainerProps) {
    super(props);
    makeObservable(this);
  }
```

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

* update KubeObject class type definition

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

* clean up / responding to comments

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

* fix: app-crash when navigating to catalog from active cluster-view, refactoring `catalog-entity-store`

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

* catalog-pusher clean up, replaced .observe_() to external observe() helper from "mobx"

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

* fix: catalog's items stale/non-observable (after connection to the cluster status still "disconnected"), lint-fixes

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

* fix: Catalog is empty after closing main-window and re-opening app from Tray

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

* fix: HotBar's icon context menu items non-observable (no "disconnect cluster", etc.)

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

* lint-fix/license check

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

* fix: redirect to catalog when disconnecting active cluster

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

* fix: refresh visibility of active cluster-view on switching from hotbar/catalog

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

* updated package.json for built-in extensions to use "*" version for packages served from main app

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

* - added missing makeObservable(this) to metrics-settings.tsx
- updated package-lock.json for built-in extensions
- lint fixes

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

* master-merge clean up fix, updated package-lock.json for built-in extensions after `make clean-extensions && make build-extensions`

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

* fix unit-tests

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

* master-merge fixes

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

* make lint happy

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

* reverted some changes, removed auto-opening devtools in dev-mode

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

* merge fixes

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

* master-merge conflict fixes:
- proper handling and navigating into catalog's active category via URL-builder

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

* reverting splitted params for catalog's page route to "/catalog/:group?/:kind?"

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

* clean-up: remove app's injecting dependencies from `extensions/kube-object-event-status/package.json`

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

* master-merge fix: added missing makeObservable(this) for extensions.tsx

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

* fix: catalog entity context menu stale/unobservable

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

Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-05-25 10:24:31 +03:00
Jari Kolehmainen
2d0609ed24
Check source files for license header (#2763)
* check source files for license header

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* tweak

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* add license header to all relevant source files

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-05-12 18:33:26 +03:00
Alex Andreev
5d746cdff5
Dock tabs context menu (#1863)
* Adding context menu to dock tabs

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

* Allowing to open menu by contextmenu event

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

* Adding DockTab tests with fine-tuning jest config

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

* Adding disable state to menu items

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

* Removing empty lines

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

* Moving jest-canvas-mock to dev dependencies

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-28 15:18:03 +03:00
Panu Horsmalahti
dcf253e7d5
Add eslint rule padding-line-between-statements (#1593)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-12-02 09:55:52 +02:00
Sebastian Malton
7451869c25
add no-unused and react/recommended to eslint (#1523)
* add no-unused-vars and no-unused-imports

* added quotes: double, and remove ignore pattern

* move itif and describeif into utils

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-27 08:48:38 -05:00
Panu Horsmalahti
ff93760dc4
Enable object-shorthand rule (#1500)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-24 13:16:35 +02:00
Panu Horsmalahti
460dfe4d2b Use @typescript-eslint/semi.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 18:12:52 +02:00
Panu Horsmalahti
1477bb8274 Enforce semicolons in eslint
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 16:35:04 +02:00
Roman
b8994a453f
Allow user to select Kubeconfig from filesystem (#740)
* Allow user to select Kubeconfig from filesystem, fix #738

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

Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-08-28 08:43:51 +03:00
Roman
b7974827d2
Lens restructure (#540)
Signed-off-by: Roman <ixrock@gmail.com>
2020-06-30 14:35:16 +03:00