- updated page of evaluation editing for instructor;

This commit is contained in:
Vitalii Kiiko
2025-02-07 14:45:39 +01:00
parent 3588f52787
commit 948d511189
2 changed files with 46 additions and 27 deletions

View File

@@ -1,4 +1,4 @@
import { head, isNil, pathOr } from 'ramda'; import { head, is, isNil, pathOr } from 'ramda';
import getNumberFormatted from '../../../../../../../helpers/getNumberFormatted'; import getNumberFormatted from '../../../../../../../helpers/getNumberFormatted';
const LastRowCell = ({columnId, lastRowCfg, columnMeta = {}, tableValue = []}) => { const LastRowCell = ({columnId, lastRowCfg, columnMeta = {}, tableValue = []}) => {
@@ -9,7 +9,7 @@ const LastRowCell = ({columnId, lastRowCfg, columnMeta = {}, tableValue = []}) =
cellValue = pathOr(0, ['total'], tableValue); cellValue = pathOr(0, ['total'], tableValue);
} }
return <td>{getNumberFormatted(cellValue)}</td>; return <td>{is(Number, cellValue) ? getNumberFormatted(cellValue) : cellValue}</td>;
}; };
export default LastRowCell; export default LastRowCell;

View File

@@ -121,7 +121,7 @@ const DomandaEditPreInstructor = () => {
navigate('/domande'); navigate('/domande');
} }
const updateFlagsForSoccorso = (data) => { const updateFlagsForSoccorso = useCallback((data) => {
let nonRatedFilesLength = 0; let nonRatedFilesLength = 0;
if (data.files) { if (data.files) {
@@ -140,6 +140,7 @@ const DomandaEditPreInstructor = () => {
setAllFilesRated(nonRatedFilesLength === 0); setAllFilesRated(nonRatedFilesLength === 0);
if (data.evaluationVersion === 'V1') {
if (data.checklist) { if (data.checklist) {
const checkedChecklistItems = data.checklist const checkedChecklistItems = data.checklist
.map(el => el.valid) .map(el => el.valid)
@@ -147,7 +148,20 @@ const DomandaEditPreInstructor = () => {
setAtLeastOneChecked(checkedChecklistItems.length > 0); setAtLeastOneChecked(checkedChecklistItems.length > 0);
setAllChecksChecked(checkedChecklistItems.length === data.checklist.length) setAllChecksChecked(checkedChecklistItems.length === data.checklist.length)
} }
} else if (data.evaluationVersion === 'V2') {
const minChecks = data.numberOfCheck;
const formFieldsChecklist = formData
.filter(o => head(o.settings.filter(s => s.name === 'isChecklistItem' && s.value)))
.map(o => o.id);
if (formFieldsChecklist.length >= minChecks) {
const valuesTotal = formFieldsChecklist.map(v => formValues[v]);
const valuesFirst = valuesTotal.toSpliced(minChecks);
setAtLeastOneChecked(valuesTotal.filter(v => v === true).length === valuesTotal.length);
setAllChecksChecked(valuesFirst.filter(v => v === true).length === valuesFirst.length)
} }
}
}, [formValues]);
const doNewSoccorso = () => { const doNewSoccorso = () => {
if (connectedSoccorsoId !== 0) { if (connectedSoccorsoId !== 0) {
@@ -191,6 +205,8 @@ const DomandaEditPreInstructor = () => {
setData(getFormattedData(resp.data)); setData(getFormattedData(resp.data));
setMotivation(resp.data.motivation); setMotivation(resp.data.motivation);
updateFlagsForSoccorso(resp.data); updateFlagsForSoccorso(resp.data);
if (resp.data.evaluationVersion === 'V2') {
setFormData(resp.data.applicationEvaluationFormResponse.content); setFormData(resp.data.applicationEvaluationFormResponse.content);
setFormId(resp.data.applicationEvaluationFormResponse.id); setFormId(resp.data.applicationEvaluationFormResponse.id);
let formDataInitial = {}; let formDataInitial = {};
@@ -211,6 +227,7 @@ const DomandaEditPreInstructor = () => {
reset(); reset();
setFormInitialData(formDataInitial); setFormInitialData(formDataInitial);
} }
}
storeSet.main.unsetAsyncRequest(); storeSet.main.unsetAsyncRequest();
} }
@@ -848,6 +865,8 @@ const DomandaEditPreInstructor = () => {
if (!isEmpty(updatedFormValues) && !equal(updatedFormValues, formValues)) { if (!isEmpty(updatedFormValues) && !equal(updatedFormValues, formValues)) {
reset(updatedFormValues); reset(updatedFormValues);
} }
updateFlagsForSoccorso(data);
}, [formValues]); }, [formValues]);
useEffect(() => { useEffect(() => {