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

Cv2 4498 edit article #1985

Merged
merged 11 commits into from
Jul 11, 2024
Merged

Cv2 4498 edit article #1985

merged 11 commits into from
Jul 11, 2024

Conversation

sarahkeh
Copy link
Contributor

Description

Adds edit to the create form

Info added to top of form, Saves on blur, added cds component for Rating dropdown to display fact check rating, updated ArticleCard to take in as props additional information that the edit form will need. This might need to be added to as these components are properly hooked up

References: CV2-4498

Type of change

  • Performance improvement and/or refactoring (non-breaking change that keeps existing functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Security mitigation or enhancement
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Automated test (add or update automated tests)

How has this been tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can verify the changes. Please describe whether or not you implemented automated tests.

Things to pay attention to during code review

Added a rough onClick even to open up the editing form, this should be properly connected as now it also opens the form when the user tries adding a tag.

Checklist

  • I have performed a self-review of my own code
  • I've made sure my branch is runnable and given good testing steps in the PR description
  • I considered secure coding practices when writing this code. Any security concerns are noted above.
  • I have commented my code in hard-to-understand areas, if any
  • I have made needed changes to the README
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • If I implemented any new components, they are self-contained, their propTypes are declared and they use React Hooks and, if data-fetching is required, they use Relay Modern with fragment containers
  • If my components involve user interaction - specifically button, text fields, or other inputs - I have added a BEM-like class name to the element that is interacted with
  • To the best of my knowledge, any new styles are applied according to the design system
  • If I added a new external dependency, I included a rationale for doing so and an estimate of the change in bundle size (e.g., checked in https://bundlephobia.com/)

Added a new RatingSelector item
Added created_by date
Added items needed for editing to cards
Removed reliance on project_media
edit status and publish values for fact checks
set description as summary for fact checks
claim is now claim_description
verification_statuses now sent to create form
Copy link
Contributor

@brianfleming brianfleming left a comment

Choose a reason for hiding this comment

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

Hi @sarahkeh I starting looking at this and have some things to address. I will continue to take a look, but didn't want to hold you up looking into somethings:

  • The created and edited areas are not showing the user information of who created or saved, I just see the dates:
Screenshot 2024-06-25 at 2 24 03 PM
  • As discussed on a call at some point, we are going to skip trash for now, so that should be removed from the footer
  • There is no validation happening on required fields right now. The components should all have an ability to get the error state when appropriate
  • Just like you did with the "new" button interaction, we need to close and open each article when clicked from the list, currently the slideouts will "stack", so we should match the behavior

I will keep looking, but as said, wanted to get somethings in front of you. Let me know if you have any questions or if I can clarify anything!

Copy link
Contributor

@danielevalverde danielevalverde left a comment

Choose a reason for hiding this comment

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

Hi, @sarahkeh :)

I noticed that when clicking on the "Unpublished Report" button from the forms, it redirects to the wrong URL:
Captura de tela_2024-06-25_17-51-31

Could you please update the handleGoToReport function to redirect to the correct URL from the list page as well?

@danielevalverde danielevalverde self-requested a review June 25, 2024 22:50
Copy link
Contributor

@amoedoamorim amoedoamorim left a comment

Choose a reason for hiding this comment

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

Please mount the forms from the Articles component rather than from inside each card

Removed trash for now, hid the footer for editing
Publish status only shows when there is an associated project media and the link is updated to go from the Articles list
Removal of Created By, name is added for Last Saved:
Pulled everything from ArticlesCard except onClick event to Articles file
The save after editing a field now uses existing FactCheck/Claim/Explainer object + new field value, rather than just the state value, to fix a most recently updated field not saving sometimes
Removed unused fields added to ArticleCard
Copy link
Contributor

@danielevalverde danielevalverde left a comment

Choose a reason for hiding this comment

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

Hi, Sarah :)

i am getting this error when clicking on an article on list view:
ArticleForm.js:40 Uncaught TypeError: Cannot read properties of null (reading 'map') at ArticleForm (ArticleForm.js:40:1)
Captura de tela_2024-07-04_18-09-14
I believe It is happening because my team doesn't have tags, it can be fixed by adding a safe navigation on this part of the code:
team.teamTags?.map https://github.com/meedan/check-web/blob/cv2-4498-edit-article/src/app/components/article/ArticleForm.js#L40

And I'm not sure how to test the edit forms. I tried editing an article and closing the form, but the changes are not being saved.

Copy link
Contributor

@brianfleming brianfleming left a comment

Choose a reason for hiding this comment

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

Couple things I wanted to check on @sarahkeh and let the others handle technical review:

  • There are a lot of relay warnings that get generated when the edit slideout opens, i just wanted to flag these to make sure they are not important:
    such as: Warning: RelaySelector: Expected object to contain data for fragment ArticleForm_team, got ...`
  • Editing the Status of the Fact-Check doesn't seem to work, it never updates. Is this a bug or a know thing?

@brianfleming brianfleming self-requested a review July 9, 2024 20:49
Copy link
Contributor

@brianfleming brianfleming left a comment

Choose a reason for hiding this comment

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

@sarahkeh something to address other than my previous questions, we should remain consistent with the slideouts and click interactions. So a couple things I noticed, and you can see them in the attached video:

  • Currently when editing, I can only open 1 slideout and any other clicks do nothing. We should have it behave like the create button does, where it replaces the previous.
  • Conversely, If you open an article to edit, then click the create button, it stacks instead of replacing:
Screen.Recording.2024-07-09.at.4.47.38.PM.mov

@sarahkeh
Copy link
Contributor Author

sarahkeh commented Jul 9, 2024

  • Editing the Status of the Fact-Check doesn't seem to work, it never updates. Is this a bug or a know thing?

@brianfleming I think what's happening with the Status is that it went from a value tied to a media item to a value called Rating that is tied to a Fact Check. What the form does is update and save the Fact Check Rating, but I think the list displays the media item's Status, not the Rating. I thought @caiosba said these values were synced but maybe that work is pending?

@caiosba
Copy link
Contributor

caiosba commented Jul 9, 2024

Yes, the form should set and read the FactCheck rating. If the media one displayed in the card or item page then this is something on the backend side that we can check and fix. Please file separately if that's the case.

@sarahkeh
Copy link
Contributor Author

@sarahkeh something to address other than my previous questions, we should remain consistent with the slideouts and click interactions. So a couple things I noticed, and you can see them in the attached video:

  • Currently when editing, I can only open 1 slideout and any other clicks do nothing. We should have it behave like the create button does, where it replaces the previous.
  • Conversely, If you open an article to edit, then click the create button, it stacks instead of replacing:

@brianfleming I've just pushed the change for the top point but the second is much more complicated. I can prevent the create form opening over the edit and vice versa (by checking for the class name) but I can't close a Create form from inside the Articles List as that's a value that exists within the Create New Article component.

@sarahkeh
Copy link
Contributor Author

Yes, the form should set and read the FactCheck rating. If the media one displayed in the card or item page then this is something on the backend side that we can check and fix. Please file separately if that's the case.

@caiosba I created CV2-4901 to work on this issue

Copy link
Contributor

@brianfleming brianfleming left a comment

Choose a reason for hiding this comment

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

Ok, I will let the engineers approve or ask for changes. the reality is that this is getting very long lived and we need to get moving. With the creation of the rating ticket to be addressed which is currently the most confusing part for users, lets get this into the epic branch so we can easily evaluate the completness of this feature set

@brianfleming brianfleming dismissed their stale review July 11, 2024 14:17

to let engineers do tech review and approve or ask for changes

@caiosba
Copy link
Contributor

caiosba commented Jul 11, 2024

Agree with @brianfleming and aligned with @amoedoamorim that he will do the tech review soon.

@sarahkeh
Copy link
Contributor Author

Changes that have been added:

  • Fixed link for publishing a report
  • Added safe nav for tags
  • Removed form from ArticleCard component, added to Articles componenet
  • Clicking another article will swap the slideout rather than having the user have to close the current edit slideout first
  • team.team removed
  • added user name to Last Saved, removed created by because no user is provided.
  • Trash removed for now, footer also hidden
  • Required field validation

Copy link
Contributor

@amoedoamorim amoedoamorim left a comment

Choose a reason for hiding this comment

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

:lgtm:

@sarahkeh sarahkeh merged commit cbc2e58 into epic/CV2-4441-articles Jul 11, 2024
1 check failed
@sarahkeh sarahkeh deleted the cv2-4498-edit-article branch July 15, 2024 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants