|
dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
|
dbXapp-JavaScript ist modular. core.js ist immer die Basis. Fachfunktionen werden ueber vorhandene Libs geloest, nicht durch neue Einmal-Skripte.
core.js liest data-dbx-Definitionen und registrierte Features. Libs koennen automatisch geladen und initialisiert werden, wenn ein Element sie benoetigt.
Beispiel:
Regel:
Wenn eine vorhandene Lib eine Funktion anbietet, wird diese Lib genutzt. Keine eigenen JavaScript-Wege fuer AJAX, Fenster, Confirm oder UI-State.
Aufgaben:
UI-State:
Direkter Zugriff auf localStorage oder sessionStorage ist ausserhalb von core.js verboten.
AJAX in dbXapp ersetzt im Standard HTML.
Wichtige Begriffe:
| Begriff | Bedeutung |
|---|---|
| target | DOM-ID, die aktualisiert wird |
| replace=target | Target-Element selbst ersetzen |
| replace=content | Nur Inhalt des Targets ersetzen |
| mode=html | Server liefert HTML |
| mode=json | Server liefert JSON |
HTML ist der Standard, weil dbxForm und dbxReport fertige Teiloberflaechen zurueckgeben.
JSON ist sinnvoll fuer:
Confirm wird ueber Attribute am Link/Button definiert.
Confirm ist UI, nicht Sicherheit. Der Server prueft Rechte trotzdem.
Fenster und Dialoge laufen ueber openWin.
Typische Verwendung:
report.js unterstuetzt dbxReport im Browser:
Report-Verhalten wird nicht in Fachmodulen neu implementiert.
grid.js ist fuer tabulator-/gridartige Reports.
Typisch:
cms.js steuert die CMS-Oberflaechen:
| Lib | Aufgabe |
|---|---|
| adminDashboard.js | Dashboard-Spezialdarstellungen und Diagramme |
| menu.js | Navigation und Chronik |
| utilities.js | allgemeine UI-Hilfen, Collapse, Theme/Skin |
| ace.js | Source-/Template-Editor |
| confirm.js | Bestaetigungsdialoge |
| process.js | laengere Prozesse/Status |
| kiBriefing.js | KI-Briefing UI |
| seoAdmin.js | SEO-Verwaltung |
Keine eigene JavaScript-Funktion fuer etwas, das eine dbXapp-Lib bereits kann.