XFA Host Model
Zet TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript aan om het stateful xfa.host-model te gebruiken via de meegeleverde QuickJS-engine
Configureer applicatiemetadata via TXFAWidgetRuntimeOptions.HostModel vóór het aanmaken van de runtime, en lees de huidige status via TXFAWidgetRuntime.HostModel
Properties
| Property | Gedrag |
|---|---|
name, version, appType, platform, variation, language | Read-only applicatiemetadata aangeleverd door de embeddende applicatie |
numPages | Read-only echt layout-pagin aantal, inclusief gepositioneerde content voorbij veld-widgets |
currentPage | Zero-based huidige pagina, gecheckt tegen numPages; een veld focussen kiest diens pagina |
title | Unicode-runtime-titel, begrensd door MaxValueChars en gepubliceerd met de transactie |
calculationsEnabled | Stuurt automatische berekeningsscripts; de default is true |
validationsEnabled | Stuurt validatiescripts voor bewerkte waarden; de default is true |
Applicatieversie identificeert de embeddende applicatie; de library substitueert diens release-nummer niet
Host-status hoort bij de runtime; titel- en paginawijzigingen wijzigen de originele PDF-objectgraaf niet en worden niet in opgeslagen XDP-data geëncodeerd
Navigatie, focus en data-reset
| Methode | Gedrag |
|---|---|
pageUp(), pageDown() | Beweegt binnen paginagrenzen en stopt op de eerste of laatste pagina |
getFocus() | Geeft de live gefocuste veld-occurrence terug, of null wanneer focus afwezig, verwijderd of verborgen is |
setFocus(fieldOrSOM) | Vraagt focus op een zichtbare live veld-occurrence; null of lege tekst wist focus |
resetData(paths="") | Herstelt template-defaultwaarden voor velden gekozen door een kommagescheiden SOM-lijst, of alle velden wanneer paths leeg is; herhaalde instance-aantallen en ongerelateerde occurrences worden behouden |
Reset-velden verlaten de bewerkingsmodus en verkrijgen geldige interactiestatus, wat voorkomt dat een verouderde bewerkingsbuffer de resetwaarde overschrijft
Reset en Data DOM loadXML kunnen in hetzelfde event draaien; diens wijzigingen delen de event-transactie, en een gefaald script of uitgeput budget herstelt datawaarden, bewerkingsbuffers, host-status en script-object-lexicale status vóór een retry
Veld-identiteiten volgen diens data-occurrence wanneer een instance manager herhaalde subforms herordent, en snapshot-herstel behoudt die logische identiteiten
Focus-levenscyclus en transacties
Runtime-focuswijzigingen committen en valideren een pending bronbewerking, voeren bron-exit-scripts uit, kiezen het nieuwe veld en voeren target-enter-scripts uit voordat berekening en layout settelen
Focus-requests gedaan door enter- of exit-scripts kunnen de target omleiden; elke focus-drain staat 64 overgangen toe en deelt de script operation- en elapsed-time-budgetten
Scripts zien de activiteit via xfa.event.name; berekeningen en validatie ontvangen diens bijbehorende context-namen
Publieke FocusWidget- en enter/exit-DispatchEvent-aanroepen gebruiken dezelfde transactionele levenscyclus; ClearFocus annuleert diens huidige bewerkingsbuffer vóór de exit-levenscyclus, met behoud van diens vorige annuleringsgedrag
OnFocusChanged publiceert geordende callbacks na commitment; intermediaire omleidingen blijven binnen de transactie, en gefaalde scripts, validatie of budgetten herstellen host-status, focus, bewerkingsbuffers, documentwaarden en script-lexicale status samen
Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostModel.Name := 'Application';
Options.HostModel.Version := '1.0';
Options.HostModel.Language := 'en-US';
Runtime := TXFAWidgetRuntime.Create(XDPBytes, 595, 842, Options);
xfa.host.title = "Order form";
xfa.host.setFocus("rows[1].quantity");
xfa.host.resetData("rows[1].quantity,rows[1].price");
xfa.host.calculationsEnabled = false;
Applicatie-effecten en resterende dekking
Dialoogen, printen, externe navigatie, import/export en HTTP-effecten gebruiken expliciet application host transport en geregistreerde responses; het statusmodel zelf start geen UI- of netwerkoperatie
Extra host-dialoog-API's, elke Acrobat host-property, dynamische synchrone reflow-queries en complete SOM-operatoren blijven aparte integratiedoelen
Related APIs: TXFAHostModelState, PXFAHostModelState, HPDFXFAHostModelJavaScript en Interactive XFA Widget Runtime