Alex Andreev 5795452cc3 Add option to download all logs from the container (#5970)
* Creating callForAllLogsInjectable

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

* Add sketch of Download all logs button

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

* Use randomId while creating pod logs tab

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

* Initial draft of download all logs tests

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

* Introduce download logs dropdown

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

* Cleaning up Controls component

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

* Coloring and styling Download logs button

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

* Drop waiting state on network or other error

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

* After clicking on button test cases

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

* Linter fixes

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

* Removing previous Download icon

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

* Respect timestamps and previous props

in callForAllLogsInjectable

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

* Update snapshots

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

* Update snapshots

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

* Remove unused .mockReturnValueOnce

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

* Remove one more unused line

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

* Cleanin up by overriding internals of logsViewModel

injectable

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

* Replace usage of callForAllLogs with

simple callForLogs

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

* Use css modules for the Controls component

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

* Move downloadAllLogs logic to injectable

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

* Move downloadLogs logic to the model

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

* Remove withInjectables wrapper from LogControls

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

* Move downloadAllLogs to model

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

* Testing resolve/reject options for callForLogsInjectable

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

* Catching call for logs errors

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

* Doesn't show save dialog if no logs received

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

* More descriptive describe statement

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

* Introduce Dropdown component with Menu

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

* Use <Dropdown/> in Download All Logs dropdown

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

* Fix line-break symbol

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

* Update snapshots

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

* Return a Promise from downloadAllLogs()

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

* Extend LogTabViewModel mocks in other tests

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

* Fix downloadAllLogs prop typings

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

* Fixing linter

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

* Fix linter harder

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

* Fix selectors in integration test

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

* Move tests into /behaviours

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

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2022-08-30 16:00:11 +03:00
2022-08-12 05:17:06 -07:00
2022-08-12 05:17:06 -07:00
2021-04-27 11:24:39 +03:00
2022-05-11 10:26:43 -04:00
2022-06-13 11:00:07 -04:00
2022-08-12 05:17:06 -07:00
2022-06-14 11:22:38 -04:00
2022-06-20 09:34:00 -04:00
2021-03-25 17:19:45 +02:00
2021-06-07 09:51:43 -04:00

Lens Open Source Project (OpenLens)

Build Status Chat on Slack

The Repository

This repository ("OpenLens") is where Team Lens develops the Lens IDE product together with the community. It is backed by a number of Kubernetes and cloud native ecosystem pioneers. This source code is available to everyone under the MIT license.

Lens - The Kubernetes IDE

Lens - The Kubernetes IDE ("Lens IDE") is a distribution of the OpenLens repository with Team Lens specific customizations released under a traditional EULA.

Lens IDE provides the full situational awareness for everything that runs in Kubernetes. It's lowering the barrier of entry for people just getting started and radically improving productivity for people with more experience.

Lens IDE a standalone application for MacOS, Windows and Linux operating systems. You can download it free of charge for Windows, MacOS, and Linux from Lens IDE website.

Screenshot

Installation

See Getting Started page.

Development

See Development page.

Contributing

See Contributing page.

Languages
TypeScript 95.8%
SCSS 3%
JavaScript 0.9%
HTML 0.2%