diff --git a/package.json b/package.json
index 71deeb3..1f9c3a7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "site",
- "version": "0.1.5",
+ "version": "0.1.6",
"private": true,
"dependencies": {
"antd": "^3.8.1",
diff --git a/src/Anatomp/index.js b/src/Anatomp/index.js
index 65d05dc..51c77d2 100644
--- a/src/Anatomp/index.js
+++ b/src/Anatomp/index.js
@@ -234,6 +234,15 @@ class Anatomp extends Component {
onSelectRoteiro = (partes, model) => {
+ const roteiro = this.state.options.listaRoteiros.find(r => r._id == model.roteiro)
+ const extra = roteiro ? {
+ options: {
+ ...this.state.options,
+ listaPecasGenericas: roteiro.pecasGenericas
+ }
+ } : {};
+
+
this.setState({
model: {
...this.state.model,
@@ -246,7 +255,8 @@ class Anatomp extends Component {
referenciaRelativa: getModelReferenciaRelativa()
}]
}))
- }
+ },
+ ...extra
})
}
diff --git a/src/Roteiro/FormGeral.js b/src/Roteiro/FormGeral.js
index 9bc28c4..03b0c8c 100644
--- a/src/Roteiro/FormGeral.js
+++ b/src/Roteiro/FormGeral.js
@@ -1,6 +1,6 @@
import React, { Component, Fragment } from 'react';
-import { Form, Input, Select, Row, Col } from 'antd';
+import { Form, Input, Select, Row, Col, Checkbox } from 'antd';
import { listaIdiomas } from '../utils/mock';
@@ -17,7 +17,7 @@ const props = {
wrapperCol: { span: 14 },
}
-const FormGeral = ({ nome, curso, disciplina, proposito, erros, onChange, idioma, generalidades, onOpenSnackbar }) => {
+const FormGeral = ({ nome, curso, disciplina, somentePratica, onChangeSomentePratica, erros, onChange, idioma, generalidades, onOpenSnackbar }) => {
const _erros = {
idioma: erros.campos.indexOf('idioma'),
@@ -65,7 +65,7 @@ const FormGeral = ({ nome, curso, disciplina, proposito, erros, onChange, idioma
help={erros.msgs[_erros.curso] || ''}
label='Curso'
>
- onChange('curso')(e.target.value)} />
+ onChange('curso')(e.target.value)} />
@@ -82,6 +82,11 @@ const FormGeral = ({ nome, curso, disciplina, proposito, erros, onChange, idioma
+
+
+ onChangeSomentePratica(e.target.checked)}>Somente conteúdo prático
+
+
{/*
h.location).bind(l => l.state).maybe(false, s => s.model);
if(model){
- this.setState({model: {
- ...model,
- idioma: model.idioma._id,
- partes: [],
- conteudo: {
- selected: [],
- original: [],
- filtrado: []
- }
- }})
+ this.setState({
+ somentePratica: model.conteudos.length == 0,
+ model: {
+ ...model,
+ idioma: model.idioma._id,
+ partes: [],
+ conteudo: {
+ selected: [],
+ original: [],
+ filtrado: []
+ }
+ }
+ })
}
this.onGetData(false)
@@ -59,7 +63,7 @@ class Roteiro extends Component {
componentWillUpdate(nextProps, nextState){
if((JSON.stringify(this.state.model) != JSON.stringify(nextState.model)) && this.props.onChange){
- this.props.onChange(nextState.model)
+ this.props.onChange({...nextState.model, somentePratica: nextState.somentePratica})
}
}
@@ -70,7 +74,7 @@ class Roteiro extends Component {
render() {
const {erros, loading} = this.props;
- const { model, pecas, conteudoExpandido } = this.state;
+ const { model, pecas, conteudoExpandido, somentePratica } = this.state;
return (
@@ -80,14 +84,14 @@ class Roteiro extends Component {
....} title="Informações gerais do roteiro" />} key='geral'>
-
+
....} title="Conhecimento Prático (CP)" />} key='partes'>
- ....} title="Conhecimento Teórico (CT)" />} key='teoria'>
+ {!somentePratica && ....} title="Conhecimento Teórico (CT)" />} key='teoria'>
-
+ }
{
this.props.match && (
@@ -101,8 +105,15 @@ class Roteiro extends Component {
)
}
+ onChangeSomentePratica = somentePratica => this.setState({somentePratica}, () => {
+ if(this.props.onChange){
+ this.props.onChange({...this.state.model, somentePratica})
+ }
+ })
+
onSubmit = () => {
- onSaveRoteiro(this.props.onOpenSnackbar, this.props.onSetAppState, this.state.model, ret => {
+ const {somentePratica} = this.state;
+ onSaveRoteiro(this.props.onOpenSnackbar, this.props.onSetAppState, {...this.state.model, somentePratica}, ret => {
this.props.onOpenSnackbar(`O roteiro ${this.state.model.nome} foi salvo com sucesso!`, 'success');
this.props.onPush('/')
})
diff --git a/src/Roteiro/utils.js b/src/Roteiro/utils.js
index 5d9db21..28729d6 100644
--- a/src/Roteiro/utils.js
+++ b/src/Roteiro/utils.js
@@ -3,7 +3,7 @@ const uuidv4 = require('uuid/v4');
export const onValidate = model => {
- const { nome, curso, disciplina, conteudo, partes, idioma } = model;
+ const { nome, curso, disciplina, conteudo, partes, idioma, somentePratica } = model;
let campos = [], msgs = []
if (idioma == '') {
@@ -31,9 +31,11 @@ export const onValidate = model => {
msgs = [...msgs, 'Inclua ao menos uma parte no roteiro'];
}
- if (conteudo.selected.length == 0) {
- campos = [...campos, 'conteudo'];
- msgs = [...msgs, 'Inclua ao menos um conteúdo no roteiro'];
+ if(!somentePratica){
+ if (conteudo.selected.length == 0) {
+ campos = [...campos, 'conteudo'];
+ msgs = [...msgs, 'Inclua ao menos um conteúdo no roteiro'];
+ }
}
return { campos, msgs }
@@ -53,7 +55,7 @@ export const onSave = (onOpenSnackbar, onSetAppState, model, cb = false) => {
onSetAppState({ loading: true })
const body = {
...model,
- conteudos: model.conteudo.selected.map(ct => (ct._id))
+ conteudos: model.somentePratica ? [] : model.conteudo.selected.map(ct => (ct._id))
}
const _request = model._id != null ? request(`roteiro/${model._id}`, { method: 'PUT', body: JSON.stringify(body) }) : request('roteiro', { method: 'POST', body: JSON.stringify({...body, _id: uuidv4()}) })