dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
Loading...
Searching...
No Matches
DBX Libs – Klassen, Attribute, Defaults

Kurzreferenz für deklaratives Laden von JS-Libs ohne lange data-dbx-Ketten.

Grundregel

Was Wie
Verhalten CSS-Klasse auf dem Element
Optionen Kurze data-* Attribute (nur Abweichungen vom Default)
Komplex data-dbx="lib=…\|…" nur noch für Grid, CMS, Report, Process, Mapping

core.js scannt beim Laden die Seite (dbx.scan), lädt Libs lazy und wendet Defaults an, wenn Attribute fehlen.


Standard-Formular (häufigster Fall)

<div id="dbx_target_{i}" class="dbx-panel">
<form action="{action}" method="post" id="dbx_form_{i}" class="dbxAjax">
… Felder …
<a href="{delete_url}" class="dbxConfirm"
data-title="Löschen"
data-confirm="Wirklich löschen?">
<i class="bi bi-trash"></i>
</a>
</form>
</div>

Automatisch geladen: form + ajax + confirm (wenn .dbxConfirm oder data-confirm im Formular).

Defaults ajax: mode=html, url=form, target aus dbx_form_{i}dbx_target_{i}, replace=target.


Klassen-Übersicht

Klasse Lib(s) Zweck
dbxAjax form, ajax Admin-Formulare, AJAX-Submit
dbxConfirm confirm Rückfrage vor Aktion
dbx-win openWin Fenster statt Bootstrap-Modal
dbx-ajax-root ajax AJAX-Panel ohne Formular (z. B. Report-Target)
dbx-win-preload openWin Lib vorladen (unsichtbar)
dbx-grid + data-dbx grid Tabellen-Grid (viele Optionen)
dbx-cms + data-dbx cms Content-Editor

ajax – Attribute

Attribut Default Aliase
data-target aus Form-ID inferiert data-ajax-target, data-dbx_target
data-url form data-ajax-url
data-replace target data-ajax-replace
data-mode html data-ajax-mode

Abweichendes Target nur setzen, wenn nicht dbx_form_N / dbx_target_N:

<form class="dbxAjax" id="form_group_{i}" data-target="dbxForm_div-{i}">

confirm – Attribute

Attribut Default Aliase
data-confirm data-confirm-question
data-title "" data-confirm-title
data-hint "" data-confirm-hint
data-buttons yesno data-confirm-buttons
<a class="dbxConfirm" href="…"
data-title="Eintrag löschen"
data-confirm="Wirklich löschen?">

openWin – Attribute

Attribut Default
data-url href
data-title title oder „Fenster“
data-width 1280
data-height 760
data-modal 1
data-scroll 1
data-position center
<a class="btn-inline dbx-win" href="{action}"
data-url="{action}" data-title="Bearbeiten">
<i class="bi bi-pencil"></i>
</a>

Größe nur bei Abweichung: data-height="500" data-width="600".


Wann noch data-dbx?

Für Libs mit vielen URLs/Optionen – nicht auf Standard-Formulare legen:

  • lib=report|form=0 – Report-Panel
  • lib=grid|… – Grid-Konfiguration
  • lib=cms|tree=…|save=… – CMS
  • lib=menu|id=… – Menü
  • lib=process|… – Polling

Fehler & Diagnose

Kanal Inhalt
Browser core.js?log=on Defaults, Scan, Lib-Init ([dbx][ajax][TARGET_DEFAULT])
dbx.error / dbx.warn Konsole + roter Indikator
dbx.diag warn/error optional → dbxSysMsg (Admin → SysMsg)
dbx()->debug() PHP-Log bei sys_msg

Defaults werden nicht in SysMsg geschrieben – das ist normales Verhalten.

Client-Diag-Endpoint: ?dbx_modul=dbxAdmin&dbx_run1=sysmsg&dbx_run2=client_diag


Migration (alt → neu)

Alt Neu
data-dbx="lib=form\|\|lib=ajax\|…\|lib=confirm\|…" class="dbxAjax"
data-dbx="lib=openWin\|url=…\|title=…\|height=760\|…" class="dbx-win" data-url="…" data-title="…"
data-confirm-question="…" data-confirm="…"
data-confirm-title="…" data-title="…" (optional)

Alte Aliase (data-ajax-target, data-dbx) funktionieren parallel.


Technische Details: dbx/js/lib/DECLARE.md