* vwa(front): Support all-namespaces
The VWA will now be able to work with the "All namespaces" option of
the CentralDashboard.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* twa(front): Support all-namespaces
The TWA will now be able to work with the "All namespaces" option of
the CentralDashboard.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Add cypress attributes
Add more attributes for elements to be selectable when running e2e
tests.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(e2e): Add e2e tests for all-namespaces
Add a new e2e test that checks if the Namespaces column is shown
when selecting all-namespaces.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* dashboard: Allow all-namespaces for vwa/twa
The dashboard will be allowing the VWA and TWA to work with
all-namespaces, now that we added this functionality.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(front): Upgrade @angular/material package (kubeflow/kubeflow#6462)
* Upgrade @angular/material package to align the mat-chip x button.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Upgrade @angular/material package (kubeflow/kubeflow#6462)
* Upgrade @angular/material package to align the mat-chip x button.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Upgrade @angular/material package (kubeflow/kubeflow#6462)
* Upgrade @angular/material package to align the mat-chip x button.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Enable sorting in VWA (kubeflow/kubeflow#6460)
* Enable sorting functionality in VWA.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Enable sorting in TWA (kubeflow/kubeflow#6460)
* Enable sorting functionality in TWA.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Fix unit tests
* Fix unit tests.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* wa(front): Use es2019 to have .flat()
Add es2019 to the tsconfig.compilerOptions.lib array in order for the
tslint linter to not complain about the use of flat().
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): all-namespaces requests helper
Add a helper function in the backend.service that can take care of
creating the observable that will make requests for all namespaces.
Refs arrikto/dev#1529
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Disable toolbar + button on all-namespaces
Add helper methods to toolbar buttons to disable/enable them and add a
tooltip if the user selected all-namespaces.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Common logic for dynamic ns column
We want to show a `namespace` column when the user selects
all-namespaces, to make it easier to identify the different objects.
To not replicate the logic of adding and removing a column if all
namespaces was selected we moved this logic in the common table
component.
We also add an option to the component's config to disable/enable this
behavior.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(front): Utilize common code for all-namespaces
Update the JWA's code to work with the common code introduced to
supporting all-namespaces. This includes changes for:
* The Namespace column in the main table
* Helpers for performing requests in all namespaces
* Dynamically enabling/disabling the `+ new` button
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* frontend: Update the linting GH Action
Ensure we run `ng lint` to check if the code is properly linted.
Previously we just did `ng lint --fix` which would try to fix the code,
and not complain about it. But this means that we don't actually check
if the code is linted.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Fix linting issues in common code
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* gh-actions: Lint apps in parallel
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* vwa(front): Use ng serve for local dev
Add proxy rules to connect the webpack dev server with the backend
* twa(front): Use ng serve for local dev
Refs arrikto/dev#1597
* vwa(back): Fix the install-deps make rule
Use the new common code path when installing the common packages.
* wa(front): Disable Angular analytics
Edit the angular.json file of all our frontend components to not send
Angular analytics. This way we won't be seeing a y/N input each time we
try to build the frontend, which could also block a CI/CD system.
* wa(front): Add exponential-backoff service
Create an Angular Service that handles the polling. Specifically the
polling function has as input an observable responsible for fetching the
data. It will return a final observable, which will be using the
fetch-observable, that will only be emitting the final data.
This service will take care of:
1. Checking if the new data is new and reset the polling
2. Cancelling in-flight requests, if someone terminates the subscription
* vwa(front): Use the new Polling Service
The frontend code of VWA will now be using the new Poller Service which
has a pure RxJS implementation underneath. This will make it simpler to
cancel in-flight requests and also moves the reset logic into the common
code.
* jwa(front): Use the new Polling Service
The frontend code of JWA will now be using the new Poller Service which
has a pure RxJS implementation underneath. This will make it simpler to
cancel in-flight requests and also moves the reset logic into the common
code.
* twa(front): Use the new Polling Service
The frontend code of TWA will now be using the new Poller Service which
has a pure RxJS implementation underneath. This will make it simpler to
cancel in-flight requests and also moves the reset logic into the common
code.
* jwa(front): Upgrade @kubernetes/client-node module
* Upgrade @kubernetes/client-node module, so that to include
quantityToScalar function directly from kubernetes js module.
* Set allowSyntheticDefaultImports flag to true to allow 'import x
from y' when a module doesn't have a default export.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Upgrade @kubernetes/client-node module
* Upgrade @kubernetes/client-node module, so that to include
quantityToScalar function directly from kubernetes js module.
* Set allowSyntheticDefaultImports flag to true to allow 'import x
from y' when a module doesn't have a default export.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Upgrade @kubernetes/client-node module
* Upgrade @kubernetes/client-node module, so that to include
quantityToScalar function directly from kubernetes js module.
* Set allowSyntheticDefaultImports flag to true to allow 'import x
from y' when a module doesn't have a default export.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Rename Age header in WAs
* Rename Age header to Created at.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Right-align date columns in WAs
* Make date columns to be right-aligned.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Make ng lint work by ignoring e2e/tsconfig.json
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* web-apps(front): Make the table responsive
We introduced all of our changes in the underlying TableComponent. This
component can then be either used independently or inside a material
card.
The changes we did in that component are:
1. Create Output() emitters, since this component can be used directly
2. The config object for a Table row now supports a `style` prop for
defining the list of CSS styles to be applied
2. Remove the truncate classes (small, medium, large) and only have
a boolean value. The user can define the width directly now via the
`style` property in the row's config
3. Modify the classes for aligning contents right and left
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* web-apps(front): Add table paginator
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* web-apps(front): Add padding to titlebar text
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* web-apps(front): Use bigger font for toolbar title
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* jwa(front): Use responsive table and toolbar
We refactor both the index and form pages of the app to:
1. Add a top row toolbar with the title of the app and the button to
create a new Notebook
2. Replace the card with a responsive table that shows the items. The
component also has a paginator
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* vwa(front): Use responsive table and toolbar
This commit:
1. Adds a toolbar at the top of the index page with the title of the app
and the button to create a new volume
2. Replaces the card with a responsive table
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* twa(front): Use responsive table and toolbar
This commit:
1. Adds a toolbar at the top of the index page with the title of the app
and a button to create a new TensorBoard instance
2. Replaces the card with a resopnsive table
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Tasos Alexiou <tasos@arrikto.com>
* fix the format
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Add npm script for running unit tests in docker
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* fix unit tests failing
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* cwa(front): Ignore font files in assets
* feat(jupyter): add fonts as assets to service
* CRUD: fonts in common
* CWA: Remove link to css file
* jwa(front): Remove font assets from jupyter
Co-authored-by: Wendy Gaultier <wvgaultier@gmail.com>
* web-apps(back): Helper config functions
Introduce helper function for creating the config object for an app.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* twa: Update the build process
Update both the frontend and the backend of the Tensorboards web app to
follow the build/run process of the other web apps as well.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* twa: Update the README
Restructure the README to look like the JWA one. Also update the
instructions with the latest process for running the web app.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* Add frontend for the Tensorboard Web-app
This commit contains the code for the frontend of the Tensorboard
web-app. It completes the GSoC 2020 project for building the
standalone TWA for Kubeflow.
The app is not yet fully integrated to the Kubeflow dashboard, so
the README.md file contains documentation on how to build, run and
use the web-app locally.
Also, a Dockerfile was added in order to build a playground image
of the web-app. The 'deploy' folder contains manifests that will
enable the TWA to properlly run on the cluster in the future.
* Update README.md