-
Notifications
You must be signed in to change notification settings - Fork 20
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/HCMPRE-1624 : added alert, fixed localisation on checklist & added more date info on Hierarchy #2054
Conversation
📝 WalkthroughWalkthroughThe pull request encompasses modifications across multiple files in the campaign manager module. The changes primarily focus on enhancing user interface components, improving data handling, and refining component logic. Key updates include restructuring the Changes
Sequence DiagramsequenceDiagram
participant User
participant ViewChecklist
participant API1
participant API2
User->>ViewChecklist: Loads component
ViewChecklist->>API1: First API call
API1-->>ViewChecklist: Retrieve service definition
ViewChecklist->>ViewChecklist: Set serviceDefId
alt serviceDefId exists
ViewChecklist->>API2: Second API call
API2-->>ViewChecklist: Check service modification
alt Service modified today
ViewChecklist->>ViewChecklist: Set updateDisable to true
end
end
User->>ViewChecklist: Attempts form submission
ViewChecklist->>ViewChecklist: Check updateDisable state
Possibly related PRs
Suggested reviewers
Poem
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command 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 using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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: 4
🔭 Outside diff range comments (1)
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/BoundaryHome.js (1)
Line range hint
67-81
: Consider performance optimization for button renderingThe button rendering logic could be optimized by:
- Extracting the button disable conditions to a memoized function
- Memoizing the mapped buttons to prevent unnecessary re-renders
Here's a suggested implementation:
const ButtonComponent = React.memo(({ keyName, data, history, setShowPopUp }) => { const isBoundaryDataEmpty = Object.keys(data?.boundaryData || {})?.length === 0; const isEditDisabled = keyName === "EDIT_BOUNDARY_DATA" && isBoundaryDataEmpty; const isCreateDisabled = keyName === "CREATE_NEW_BOUNDARY_DATA" && !isBoundaryDataEmpty; return ( <Button type="button" size="large" variation="secondary" label={t(keyName)} isDisabled={isEditDisabled || isCreateDisabled} onClick={() => navigate(history, keyName, data, setShowPopUp)} style={{ width: "35rem", height: "5rem" }} textStyles={{ fontSize: "1.5rem" }} /> ); });Then in the render:
{Object.keys(boundaryHomeConfig)?.map(key => ( <ButtonComponent key={key} keyName={key} data={data} history={history} setShowPopUp={setShowPopUp} /> ))}🧰 Tools
🪛 Biome (1.9.4)
[error] 86-86: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.(lint/correctness/useJsxKeyInIterable)
[error] 87-87: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.(lint/correctness/useJsxKeyInIterable)
[error] 88-88: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.(lint/correctness/useJsxKeyInIterable)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/FinalPopup.js
(1 hunks)health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/BoundaryHome.js
(3 hunks)health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/UpdateChecklist.js
(1 hunks)health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/ViewChecklist.js
(5 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/UpdateChecklist.js (1)
Pattern **/*.js
: check
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/ViewChecklist.js (1)
Pattern **/*.js
: check
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/FinalPopup.js (1)
Pattern **/*.js
: check
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/BoundaryHome.js (1)
Pattern **/*.js
: check
🪛 Biome (1.9.4)
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/UpdateChecklist.js
[error] 400-400: This let declares a variable that is only assigned once.
'roleTemp' is never reassigned.
Safe fix: Use const instead.
(lint/style/useConst)
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/BoundaryHome.js
[error] 86-86: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.
(lint/correctness/useJsxKeyInIterable)
[error] 87-87: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.
(lint/correctness/useJsxKeyInIterable)
[error] 88-88: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.
(lint/correctness/useJsxKeyInIterable)
🔇 Additional comments (4)
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/BoundaryHome.js (2)
1-1
: LGTM: Clean import addition
The InfoCard import is correctly added from the digit-ui-components package.
52-52
: LGTM: Clean type assignment
Good use of optional chaining for the type assignment with fallback to config type.
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/ViewChecklist.js (1)
30-31
: LGTM! Well-structured state management.
The addition of serviceDefId and updateDisable states provides clear control over the form's behavior.
health/micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/UpdateChecklist.js (1)
398-400
: 🛠️ Refactor suggestion
Use const for variables that aren't reassigned.
Following the static analysis hint, these variables should use const as they're not reassigned.
-let checklistTypeTemp = checklistType.toUpperCase().replace(/ /g, "_");
+const checklistTypeTemp = checklistType.toUpperCase().replace(/ /g, "_");
if (checklistTypeCode) checklistTypeTemp = checklistTypeCode;
-let roleTemp = role.toUpperCase().replace(/ /g, "_");
+const roleTemp = role.toUpperCase().replace(/ /g, "_");
Likely invalid or redundant comment.
🧰 Tools
🪛 Biome (1.9.4)
[error] 400-400: This let declares a variable that is only assigned once.
'roleTemp' is never reassigned.
Safe fix: Use const instead.
(lint/style/useConst)
Choose the appropriate template for your PR:
Feature PR
Feature Request
JIRA ID
Module
Description
Related Issues
Bugfix PR
Bugfix Request
JIRA ID
Module
Description
Root Cause
Related Issues
Release PR
Summary by CodeRabbit
New Features
InfoCard
component in the BoundaryHome page to display hierarchy information.FinalPopup
component to present alerts with clearer messaging.Bug Fixes
Enhancements