Definições de modelo, campos e tipos de componentes field-types
Saiba mais sobre campos e os tipos de componentes que o Editor universal pode editar no painel de propriedades com exemplos. Entenda como você pode instrumentar seu próprio aplicativo criando uma definição de modelo e vinculando ao componente.
Visão geral overview
Ao adaptar seus próprios aplicativos para uso com o Universal Editor, você deve instrumentar os componentes e definir quais campos e tipos de componentes eles podem manipular no painel de propriedades do editor. Você faz isso criando um modelo e vinculando a ele a partir do componente.
Este documento fornece uma visão geral de uma definição de modelo e dos campos e dos tipos de componentes disponíveis para você, juntamente com exemplos de configurações.
Estrutura de definição do modelo model-structure
Para configurar um componente por meio do painel de propriedades no Editor universal, uma definição de modelo deve existir e estar vinculada ao componente.
A definição do modelo é uma estrutura JSON, que começa com uma matriz de modelos.
[
{
"id": "model-id", // must be unique
"fields": [] // array of fields which shall be rendered in the properties rail
}
]
Consulte a seção Campos deste documento para obter mais informações sobre como definir a matriz fields
.
Para usar a definição de modelo com um componente, o atributo data-aue-model
pode ser usado.
<div data-aue-resource="urn:datasource:/content/path" data-aue-type="component" data-aue-model="model-id">Click me</div>
Carregando uma Definição de Modelo loading-model
Depois que um modelo é criado, ele pode ser referenciado como um arquivo externo.
<script type="application/vnd.adobe.aue.model+json" src="<url-of-model-definition>"></script>
Como alternativa, também é possível definir o modelo em linha.
<script type="application/vnd.adobe.aue.model+json">
{ ... model definition ... }
</script>
Campos fields
Um objeto de campo tem a seguinte definição de tipo.
component
ComponentType
name
string
label
FieldLabel
description
FieldDescription
placeholder
string
value
FieldValue
valueType
ValueType
string
, string[]
, number
, date
, boolean
required
boolean
readOnly
boolean
hidden
boolean
multi
boolean
validation
ValidationType
raw
unknown
Tipos de componentes component-types
A seguir estão os tipos de componentes possíveis para usar em campos de renderização.
aem-tag
aem-content
boolean
checkbox-group
container
aem-content-fragment
date-time
multiselect
number
radio-group
reference
richtext
select
tab
text
Tag AEM aem-tag
Um tipo de componente de tag AEM habilita um seletor de tags AEM, que pode ser usado para anexar tags ao componente.
code language-json |
---|
|
![Captura de tela do tipo de componente da marca AEM](./media_1159651cabbe711ba93dd5acc430b04fcaa0a07c6.png?width=750&format=png&optimize=medium)
Conteúdo AEM aem-content
Um tipo de componente de conteúdo do AEM permite um seletor de conteúdo do AEM, que pode ser usado para definir referências de conteúdo.
code language-json |
---|
|
![Captura de tela do tipo de componente de conteúdo do AEM](./media_1f5cbfa1ff71d1a51b6c9e61d194b235760281617.png?width=750&format=png&optimize=medium)
Booleano boolean
Um tipo de componente booleano armazena um valor simples true/false renderizado como alternância. Ele oferece um tipo de validação adicional.
customErrorMsg
string
code language-json |
---|
|
code language-json |
---|
|
![Captura de tela do tipo de componente booleano](./media_1b673ea5591e814bb10c8c2327a8d4345c8b6da50.png?width=750&format=png&optimize=medium)
Grupos de caixa de seleção checkbox-group
Semelhante a um booleano, um tipo de componente Grupo de caixas de seleção permite a seleção de vários itens true/false, renderizados como várias caixas de seleção.
code language-json |
---|
|
![Captura de tela do tipo de componente do grupo de caixas de seleção](./media_1a66c505c6ad3e5d45c1f493e5676ce69ebcca822.png?width=750&format=png&optimize=medium)
Contêiner container
Um tipo de componente de contêiner permite o agrupamento de componentes. Ela oferece uma configuração adicional.
collapsible
boolean
code language-json |
---|
|
![Captura de tela do tipo de componente de contêiner](./media_144a48a63fe8acb3d1ee1472b114c38b773fcdc4e.png?width=750&format=png&optimize=medium)
Fragmento de conteúdo content-fragment
O seletor de Fragmento de Conteúdo pode ser usado para selecionar um Fragmento de Conteúdo e suas variações (se necessário). Ela oferece uma configuração adicional.
variationName
string
code language-json |
---|
|
![Captura de tela do seletor de Fragmento de conteúdo](./media_11756da76e36f9d7b47e87d06371a2f6c99371c54.png?width=750&format=png&optimize=medium)
Data e hora date-time
Um tipo de componente de data e hora permite a especificação de uma data, hora ou combinação destas. Ele oferece configurações adicionais.
displayFormat
string
valueFormat
string
Também oferece um tipo de validação adicional.
customErrorMsg
string
valueFormat
não for atendidacode language-json |
---|
|
code language-json |
---|
|
![Captura de tela do tipo de componente de data e hora](./media_1fb7ce59e7d55ecb8462d42e25b84056e31381cc5.png?width=750&format=png&optimize=medium)
Fragmento de experiência experience-fragment
O seletor de Fragmento de experiência pode ser usado para selecionar um Fragmento de experiência e suas variações (se necessário). Ela oferece uma configuração adicional.
variationName
string
code language-json |
---|
|
![Captura de tela do seletor de Fragmento de experiência](./media_192e8f6521eb9ef084f0cd392393a4ce5dccc8dc6.png?width=750&format=png&optimize=medium)
Multisseleção multiselect
Um tipo de componente de seleção múltipla apresenta vários itens para seleção em uma lista suspensa, incluindo a capacidade de agrupar os elementos selecionáveis.
code language-json |
---|
|
code language-json |
---|
|
![Captura de tela do tipo de componente de seleção múltipla](./media_150cc6e56950fb2f7a83278ced464fba80c7ed9ac.png?width=750&format=png&optimize=medium)
![Captura de tela do tipo de componente de seleção múltipla com agrupamento](./media_1dece1668ebedfa6b8c3956dc9d3277c4178c7488.png?width=750&format=png&optimize=medium)
Número number
Um tipo de componente numérico permite a entrada de um número. Ela oferece tipos de validação adicionais.
numberMin
number
numberMax
number
customErrorMsg
string
numberMin
ou numberMax
não for atendidocode language-json |
---|
|
code language-json |
---|
|
![Captura de tela do tipo de componente de número](./media_15146425e109a386730d4a2edbf36bb159899e009.png?width=750&format=png&optimize=medium)
Grupo radial radio-group
Um tipo de componente Grupo de opções permite uma seleção mutuamente exclusiva de várias opções renderizadas como um grupo semelhante a um grupo de caixas de seleção.
code language-json |
---|
|
![Captura de tela do tipo de componente do grupo de opções](./media_19057aca4a834513c482f4f637c785b3b14c08419.png?width=750&format=png&optimize=medium)
Referência reference
Um tipo de componente de referência permite uma referência a outro objeto de dados do objeto atual.
code language-json |
---|
|
![Captura de tela do tipo de componente de referência](./media_113db176eaad949caf55bc670dd51fe33b825464a.png?width=750&format=png&optimize=medium)
Texto formatado rich-text
Rich text permite entrada de rich text com várias linhas. Ela oferece tipos de validação adicionais.
maxSize
number
customErrorMsg
string
maxSize
for excedidocode language-json |
---|
|
code language-json |
---|
|
![Captura de tela do tipo de componente da área de texto](./media_12bd81eda29531805af2de8c81a45684f722c94a9.png?width=750&format=png&optimize=medium)
Selecionar select
Um tipo de componente de seleção permite selecionar uma única opção em uma lista de opções predefinidas em um menu suspenso.
code language-json |
---|
|
![Captura de tela do tipo de componente selecionado](./media_1c86213678ecd6ed6128f8ec37aab80bac74b7779.png?width=750&format=png&optimize=medium)
Guia tab
Um tipo de componente de guia permite agrupar outros campos de entrada em várias guias para melhorar a organização do layout dos autores.
Uma definição tab
pode ser considerada como um separador na matriz de fields
. Tudo que vem após um tab
será colocado nessa guia até que um novo tab
seja encontrado, após o qual os itens a seguir serão colocados na nova guia.
Se desejar que itens sejam exibidos acima de todas as guias, eles deverão ser definidos antes de qualquer guia.
code language-json |
---|
|
![Captura de tela do tipo de componente de guia](./media_132123718b8b23e0fcbd612a3bdf5cfaeb6e1b3dd.png?width=750&format=png&optimize=medium)
Texto text
O texto permite uma única linha de entrada de texto. Inclui tipos de validação adicionais.
minLength
number
maxLength
number
regExp
string
customErrorMsg
string
minLength
, maxLength
e/ou regExp
for/forem violado(s)code language-json |
---|
|
code language-json |
---|
|
![Captura de tela do tipo de componente de texto](./media_1983458e1a920be3f84923c8ae42d65f78b7df63e.png?width=750&format=png&optimize=medium)