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

Add Workflow Instance List Filter #146

Merged
merged 19 commits into from
Feb 19, 2024
Merged

Conversation

sfmskywalker
Copy link
Member

@sfmskywalker sfmskywalker commented Feb 18, 2024

This PR adds a filter to the Workflow Instances List View UI.

image

This commit updates the versions of several packages to their most recent versions. The packages updated mainly include Microsoft.AspNetCore, Blazored, FluentValidation, MudBlazor, and Radzen.Blazor.
The versions of several Microsoft.AspNetCore and related packages targeted for 'net6.0' and 'net7.0' have been upgraded from 7.0.14 to 7.0.16. This includes components such as Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Authorization, and several others.
The version of the CodeBeam.MudBlazor.Extensions package has been downgraded to 6.6.3. This change is necessary due to an issue identified with the MudBlazor MudSelectExtended component in versions 6.6.4 and above. Refer to the issue link commented in Directory.Packages.props for further details.
This commit introduces some necessary style overrides. It serves to adjust the min-height setting of the MudBlazorExtensions components within the stack-row-fix class, optimizing the layout and improving visual consistency.
Added a function FilterWorkflowDefinitions to filter workflow definitions based on a term in Elsa.Studio.Workflows module. Also, updated the 'WorkflowInstanceList.razor' to use MudSelectExtended for a searchable dropdown. This filter will allow users to search workflow definitions easily when managing workflow instances.
The commit adjusts the indentation of the WorkflowInstanceList component in the Elsa.Studio.Workflows module for better readability and consistency with the rest of the codebase. No functionality was changed in this commit.
The removed imports were redundant and not needed in the Elsa.Studio.Login module project file. Code maintenance and readability are improved by removing these lines.
The commit minimizes the code in the WorkflowInstanceList component by combining two code lines into one. It removes an unnecessary line while retaining the same functionality. This change simplifies the component and makes it more readable.
Introduced search and filter capabilities in the WorkflowInstanceList component. These enhancements include the ability to search by name or correlation ID, filter by date range and incident occurrence. Several unused imports were also removed to clean up the code.
A new TimestampFilterModel class was added and integrated into the WorkflowInstanceList component for enhanced data filtering based on timestamps. The UI was also adjusted to accommodate these changes, allowing users to select and apply timestamp filters. Modifications were also made to maintain privacy by changing a few collection properties from public to private.
…nceList

Timestamp filtering within WorkflowInstanceList is refactored using System.Linq.Dynamic.Core for more compact expression. This change results in simpler and more efficient code, reducing repetitive code lines. The UI updates include changing the MudGrid structure to table for timestamp filters display, offering a more organized view. Also, protection against null or minimum date values during parsing and comparisons is added, increasing stability and safety of operations.
The table in WorkflowInstanceList component has been updated with new styling. The table minWidth has been set to 920px to ensure content visibility and maintain the layout regardless of the data size.
Two new filter parameters (SearchTerm and HasIncidents) have been added to WorkflowInstanceList's parameters. This allows users to filter workflow instances based on a search term and the presence of incidents.
Updated search term comparison in WorkflowInstanceFilter to use "Contains" instead of "Equals" to improve search flexibility. Also, enhanced the user interface in WorkflowInstanceList by adding debounce interval for the search input for performance reasons and by adding a Close button for convenience.
A new Action has been created and will run on every pull request targeting the main branch. This Action checks out the code, then compiles it, tests, and packs it on an Ubuntu latest environment. The reference to this new action has also been added to the solution file.
This code update modifies the version of Elsa.Api.Client from version 3.0.5 to 3.1.0-preview.1107 in the Directory.Packages.props file. Additionally, it shifts the dependency on Elsa.Api.Client from a project reference to a package reference in the Elsa.Studio.Core project.
The pr.yml workflow file under GitHub actions was deleted. References to this file in Elsa.Studio-Core.sln have also been removed.
A badge is added to the "Date Filters" button in the WorkflowInstanceList component. This badge shows the count of active timestamp filters, which improves visibility and helps the user understand how many filters are currently applied.
@sfmskywalker sfmskywalker merged commit 88ac339 into main Feb 19, 2024
6 checks passed
@sfmskywalker sfmskywalker deleted the feature/workflow-instance-filters branch February 19, 2024 06:40
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.

None yet

2 participants