From e280a408c91cdd2728ff8dedb4751de9bf44d556 Mon Sep 17 00:00:00 2001 From: Alexander Smith Date: Thu, 14 Sep 2023 14:44:10 -0600 Subject: [PATCH 1/2] Move ReceiptDate Filter Error Messages Move error messages below the label that has an error. --- client/app/reader/DocumentsTable.jsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/client/app/reader/DocumentsTable.jsx b/client/app/reader/DocumentsTable.jsx index b0f577d722e..ced782aa1c2 100644 --- a/client/app/reader/DocumentsTable.jsx +++ b/client/app/reader/DocumentsTable.jsx @@ -110,7 +110,6 @@ class DocumentsTable extends React.Component { this.setState({ fromDateErrors: foundErrors }); return foundErrors; - }; setDateFrom = (pickedDate) => { @@ -491,20 +490,20 @@ class DocumentsTable extends React.Component { defaultValue="On this date" /> {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.FROM) && - this.state.fromDateErrors.map((error, index) => -

{error}

)} - {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.FROM) && } + {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.FROM) && + this.state.fromDateErrors.map((error, index) => +

{error}

)} - {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.TO) && - this.state.toDateErrors.map((error) => -

{error}

)} {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.TO) && } + {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.TO) && + this.state.toDateErrors.map((error) => +

{error}

)} {this.state.recieptFilter === recieptDateFilterStates.UNINITIALIZED && } From 27bcaa596ebaee11afa573ee50d9fd50b51576e1 Mon Sep 17 00:00:00 2001 From: Alexander Smith Date: Fri, 15 Sep 2023 11:15:31 -0600 Subject: [PATCH 2/2] Refactor ReceiptDate Error Messages - Use built-in errorMessage prop for DateFilter components. - Fix some styling issues in the ReceiptDate dropdown, esp. when error messages are displayed. --- client/app/reader/DocumentsTable.jsx | 111 ++++++++++++++++----------- 1 file changed, 67 insertions(+), 44 deletions(-) diff --git a/client/app/reader/DocumentsTable.jsx b/client/app/reader/DocumentsTable.jsx index 84b92a44bc7..620b2ee781d 100644 --- a/client/app/reader/DocumentsTable.jsx +++ b/client/app/reader/DocumentsTable.jsx @@ -174,6 +174,20 @@ class DocumentsTable extends React.Component { this.setState({ onDate: pickedDate }); } + errorMessagesNode = (errors, errType) => { + if (errors.length) { + return ( +
+ { + errors.map((error, index) => +

{error}

+ ) + } +
+ ); + } + } + constructor() { super(); this.state = { @@ -470,7 +484,8 @@ class DocumentsTable extends React.Component { {isRecipetDateFilterOpen && (
+ right: '7vw' + }}> -
- this.updateRecieptFilter(newKey)} - defaultText={this.state.recieptFilter === recieptDateFilterStates.UNINITIALIZED ? 'Select...' : - dateDropdownMap[this.state.recieptFilter].displayText} - defaultValue="On this date" - /> - {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.FROM) && - } - {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.FROM) && - this.state.fromDateErrors.map((error, index) => -

{error}

)} - - {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.TO) && - } - {(this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.TO) && - this.state.toDateErrors.map((error) => -

{error}

)} - - {this.state.recieptFilter === recieptDateFilterStates.UNINITIALIZED && } - - {(this.state.recieptFilter === recieptDateFilterStates.ON) && this.state.onDateErrors.map((error) => -

{error}

)} - {this.state.recieptFilter === recieptDateFilterStates.ON && } - -
- -
- +
+
+ this.updateRecieptFilter(newKey)} + defaultText={this.state.recieptFilter === recieptDateFilterStates.UNINITIALIZED ? 'Select...' : + dateDropdownMap[this.state.recieptFilter].displayText} + defaultValue="On this date" + /> + { + (this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.FROM) && + + } + + { + (this.state.recieptFilter === recieptDateFilterStates.BETWEEN || this.state.recieptFilter === recieptDateFilterStates.TO) && + + } + + {this.state.recieptFilter === recieptDateFilterStates.UNINITIALIZED && } + + {(this.state.recieptFilter === recieptDateFilterStates.ON) && this.state.onDateErrors.map((error) => +

{error}

)} + {this.state.recieptFilter === recieptDateFilterStates.ON && } +
+ +
+
+ +
+ +