Commit Graph

30 Commits

Author SHA1 Message Date
David van der Spek c32cdc70d3
chore(frontend): update all references to python 3.9 (#10020)
Signed-off-by: David van der Spek <vanderspek.david@gmail.com>
2023-10-20 05:19:03 +00:00
axel7083 536d93a1bf
fix(frontend): Splitting logsDetails into lines based on CR and LF. Fixes #9593 (#9594) 2023-06-22 23:48:08 +00:00
Joe Li 10e639ed4f
fix(frontend): Unexpected page crash when clicking artifact node. (#9519)
* Catch the error thrown by parseStoragePath().
Directly render unsupported URI rather than showing banner error.

* Change back to render banner but not error mode. Use info mode instead.
2023-05-26 22:00:59 +00:00
Joe Li 66ff81e5f2
fix(frontend) Format container information in pipeline details side panel (#9387)
* Use PipelineDeploymentConfig and PipelineDeploymentConfig_ExecutorSpec
in WorkflowUtils.
Format the "command" in pipeline details side panel.

* Fix unit tests

* Remove unnecessary export

* Fix logic in WorkflowUtils to avoid unexpected errors.
Add comment to explain why 2 'sh' are found.
Add pre-wrap style for arg as well.

* Rename ts_pipelinespec to pipelineSpec.

* Fix comment in unit test.
Remove unnecessary checking item in if condition.
2023-05-12 19:36:39 +00:00
Joe Li e2129da0a5
fix(frontend): Rename button in pipeline/run details side panel (#9383) 2023-05-11 23:57:37 +00:00
Joe Li abe356383b
feature(frontend): Support volume mounts in KFP v2 (#9318)
* Add volumes tab in side panel.

* Add volume information in details tab.

* Abstract the logic of converting template string to PipelineSpec and use
the helper in getNodeVolumeMounts().

* Add tests for volume mount feature.
Rename const in WorkflowUtils.test.ts

* Change to absolute path
Remove unused spy

* Rename constant in all captical case

* Add unit tests to validate the functionality of getPipelineDefFromYaml()
and getPlatformDefFromYaml().

* Rename templateString in RuntimeNodeDetailsV2 to pipelineJobString
Extract 'kubernetes' as a constant.
Put getComponentSpec in a new file called NodeUtils

* Rename template string to pipelineJobString

* Check if platformSpec is {} before return it.

* Change getPipelineDefFromYaml() and getPlatformDefFromYaml() to non-export.
2023-05-08 05:26:54 +00:00
Joe Li f68e7802e8
fix(frontend): Logs details is not changed when selected other execution node. (#9334) 2023-05-05 18:55:23 +00:00
Joe Li 430bd5406f
feature(frontend) Support Logs tab in KFP v2 (#9265)
* Add logs tab in run details node.

* Test if getLogs() is successful.

* Passing runId into runtime details node to get the logs info.

* Change the return value of helper function getLogsDetails() from string
to map which contains logsDetails, banner message, and banner additional
info.
Embed logsInfo into LOGS tab.

* Render logs details in 'Logs' tab

* Handle cached case.

* Use global variable

* Add unit test for RuntimeNodeDetailsV2 (Logs)

* Change cached-execution-id in the unit test to avoid confusion.

* Fix the unit test by using test-id
Extract logsInfoKey as global constant.

* Remove repeated TODO

* Move comment

* Fix unit tests.
Change the definition of global constant (not use enum).
2023-05-01 18:28:43 +00:00
Joe Li 508b6a133a
fix(frontend): Remove the "finished at" information for artifact node. (#8810)
* Remove the "finished at" information for artifact node.

* Remove unused import.

* Revert the change (remove finishedAt) and fix the incorrect if
condition.

* Remove Finished at -

* Remove unused import.
2023-02-10 01:29:01 +00:00
James Liu 21cf6407eb
feat(frontend): Complete Sub-DAG implementation in KFPv2. (#8326)
* feat(frontend): Complete Sub-DAG implementation in KFPv2.

* remove comment
2022-10-11 07:46:25 +00:00
James Liu cdb5c6d948
test(frontend): Enforce no warning standard in frontend development. (#8305)
* test(frontend): Enforce no warning standard in frontend development.

* fix warning
2022-09-26 06:17:51 +00:00
Joe Li 440f4e15b1
feat(frontend): v2 Dynamic Sub-DAG (I) (#8278)
* Render elements in the sub-layers.

* Enable the side panel for sub-DAG type node.

* Add 'open workflow' button in sub-DAG side panel.

* Added icon for sub-DAG execution.
Implementation for displaying task details and node information for sub-DAG execution.
Implementation for getting MLMD info and update state for sub-DAG execution.

* Added comment (function for changing the state of node).

* Remove console.log()

* Format.
2022-09-20 17:14:32 +00:00
Joe Li 75c31f5ab6
fix(frontend): Show correct artifact type at the side panel. (#8083)
* Fixed incorrect artifact type  name.

* Appended 'empty file' warning for metrics and classificationMetrics type.

* Format.

* Show appending text on execution nodes as well.

* Consolidate reused code to a helper function in MlmdUtils.tsx

* Added unit test for getArtifactTypeName().
2022-08-05 22:30:51 +00:00
James Liu 369e14c36e
fix(frontend): Resolve all warnings when running `npm run start` (#8089)
* fix(frontend): Resolve all warnings when running `npm run start`

* Format

* fortmat rundetailsv2
2022-08-02 15:05:48 +00:00
Chris Elliott 23d549f3ac
feat(frontend): Add ROC Curve filter table and functionality (#8073)
* MaAllow multiple artifacts to be entered into the metrics visualizations for ROC curve.

* Update formatting.

* Add the ROC curve with todo and  pre-selection to the compare page.

* Test the ROC Curve display of metrics visualizations.

* Add back ROC curve tests.

* Remove unnecessary imports.

* By default, the first three curves will be selected.

* Add filter to existing map function.

* Add some compare table progress to the ROC curve component.

* Add rendering and custom table to MetricsVisualizations.

* Combine name and confidence metrics into the same list.

* Add TODO and simplify mapping logic.

* Update naming pattern if display_name not available.

* Resolve conflict and add import.

* Update the ROC Curve filtering mechanism to use a combination of execution id and artifact id for unique identification.

* Fix all un-selection issue.

* Add highlight index.

* Update coloring on the ROC Curve plot.

* Add selection barriers.

* Remove error on MetricsDropdown page.

* Update the selected id list to disable non-selected items if passed in.

* Update formatting.

* Introduce pagination with ROC Curves.

* Add checkbox system fixes, highlight mechanism.

* Remove required namespace.

* Remove some large block comments.

* Fix import issue and correct the execution name.

* Halfway work done on converting the full artifact path list to a map.

* Update the color map to save the colors on tab change.

* Disable animation and update green color for cleaner display.

* Simplify the logic in CompareV2 and move helper functions to CompareUtils.

* Simplify and clarify some error messages for ROC Curves.

* Provide further simplification to the metrics visualizations roc curve display logic.

* Improve formatting and add comments for udpateRocCurveSelection.

* Update naming for the full artifact name and remove unnecessary ID attribute.

* Update formatting for the page size logic.

* Update formatting and move location of lineColors const.

* Minor changes and adding back in test.

* Fix text ellipsis functionality in roc curve filter table.

* Fix the run name link by adding back ID.

* Update ROC Curve snapshot test as well.

* Update color ordering.

* Update red color.

* Remove comment andd fix ordering bug.

* Disable animation and update artifact count.

* Update line color for the ROC Curve.

* Update artifact name label.

* Remove old TODO.

* Update snapshot test.

* Add ROC Curve and CompareV2 tests.

* Add CompareUtils test to confirm valid linked artifacts are selected.

* Add fundamental setup for the MetricsVisualizations testing.

* Add comment reference for updated color palette.

* Change !== -1 to >= 0.

* Add comments to clarify the forceLegend parameter.

* Update the number of selected artifacts tests.

* Add the test for the error of confidenceMetrics data format.

* Fix the color stack setting logic.

* Add clarifying comment and TODO.

* Add brief comment for fullArtifactPathMap key.

* Make the update logic of the fullArtifactPathMap more explicit.

* Reformat FullArtifactPathMap type and add test to check pagination and max limit.

* Add checks for the filter table and selecting disabled checkbox.

* Fix formatting and testing for MetricsVisualizations.
2022-08-01 20:20:46 +00:00
Joe Li ca41925f59
fix(frontend) Missing parameter in the input/output tab of Run details side panel (#8069)
* Convert string-type user input to real-type pararmeter. (Currently supporting num, bool, str)

* Delete unnecessary console.log

* Change incorrect type.
Add TODO
Move inputConvert out from function component.
Check parameter type by PipelineSpec before converting.

* Format.

* Move inputConverter out from function component.
Delete unnecessary console.log

* Change inputConverter from if-else to switch.
Assign invalid input to null.

* 1. Change paramTypeIdx to ParameterTypeEnum.
2. Add tests to validate the changes.

* Format

* Support LIST and STRUCT type.

* 1. Fixed default value bugs.
2. Added unit test for LIST and STRUCT type parameters.

* Added type into param.

* Added comment.

* Added div for error message.

* Added unit test for invalid JSON form input.

* Removed incorrect merge conflicts.

* Handle error message for different parameter.

* Remove console.log()

* Added handle function to disable start run button when there is invalid input(s).

* Format.

* Wrap check valid input as a helper function.
Added unit tests for error message and enable/disable start button.

* Format.

* Remove extra error message div.

* Support double type.
Added and modified unit tests.

* Clean unnecessary expect() in the unit tests.

* Added additional tests to check for the existence of display value 4.56

* Added new test for invalid double-type input.

* Test merge.

* Show error message for the invalid input.

* Remove unused library.

* Add screen display value in unit tests.

* Change props name from handleValidInput to setIsValidInput.

* 1. Change naming of unit tests.
2. Added a test for no default input.
3. Remove field - validInputs
4. Added state - isParameterValid to avoid incorrect behavior for startButton.

* Fixed typo.

* Changes:
1. Change naming of unit tests.
2. Chaneg ambiguous naming in the map() method
3. Move isParameterValid to another useEffect() to fix the bug caused by unmodified default values.

* Change the return value of generateInputValidationErrMsg for valid input from '' to null.

* Use only one useEffect to control isStartButtonEnabled state.

* Added templateString into if condition which control the isStartButtonEnabled state.

* Removed unused code.

* Fix the missing input and output parameters in the run details side panel.

* Modified unit tests for input/output tab test.

* Changes:
Remove unused function.
Renaming parameters.
Reuse the orginal getMetadataValue function rather than creating a new one.
2022-07-26 01:40:13 +00:00
Joe Li ec32711ba6
fix(frontend): Convert PipelineSpec format from json to yaml #7444 (#7591)
* fix(frontend) Convert PipelineSpec format from json to yaml #7444

* Delete 2 json testing files, and fixed unit tests for yaml files. Syntax improvements.
2022-04-25 22:56:11 +00:00
James Liu d60bc99bb6
chore(frontend): Convert to ts-proto for Protobuf.Value in PipelineSpec (#7125)
* WIP: Support Protobuf.Value in V2 IR

* chore(frontend): Convert to ts-proto for Protobuf.Value in PipelineSpec

* remove ValueType

* npm run format

* Add license for ts-proto-descriptors
2021-12-29 20:17:48 +00:00
James Liu feebc6b66a
feat(frontend): Upload V2 Pipelines. Fix PipelineSpec editor prettified view. (#6909) 2021-11-19 13:12:32 +00:00
James Liu 31ff9ad277
feat(frontend): SubDAG styling for KFPv2. Fix #6419 (#6744)
* feat(frontend): SubDAG styling for KFPv2

* update button
2021-10-25 09:35:09 -07:00
James Liu d2c234a7c7
feat(frontend): Execution,Artifact side panel for KFPv2 Run Detail. Fix #6740 Fix #6739 Partial #6676 (#6741) 2021-10-14 22:48:42 -07:00
James Liu 5c89d51f0e
feat(frontend): SidePanel for static pipeline template. Fix #6399, Fix #6610, Fix #6611 (#6613)
* feat(frontend): SidePanel for static pipeline template.

* fix test
2021-09-29 09:09:47 -07:00
James Liu f6540c5b25
chore(frontend): Change from `name` to `display_name` for visualization. Fix #6346 (#6347)
* fix(frontend): Change from name to display_name for visualization

* update test
2021-08-13 17:57:04 -07:00
James Liu 9a2c98a8c1
chore(frontend): Use `gs://` instead of `gcs://` for artifact link text. Fix #6308 (#6334) 2021-08-13 00:57:54 -07:00
James Liu df1ab4db5e
feat(frontend): Support v1 visualizations in v2 compatible mode. Partial #5666 (#5961)
* feat(frontend) Support v1 metrics in v2 compatible mode

* address comments

* address
2021-07-04 23:34:50 -07:00
James Liu 647bed72a9
chore(frontend): Migrate kubeflow/frontend to KFP frontend. Fix #5705 (#5963)
* chore(frontend): Migrate kubeflow/frontend to KFP frontend

* address npm run format

* fix package.json and tests

* README and high level third_party protos

* move src/mlmd/generated to src/third_party/mlmd. remove protos

* npm run build:replace

* move MlmdUtils, change to abosolute path import

* README

* fix presubmit

* Update TestUtils.ts

* Update Utils.test.ts

* Update Utils.tsx

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
2021-07-03 04:16:49 -07:00
James Liu 120da92d0c
feat(frontend) Support Input/Output from MLMD for V2-compatible. Fix #5670 (#5859)
* feat(frontend) Support Input/Output from MLMD for V2-compatible

* fix test

* address nit comments

* Artifact Preview component, use events to get artifact name.

* comment and UX rework

* downloadable link
2021-06-24 21:55:52 -07:00
James Liu 22bc9e2a68
feat(frontend): Support Scalar metrics in V2 compatible mode. Partial #5668 (#5811)
* feat(frontend) Support Scalar metrics in V2 compatible mode

* remove unused

* Update frontend/src/components/viewers/MetricsVisualizations.tsx

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>

* Update frontend/src/components/viewers/MetricsVisualizations.tsx

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>

* Update frontend/src/components/viewers/MetricsVisualizations.tsx

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>

* Update frontend/src/components/viewers/MetricsVisualizations.tsx

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>

* fix adjustmnet

* address comment

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
2021-06-08 18:43:16 -07:00
James Liu ef33b9e77d
feat(frontend): Support v2 confusion matrix visualization. Issue #5668 (#5781)
* feat(frontend): Shows ConfusionMatrix in Metrics Tab

* adjust uI

* remove comment

* definition description

* moving wrapper

* runtype check
2021-06-03 11:36:36 -07:00
James Liu 601b104c0b
feat(frontend): MetricsTab for NodeDetail, ROC Curve from MLMD custom property. Issue #5668 (#5731)
* feat(frontend): MetricsTab for NodeDetail, ROC Curve from MLMD custom property

* add back test renderer

* remove debug tool

* address nit comments

* more comment address

* merge metrics to visualization

* error boundary, revert banner change, more testing, data validation

* attempt to use actual function

* clear queryclient

* address comments

* address comments

* address comments
2021-06-01 09:16:04 -07:00