Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.

fix(patients): fixes search when using special characters #2012

Merged
merged 41 commits into from
Apr 30, 2020
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
1f19bb8
npm yarn install
JDarke Apr 21, 2020
1d922c7
fix(src/components/input/textfieldwithlabelformgroup.tsx): update Label
JDarke Apr 21, 2020
7efe678
revert(package.json): remove yarn listing
JDarke Apr 21, 2020
c7dba69
Merge branch 'master' into master
Apr 21, 2020
ba91b21
Merge branch 'master' into master
Apr 21, 2020
404a7a2
Merge branch 'master' into master
Apr 22, 2020
6a2523c
Merge branch 'master' into master
Apr 22, 2020
9f8c1d7
Merge branch 'master' into master
Apr 22, 2020
9bfb378
Merge branch 'master' into master
Apr 22, 2020
71cd8b0
Merge branch 'master' into master
Apr 22, 2020
8cac332
Merge branch 'master' into master
Apr 22, 2020
92ad7f7
Merge branch 'master' into master
Apr 22, 2020
b7e355a
Merge branch 'master' into master
Apr 22, 2020
36b889e
test(textfieldwithlabelformgroup.test.tsx): add test to Label isRequired
JDarke Apr 22, 2020
7791d9e
refactor(textfieldwithlabelformgroup.test.tsx): make props semantic
JDarke Apr 22, 2020
add9c02
fix(patientrepository.ts): clean the search string of illegal chars
JDarke Apr 23, 2020
57144a2
fix(patientrepository.ts): clean search string of illegal chars
JDarke Apr 23, 2020
0ffef66
fix(patientrepository.ts): clean search string of special chars
JDarke Apr 24, 2020
3354e9f
Merge branch 'master' into master
Apr 24, 2020
7cfaf06
Merge branch 'master' into master
Apr 24, 2020
a6e9be3
Merge branch 'master' into master
Apr 24, 2020
ee2f4d6
Merge branch 'master' into master
Apr 24, 2020
6b56390
Merge branch 'master' into master
Apr 25, 2020
b147cae
Merge branch 'master' into master
Apr 25, 2020
14c71f8
Merge branch 'master' into master
Apr 25, 2020
8b044e5
Merge branch 'master' into master
Apr 25, 2020
fccc145
test(patientrepository.test.ts): add test for search string clean regex
JDarke Apr 25, 2020
1f97dff
test(src/__tests__/clients/db/patientrepository.test.ts): add test
JDarke Apr 25, 2020
7347207
revert(package.json): undo mocha dependency in package.json
JDarke Apr 25, 2020
1d2c485
Merge branch 'master' into master
Apr 26, 2020
df737ec
Merge branch 'master' into master
Apr 26, 2020
7e63752
Merge branch 'master' into master
Apr 26, 2020
f3ec82a
Merge branch 'master' into master
Apr 27, 2020
5214a4c
Merge branch 'master' into master
Apr 27, 2020
6b5b30b
Merge branch 'master' into master
Apr 27, 2020
f830e3d
Merge branch 'master' into master
Apr 27, 2020
d2314da
Merge branch 'master' into master
Apr 28, 2020
234b125
Merge branch 'master' into master
Apr 28, 2020
b603dd1
fix(src/clients/db/patientrepository.ts): add escapeStringRegex package
JDarke Apr 28, 2020
bb1af60
Merge branch 'master' of https://github.com/JDarke/hospitalrun-frontend
JDarke Apr 29, 2020
d8be269
Merge branch 'master' into master
Apr 29, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,25 @@ describe('text field with label form group', () => {
expect(label.prop('text')).toEqual(expectedName)
})

it('should render label as required if isRequired is true', () => {
const expectedName = 'test'
const expectedRequired = true
const wrapper = shallow(
<TextFieldWithLabelFormGroup
name={expectedName}
label="test"
value=""
isEditable
isRequired={expectedRequired}
onChange={jest.fn()}
/>,
)

const label = wrapper.find(Label)
expect(label).toHaveLength(1)
expect(label.prop('isRequired')).toBeTruthy()
})

it('should render a text field', () => {
const expectedName = 'test'
const wrapper = shallow(
Expand Down
3 changes: 2 additions & 1 deletion src/clients/db/PatientRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@ export class PatientRepository extends Repository<Patient> {
}

async search(text: string): Promise<Patient[]> {
const cleanText = text.replace(/[\\[()?*]+/g, '')
Copy link
Contributor

@akshay-ap akshay-ap Apr 24, 2020

Choose a reason for hiding this comment

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

I also checked with String {1}.
SyntaxError: Invalid regular expression: /{1}/: Nothing to repeat.
Can you please handle this case as well?

Copy link
Member

Choose a reason for hiding this comment

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

I think that we should also remove ], and {, and }

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, will do.

Copy link
Member

Choose a reason for hiding this comment

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

I think that we need to remove all valid regex chars. Is there any lib out there that can help us to not forget any char?

return super.search({
selector: {
$or: [
{
fullName: {
$regex: RegExp(text, 'i'),
$regex: RegExp(cleanText, 'i'),
},
},
{
Expand Down
4 changes: 2 additions & 2 deletions src/components/input/TextFieldWithLabelFormGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ interface Props {
}

const TextFieldWithLabelFormGroup = (props: Props) => {
const { value, label, name, isEditable, isInvalid, feedback, onChange } = props
const { value, label, name, isEditable, isInvalid, isRequired, feedback, onChange } = props
const id = `${name}TextField`
return (
<div className="form-group">
<Label text={label} htmlFor={id} isRequired />
<Label text={label} htmlFor={id} isRequired={isRequired} />
<TextField
rows={4}
value={value}
Expand Down