Komponenten Laraknife
Links
Zielsetzung
Hier werden die vordefinierten Komponenten beschrieben. Komponenten sind HTML-ähnliche Elemente, die in Views verwendet werden können.
Formularfelder
Panels (Gruppierungen von Feldern)
Für Modul Create (Erzeugen)
<x-laraknife.create-panel title="{{ $title }}"> ... </x-laraknife.show-panel>
Parameter:
- "title": Dieser Titel wird in als Überschrift angezeigt.
Für Modul edit (Ändern)
<x-laraknife.edit-panel title="{{ $title }}"> ... </x-laraknife.show-panel/>
Parameter:
- "title": Dieser Titel wird in als Überschrift angezeigt.
Für Modul Index (Übersicht)
<x-laraknife.index-panel title="{{ $title }}"> ... </x-laraknife.show-panel>
Parameter:
- "title": Dieser Titel wird in als Überschrift angezeigt.
Für Modul Show (Anzeigen/Löschen)
<x-laraknife.show-panel title="{{ $title }}"> ... </x-laraknife.show-panel>
Parameter:
- "title": Dieser Titel wird in als Überschrift angezeigt.
Filter-Panel
Dieses Panel wird normalerweise in Modul Index (Übersicht) verwendet.
<x-laraknife.filter-panel legend="{{ $l }}"> ... </x-laraknife.filter-panel>
Parameter:
- "legend": Dieser Text wird in einer Box am oberen Rand eingeblendet
Eingabefelder
Gemeinsame Attribute
- "position": Werte: "alone" (alleine in der Formulargitterzelle), "first": erstes Feld "last": letztes Feld, "": weder erstes noch letztes Feld in der Zelle.
- Wenn in einer Zelle "first" verwendet wird, muss unbedingt ein Element mit "last" folgen, evt. mit
<laraknife.setposition position="last" />
- Wenn in einer Zelle "first" verwendet wird, muss unbedingt ein Element mit "last" folgen, evt. mit
- "id": das ID-Attribut des HTML-Feldes
- "name": das Name-Attribut des HTML-Feldes
- "label": Wenn vorhanden, wird vor dem Feld dieser Text als Textvorspann angezeigt
- "width1": Breite der Spalte des Vorspanns: (0..11). Das Elternelement ist immer 12 Einheiten breit.
- "width2": Breite des Eingabefeldes (1..12)
- "attribute": Zusätzliche Attribute, z.B. "readonly" oder "disabled"
Es gibt folgende Eingabefelder in Formularen:
Einzeiliges Textfeld
<x-laraknife.text position="first" name="id" label="Id" value="{{ $context->model->id }}" />
Attribute:
- "value": Der aktuelle Wert des Textfeldes.
- "placeholder": Wenn kein Wert in "value" angegeben ist, wird dieser Hinweis angezeigt.
Mehrzeiliger Text
<x-laraknife.bigtext name="id" label="Id" value="{{ $context->model->id }}" />
Attribute:
- "value": Der aktuelle Wert des Textfeldes.
- "placeholder": Wenn kein Wert in "value" angegeben ist, wird dieser Hinweis angezeigt.
- "rows": Anzahl Zeilen des Eingabefeldes beim Aufruf (kann mit der Maus vergrößert werden).
Passwort
Der eingegebene Text wird nur als mit Sternchen angezeigt.
<x-laraknife.password name="password" label="Password" value="{{ $context->model->id }}" />
Attribute:
- "value": Der aktuelle Wert des Textfeldes.
- "placeholder": Wenn kein Wert in "value" angegeben ist, wird dieser Hinweis angezeigt.
Auswahlbox (Combobox)
<x-laraknife.combobox name="role" label="Role" :options="$roleOptions" class="lkn-autoupdate" />
Attribute:
- ":options": Hier wird eine Variable übergeben, die die Listenelemente der Auswahl enthält.
- Wird z.B. so erzeugt:
$optionsCategory = SProperty::optionsByScope('category', $fields['category'], 'all');
- Weiteres Beispiel:
$optionsUser = DbHelper::comboboxDataOfTable('users', 'name', 'id', $fields['user']);
Position setzen
Wenn kein Feld benutzt werden kann, um "position" zu setzen, dann schließt dieses Element die Zelle:
<x-laraknife.setposition position="last" />
Leere Zelle
<x-laraknife.col-empty width="3" />
Attribut:
- "width": Breite: 1..12
Leere Zeile
<x-laraknife.row-empty />
Buttons
Allgemeiner Button
<x-laraknife.button name="btn-run" />
Vordefinierte Buttons
<x-laraknife.btn-cancel width2="3" /> <x-laraknife.btn-delete width2="3" /> <x-laraknife.btn-new width2="3" /> <x-laraknife.btn-search width2="3" /> <x-laraknife.btn-store width2="3" /> <!-- definiert den Button, der von JS-Scripts verwendet wird. <x-laraknife.hidden-button />