-
-
Notifications
You must be signed in to change notification settings - Fork 57
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
List the letter-sound correspondences where a letter is used #1701 #1782
base: main
Are you sure you want to change the base?
List the letter-sound correspondences where a letter is used #1701 #1782
Conversation
WalkthroughThe recent changes enhance the letter editing feature by integrating letter sound data. A new dependency on Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant LetterEditController
participant LetterSoundDao
participant View
User->>LetterEditController: Request to edit letter
LetterEditController->>LetterSoundDao: Fetch letter sounds ordered by usage
LetterSoundDao-->>LetterEditController: Return list of letter sounds
LetterEditController->>LetterEditController: Calculate max usage count
LetterEditController->>View: Render edit page with letter sounds and max usage count
View-->>User: Display edit page with sounds
Possibly related issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1782 +/- ##
============================================
- Coverage 15.06% 15.06% -0.01%
Complexity 456 456
============================================
Files 250 250
Lines 7721 7722 +1
Branches 807 807
============================================
Hits 1163 1163
- Misses 6508 6509 +1
Partials 50 50 ☔ View full report in Codecov by Sentry. |
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.
@venkatesh2k3 I tested your changes locally, and it looks like you are listing all the letter-sound correspondences instead of only the ones that contain the letter.
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.
Thanks, @venkatesh2k3. Looks like it's working now 🙂
Can you also add the CSS class diff-highlight
to the matching letters (similarly to what we already have for matching sounds)?
↓
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.
Actionable comments posted: 2
@@ -46,7 +52,9 @@ public String handleRequest( | |||
model.addAttribute("timeStart", System.currentTimeMillis()); | |||
|
|||
model.addAttribute("letterContributionEvents", letterContributionEventDao.readAll(letter)); | |||
|
|||
|
|||
model.addAttribute("letterSounds", letterSoundDao.readAll()); |
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.
Addition of letterSounds
model attribute.
The letterSounds
attribute is added to the model, which is fetched using letterSoundDao.readAll()
. This is a straightforward implementation but consider adding error handling or checking the result of readAll()
to ensure it does not return null or an unexpected result.
Consider adding null checks or error handling around the DAO call to improve robustness.
<h5 class="center"><fmt:message key="letter.sound.correspondences" /></h5> | ||
|
||
<table class="bordered highlight"> | ||
<thead> | ||
<th><fmt:message key="frequency" /></th> | ||
<th><fmt:message key="letters" /></th> | ||
<th></th> | ||
<th><fmt:message key="sounds" /></th> | ||
</thead> | ||
<tbody> | ||
<c:forEach var="letterSound" items="${letterSounds}"> | ||
<%-- Check if the current letter is used by the letter-sound. --%> | ||
<c:set var="isUsedByLetterSound" value="false" /> | ||
<c:forEach var="l" items="${letterSound.letters}"> | ||
<c:if test="${letter.id == l.id}"> | ||
<c:set var="isUsedByLetterSound" value="true" /> | ||
</c:if> | ||
</c:forEach> | ||
<c:if test="${isUsedByLetterSound}"> | ||
<tr> | ||
<td> | ||
${letterSound.usageCount} | ||
</td> | ||
<td> | ||
" <c:forEach var="letter" items="${letterSound.letters}"> | ||
<a href="<spring:url value='/content/letter/edit/${letter.id}' />">${letter.text} </a> | ||
</c:forEach> " | ||
</td> | ||
<td> | ||
➞ | ||
</td> | ||
<td> | ||
/ <c:forEach var="s" items="${letterSound.sounds}"> | ||
<a href="<spring:url value='/content/sound/edit/${s.id}' />"> | ||
<c:if test="${s.id == sound.id}"> | ||
<span class='diff-highlight'></c:if>${s.valueIpa}<c:if test="${s.id == sound.id}"></span></c:if> | ||
</a> | ||
</c:forEach> / | ||
</td> | ||
</tr> | ||
</c:if> | ||
</c:forEach> | ||
</tbody> | ||
</table> |
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.
Review the new table for letter sound correspondences.
The new table is well-structured with appropriate headers and data bindings. The nested loops and conditionals are correctly used to display data based on the letterSounds
model attribute. However, ensure that the data fetched (letterSounds
) is not empty to avoid rendering an empty table.
Add checks to ensure letterSounds
is not empty before rendering the table to enhance user experience and prevent potential errors.
No description provided.