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

__construct(Content $content)

Neues View initialisieren

from View
Content
getContent()

Inhalt

from View
setHttpStatusCode(StatusCode|integer $statuscode)

Statuscode setzen

from View
setLocation(URI $uri, boolean $permanent = true)

Umleitung setzen

from View
setNotFound()

Seite nicht gefunden

from View
setForbidden()

Zugang nicht erlaubt

from View
ResponseHeader
getHeader()

Zugriff auf die Header

from View
StatusCode
getHttpStatusCode()

StatusCode

from View
static string
replaceI18N(string $content, Presenter $presenter, string $quoteCharList = null)

Internationalisierung

from View
static Map
setLinksPlaceholder(Presenter $presenter, Map $map)

Link-Map initialisieren

from View
static View
getInstanceFromMap(Presenter $presenter, Map $map, ParameterMap $parameter = null)

Instanz aus einer Map erstellen

from View
static File
getTemplateFileAndMimeType(Presenter $presenter, Map $map = null, ParameterMap $parameter = null)

Pfad und Dateiname des Templates

from View
setHint(string $message)

Hinweistext im Header übertragen

from View
static string
getFormatedLocaleKey(Container $container, string $key)

Stellt aus dem Namen des Modells und dem Schlüssel einen lokalisierten Platzhalter bereit.

from Data
static Collection
getInstanceFromContainer(Container $container)

Erstellt einen List-View

static Collection
getInstance(Container $container) deprecated

Erstellt einen List-View

static string
getFilter(Container $container, Collection $definition)

Filter erstellen

static Map
getHeadlines(Collection $definition, Container $container, SimpleMap $defaultURLParameter, array $orderByDefinition, boolean $hasTableRowButtons)

Überschriften für die Tabelle erstellen

static SimpleMap,
getOrderByDefinition(Container $container)

Orderdefinition

Details

in View at line 104
__construct(Content $content)

Neues View initialisieren

Parameters

Content $content Inhalt

in View at line 118
Content getContent()

Inhalt

Return Value

Content Inhalt

in View at line 131
View setHttpStatusCode(StatusCode|integer $statuscode)

Statuscode setzen

Parameters

StatusCode|integer $statuscode Statuscode

Return Value

View Dieses Objekt

Exceptions

InvalidArgumentException falsches Argument

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.

Parameters

URI $uri URI des neuen Ziels
boolean $permanent Permanet 301 oder temporär 302

Return Value

View Dieses Objekt

in View at line 173
View setNotFound()

Seite nicht gefunden

Setzt den Status-Code 404

Return Value

View Dieses Objekt

in View at line 184
View setForbidden()

Zugang nicht erlaubt

Setzt den Status-Code 403

Return Value

View Dieses Objekt

in View at line 193
ResponseHeader getHeader()

Zugriff auf die Header

Return Value

ResponseHeader

in View at line 202
StatusCode getHttpStatusCode()

StatusCode

Return Value

StatusCode 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

Parameters

string $content Inhalt
Presenter $presenter Presenter
string $quoteCharList Quote

Return Value

string

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---url bzw link---label

Parameters

Presenter $presenter
Map $map

Return Value

Map

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---url bzw link---label

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.

Parameters

Presenter $presenter Presenter für die Konfiguration
Map $map Map mit Werten die im Template ersetzt werden sollen
ParameterMap $parameter Parameter des Presenters

Return Value

View

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);

Parameters

Presenter $presenter Presenter
Map $map Werte
ParameterMap $parameter Parameter

Return Value

File $templateFile, \Alvine\Types\MediaType $mediaType, \Alvine\IO\File\File $templateFile $originTemplateFileForLogging> Array mit dem File-Objekt des Templates, dem MediaTyp des Requests und der ersten Suchstelle

in View at line 499
View setHint(string $message)

Hinweistext im Header übertragen

Parameters

string $message

Return Value

View

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.

Parameters

Container $container Container mit Modell
string $key Schlüssel

Return Value

string i18n Zeichenkette

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.

Parameters

Container $container

Return Value

Collection

at line 91
static Collection getInstance(Container $container) deprecated

deprecated since 2017-10-21

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.

Parameters

Container $container

Return Value

Collection

at line 279
static protected string getFilter(Container $container, Collection $definition)

Filter erstellen

Parameters

Container $container
Collection $definition

Return Value

string Filter

at line 341
static protected Map getHeadlines(Collection $definition, Container $container, SimpleMap $defaultURLParameter, array $orderByDefinition, boolean $hasTableRowButtons)

Überschriften für die Tabelle erstellen

Parameters

Collection $definition Definition
Container $container Container
SimpleMap $defaultURLParameter URL-Parameter
array $orderByDefinition Sortierung
boolean $hasTableRowButtons Sollen Buttons angezeigt werden

Return Value

Map

at line 388
static protected SimpleMap, getOrderByDefinition(Container $container)

Orderdefinition

Parameters

Container $container

Return Value

SimpleMap, $definition>