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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|
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 |
---|
|