-
Notifications
You must be signed in to change notification settings - Fork 16
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
Feature/231 create dataset boilerplate #251
Feature/231 create dataset boilerplate #251
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The page looks good. I appreciate that you added 'Create Dataset' as the page title. This is something that doesn't appear in the original form, but in my opinion, it's essential to explain to the user what the form is about.
The official position is that we don't add changes to the UI that don't exist in the original page. However, in this case, I vote that we keep the form title. Although I don't have a say in UI changes, you may want to discuss it with the team
I also noticed that you already applied the new folder structure. I like it, but now it's strange that some pages follow that structure and others don't. I would either move all the components to the new structure or none of them
A part from that, please, take a look at my comments and let me know if you have any question
@M27Mangan, when you are done with the requested changes, please remember to reassign the PR to me and unassign yourself. This way, I will be aware that I can review it again |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Congratulations on your first PR, it looks promising!
I share some high level points that I think require changes. If you have any questions, I will be happy to review the points together. Feel free to ping me on Slack!
Regarding comments:
Let's try to make the code self-explanatory as much as we can and avoid adding comments that explain usual / obvious flows.
Let's also not add commented JSF code and keep the repository clean. If the UI of the JSF fragment you commented needs to be implemented in the SPA, let's create an issue to prioritize it.
Regarding Folder Structure:
Let's be consistent with the current folder structure.
Changing the structure even if the introduced one may be beneficial in certain aspects is a matter to be evaluated in more detail and prioritized independently. Doing so only in certain parts of the application and not in a general way makes the repository structure inconsistent and confusing (specially for new devs).
…ub.com/IQSS/dataverse-frontend into feature/231-create-dataset-boilerplate
@MellyGray and @GPortas I plan on making some small adjustments to the project structure over the weekend that both of you had pointed out in this issue by moving some contents in 'src/sections'. I will open another PR by Monday for your review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As @GPortas highlighted:
Regarding comments:
Let's try to make the code self-explanatory as much as we can and avoid adding comments that explain usual / obvious flows.
Let's also not add commented JSF code and keep the repository clean.
To expand on this, I would advise against leaving any commented-out code in our codebase, not just JSF code
Besides, I suggest reviewing the Dataset.tsx page as a model for structuring the CreateDataset.tsx page
Here are some general guidelines:
- Place all UI rendering logic within CreateDataset.tsx. Feel free to create as many separate components as needed for UI rendering. The view should also handle the rendering of loading and error states.
- Implement a React hook for the submission logic. This hook should encapsulate the logic for invoking the use case from the domain layer and manage loading and error states. These states will then read by the view for rendering. Essentially, this hook will be kind of the Presenter
- Place the use case within the domain layer, ensuring it communicates with the appropriate repository.
Changes for review @MellyGray |
Last round of changes (hopefully). If there's anything I missed from the most recent updates, please send them in Slack and I will take care of them first thing on Monday, thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@M27Mangan thanks for applying the suggested changes, looks good!
Overall this looks very good!
For this I think you need to set isLoading in a similar way to the view Dataset page. Except for this page, we don't have to wait for the dataset to load, so useCreateDatasetForm could have isLoading set to false.
|
looks good! |
…erplate Feature/231 create dataset boilerplate
What this PR does / why we need it:
Creates basic framework in order to continue development on the "Create Dataset" feature page
Which issue(s) this PR closes:
Special notes for your reviewer:
Please harass me if there are changes I should be making to my development. Including tests.
Suggestions on how to test this:
Does this PR introduce a user interface change? If mockups are available, please link/include them here:
Issue Comment
Is there a release notes update needed for this change?:
N/A
Additional documentation: