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

CU-86byrr1tv Design View For Deterministic Tab #247

Conversation

NyashaMuusha
Copy link
Collaborator

@NyashaMuusha NyashaMuusha commented May 21, 2024

Description of changes

added select fields
add select operator fields

How to test

navigate to http://localhost:3001/settings
open the deterministic tab

To run unit tests:

npm test

Summary by CodeRabbit

  • New Features

    • Enhanced the Deterministic settings page with improved state management, rule addition functionality, and updated UI for better user interaction.
    • Added demographic data handling to the Settings page.
  • Bug Fixes

    • Minor export statement correction in GoldenRecordLists for consistency.
  • Tests

    • Added comprehensive tests for the Deterministic component to ensure reliable rendering and user interaction handling.

@rcrichton
Copy link
Member

Copy link
Contributor

coderabbitai bot commented May 21, 2024

Walkthrough

The recent changes enhance the Deterministic component in JeMPI UI by introducing state management, local storage handling, and dynamic UI updates. The Settings component now passes demographicData to Deterministic. Minor adjustments were made to GoldenRecordLists.tsx and helpers.ts to support these updates, and new tests were added to ensure robust functionality.

Changes

File Path Change Summary
JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx Added state management, local storage handling, event handlers, and UI updates for rule display and interaction.
JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx Minor modification in the export statement.
JeMPI_Apps/JeMPI_UI/src/pages/settings/Settings.tsx Passed demographicData as a prop to the Deterministic component.
JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx Added tests for rendering, view changes, and handling user interactions for the Deterministic component.
JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts Added a new Params type and updated transformFieldName function to handle new input types.

In code we trust, with lines so neat,
Our Deterministic now complete.
With states and hooks, it’s quite a feat,
To make our app more sweet.
🐇✨

Tip

New Features and Improvements

Review Settings

Introduced new personality profiles for code reviews. Users can now select between "Chill" and "Assertive" review tones to tailor feedback styles according to their preferences. The "Assertive" profile posts more comments and nitpicks the code more aggressively, while the "Chill" profile is more relaxed and posts fewer comments.

AST-based Instructions

CodeRabbit offers customizing reviews based on the Abstract Syntax Tree (AST) pattern matching. Read more about AST-based instructions in the documentation.

Community-driven AST-based Rules

We are kicking off a community-driven initiative to create and share AST-based rules. Users can now contribute their AST-based rules to detect security vulnerabilities, code smells, and anti-patterns. Please see the ast-grep-essentials repository for more information.

New Static Analysis Tools

We are continually expanding our support for static analysis tools. We have added support for biome, hadolint, and ast-grep. Update the settings in your .coderabbit.yaml file or head over to the settings page to enable or disable the tools you want to use.

Tone Settings

Users can now customize CodeRabbit to review code in the style of their favorite characters or personalities. Here are some of our favorite examples:

  • Mr. T: "You must talk like Mr. T in all your code reviews. I pity the fool who doesn't!"
  • Pirate: "Arr, matey! Ye must talk like a pirate in all yer code reviews. Yarrr!"
  • Snarky: "You must be snarky in all your code reviews. Snark, snark, snark!"

Revamped Settings Page

We have redesigned the settings page for a more intuitive layout, enabling users to find and adjust settings quickly. This change was long overdue; it not only improves the user experience but also allows our development team to add more settings in the future with ease. Going forward, the changes to .coderabbit.yaml will be reflected in the settings page, and vice versa.

Miscellaneous

  • Turn off free summarization: You can switch off free summarization of PRs opened by users not on a paid plan using the enable_free_tier setting.
  • Knowledge-base scope: You can now set the scope of the knowledge base to either the repository (local) or the organization (global) level using the knowledge_base setting. In addition, you can specify Jira project keys and Linear team keys to limit the knowledge base scope for those integrations.
  • High-level summary placement: You can now customize the location of the high-level summary in the PR description using the high_level_summary_placeholder setting (default @coderabbitai summary).
  • Revamped request changes workflow: You can now configure CodeRabbit to auto-approve or request changes on PRs based on the review feedback using the request_changes_workflow setting.

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?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@NyashaMuusha NyashaMuusha changed the title Cu 86byrr5pw add select field list items Cu 86byrr5pw Design View For Deterministic Tab May 21, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between 29504c9 and 40a1453.
Files selected for processing (4)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/Settings.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/deterministic.tsx (2 hunks)
  • JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2 hunks)
Files skipped from review due to trivial changes (1)
  • JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx
Additional comments not posted (2)
JeMPI_Apps/JeMPI_UI/src/pages/settings/Settings.tsx (1)

143-143: Properly pass demographicData to the Deterministic component.

This change ensures that the Deterministic component receives the necessary data to function correctly.

JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/deterministic.tsx (1)

36-190: Comprehensive update to the Deterministic component.

The updates include proper state management, event handling, and an enhanced JSX structure, which collectively improve the component's functionality and user interaction.

JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts Outdated Show resolved Hide resolved
…List-Items' into CU-86byrr5pw_Add-Select-Field-List-Items

# Conflicts:
#	JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between 40a1453 and 807577d.
Files selected for processing (4)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/deterministic.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (3 hunks)
Files skipped from review due to trivial changes (1)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx
Files skipped from review as they are similar to previous changes (3)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/deterministic.tsx
  • JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts

…ation' into CU-86byrr5pw_Add-Select-Field-List-Items

# Conflicts:
#	JeMPI_Apps/JeMPI_UI/src/pages/settings/Settings.tsx
#	JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx
#	JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx
#	JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

Outside diff range and nitpick comments (1)
JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (1)

205-213: Ensure accessibility and usability in the rules display.

The display of rules in the source view uses a simple typographic component. Consider enhancing this by adding more interactive elements or visual cues to improve usability and accessibility, such as buttons for editing or deleting rules, or visual differentiation between different types of rules.

Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between 807577d and 0284858.
Files selected for processing (5)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/Settings.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2 hunks)
Files skipped from review as they are similar to previous changes (4)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/Settings.tsx
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/goldenRecordLists/GoldenRecordLists.tsx
  • JeMPI_Apps/JeMPI_UI/src/test/Settings/Deterministic.test.tsx
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts
Additional comments not posted (2)
JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (2)

35-35: Review the default prop handling for demographicData.

The default value for demographicData is set directly in the function signature. This is generally safe, but ensure that all callers of this component are aware of this default behavior and that it aligns with the expected use cases.


94-103: Validate the logic in handleAddRule.

The handleAddRule function constructs a rule based on selected fields and operators. Ensure that the logic correctly handles all edge cases, especially when no operator is selected but multiple fields are. This could lead to unexpected behavior or invalid rule configurations.

@MatthewErispe MatthewErispe changed the title Cu 86byrr5pw Design View For Deterministic Tab CU-86byrr5pw Design View For Deterministic Tab May 24, 2024
@MatthewErispe MatthewErispe changed the title CU-86byrr5pw Design View For Deterministic Tab CU-86byrr1tv Design View For Deterministic Tab May 24, 2024
@rcrichton
Copy link
Member

Task linked: CU-86byrr1tv Design View

MatthewErispe and others added 2 commits May 24, 2024 12:26
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…stic.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Outside diff range and nitpick comments (2)
JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2)

Line range hint 65-65: Refactor encodeQueryString to improve type safety and readability.

Consider specifying a more appropriate type than any and using template literals for string operations:

- export const encodeQueryString = (queryObj: any, nesting = ''): string => {
+ export const encodeQueryString = (queryObj: Record<string, unknown>, nesting = ''): string => {
  const pairs = Object.entries(queryObj).map(([key, val]) => {
    if (Array.isArray(val)) {
      return val
        .map(subVal => `${nesting}${key}=${escape(subVal)}`)
        .join('&')
    } else if (typeof val === 'object') {
      return encodeQueryString(val, `${nesting}${key}.`)
    } else {
-      return [nesting + key, val]
-        .map(s => encodeURIComponent(s ? s.toString() : ''))
-        .join('=')
+      return `${nesting}${key}=${encodeURIComponent(val ? val.toString() : '')}`
    }
  })
  return pairs.join('&')
}

Also applies to: 72-72, 73-77


Line range hint 83-83: Improve type safety in decodeQueryString.

Specify a more appropriate type than any to enhance type safety and maintainability:

- export const decodeQueryString = <T>(queryString: string): any => {
+ export const decodeQueryString = <T extends Record<string, unknown>>(queryString: string): T => {
  const queryStringPieces = queryString.split('&')
  const decodedQueryString: Record<string, unknown> = {}

  for (const piece of queryStringPieces) {
    let [key, value] = piece.split('=')
    value = value || ''
    if (key in decodedQueryString) {
      const currentValueForKey = decodedQueryString[key]
      if (!Array.isArray(currentValueForKey)) {
        decodedQueryString[key] = [currentValueForKey, value]
      } else {
        currentValueForKey.push(value)
      }
    } else {
      decodedQueryString[key] = value
    }
  }
  return decodedQueryString as T
}

Also applies to: 86-86

Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between 0284858 and 2409084.
Files selected for processing (1)
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2 hunks)
Additional Context Used
Biome (8)
JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (8)

65-65: Unexpected any. Specify a different type.


71-77: This else clause can be omitted because previous branches break early.


72-72: Template literals are preferred over string concatenation.


73-77: This else clause can be omitted because previous branches break early.


83-83: Unexpected any. Specify a different type.


86-86: Unexpected any. Specify a different type.


1-1: All these imports are only used as types.


1-2: All these imports are only used as types.

Additional comments not posted (2)
JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2)

25-29: Introduce a new type Params for enhanced function flexibility.

This new type allows the transformFieldName function to accept either a string or a structured object, improving the function's usability in different contexts.


148-150: Refactor transformFieldName to handle new input types effectively.

This modification enhances the function's flexibility by allowing it to process different input structures. Consider using optional chaining more consistently for readability:

- const fieldName = typeof input === 'string' ? input : input?.row?.fieldName || 'Unknown Field';
+ const fieldName = typeof input === 'string' ? input : input.row?.fieldName ?? 'Unknown Field';

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 and nitpick comments (1)
JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (1)

Line range hint 1-13: Optimize imports by removing unused ones.

- import { useEffect, useState } from 'react';
- import { DemographicField, Configuration } from 'types/Configuration';

These imports are only used as types and should be imported using import type.

Also applies to: 14-15

Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between 2409084 and e7c2d9e.
Files selected for processing (1)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (1 hunks)
Additional Context Used
Biome (9)
JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (9)

40-40: Unexpected any. Specify a different type.


1-13: Some named imports are only used as types.


14-15: All these imports are only used as types.


44-44: This hook does not specify all of its dependencies: selectedComparator


44-44: This hook does not specify all of its dependencies: selectedFields


151-151: Avoid using the index of an array as key property in an element.


168-168: Avoid using the index of an array as key property in an element.


185-185: Avoid using the index of an array as key property in an element.


205-205: Avoid using the index of an array as key property in an element.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Outside diff range and nitpick comments (2)
JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2)

Line range hint 64-64: Specify a more appropriate type instead of any.

The use of any type in various functions reduces type safety and can lead to maintenance issues. Consider specifying more appropriate types.

- export const decodeQueryString = <T>(queryString: string): any => {
+ export const decodeQueryString = <T>(queryString: string): T => {

Also applies to: 82-82, 85-85


Line range hint 70-76: Refactor to use template literals and simplify logic.

The encodeQueryString function can be simplified by using template literals and removing unnecessary else clauses.

-    } else if (typeof val === 'object') {
-      return encodeQueryString(val, nesting + `${key}.`)
-    } else {
-      return [nesting + key, val]
-        .map(s => encodeURIComponent(s ? s.toString() : ''))
-        .join('=')
-    }
+    if (typeof val === 'object') {
+      return encodeQueryString(val, `${nesting}${key}.`)
+    }
+    return `${nesting}${key}=${encodeURIComponent(val ? val.toString() : '')}`;
Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between e7c2d9e and d344d98.
Files selected for processing (2)
  • JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (1 hunks)
  • JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (2 hunks)
Additional Context Used
Biome (14)
JeMPI_Apps/JeMPI_UI/src/pages/settings/deterministic/Deterministic.tsx (6)

43-43: Unexpected any. Specify a different type.


1-13: Some named imports are only used as types.


14-15: All these imports are only used as types.


47-47: This hook does not specify all of its dependencies: selectedComparator


47-47: This hook does not specify all of its dependencies: selectedFields


217-217: Avoid using the index of an array as key property in an element.

JeMPI_Apps/JeMPI_UI/src/utils/helpers.ts (8)

64-64: Unexpected any. Specify a different type.


70-76: This else clause can be omitted because previous branches break early.


71-71: Template literals are preferred over string concatenation.


72-76: This else clause can be omitted because previous branches break early.


82-82: Unexpected any. Specify a different type.


85-85: Unexpected any. Specify a different type.


1-1: All these imports are only used as types.


1-2: All these imports are only used as types.

Comment on lines +25 to +29
type Params = {
row?: {
fieldName?: string
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Define the Params type more robustly.

Consider adding more fields to the Params type if they are expected to be used in the future. This will make the type more robust and flexible for further developments.

Comment on lines +147 to +153
export const transformFieldName = (input: Params | string): string => {
const fieldName =
typeof input === 'string' ? input : input?.row?.fieldName || 'Unknown Field'
return fieldName
.replace(/_/g, ' ')
.replace(/\b\w/g, (char: string) => char.toUpperCase())
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Handle potential null or undefined values in transformFieldName.

The function transformFieldName should handle potential null or undefined values more gracefully to prevent runtime errors. Consider implementing a more robust defaulting mechanism or validation.

-  const fieldName = typeof input === 'string' ? input : input?.row?.fieldName || 'Unknown Field';
+  const fieldName = typeof input === 'string' ? input : input?.row?.fieldName || 'Unknown Field'; // Ensure input is not null or undefined

Committable suggestion was skipped due low confidence.

}}
>
{Object.keys(deterministicRules).map((key, index) => (
<Typography key={index} variant="h5" sx={{ fontSize: '1.1rem' }}>
Copy link
Contributor

Choose a reason for hiding this comment

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

Avoid using the index as a key in list renderings.

Using the index as a key in React list renderings can lead to issues with component state and performance, especially with dynamic lists. Consider using a unique identifier.

const [selectedComparator, setSelectedComparator] = useState<number>(0)
const [selectedFields, setSelectedFields] = useState<string[]>([])
const [selectedOperator, setSelectedOperator] = useState<Operator | ''>('')
const [rules, setRules] = useState<any[]>([])
Copy link
Contributor

Choose a reason for hiding this comment

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

Specify a more appropriate type instead of any for rules state.

Using any can lead to potential type safety issues. Define or import a RuleType that accurately describes the structure of a rule.

- const [rules, setRules] = useState<any[]>([]);
+ const [rules, setRules] = useState<RuleType[]>([]); // Assuming RuleType is defined elsewhere

Committable suggestion was skipped due low confidence.

Comment on lines +47 to +63
useEffect(() => {
const savedComparator = localStorage.getItem('selectedComparator')
const savedFields = localStorage.getItem('selectedFields')
const savedOperator = localStorage.getItem('selectedOperator')
const savedRules = localStorage.getItem('rules')

if (savedComparator || savedFields || savedOperator || savedRules) {
const parsedRules = savedRules ? JSON.parse(savedRules) : []
setRules(parsedRules)
setSelectedComparator(
savedComparator ? Number(savedComparator) : selectedComparator
)
setSelectedFields(savedFields ? JSON.parse(savedFields) : selectedFields)
setSelectedOperator(savedOperator ? (savedOperator as Operator) : '')
setIsOperatorDisabled(parsedRules.length === 0)
}
}, [])
Copy link
Contributor

Choose a reason for hiding this comment

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

Add missing dependencies to useEffect to ensure correct behavior.

The useEffect hook is missing dependencies which can lead to stale closures and unexpected behavior. Ensure all used state and props are included in the dependency array.

- }, []);
+ }, [selectedComparator, selectedFields, selectedOperator, rules]);

Committable suggestion was skipped due low confidence.

Copy link
Collaborator

@MatthewErispe MatthewErispe left a comment

Choose a reason for hiding this comment

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

@NyashaMuusha the changes looks good to me. This will need to be amended due to change in scope

@MatthewErispe MatthewErispe merged commit 09c8535 into CU-86by1w64p_JeMPI-UI-Configuration May 27, 2024
@MatthewErispe MatthewErispe deleted the CU-86byrr5pw_Add-Select-Field-List-Items branch May 27, 2024 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants