elsa-workflows / elsa-studio

A modular, extensible dashboard application framework
MIT License
150 stars 60 forks source link

Date Picker #162

Open IsaacHayes1995 opened 3 months ago

IsaacHayes1995 commented 3 months ago

I'd like to add a date picker for datetime inputs. Mudblazor has a great date picker.

Happy to work on this, just need a bit of guidance on how to implement, as I'm not overly familiar with the codebase.

I believe we need to add a UI hint in the Elsa Core repo and then handle it in the designer in this repo?

Some guidance on the best way to submit a PR that spans both repos would be appreciated.

glime-ai[bot] commented 3 months ago

To add a date picker for datetime inputs using MudBlazor in Elsa Workflow, you would indeed need to work on both the Elsa Core repository and the Elsa Designer repository. Here's a general guide on how to proceed:

  1. Fork and Clone Both Repositories: You will need to fork both the Elsa Core and Elsa Designer repositories to your own GitHub account. After forking, clone them to your local machine.

  2. Create a UI Hint in Elsa Core: In the Elsa Core repository, you would add a UI hint for the date picker. This typically involves defining a new attribute that can be used to decorate properties that should use the date picker in the UI.

  3. Implement the Date Picker in Elsa Designer: In the Elsa Designer repository, you would handle the new UI hint by implementing the actual date picker component. Since you mentioned MudBlazor, you would use the MudDatePicker component.

  4. Test Your Changes: Make sure to test your changes locally. You can run the Elsa projects to see if the date picker appears as expected and if the datetime values are being handled correctly.

  5. Submit Pull Requests: Once you have made and tested your changes, commit them to your forks and push them back to GitHub. Then, navigate to the original repositories on GitHub and create new Pull Requests for each repository. Make sure to clearly describe your changes and how they work together across the two repositories.

  6. Link Pull Requests: In the description of each Pull Request, mention the other PR so that maintainers can see that the two are related. For example, in the Elsa Core PR, you could say "This PR adds the UI hint required for the MudBlazor date picker implemented in the Elsa Designer PR #XYZ."

  7. Discussion and Revision: Be prepared for feedback from the project maintainers. They may request changes or additional information. Engage in the discussion and make any necessary revisions to your PRs.

  8. PR Acceptance: If your PRs are accepted, the maintainers will merge them into the main branches of the respective repositories.

Remember to follow any contribution guidelines provided by the Elsa Workflow project, such as opening an issue to discuss your proposed changes before starting work, as mentioned in the context provided.

Since you're not overly familiar with the codebase, it might be helpful to look at how other UI hints and components are implemented in both repositories to get an idea of the best practices and architecture.

For detailed guidance, you can refer to the contribution instructions in the README files of both repositories and any contributing documentation they may have.