flows.md · documentação · Blocos
@form#
Um formulário que grava cada envio como uma linha de uma coleção do espaço: contato, inscrição, lista de espera, pesquisa.
Ao vivo#
Este é o formulário como ele sai numa página, com preview:true: os campos funcionam, mas o botão está desligado e nada é enviado — não há para onde enviar. Ele desenha a coleção contato-exemplo, declarada na página do @schema, que não aceita envios de ninguém mas pode ser lida por qualquer leitor — por isso a prévia aparece para você.
Example — this form sends nothing.
```@form collection:contato-exemplo preview:true submit:"Enviar mensagem"
nome
email required
mensagem
```
Um campo por linha, com o nome que ele tem na coleção. O tipo vem da coleção: um e-mail é conferido como e-mail, um texto longo vira uma caixa grande. No seu espaço, sem preview:true, o mesmo bloco grava cada envio como uma linha da coleção e responde com o texto de success:.
Numa linha só#
layout:inline põe o campo e o botão lado a lado — para uma lista de espera de um campo só.
Example — this form sends nothing.
```@form collection:contato-exemplo preview:true layout:inline submit:"Me avise"
email required
```
Só a aparência#
preview:true desenha o formulário sem nada que o envie, mesmo que a coleção não aceite ninguém: para uma documentação, a prévia de um tema ou de um modelo, um rascunho de página. Ele aparece para quem pode ler a coleção ou enviar por ela; para os outros, aparece o aviso de formulário fechado. Tire o preview:true quando a coleção estiver pronta para receber.
Outras formas#
-
scope:viewerpede que a pessoa entre e grava o envio no nome dela. -
mode:edit own:truelista os envios da própria pessoa e deixa cada um ser mudado. - Com o corpo vazio, o formulário traz todos os campos que se pode escrever, na ordem da coleção.
O que precisa#
Uma coleção declarada com @schema que aceite quem vai enviar: accepts:anyone para qualquer leitor, accepts:members para as pessoas do espaço. Para quem a coleção não aceita, o formulário não aparece — a não ser como prévia, para quem pode ler a coleção. Para mostrar as respostas, um @data na mesma coleção.