Leitura sugerida
Você já sabe que é fácil criar uma Section configurável na deco.cx. Neste post vamos detalhar todas as formas possíveis de declarar os types dasprops
e como isso afeta o formulário que renderizamos
no Admin da deco.cx.
Personalizando Sections
As Sections, como componentes Preact, aceitamprops
como seus primeiro argumento e usam esses valores em seus markups para exibir
textos, imagens ou configurar algum comportamento.
Normalmente, essas props
são passadas a partir de outro componente, mas quando
você usa deco.cx essas props são configuradas no Admin, o que facilita
usuários de negócios alterarem o conteúdo em seus Sites.
Para declarar como essas props
serão configuradas você usa o Typescript
type, especificando quais props e seus respectivos tipos como string
,
number
, Array<T>
, etc.
Exemplo:
- Configuração de Section em um site deco.cx.
- Como fica o editor no Admin:

Tipos suportados
O editor aceita um subconjunto de tipos Typescript para configuração da Section. Esta é a lista de tipos suportados atualmente:Tipos nativos
string
number
object
array
string options
Tipos Especiais
Imagem
Este tipo renderiza um widget de upload de imagem no editor, possibilitando os usuários fazer upload de imagens. O tipo é um wrapper parastring
, então a Section receberá a URL da imagem
hospedada nos servidores da deco.cx.
Opcional: A deco.cx fornece um componente que otimiza o carregamento da
imagens e pode ser usado em conjunto com esta propriedade.
Exemplo:
Vídeo
Semelhante à Imagem, as propriedades com este tipo serão editadas através de um widget com a possibilidade de upload de vídeos. Exemplo de uso aqui.Enriquecendo o editor
Ao usar tipos nativos, o editor usará o nome do prop como a label padrão do formulário. Mas é possível personalizar isso usando tags JSDoc.- Exemplo: Código da Section:
- Editor:

@title
, @description
,
@format
entre outros. Por exemplo, para aceitar apenas e-mails:
uri
, color
. Você pode ler mais sobre
isso
na documentação de Annotations.