From e03bf7609ef0cd1d0a5dbd81336a2f25c7d0956a Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 9 Jan 2020 03:41:16 +0100 Subject: [PATCH] fix paging bug --- .../components/SingleIncidentsTable.js | 48 ++++++++++++------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js b/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js index d15dee2..f109c51 100644 --- a/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js +++ b/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js @@ -125,17 +125,6 @@ class SingleIncidentsTable extends Component { inputIdToFocus } = this.state; - const changedIncidentsProxy = { - [UNLOCKED_INCIDENT_RELATED_WITH_RESERVATION]: changedUnlockedIncidentIds, - [UNLOCKED_INCIDENT_STANDALONE]: changedUnlockedIncidentIds, - [UNSCHEDULED_INCIDENT_BEFORE_RESERVATION]: changedUnscheduledIncidentIds, - [UNSCHEDULED_INCIDENT_AFTER_RESERVATION]: changedUnscheduledIncidentIds, - [UNSCHEDULED_INCIDENT_STANDALONE]: changedUnscheduledIncidentIds, - [BOOKING_SHORTENED]: changedBookingChangeIncidentIds, - [BOOKING_MOVED_TO_ANOTHER_DAY]: changedBookingChangeIncidentIds, - [BOOKING_CANCELED_LATE]: changedBookingChangeIncidentIds - }; - const totalSelected = selectedUnlockedIncidentIds.length + selectedUnscheduledIncidentIds.length + selectedBookingChangeIncidentIds.length; const numberOfSelectedText = totalSelected > 0 ? ` (${totalSelected})` : ''; @@ -175,7 +164,7 @@ class SingleIncidentsTable extends Component { const incidentType = parseInt(incidentData[0]) || null; const incidentID = parseInt(incidentData[1]) || null; - if ((newValueFloat || (newValueFloat === 0)) && incidentType && incidentID){ + if ((newValueFloat || (newValueFloat === 0) || (isNaN(newValueFloat))) && incidentType && incidentID){ const changedUnlockedIncidentIdsCopy = Object.assign({}, changedUnlockedIncidentIds); const changedUnscheduledIncidentIdsCopy = Object.assign({}, changedUnscheduledIncidentIds); const changedBookingChangeIncidentIdsCopy = Object.assign({}, changedBookingChangeIncidentIds); @@ -287,11 +276,36 @@ class SingleIncidentsTable extends Component { case 'totalChargeFee': clickablePrice = true; let totalFee = 0; - const changedFee = changedIncidentsProxy[props.row['_original'].incidentType][props.row['_original'].incidentId]; - if (changedFee || (changedFee === 0)){ - totalFee = changedFee; - priceFontColor = 'red'; + + let changedIncidentsProxy; + switch (props.row['_original'].incidentType) { + case UNLOCKED_INCIDENT_STANDALONE: + case UNLOCKED_INCIDENT_RELATED_WITH_RESERVATION: + changedIncidentsProxy = changedUnlockedIncidentIds; + break; + case UNSCHEDULED_INCIDENT_STANDALONE: + case UNSCHEDULED_INCIDENT_BEFORE_RESERVATION: + case UNSCHEDULED_INCIDENT_AFTER_RESERVATION: + changedIncidentsProxy = changedUnscheduledIncidentIds; + break; + case BOOKING_CANCELED_LATE: + case BOOKING_MOVED_TO_ANOTHER_DAY: + case BOOKING_SHORTENED: + changedIncidentsProxy = changedBookingChangeIncidentIds; + break; + } + const changedFee = changedIncidentsProxy[props.row['_original'].incidentId]; + + if (typeof changedFee === 'number'){ + // Not undefined, maybe 0 or NaN + if (isNaN(changedFee)){ + totalFee = ''; + }else{ + totalFee = changedFee; + priceFontColor = 'red'; + } }else{ + //Not defined, in this context means it is not changed totalFee = parseFloat((props.row['_original'].incidentPrice || props.value) || 0).toFixed(2); } // const totalFeeFormatted = parseFloat(totalFee).toFixed(2); @@ -320,7 +334,7 @@ class SingleIncidentsTable extends Component { style={{ color: priceFontColor }} type={'number'} onChange={priceChangeHandler} - defaultValue={priceAsNumber} + value={priceAsNumber} autoFocus={priceInputID === inputIdToFocus} />