From 55254551b0f8f1249f8744fd2d21617155b1b177 Mon Sep 17 00:00:00 2001 From: Lucas Schoenfelder <les17@inf.ufpr.br> Date: Fri, 29 May 2020 10:58:38 -0300 Subject: [PATCH] changed logic so it loads forbidden/unexistent learning objects with empty info --- .../ResourcePageComponents/Sobre.js | 24 ++++--- .../ResourcePageComponents/TextoObjeto.js | 66 ++++++++++++++----- 2 files changed, 63 insertions(+), 27 deletions(-) diff --git a/src/Components/ResourcePageComponents/Sobre.js b/src/Components/ResourcePageComponents/Sobre.js index f2af9175..7f7116c1 100644 --- a/src/Components/ResourcePageComponents/Sobre.js +++ b/src/Components/ResourcePageComponents/Sobre.js @@ -56,7 +56,8 @@ export default function Sobre (props) { useEffect(() => { let aux = [] - if (props.attachments[0]){ + + if (props.attachments && props.attachments[0]){ aux.push(<AdditionalInfoItem icon={<SdCardIcon/>} label={'Tamanho: '} @@ -64,14 +65,18 @@ export default function Sobre (props) { key={props.attachments[0].id} />) } - props.language.map( (lang) => - aux.push(<AdditionalInfoItem - icon={<TranslateIcon/>} - label={'Idioma: '} - value={lang.name} - key={lang.id} - /> - )) + + if(props.language){ + props.language.map( (lang) => + aux.push(<AdditionalInfoItem + icon={<TranslateIcon/>} + label={'Idioma: '} + value={lang.name} + key={lang.id} + /> + )) + } + if (props.mimeType){ aux.push(<AdditionalInfoItem icon={<InsertDriveFileIcon/>} @@ -141,6 +146,7 @@ export default function Sobre (props) { <div className="sobre-conteudo"> <div className="tags-container"> { + props.tags && props.tags.map( (tag) => <span key={tag.name}>{tag.name}</span> ) diff --git a/src/Components/ResourcePageComponents/TextoObjeto.js b/src/Components/ResourcePageComponents/TextoObjeto.js index 67f6b3d3..0785ba82 100644 --- a/src/Components/ResourcePageComponents/TextoObjeto.js +++ b/src/Components/ResourcePageComponents/TextoObjeto.js @@ -35,34 +35,38 @@ export default function TextoObjeto (props) { const [eduStages, setEduStages] = useState('') const extractComponentesCurriculares = (subjects) => { - let outrasTem = [] - let compCurr = [] - - subjects.map((subject) => { - if (!subject.theme) { - compCurr.push(subject.name) - } - else { - outrasTem.push(subject.name) - } - }) - return [outrasTem.join(' - '), compCurr.join(' - ')] + if (subjects) { + let outrasTem = [] + let compCurr = [] + + subjects.map((subject) => { + if (!subject.theme) { + compCurr.push(subject.name) + } + else { + outrasTem.push(subject.name) + } + }) + setOutrasTem(outrasTem.join(' - ')) + setCompCurr(compCurr.join(' - ')) + } + else { + setOutrasTem("Dado não identificado") + setCompCurr("Dado não identificado") + } } const extractEduStages = (stages) => { - return(stages.map((stage) => {return (stage.name)}).join(' - ')) + return(stages ? stages.map((stage) => {return (stage.name)}).join(' - ') : undefined) } useEffect(() => { - let evaluate = extractComponentesCurriculares(props.subjects) - setOutrasTem(evaluate[0]) - setCompCurr(evaluate[1]) - + extractComponentesCurriculares(props.subjects) setEduStages(extractEduStages(props.educationalStages)) }, []) const infos = [ - {label : 'Tipo de Recurso: ', text : props.objType}, + {label : 'Tipo de Recurso: ', text : (props.objType ? props.objType : "Dado não identificado")}, {label : 'Componentes Curriculares: ', text : componentesCurriculares}, {label : 'Outras Temáticas: ', text : outrasTematicas}, {label : 'Etapas de Ensino: ', text : eduStages} @@ -100,6 +104,21 @@ export default function TextoObjeto (props) { <span className={"dado-recurso"}>{props.downloadCount}</span> </span> + {/*|| checkUserRole('publisher')*/} + { + props.stateRecurso === "submitted" && + <div className="alert-warning"> + Esse recurso ainda não foi publicado por estar esperando análise da curadoria + </div> + } + + {/*|| checkUserRole('publisher')*/} + { + props.stateRecurso === "draft" && + <div className="alert-warning"> + Esse recurso ainda é um rascunho, termine de editar para publicá-lo + </div> + } </Grid> <Grid item xs={1}> {/*|| checkUserRole('publisher')*/} @@ -160,4 +179,15 @@ const TextoObjetoDiv = styled.div` vertical-align : middle; margin-right : 2px; } + + .alert-warning { + color : #8a6d3b; + background-color : #fcf8e3; + border-color : #faebcc; + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; + font-size : 14px; + } ` -- GitLab