Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Revamp Batch Prediction Jobs UI #591

Merged
merged 7 commits into from
Jun 21, 2024
Merged

chore: Revamp Batch Prediction Jobs UI #591

merged 7 commits into from
Jun 21, 2024

Conversation

ariefrahmansyah
Copy link
Contributor

@ariefrahmansyah ariefrahmansyah commented Jun 12, 2024

Description

This PR improves the UI/UX for the batch prediction job. It also upgrades the UI dependencies such as node version, react version, elasticsearch UI, and @caraml-ui/lib.

This PR also do some clean up and refactoring such as:

  1. Move the Batch Prediciton Job-related pages components to pages folder
  2. Refactor previous JobConfig.js by breaking it down to smaller components

Modifications

  1. On List Versions page, add View Batch Jobs button:
Screenshot 2024-06-12 at 09 32 23
  1. On Version Details page, add the list of Bath Prediction Jobs for the given model version
Screenshot 2024-06-12 at 09 36 20
  1. On List Jobs page:
    a. Make model version columns clickable and link to the Version page
    b. Add Status filter
Screenshot 2024-06-12 at 09 34 00
  1. On Job Details page:
    a. Simplify the UI and make it similar and consistent to Version Details page
    b. Logs is displayed as part of tab navigation
    c. On Source Config, user can search the feature name
Screenshot 2024-06-12 at 09 39 03

Tests

Checklist

  • Added PR label
  • Added unit test, integration, and/or e2e tests
  • Tested locally
  • Updated documentation
  • Update Swagger spec if the PR introduce API changes
  • Regenerated Golang and Python client if the PR introduces API changes

Release Notes

Improve batch prediction job UI/UX

Copy link

codecov bot commented Jun 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 60.48%. Comparing base (c05af1d) to head (a159af0).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #591      +/-   ##
==========================================
- Coverage   60.50%   60.48%   -0.02%     
==========================================
  Files         274      274              
  Lines       22066    22068       +2     
==========================================
- Hits        13351    13348       -3     
- Misses       7859     7863       +4     
- Partials      856      857       +1     
Flag Coverage Δ
api-test 58.44% <ø> (-0.02%) ⬇️
sdk-test-3.10 75.37% <ø> (-0.06%) ⬇️
sdk-test-3.8 75.35% <ø> (ø)
sdk-test-3.9 75.35% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ariefrahmansyah ariefrahmansyah self-assigned this Jun 12, 2024
@ariefrahmansyah ariefrahmansyah added the enhancement New feature or request label Jun 12, 2024
@ariefrahmansyah ariefrahmansyah changed the title Revamp batch prediction jobs UI chore: Revamp Batch Prediction Jobs UI Jun 12, 2024
@ariefrahmansyah ariefrahmansyah marked this pull request as ready for review June 12, 2024 02:46
Copy link
Contributor

@leonlnj leonlnj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the mammoth change, overall LGTM!

@ariefrahmansyah ariefrahmansyah merged commit 8edef22 into main Jun 21, 2024
34 of 35 checks passed
@ariefrahmansyah ariefrahmansyah deleted the upgrade-ui branch June 21, 2024 01:12
deadlycoconuts added a commit that referenced this pull request Jul 23, 2024
# Description
Similar to caraml-dev/turing#387, this PR to
fixes broken validation schemas caused by the upgrade of the `yup`
package in PR #591 - these changes can largely be grouped into the
following:

- The `Schema.when` function has been
[updated](https://github.com/jquense/yup?tab=readme-ov-file#schemawhenkeys-string--string-builder-object--values-any-schema--schema-schema),
such that when the builder object (one with the fields `is`, `then`, and
sometimes `otherwise` defined) is passed as an argument, the `then`
field accepts ONLY functions of the following signature `(schema:
Schema) => Schema` instead of `Schema` previously.

Existing schemas that do not follow this convention have been updated
and turned into arrow functions.
  
  Example:
  ```javascript
  // before
  some_field: yup.string().when("some_other_field", {
    is: "nop",
    then: yup.string().required("this is needed")
  }),

  // after
  some_field: yup.string().when("some_other_field", {
    is: "nop",
    then: (_) => yup.string().required("this is needed")
  }),
  ```
- When using the same `Schema.when` function but passing a function
directly as an argument instead of the builder object, the signature of
the expected function has also been updated from `(value, schema)=>
Schema): Schema` to `(values: any[], schema) => Schema): Schema`.

Existing schemas that do not follow this convention now have been
updated to reflect the new expected array:

  Example:
  ```javascript
  // before
some_field: yup.string().when("some_other_field", (some_other_field,
schema) =>
    some_other_field ? yup.string().required("this is needed") : schema
  ),

  // after
some_field: yup.string().when("some_other_field", ([some_other_field],
schema) =>
    some_other_field ? yup.string().required("this is needed") : schema
  ),
  ```
## Unrelated Update
This PR also bumps up the version of the `caraml-dev/ui-lib` library to
the latest version.

# Modifications
- UI bug fixes
- Update to `caraml-dev/ui-lib` library

# Tests
<!-- Besides the existing / updated automated tests, what specific
scenarios should be tested? Consider the backward compatibility of the
changes, whether corner cases are covered, etc. Please describe the
tests and check the ones that have been completed. Eg:
- [x] Deploying new and existing standard models
- [ ] Deploying PyFunc models
-->

# Checklist
- [x] Added PR label
- [ ] Added unit test, integration, and/or e2e tests
- [x] Tested locally
- [ ] Updated documentation
- [ ] Update Swagger spec if the PR introduce API changes
- [ ] Regenerated Golang and Python client if the PR introduces API
changes

# Release Notes
```release-note
NONE
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants