mirror of
https://github.com/Kingsrook/qqq-frontend-material-dashboard.git
synced 2025-07-17 21:00:45 +00:00
CE-798 - A fix for last change here, where if criteria came from outside this component, then changing operator wouldn't take - another check of isOpen in some of the reset code.
This commit is contained in:
@ -190,14 +190,24 @@ export default function QuickFilter({tableMetaData, fullFieldName, fieldMetaData
|
|||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
if (criteriaParamIsCriteria(criteriaParam) && JSON.stringify(criteriaParam) !== JSON.stringify(criteria))
|
if (criteriaParamIsCriteria(criteriaParam) && JSON.stringify(criteriaParam) !== JSON.stringify(criteria))
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
if(isOpen)
|
||||||
// copy the criteriaParam to a new object in here - so changes won't apply until user closes the menu //
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
const newCriteria = Object.assign({}, criteriaParam) as QFilterCriteriaWithId;
|
// this was firing too-often for case where: there was a criteria originally //
|
||||||
setCriteria(newCriteria);
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
const operatorOption = operatorOptions.filter(o => o.value == newCriteria.operator)[0];
|
console.log("Not handling outside change (A), because dropdown is-open");
|
||||||
setOperatorSelectedValue(operatorOption);
|
}
|
||||||
setOperatorInputValue(operatorOption.label);
|
else
|
||||||
|
{
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// copy the criteriaParam to a new object in here - so changes won't apply until user closes the menu //
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
const newCriteria = Object.assign({}, criteriaParam) as QFilterCriteriaWithId;
|
||||||
|
setCriteria(newCriteria);
|
||||||
|
const operatorOption = operatorOptions.filter(o => o.value == newCriteria.operator)[0];
|
||||||
|
setOperatorSelectedValue(operatorOption);
|
||||||
|
setOperatorInputValue(operatorOption.label);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
@ -218,6 +228,7 @@ export default function QuickFilter({tableMetaData, fullFieldName, fieldMetaData
|
|||||||
// this was firing too-often for case where: there was no criteria originally, //
|
// this was firing too-often for case where: there was no criteria originally, //
|
||||||
// so, by adding this is-open check, we eliminated those. //
|
// so, by adding this is-open check, we eliminated those. //
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
console.log("Not handling outside change (B), because dropdown is-open");
|
||||||
return (false);
|
return (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,6 +323,9 @@ export default function QuickFilter({tableMetaData, fullFieldName, fieldMetaData
|
|||||||
setOperatorSelectedValue(null);
|
setOperatorSelectedValue(null);
|
||||||
setOperatorInputValue("");
|
setOperatorInputValue("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setCriteria(criteria);
|
||||||
|
forceUpdate();
|
||||||
};
|
};
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
Reference in New Issue
Block a user