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

Change InvocationsList into a grid using GridList #18088

Merged
merged 8 commits into from
May 20, 2024

Conversation

ahmedhamidawan
Copy link
Member

@ahmedhamidawan ahmedhamidawan commented May 2, 2024

This removes the InvocationsList component and instead uses the GridList. To make this possible, a few changes were made to the Grid components (such as more field types, non-filterable grid, expandable rows etc.).

The invocations list now appears uniform with the other grids due to this change:

Before After
invocation_list_before_grid invocation_list_after_grid

One tricky thing here is that; to make expandable rows possible, I had to change the table in GridList from:

<table>
    <thead>... </thead>
    <tr for-each gridRow> ... row cells ... </tr>
</table>

to:

<table>
    <thead>... </thead>
    <tbody for-each gridRow>
        <tr> ... row cells ... </tr>
        <tr v-if=expanded> ... expanded data ... </tr>
    </tbody>
</table>

One alternative is that, we remove the expandable rows functionality (which allows you to see multiple invocations in one table) and instead rely on the invocations panel (screencast below; done in a separate PR) to quick-switch between invocations?

This also adds a Import Invocation button at the top right, which fixes part of #18047

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@ahmedhamidawan
Copy link
Member Author

ahmedhamidawan commented May 13, 2024

https://github.com/ahmedhamidawan/galaxy/tree/invocations_panel

In this ^ branch, I have added an Invocations Panel for the invocations activity:

invocations_activity_panel_second.mp4

Commit: 984341a

@ahmedhamidawan ahmedhamidawan marked this pull request as ready for review May 14, 2024 14:10
@ahmedhamidawan ahmedhamidawan added this to the 24.1 milestone May 14, 2024
@mvdbeek mvdbeek requested a review from dannon May 14, 2024 14:41
@ahmedhamidawan
Copy link
Member Author

The python linting failures are for ./lib/galaxy/model/scripts/history_table_pruner.py and they seem unrelated to this PR

@nsoranzo
Copy link
Member

The python linting failures are for ./lib/galaxy/model/scripts/history_table_pruner.py and they seem unrelated to this PR

Yep, they are solved on dev, you can rebase to get rid of them.

This removes the `InvocationsList` component and instead uses the `GridList`.
To make this possible, a few changes were made to the Grid components (such as more field types, non-filterable grid, expandable rows etc.).
The invocations list now appears uniform with the other grids due to this change.
@dannon dannon merged commit c31098c into galaxyproject:dev May 20, 2024
54 of 55 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants