practice-uffs / forms

Serviço de criação de formulários/enquetes online (similar ao Google Forms) baseado em análise de texto
Apache License 2.0
5 stars 0 forks source link

Incluir opção de configuração respostas #20

Closed zorteaadriano closed 2 years ago

zorteaadriano commented 2 years ago

Atualmente temos um campo de texto para detalhamento da perguntas do formulário, utilizando a biblioteca PollFromText para reconhecer dois tipos de perguntas: perguntas de resposta de texto (input) e pergunta com resposta de seleção (por padrão, utilizado o select). Reutilizando essa estrutura, devemos possibilitar a configuração de uma pergunta para definir que tipo de resposta ela irá aceitar.

Perguntas do tipo input, aceitarão respostas do tipo: texto, data, hora, email, telefone e arquivo. Perguntas do tipo select, aceitarão resposta do tipo: Select (padrão), Radio (item único), Checkbox (múltiplos itens)

zorteaadriano commented 2 years ago

@alissonpeloso, tentei essa semana ver como adicionar mais tipos de perguntas, incluindo o tipo checkbox também, acabei vendo que o campo de pergunta é interpretado pela lib ccuffs/poll-from-text, eu consigo estar modificando os códigos lá na lib para funcionar na nossa aplicação?

alissonpeloso commented 2 years ago

Acho que se você alterar na lib, só vai funcionar no teu localhost. Isso pq os pacotes são baixados em cada máquina usando composer install ou npm i. Acredito que tenha em algum lugar um tipo de modificação da classe ou algo parecido, vou dar uma olhada pra ver se consigo te ajudar.

zorteaadriano commented 2 years ago

sim, justamente por isso, penso que seria mais interessante termos um fork dessa lib dentro do practice, aí alterarmos essas coisas e só influencia no nosso projeto, mas tem sugestões de atualizações na própria lib, então se não for muito delicado dava pra fazer os commits lá mesmo quem sabe...

alissonpeloso commented 2 years ago

É que foi o Fernando mesmo que criou, acho que seria melhor apenas fazer um PR lá, adicionando essa funcionalidade, aí pedir pra aceitarem. Criar um fork no Practice não faz sentido

zorteaadriano commented 2 years ago

Detalhando o que foi feito neste último commit: Foi criado uma aba chamada 'Configurar Perguntas' onde são listadas todos os títulos das perguntas seguidas de um seletor para indicar qual tipo de resposta será aceitada como entrada no campo desta pergunta ao responder o formulário. Desta forma, não há necessidade de alterações no parser da biblioteca PollFromText, que acarretaria em definir inúmeros identificadores para configurar cada pergunta, dificultando a criação por parte do usuário, exigindo que sejam seguidas inúmeras regras.

O próximo passo seria identificar essa configuração da pergunta na tela de respondente, alterando o campo da resposta para o tipo determinado na configuração, conferir o modo que será salvo a resposta no banco, se será concatenado em casos de um checkbox havendo múltiplas opções selecionadas, por exemplo, também fazer o tratamento de arquivos no caso de uma pergunta aceitar um arquivo como resposta.

Há ainda um ajuste a ser feito na aba de configurações, o seletor não está sendo atualizado com o valor atual da configuração salva no banco.

Outro detalhe é que no campo 'questions' do formulário, que é um array contendo o 'text' e o 'type' de cada pergunta, foi adicionado o campo ''question_config" para armazenar o valor referente ao seletor da configuração daquela pergunta.