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

Include the corresponding questionnaireResponseItemComponents for nested items in the group. #2005

Merged

Conversation

santosh-pingle
Copy link
Collaborator

@santosh-pingle santosh-pingle commented May 16, 2023

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Fixes #1998

Description
The issue was reproducible itself when the QuestionnaireResponse did not include questionnaireResponseItemComponents for nested items within the group type item.
To resolve this issue, it is necessary to include the corresponding questionnaireResponseItemComponents for nested items in the group type during initialization of questionnaire view model. This ensures that the corresponding view item will be created.
#2005 (comment) approach is implemented. With this approach if response contains non-matching item to question item linkId, then it get removed from the questionnaire response.

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?

Type
Choose one: Bug fix
Screenshots (if applicable)

Checklist

  • I have read and acknowledged the Code of conduct.
  • I have read the Contributing page.
  • I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
  • I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
  • I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

@santosh-pingle santosh-pingle marked this pull request as ready for review May 16, 2023 13:36
@santosh-pingle santosh-pingle requested a review from a team as a code owner May 16, 2023 13:36
@santosh-pingle
Copy link
Collaborator Author

santosh-pingle commented May 22, 2023

Newly added code changes :
(It adds any missing response items before questionnaire view model accepts an application-provided questionnaire response.)

It traverses the questionnaire items, verifying the presence of corresponding items within the response. If an item is found to be missing, a new empty response item is added to the questionnaire response. (Identifying missing items and maintaining a separate list is insufficient. It is equally important to preserve the order while inserting the missing item to the questionnaire response.)

@santosh-pingle
Copy link
Collaborator Author

#1998 (comment)

@santosh-pingle santosh-pingle requested a review from jingtang10 May 22, 2023 14:37
Copy link
Collaborator

@jingtang10 jingtang10 left a comment

Choose a reason for hiding this comment

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

as discussed please try to simplify the function signature.

@santosh-pingle santosh-pingle merged commit 46b2d83 into google:master Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

SDC | Nested items of group are not rendering when loading Questionnaire using QuestionnaireResponse
3 participants