Property DOM nativo XFA
A execução geral com EnableJavaScript inclui filhos de propriedades de contentores de formulários na árvore viva de eventos, incluindo nós de value, valores tipados, font, fill, color, ui, border e edge
Contentores nomeados usam o nome deles em caminhos SOM; nós de propriedades usam o nome de classe deles e preservam o atributo real de nomes deles, que é geralmente vazio
Valores tipados e atributos
const field = xfa.resolveNode("main.row[1].cell");
field.value.text.value = "25";
field.font.size = "18pt";
field.font.fill.color.value = "0,128,255";
field.ui.textEdit.multiLine = "1";
field.resolveNode("border.edge[1]").thickness = "3pt";
field.font.setAttribute("saved", "custom");
const saved = field.font.getAttribute("custom");
row[1].cell.value.text.value = 25
row[1].cell.font.size = "18pt"
Um filho tipado sob o nó de valores de um campo partilha o rawValue vivo do campo; leituras e escritas através de value.text.value, field.rawValue e o dataNode vinculado observam-se imediatamente entre si
Para nós de propriedades com um atributo value, como color, a propriedade value lê e escreve esse atributo; para nós de conteúdo escalares lê e escreve o conteúdo de texto
Atributos presentes no binding efetivo de propriedades são expostos como propriedades diretas, exceto membros reservados de nós e de motores; getAttribute(name) lê um atributo arbitrário e setAttribute(value, name) escreve um e expõe imediatamente um nome novo seguro
FormCalc resolve caminhos de propriedades e atribui atributos escalares através da mesma árvore de eventos; irmãos de propriedades suportam índices de ocorrências e seletores de classes
Persistência e renderização nativas
Escritas bem-sucedidas criam ou atualizam nós de propriedades sob a ocorrência correspondente de contentores no pacote nativo de formulários; o template e as outras ocorrências repetidas mantêm os defaults delas
A consulta de propriedades segue a classe e a ocorrência local sob o contentor nomeado em vez de saltar nós sem nome; alterar o atributo de nomes de uma propriedade preserva a identidade dela, e o XDP guardado recarrega overrides efetivos
Handles retidos de propriedades seguem as identidades publicadas dos proprietários delas através de inserção e movimento de instâncias; escrever num handle depois de a instância dele ser removida aborta e restaura a transação
Typeface e tamanho de tipos de letra participam na medição e reflow por instância de texto crescível; o flatten lê atributos efetivos de tipos de letra, cores, bordas, parágrafos e UI suportada para cada ocorrência de campos
Draws de rich text consomem overrides efetivos de tipos de letra, parágrafos, CSS inline e conteúdo escalar para cada ocorrência, incluindo a medição e o posicionamento de runs delas
A criação de instâncias retém todos os defaults de irmãos de propriedades, incluindo múltiplos nós de edges, e usa valores de atributos de templates em vez dos overrides de outra ocorrência
Overrides de UI criam escolhas suportadas de widgets e alteram o tipo real de runtime por instância e as flags nativas de campos após um evento bem-sucedido
Orçamentos e bindings de nível inferior
A travessia de propriedades partilha os orçamentos de eventos de nós, profundidade, operações e bytes; escritas nativas de textos e atributos obedecem a MaxValueChars, e escritas falhadas restauram valores nativos de campos, overrides de propriedades, estado de scripts e ordem de instâncias
Quem chama diretamente usa xebdProperty e fornece Attributes e DefaultAttributes; estes últimos inicializam nós recém-clonados
Uma ação de atributos de propriedades contém o nome do atributo, um separador NUL e o valor em TXFAEventAction.Value; TXFAWidgetRuntime valida e aplica-a ao alvo nativo de propriedades
Cobertura
A árvore de eventos inclui nós declarados de propriedades e os atributos efetivos delas, com defaults de schemas para classes suportadas de formatação e de widgets; a criação de propriedades ausentes agora materializa caminhos suportados de formatação no pacote nativo de formulários
Declarações de eventos, cálculo e validação permanecem metadados de execução; scripts de variables permanecem objetos de scripts, e a edição geral de propriedades não ativa scripts de metadados
Classes adicionais de propriedades de schemas, remoção e reparenting genéricos, mutação de atributos qualificados por namespaces, consumidores adicionais de propriedades de layouts e mais funcionalidades de edição de rich text ou de widgets continuam como alvos separados
APIs relacionadas
Resolução SOM viva, Data DOM nativo, HPDFXFAResolveFormInstanceProperty e Runtime XFA interativo