Collection
class Collection extends Data implements InstanceFromContainer
View für die Ausgabe von Json-Daten
Der View wandelt das übergebene Modell nach Json um und setzt den MimeType. Die Konfigurationsdatei muss im Verzeichnis /config/[namespace]/[classname-modell].properties liegen
Das Aussehen der Buttons für Löschen, Aktions, Hinzufügen, etc kann über Eigenschaften in der Anwendungskonfiguration geändert werden:
application.view.default.ui.widget.button.delete.class Löschbutton application.view.default.ui.widget.button.action.class Aktionen in der Liste application.view.default.ui.widget.button.add.class Hinzufügen application.view.default.ui.widget.button.select.class Auswahlbutton Filter application.view.default.ui.widget.button.search.class Suchbutton Filter application.view.default.ui.widget.button.reset.class Reset-Button
Das Template für den View muss unter ressource\template\alvine\application\web\view\data\default.html angelegt werden.
Als Platzhalter müssen in dem Template ${body} eingebunden sein.
Die Collection unterstützt XEditable. Damit dies funktioniert muss in der URI ein patch-Linkziel definiert sein.
Constants
LINK_PREFIX |
Vorsilbe für Linkplatzhalter |
LINK_URL_SUFFIX |
URL |
LINK_LABEL_SUFFIX |
Label |
LINK_ID_SUFFIX |
ID |
LINK_RELATION_SUFFIX |
Relation |
LINK_DELIMITER |
Trennzeichen |
Properties
protected Content | $content | from View | |
protected StatusCode | $statusCode | from View | |
protected SimpleMap | $header | from View |
Methods
Internationalisierung
Instanz aus einer Map erstellen
Pfad und Dateiname des Templates
Stellt aus dem Namen des Modells und dem Schlüssel einen lokalisierten Platzhalter bereit.
Überschriften für die Tabelle erstellen
Details
in View at line 104
__construct(Content $content)
Neues View initialisieren
in View at line 118
Content
getContent()
Inhalt
in View at line 154
View
setLocation(URI $uri, boolean $permanent = true)
Umleitung setzen
Hinweis: Bei 302 ist das Ändern der Methode vom Client abhängig.
in View at line 193
ResponseHeader
getHeader()
Zugriff auf die Header
in View at line 202
StatusCode
getHttpStatusCode()
StatusCode
in View at line 234
static string
replaceI18N(string $content, Presenter $presenter, string $quoteCharList = null)
Internationalisierung
Die Platzhalter müssen mit i18n anfangen:
i18n{mykeytoreplace}
Die Eigenschaft muss dann mit dem Schlüssel angelegt werden:
mykeytoreplace=Text
In der Anwendungskonfiguration kann der Schlüssel application.web.i18n.showkeys auf true gesetzt werden.
Wird die Zeichenkette $quoteCharList übergeben, so werden alle Zeichen die darin enthalten sind mit einem Backslash versehen. Diese Funktion verwendet die PHP Version \addcslashes
in View at line 273
static protected Map
setLinksPlaceholder(Presenter $presenter, Map $map)
Link-Map initialisieren
Sind in der Route Links definiert, so stehen diese als Platzhalter
im Template zur Verfügung. Der Schlüssel der Links setzt sich aus
link-
in View at line 331
static protected View
getInstanceFromMap(Presenter $presenter, Map $map, ParameterMap $parameter = null)
Instanz aus einer Map erstellen
Template
Wird kein Template definiert, bzw ist dieses Leer wird nur ein leerer Platzhalter mit dem Namen content verwendet.
Über die Platzhalter template kann der Dateiname des Templates ohne Erweiterung (ohne .html) angegeben werden. Über den Schlüssel resourcepath kann der Pfad auf die Templates gesetzt werden.
Ist das Template nicht vorhanden, so wird ein HTTPError erstellt und der Inhalt zurückgegeben.
Links
Sind in der Route Links definiert, so stehen diese als Platzhalter
im Template zur Verfügung. Der Schlüssel der Links setzt sich aus
link-
Parameter
Die übergebenen Parameter stehen mit dem Schlüssel der Parameter zur Verfügung. Das ObjektMap muss eine Limitation auf \Alvine\Types\Parameter besitzen. Ansonsten werden die Parameter nicht ausgewertet.
Die Werte in den Parametern überschreiben die Werte in der Map. Wenn das nicht gewüscht ist, wird $parameter nicht übergeben.
in View at line 393
static protected File
getTemplateFileAndMimeType(Presenter $presenter, Map $map = null, ParameterMap $parameter = null)
Pfad und Dateiname des Templates
Im Parameter können die Werte template und resourcepath übergeben werden. Wird nichts übergeben werden die Defaultwerte default für das Template und als Pfad der in der Config definierte genommen.
Das Ergebnis muss noch mit $templateFile->exists() auf Exitenz geprüft erden.
Der Aufruf erfolgt folgendermaßen
list($templateFile, $mediaType, $originTemplateFileForLogging) = static::getTemplateFileAndMimeType($presenter, $map, $parameter);
in Data at line 47
static protected string
getFormatedLocaleKey(Container $container, string $key)
Stellt aus dem Namen des Modells und dem Schlüssel einen lokalisierten Platzhalter bereit.
Gibt aus Prefix und Schlüssel einen Ersetzungsschlüssel mit vorangestelltem i18n zurück.
at line 71
static Collection
getInstanceFromContainer(Container $container)
Erstellt einen List-View
Als Parameter muss ein Container mit allen Informationen zur Erstellung der Liste übergeben werden. Treten Fehler auf und kann kein View erstellt weren, so wird ein HTTPError-View erstellt und zurückgegeben. Die Fehler werden ausserdem mit lodDebug() in den \Alvine\Util\Logging\LoggerDefaultName::VIEW Logger geschrieben.
at line 91
static Collection
getInstance(Container $container)
deprecated
deprecated
Erstellt einen List-View
Als Parameter muss ein Container mit allen Informationen zur Erstellung der Liste übergeben werden. Treten Fehler auf und kann kein View erstellt weren, so wird ein HTTPError-View erstellt und zurückgegeben. Die Fehler werden ausserdem mit lodDebug() in den \Alvine\Util\Logging\LoggerDefaultName::VIEW Logger geschrieben.
at line 279
static protected string
getFilter(Container $container, Collection $definition)
Filter erstellen
at line 341
static protected Map
getHeadlines(Collection $definition, Container $container, SimpleMap $defaultURLParameter, array $orderByDefinition, boolean $hasTableRowButtons)
Überschriften für die Tabelle erstellen
at line 388
static protected SimpleMap,
getOrderByDefinition(Container $container)
Orderdefinition