Der ArticlePager über die Javascript-API funktioniert, was die Funktionen angeht, weitestgehend parallel zum ArticlePager auf serverseitiger Ebene.
Grundlegende Funktionsweise: Der Pager nimmt ein Konfigurationsobjekt entgegen über das seine Parameter initial gesteuert werden.
Über CONTAILOR.API.ArticlePager.create(params) muss dieses Objekt initial zugewiesen werden. Seine Werte können später einzeln verändert werden.
Beim Anfordern von Seiten lädt der Pager diese vom Server nach und gibt ein Resultobjekt zurück. Mittels Callback-Funktionen kann dieses Result verarbeitet werden und daraus eine Darstellung am Client festgelegt werden.
Für Webseitenersteller gibt es mit dem Shape "ArticleListWithJS" eine vollständige Beispielimplementierung.
Untenstehend findet sich ein Beispiel, das alle verfügbaren Parameter verwendet.
Achtung! Dies ist kein an sich funktionierendes Objekt, außer man hätte genau die angegebenen IDs von Shapes und Pages, sondern soll einen Überblick darüber geben, was der Pager alles kann.
Die Parameter entsprechen namentlich denen, die auch bei der Erzeugung eines serverseitigen Pager-Objekts verwendet werden.
Da der Pager clientseitig keine Shape-Objekte liefern kann, wird dies mit Javascript-Objekten geregelt, die die Shapes und ihre Attribute darstellen. Sie können dann verwendet werden und in ein clientseitiges Tamplate zur Anzeige eingesetzt werden.
Insgesamt besteht dieses Objekt aus folgendem:
Beispiel:
Hiermit wird ein neuer Pager erzeugt. Ein eventuell Bestehender wird überschrieben.
In params steht das oben beschriebene Objekt zur Erzeugung.
In dieser Variable kann der Stand des aktuellen Pagers abgefragt werden. In ihm findet sich die Struktur des Result-Objekts inkl. der Parameter.
Achtung: Das Objekt sollte nicht von Instanz-Code direkt gesetzt/bearbeitet werden, andernfalls kann für eine korrekte Funktionsweise keine Garantie übernommen werden.
Liefert die Gesamtzahl an Artikeln im Pager (nicht die aktuell angezeigten).
Liefert die aktuelle Anzahl Seiten.
Jede der folgenden Funktionen hat eine Callback-Funktion und einen Callback-Parameter zur Verfügung, diese werden nicht bei jeder Funktion erneut beschrieben. Mit diesen Mitteln lassen sich die Ergebnisobjekte verarbeiten. Jede Callback-Funktion bekommt zwei Parameter: An erster Stelle steht das Ergebnis-Objekt des Pagers, dessen Struktur siehe oben unter Rückgabeobjekt zur Anzeige der Shapes. Als zweiter Parameter kommt der selbst angegebene Parameter, der mit "callbackParam" übergeben wurde. Dieser kann natürlich auch leer gelassen werden.
Liefert eine Liste von Artikeln gemäß der aktuellen Spezifikation
Setzt die Anzahl an Artikeln pro Seite für den Pager und liefert eine entsprechende Liste an Artikeln zurück.
Setzt die Ausgangsmenge an Artikeln und liefert entspr. die Artikel.
Setzt den Wert, ob ab- oder aufsteigend sortiert werden soll und liefert entspr. die Artikel.
Setzt neue Filteroptionen und liefert entspr. die Artikel.
Setzt Attribute, bzw. deren Namen, nach denen sortiert werden soll und liefert entspr. die Artikel.
Zu beachten ist folgendes:
- Es wird zunächst nach dem ersten gegebenen, dann dem zweiten usw. sortiert
- Es kann maximal nach drei Attributen geschachtelt sortiert werden, werden mehr angegeben, werden die übrigen ignoriert
- Ungültige Attribute, Nothing-Einträge, etc. werden ignoriert
- Es kann nicht nach File-, Link-, Image- und Option-Attributen sortiert werden, solche werden auch ignoriert
- Mehrfachangaben des gleichen Attributs werden ignoriert, die erste Position greift
Liefert die nächste Seite des Pagers und setzt die interne aktuelle Position eine Seite nach vorne.
Liefert die nächste Seite des Pagers und setzt die interne aktuelle Position eine Seite nach vorne.
Gibt es keine nächste Seite, bleibt die Position wie sie ist.
Liefert die vorherige Seite des Pagers und setzt die interne aktuelle Position eine Seite zurück.
Gibt es keine vorherige Seite, bleobt die Position wie sie ist. Ungültige Eingaben führen zu Wert 0 bei Startposition (also ab Beginn) und 1 bei der Menge.
Geht zur angegebenen Seite. Existiert sie nicht, wird die größte Gültige verwendet. Negative oder nicht numerische Werte lassen die erste Seite liefern.
Die interne Position des Pagers wird entsprechend umgesetzt.
Liefert eine bestimmte Anzahl Artikel ab einer gegebenen Position. Gibt es nicht genug Artikel um "amount" zu erfüllen, kommen die noch
vorhandenen. Die Angabe nicht existenter Positionen führt zu einem leeren Ergebnis.
Liefert alle Artikel, die aktuell im Pager vorhanden sind.