Skip to content

htmforge.htmx

htmforge.htmx.HxSwap

Bases: StrEnum

Typisierter Enum für das hx-swap-Attribut.

Bestimmt, wie HTMX den zurückgegebenen HTML-Inhalt in den DOM einfügt.

See: https://htmx.org/attributes/hx-swap/

AFTER_BEGIN = 'afterbegin' class-attribute instance-attribute

Fügt den Inhalt als erstes Kind des Ziel-Elements ein.

AFTER_END = 'afterend' class-attribute instance-attribute

Fügt den Inhalt nach dem Ziel-Element ein.

BEFORE_BEGIN = 'beforebegin' class-attribute instance-attribute

Fügt den Inhalt vor dem Ziel-Element ein.

BEFORE_END = 'beforeend' class-attribute instance-attribute

Fügt den Inhalt als letztes Kind des Ziel-Elements ein.

DELETE = 'delete' class-attribute instance-attribute

Löscht das Ziel-Element ohne Ersatz.

INNER_HTML = 'innerHTML' class-attribute instance-attribute

Ersetzt den inneren HTML-Inhalt des Ziel-Elements (Standard).

NONE = 'none' class-attribute instance-attribute

Führt keinen DOM-Swap durch (z.B. nur Out-of-Band-Swaps).

OUTER_HTML = 'outerHTML' class-attribute instance-attribute

Ersetzt das Ziel-Element vollständig inkl. Tag.

htmforge.htmx.HxTrigger

Bases: StrEnum

Typisierter Enum für häufige hx-trigger-Werte.

Legt fest, welches Ereignis einen HTMX-Request auslöst.

Note

Für komplexe Trigger-Ausdrücke (z.B. "click delay:500ms") muss ein roher String verwendet werden.

See: https://htmx.org/attributes/hx-trigger/

CHANGE = 'change' class-attribute instance-attribute

Löst bei einer Wertänderung aus (Standard für Inputs).

CLICK = 'click' class-attribute instance-attribute

Löst beim Klick aus (Standard für Buttons/Links).

EVERY_1S = 'every 1s' class-attribute instance-attribute

Löst periodisch jede Sekunde aus.

EVERY_2S = 'every 2s' class-attribute instance-attribute

Löst periodisch alle 2 Sekunden aus.

INTERSECT = 'intersect' class-attribute instance-attribute

Löst aus, wenn das Element den Viewport schneidet (Intersection Observer).

KEYUP = 'keyup' class-attribute instance-attribute

Löst bei jedem Tastenleseereignis aus.

LOAD = 'load' class-attribute instance-attribute

Löst einmalig aus, wenn das Element geladen wird.

REVEALED = 'revealed' class-attribute instance-attribute

Löst aus, wenn das Element in den sichtbaren Bereich gescrollt wird.

SUBMIT = 'submit' class-attribute instance-attribute

Löst beim Absenden eines Formulars aus.

htmforge.htmx.HxTarget

Bases: StrEnum

Typisierter Enum für häufige hx-target-Werte.

Bestimmt, welches Element als Ziel für einen HTMX-Swap verwendet wird.

Note

Für CSS-Selektor-Targets (z.B. "#my-div", ".container") muss ein roher String verwendet werden.

See: https://htmx.org/attributes/hx-target/

CLOSEST_DIV = 'closest div' class-attribute instance-attribute

Das nächste übergeordnete <div>-Element.

CLOSEST_TR = 'closest tr' class-attribute instance-attribute

Die nächste übergeordnete Tabellenzeile.

NEXT = 'next' class-attribute instance-attribute

Das unmittelbar folgende Geschwister-Element.

PREVIOUS = 'previous' class-attribute instance-attribute

Das unmittelbar vorherige Geschwister-Element.

THIS = 'this' class-attribute instance-attribute

Das Element selbst, das den Request ausgelöst hat.

htmforge.htmx.HxPushUrl

Bases: StrEnum

Typisierter Enum für das hx-push-url-Attribut.

Steuert, ob die URL in der Browser-History aktualisiert wird.

See: https://htmx.org/attributes/hx-push-url/

FALSE = 'false' class-attribute instance-attribute

Verhindert eine URL-Änderung.

TRUE = 'true' class-attribute instance-attribute

Schiebt die Request-URL in die Browser-History.

htmforge.htmx.hx_keyup_delay(ms=300)

Erzeugt einen HTMX keyup-Trigger-String mit Debounce-Delay.

Parameters:

Name Type Description Default
ms int

Wartezeit in Millisekunden nach dem letzten Tastendruck.

300

Returns:

Type Description
str

Einen HTMX-kompatiblen Trigger-String, z.B. "keyup delay:300ms".

Example

from htmforge.htmx import hx_keyup_delay hx_keyup_delay(500) 'keyup delay:500ms'

Source code in htmforge/htmx/__init__.py
def hx_keyup_delay(ms: int = 300) -> str:
    """Erzeugt einen HTMX keyup-Trigger-String mit Debounce-Delay.

    Args:
        ms: Wartezeit in Millisekunden nach dem letzten Tastendruck.

    Returns:
        Einen HTMX-kompatiblen Trigger-String, z.B. "keyup delay:300ms".

    Example:
        >>> from htmforge.htmx import hx_keyup_delay
        >>> hx_keyup_delay(500)
        'keyup delay:500ms'
    """
    return f"keyup delay:{ms}ms"