Grundsetup
Der Warenkorb muss zuerst global aktiviert werden damit dieser benutzt werden kann:
IServiceCollection.AddQuinoBasket()
Danach kann für jede einzelne Klasse der Warenkorb aktiviert werden:
MetaClassBuilder.IsBasketClass()
Im Client muss das Module aktiviert werden:
BasketModule.use(application)
Die Steps für den Warenkorb können individuell konfiguriert werden. Per Standard wird lediglich die Übersicht angezeigt und der Warenkorb danach direkt abgeschickt.
Es steht eine generelle Aktion zur Verfügung welche eine Klasse in den Warenkorb hinzufügt:
AddToBasketAction()
Im Client kann der Warenkorb auch einfach über eigene Aktionen individuell befüllt werden. Dazu steht der IBasketService
zur Verfügung mit verschiedenen Methoden.
Layouts
Für einen Warenkorb stehen verschiedene Layouts zur Verfügung. Per Standard werden die folgenden aufgelöst:
Layout-Name | Beschreibung |
---|---|
BasketTitle | Wird verwendet um einfache Elemente anzuzeigen. Das Titel-Layout wird kompakt auf einer Zeile angezeigt. Im obigen Beispiel “Article 1 - 12.00” |
BasketDetail | Wir verwendet wenn ein Element noch editiert werden kann. Im obigen Beispiel wird ein Popup mit dem entsprechenden Layout geöffnet bei einem Klick auf das Stift Icon. |
BasketDisplayDetail | Wird verwendet um komplexe Elemente im Warenkorb anzuzeigen. Im obigen Beispiel die Details zu einer Kursbuchung. Dieses Layout ist beliebig erweiterbar. |
Optionen
Auf jeder Entität die für den Warenkorb zugänglich gemacht wird können verschiedene Optionen konfiguriert werden:
Option | Default | Beschreibung |
---|---|---|
ShowPrice | true | Die Anzeige des Preises auf der rechten Seite der Zeile kann deaktiviert werden. Die Berechnung findet trotzdem statt. Die Anzeige bleibt aber aus. |
EnableQuantitySelector | false | Erlaubt es die Menge direkt im Warenkorb zu editieren. |
EnablePopupEditor | false | Erlaubt es eine Element nochmals direkt im Warenkorb über ein Popup zu editieren. |
PopupEditorLayout | - | Erlaubt es ein abweichendes Layout für einen Eintrag zur Verfügung zu stellen. |
UseDetailForList | false | Die normale Darstellung im Warenkorb ist kompakt - es wird eine Zeile für einen Eintrag verwendet. Bei grösseren Buchung kann dies verändert werden damit ein komplettes Detail angezeigt wird mit beliebiger Komplexität. |
DetailLayout | - | Das Layout welches für die Darstellung verwendet wird im Warenkorb. Hat nur einen Effekt wenn “UseDetailForList” auf true gesetzt ist. |
OwnsTarget | false | Ob der Warenkorb die erstellte Klasse besitzt. Im Falle das ein Eintrag aus dem Warenkorb entfernt wird so wird die angehängt Klasse gelöscht. z.B. bei einer Buchung für einen Kurs. |