Konfiguration

Konfigurationsdatei

Eine Beispielkonfigurationsdatei kann bei Github heruntergeladen werden github.com/Alvine-IO/console/blob/master/templates/example.config

Metadaten

Im Meta-Bereich wird der Name der Konfiguration und die Versionsnummer die vom Host verarbeitet werden kann.

"meta": {
    "name": "console-config",
    "version": "1.0.0"
}, ...

Allgemeine Einstellungen

Im Bereich settings wird unter anderem die zu verwendende Style-Datei (default ist spring, es stehen noch weitere wie alvine und shopcloud zur Verfügung)

"theme": {
    "css": "http://cdn.alvine.io/console/0.9.0/theme/spring/css/spring.min.css"
}, ...

Module

Einige Module werden bereits beim Laden des Host benötigt, andere hingegen erst beim Laden von bestimmten Komponenten nachgeladen. Die zu Beginn zu ladenenden Module werden im Bereich module der Konfigurationsdatei definiert. Für jedes Modul ist dabei ein Objekt mit den Eigenschaften component und location zu definieren. Die Location gibt die URL, an dem sich die Komponente befindet an.

{         
    "component": "Alvine.Package.UI.Navigation.Main",
    "location": "//cdn.alvine.io/console/latest/alvine/package/ui/navigation/main.min.html"
}, ...

Die Konsole definiert eine Hauptnavigation, eine Toolnavigation und ein Benutzermenü. Die Navigation wird über den Bereich navigation werden die einzelnen Navigationspunkte definiert.

"navigation": {
    "onload": "example",
    ...
}

Hauptnavigation

Die Hauptnavigation wird im Bereich main definiert. Ein Navigationspunkt setzt sich dabei aus den Schlüsseln label, id, icon, tag und menuzusammen.

{
    "favourites": {
        "label": "i18n:favourites",
        "id": "favourites",
        "icon": "fa fa-folder-o",
        "menu": {},
        "tag": {
            "label": "i18n:new",
            "class": "tag-danger"
            }
        }
}, ...
Hauptschlüssel Unterschlüssel Beschreibung Beispiele
label Bezeichnung des Navigationspunktes i18n:favourites
id Interne ID unter der dieser Navigationspunkt geführt wird. Im Komponententeil kann eine Komponenteüber diese ID in die Navigation eingehängt werden. favourites
icon Optionales Icon, das in der Navigation angezeigt wird fa fa-folder-o
url Aufzurufende URL #example
menu Einhängepunkt für untergeordnete Navigationseinträge
tag Markierung eines Navigationseintrages mit einem Tag
label Bezeichnung des Tags i18n:new
class CSS-Klasse tag-danger

Das i18n: in den Labels bedeutet, das der Wert in der Localen-Map nachgeschlagen wird. Wird ein Untermenü angegeben, so wird der Wert im Feld URL ignoriert.

Toolnavigation

Die Tools-Navigation wird unten links angezeigt und bietet Platz für ein paar wichtige Links. Der Aufbau ist identisch zur Hauptnavigation, mit der Ausnahme das es keine Unternavigationspunkte und keine Tags gibt. Die Navigationspunkte werden im Schlüssel tools definiert.

Usernavigation

Das Benutzermenü wird oben rechts angezeigt und über den Eintrag user definiert.

Mitteilungen

Das Mitteilungsmenü wird oben rechts angezeigt und über den Eintrag notifications definiert.

Komponenten

Die einzelnen Komponenten definieren die Dialoge der Anwendung. Jeder Dialog ist über den Schlüssel components/component in der Konfigurationsdatei konfiguriert. Jede Definition besteht mindestens aus den Schlüssel module, handler und arguments. Über die optionalen Schlüssel keybinding kann die Komponente an einen Tastendruck gehängt werden und über navigation in die Hauptnavigation eingehängt werden.

{
    "module": 
        "prototype": "Alvine.Package.UI.Content.Iframe",
        "location": "//cdn.alvine.io/console/latest/alvine/package/ui/content/iframe.min.html"
    },
    "handler": "example",
    "keybinding": "e",
    "navigation": {
        "label": "i18n:example",
        "mountpoint": "main.menu.favourites"
    },
},...
Hauptschlüssel Unterschlüssel Beschreibung Beispiel
module Zu ladende Modul
prototype Objekt das im Modul aufgerufen wird Alvine.Package.UI.Content.Iframe
location URL der Komponente //example.com/component.html
handler Handler der diese Komponente lädt und ausführt example
keybinding Das Modul kann über einen Tastendruck aufgerufen werden. e
navigation
label Bezeichnung des Navigationspunktes in der Hauptnavigation i18n:example
mountpoint Der Maountpoint sind die Schlüssel der Navigation durch einen Punkt getrennt. Das folgende Beispiel hat die Struktur main > menu > favourites main.menu.favourites
arguments Unter dem Schlüssel arguments liegen die Konfigurationen der einzelnen Komponenten.

Serviceworker

Im Abschnitt serviceworker kann ein Service-Worker für den Host definiert werden.

Hauptschlüssel Unterschlüssel Beschreibung Beispiel
serviceworker
url URL der Javascript-Datei des Service-Workers /admin/sw.js
scope Gültigkeitsbereich des Service-Workers /admin/

Kommentare