Skip to content

Commit 7ba260d

Browse files
authored
Merge pull request #1017 from Bonymol-aot/FWF-5762/variable-check-issue
FWF5762 : [BugFix] Resolved variable check issue
2 parents 33bab1c + c4a0bb2 commit 7ba260d

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

forms-flow-review/src/components/TaskFilterModal/TaskFilterModal.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ const TaskFilterModal = ({ show, onClose, toggleModal }) => {
3636
const defaultFilter = useSelector(
3737
(state: RootState) => state.task.defaultFilter
3838
);
39+
const selectedFilter = useSelector(
40+
(state: RootState) => state.task.selectedFilter
41+
);
3942
const limit = useSelector((state: RootState) => state.task.limit);
4043
const [currentStep, setCurrentStep] = useState(1);
4144
const [showUpdateModal, setShowUpdateModal] = useState(false);
@@ -107,7 +110,8 @@ const TaskFilterModal = ({ show, onClose, toggleModal }) => {
107110
dispatch(setBPMFilterList(updatedFilterList));
108111
dispatch(fetchBPMTaskCount(updatedFilterList));
109112
const isDefaultFilter = response.data.id === defaultFilter;
110-
if (isDefaultFilter) {
113+
const isCurrentlySelected = response.data.id === selectedFilter?.id;
114+
if (isDefaultFilter || isCurrentlySelected) {
111115
dispatch(setSelectedFilter(response.data));
112116
dispatch(fetchServiceTaskList(response.data, null, 1, limit));
113117
} else {

forms-flow-review/src/components/TaskFilterModal/TaskFilterModalBody.tsx

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -402,11 +402,20 @@ const handleFetchTaskVariables = (formId) => {
402402
fetchTaskVariables(formId)
403403
.then((res) => {
404404
const taskVariables = res.data?.taskVariables || [];
405-
const isEditingWithSameForm = filterToEdit?.id && filterToEdit?.properties?.formId === formId;
406-
// Always prefer latest saved filter state for existing variables (preserve isChecked)
407-
const sourceVars = (selectedFilterExistingData?.variables || filterToEdit?.variables || []);
405+
// Determine if we are editing an existing filter with the same form
406+
const savedFormId =
407+
filterToEdit?.properties?.formId ||
408+
selectedFilterExistingData?.properties?.formId;
409+
const isEditingWithSameForm =
410+
!!filterToEdit?.id &&
411+
savedFormId &&
412+
String(savedFormId) === String(formId);
413+
414+
// Always prefer latest saved filter state for existing variables (preserve isChecked and sortOrder)
415+
const sourceVars =
416+
selectedFilterExistingData?.variables || filterToEdit?.variables || [];
408417
let combinedVars;
409-
418+
410419
if (isEditingWithSameForm) {
411420
// Get current task variable keys for comparison
412421
const currentTaskVariableKeys = taskVariables
@@ -455,7 +464,12 @@ const handleFetchTaskVariables = (formId) => {
455464
combinedVars = [...preservedDefaultVars, ...dynamicVariables];
456465
}
457466

458-
setVariableArray(combinedVars);
467+
// Ensure UI reflects persisted ordering
468+
const sortedVars = [...combinedVars].sort(
469+
(a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0)
470+
);
471+
472+
setVariableArray(sortedVars);
459473
})
460474
.catch((err) => console.error(err));
461475
};

0 commit comments

Comments
 (0)