Bug export
This commit is contained in:
@@ -201,21 +201,32 @@ function exportReviewRows(rows, filters) {
|
|||||||
|
|
||||||
function buildSelectedReviewExportRow(node, form) {
|
function buildSelectedReviewExportRow(node, form) {
|
||||||
if (!node) return null
|
if (!node) return null
|
||||||
|
const savedReview = node.review || {}
|
||||||
|
const formStatus = form?.status || ''
|
||||||
|
const formComment = form?.comment ?? ''
|
||||||
|
const hasSavedReview = Boolean(savedReview.status || savedReview.comment || savedReview.updated_at)
|
||||||
|
const formChanged = Boolean(
|
||||||
|
formStatus
|
||||||
|
&& (formStatus !== (savedReview.status || '') || formComment !== (savedReview.comment || ''))
|
||||||
|
&& formComment.trim()
|
||||||
|
)
|
||||||
|
if (!hasSavedReview && !formChanged) return null
|
||||||
|
|
||||||
const meta = getProgramNodeReviewMeta({
|
const meta = getProgramNodeReviewMeta({
|
||||||
...node,
|
...node,
|
||||||
review: {
|
review: {
|
||||||
...(node.review || {}),
|
...savedReview,
|
||||||
status: form?.status || node.review?.status,
|
status: formChanged ? formStatus : savedReview.status,
|
||||||
comment: form?.comment ?? node.review?.comment,
|
comment: formChanged ? formComment : savedReview.comment,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
const comment = form?.comment ?? node.review?.comment ?? ''
|
const comment = formChanged ? formComment : (savedReview.comment || '')
|
||||||
if (meta.status === 'unreviewed' && !comment.trim()) return null
|
if (meta.status === 'unreviewed' && !comment.trim()) return null
|
||||||
return {
|
return {
|
||||||
node: {
|
node: {
|
||||||
...node,
|
...node,
|
||||||
review: {
|
review: {
|
||||||
...(node.review || {}),
|
...savedReview,
|
||||||
status: meta.status,
|
status: meta.status,
|
||||||
comment,
|
comment,
|
||||||
},
|
},
|
||||||
@@ -2002,7 +2013,7 @@ function TutorApp({ currentUser, onLogout }) {
|
|||||||
? exportableReviewRows.some(({ node }) => node.key === selectedReviewExportRow.node.key)
|
? exportableReviewRows.some(({ node }) => node.key === selectedReviewExportRow.node.key)
|
||||||
: true
|
: true
|
||||||
const reviewRowsToExport = selectedReviewExportRow && !selectedReviewAlreadyIncluded
|
const reviewRowsToExport = selectedReviewExportRow && !selectedReviewAlreadyIncluded
|
||||||
? [selectedReviewExportRow]
|
? [...exportableReviewRows, selectedReviewExportRow]
|
||||||
: exportableReviewRows
|
: exportableReviewRows
|
||||||
const selectedNodeStatus = selectedProgramNode?.status || {}
|
const selectedNodeStatus = selectedProgramNode?.status || {}
|
||||||
const totalLessonCards = studentProgram?.assets?.reduce((sum, asset) => sum + (asset.sections?.length || 0), 0) || 0
|
const totalLessonCards = studentProgram?.assets?.reduce((sum, asset) => sum + (asset.sections?.length || 0), 0) || 0
|
||||||
|
|||||||
Reference in New Issue
Block a user