Host¶
Die Host-Komponente ist ein Singleton und besitzt nur eine Instanz. Der Host bildet die Grundlage der Anwendung. Der Host ist
für das laden der Konfiguration, die Initialisierung der Navigation und die Bereitstellung grundlegender Funktionen verantwortlich.
Die Instanz des Hosts ist über die Alvine.Registry erreichbar: Alvine.Package.Console.Host
Konfiguration¶
Die Konfiguration wird über die Methode Host.loadConfig(url)
geladen. Wird keine url übergeben, so wird der Standardwert config.json
verwendet. Die Werte
der Konfiguration wird in der Registry im Schlüssel console.settings
gespeichert.
Notify¶
Um den Benutzer direkt über ein Ergebnis einer Aktion zu informieren, bietet der Host mit der notify-Schnittstelle
die Möglichkeit direkt Kundenmeldungen abzugeben. Über die Methoden Host.notifyDanger()
, Host.notifySuccess()
,
Host.notifyWarning()
und Host.notifyInfo()
können unterschiedliche Meldungen angeziegt werden.
message = "Aktion konnte nicht ausgeführt werden";
icon = "fa fa-cogs";
title = "Mein Titel";
url = "http://example.com";
location = "_blank";
// Bis auf die Message sind alle Parameter optional Alvine.Package.Console.Host.notifyWarning(message, icon, title, url, location);
Die Meldung und der Titel können auch lokalisierte Texte enthalten.
Alvine.Package.Console.Host.notifyWarning('i18n:thiswarning');
Navigation¶
Um Navigationshandler zu registrieren, muss die Methode Alvine.Package.Console.Host.register()
aufgerufen werden und ein Objekt vom Type
Alvine.NavigationHandler übergeben werden.
handler = new Alvine.Package.Console.NavigationHandler('shortcut', function() {
// ... code
})
Kontext¶
Ein Kontext wird durch den Hash-Wert in einer URL definiert. Der Kontext in dem sich der Benutzer in der folgenden URL befindet ist dashboard. Der Kontext wird durch Argumente genauer spezifiziert. Die Argumente sind durch eine Kombination von Wertepaaren (key=value), die durch ein Semikolon getrennt sind, definiert.
http://www.example.com/page#dashboard;panel=1
Location¶
Das Location-Objekt bildet einen Kontext mit seinen Argumenten ab. Ein neues Location-Objekt kann über die Funktion Location(context, contextArguments)
erstellt werden. Die Argumente können entweder als Map oder als Objekt-Array übergeben werden.
location = new Alvine.Package.Console.Location('mypage', {a=1, b=1})
Werden keine Argumente angeben, so wird ein Location
-Objekt mit der aktuelle Location
des Browser-Windows erstellt.
location = new Alvine.Package.Console.Location()
Über die Methode Location.toString()
kann aus dem Location
Objekt eine Zeichenkette erstellt werden. Die
Methode Location.getContext()
liefert den Kontext zurück. Die Argumente können über die Methode Location.getArguments()
ausgelesen werden. Ein einzelnes Argument kann mit Hilfe Location.getArgument(key, defaultValue)
ausgelesen und mit Hilfe von
Location.setArgument(key, value)
verändert werden.
Über die Methode Location.activate()
wird der Kontext an den Browser übergeben und aktiviert.
Objektreferenz¶
Alvine.Package.Console.Location(context, contextArguments)
Beschreibung
Neues Objekt erstellen. Wird kein Kontext und keine Argumente übergeben, so wird die aktuelle Location des Browsers verwendet.
Parameter-Liste
context (String)
Eindeutige Bezeichnung des Kontext (erscheint in der URL hinter dem Hash
#
)
contextArguments (Alvine.Types.Map | Object)
Argumente die im Kontext verwendet werden sollen. Diese werden per Seikolon vom Kontext getrennt.
Rückgabewert
Neues Location-Objekt
Location.toString()
Beschreibung
Gibt den Kontext und die Argumente als Zeichenkette zurück.
Rückgabewert
String
mit dem Kontext und den Argumenten
Location.activate()
Beschreibung
Aktiviert den Kontext des Objekts im Browserwindows.
Rückgabewert
Referenz auf Location
Location.getArguments()
Beschreibung
Argumente des Objektes holen
Rückgabewert
Gibt die
Alvine.Types.Map
mit den Argumenten zurück
Location.getContext()
Beschreibung
Kontext des Objekts auslesen
Rückgabewert
Gibt Kontext als
String
zurück
Location.setArgument(key, value)
Beschreibung
Argumente des Objekts einzeln setzen
Parameter-Liste
key (String)
Schlüssel des Arguments
value (String)
Wert des Arguments
Rückgabewert
Referenz auf Location
Location.removeArgument(key)
Beschreibung
Entfernt ein Argument
Parameter-Liste
key (String)
Schlüssel des Arguments
Rückgabewert
Referenz auf Location
Location.getArgument(key, defaultValue)
Beschreibung
Wert eines Arguments auslesen
Parameter-Liste
key (String)
Schlüssel des Arguments
defaultValue (String)
Standardwert, wenn der Schlüssel nicht gesetzt ist.
Rückgabewert
Wert des Arguments oder
defaultValue
Änderung des Kontextes¶
Die Konsolenanwendung läft in verschiedenen Kontexten, die über den ersten Wert im Hash in der URL definiert werden. Beim
Ändern des Kontextes wird der Event contextchange.HOST.DONE
gesendet. Als Parameter enthält der Event eine Referenz auf
den Host, den Wert des Kontextes und die Argumente.
#myhash;a=4;b=5
myhash
ist der Kontext und a
und b
sind die Kontext-Argumente.
Will man den Kontext über das Skript ändern, so stehen mehrer Wege offen. Man kann entweder direkt über die window.location einen neuen Wert setzen
oder man erstellt ein Location-Objekt und aktiviert dieses. Über den Host kann man die Methode Alvine.Package.Console.Host.changeLocation(location)
verwenden.
map = new Alvine.Types.Map();
map.set('key','value');
Alvine.Package.Console.Host.changeLocation(new Alvine.Package.Console.Location('newValue', map));
Die Methode Alvine.Package.Console.Host.changeLocation(location)
bietet den Vortail, das kein Location-Objekt erstellt werden muß, die Arguente können auch in Kurzform angegeben werden.
Alvine.Package.Console.Host.changeLocation('newValue', {a=1,b=1});
Will man nicht den gesamten Kontext ändern, sondern nur einzelne Werte so kann die Methode Host.setLocationArgument(key, value)
verwendet werden. Über die Methode Host.removeLocationArgument(key)
können
Argumente entfernt werden.
Kontextänderungen¶
Um Änderungen des Kontextes und Änderungen der Variablen mitzubekommen, kann man im Host einen Handler registrieren. Dies erfolgt über die Methode Host.registerContextHandler(location, callback)
.
Die Abmeldung vom Host erfolgt über die Methode Host.unregisterContextHandler(location)
function callback(location) {
// this === host
}
location = new Alvine.Package.Console.Location('demo');
Alvine.Package.Console.Host.registerContextHandler(location, callback);
Alvine.Package.Console.Host.unregisterContextHandler(location);
Für Registrierungen mit dem aktuellen Kontext gibt es die Kurzformen Host.registerCurrentContextHandler(callback)
und Host.unregisterCurrentContextHandler()
.
Möchte man die Änderung über jeden Kontext erhalten, so kann man als Location einen Stern Host.registerCurrentContextHandler('*')
übergeben.
Änderung der Location¶
Soll über die Kontextänderung jede Änderung der Location beobachtet werden, so kann man sich in die Eventverarbeitung zu dem Event locationchange.HOST
hängen.
Als Argument erhält man die aktuelle Location.
jQuery(globalContext).bind('locationchange.HOST.MYHANDLER', function (event, location) {
// ...
});
Kontext auslesen¶
Über die Methode Host.getLocation()
kann die aktuelle Location ausgelesen werden.
location = Alvine.Package.Console.Host.getLocation();
// Aktueller Kontext
location.getContext();
// Argumente
location.getArguments()
// -> Map mit Argumenten
Info-Icons¶
Im oberen Teil des Fensters können Info-Icons unterschieldiche Zustände der Anwendung anzeigen. Ein Icon ist der Zustand der Verbindung.
Hinweis
Informationsicons dürfen nur für globale Zustände der Anwendung und nicht von einzelne Module verwendet werden.
Folgende Icons werden vom Host gesetzt:
Icon | Beschreibung |
---|---|
Der Browser befindet sich im Offlinemodus | |
Der Browser befindet sich im Onlinemodus | |
In der Konsole ist ein Serviceworker registriert |
Host.initInfoIcon(id, iconClass, tooltip)
Beschreibung
Diese Methode initialisiert ein neues Informations-Icon im oberen Bereich der Anwendung
Parameter-Liste
id (string)
ID des Icons
iconClass (string)
Fontawesome Icon-Klasse (ohne fal)
tooltip (string)
Anzuzeigender Tooltip
Rückgabewert
Hostobjekt
Host.showInfoIcon(id, addClass)
Beschreibung
Blendet das Info-Icon aus.
Parameter-Liste
id (String)
Anzuzeigendes Info-Icon
addClass (String|undefined)
Optionale Klasse die beim Anzeigen hinzugefügt wird (zum Beispiel Farbe)
Rückgabewert
Beschreibung
Host.hideInfoIcon(id, removeClass)
Beschreibung
Blendet das Info-Icon aus.
Parameter-Liste
id (String)
Auszublendendes Info-Icon
removeClass (String|undefined)
Klasse die aus dem Element entfernt werden soll
Rückgabewert
Beschreibung
Arbeiten mit der API¶
Die fetch
Methode des Hosts ist ein Warapper, der zusätzliche Funktionen, wie Fortschrittsanzeige und Modal-Dialoge bereitstellt.
Wird zum Beispiel die whoami
aufgerufen und der Benutzer hat keine Berechtigung (403), so erscheint ein Modaldialog mit dem Hinweis auf
die fehlende Berechtigung.
Ist der Benutzer jedoch nicht angemeldet (401), so erscheint ein Modaldialog mit dem Hinweis auf den Logout und der der Benutzer
wird, soweit die Login-URL in der Konfiguration unter console.settings.authentication.login.url
definiert wurde, auf die Loginseite weitergeleitet.
Alvine.Package.Console.Host.fetch('/api/account/whoami',{
credentials:'include',// Cookies übergeben
headers: {
accept:'application/json'
}
});
Die Dialoge und die Fortschritsanzeige können aber auch deaktiviert werden:
Alvine.Package.Console.Host.fetch('/api/account/whoami',{
credentials:'include',// Cookies übergeben
disableProgress:true, // Keine Fortschritsanzeige
disableDialog:[401], // Kein Dialog bei 401 Meldungen
headers: {
accept:'application/json'
}
});
Das Ergebnis von fetch
ist ein Promise, der entweder erfüllt wird oder einen Fehler wirft.
promise = Alvine.Package.Console.Host.fetch('/api/account/whoami');
promise.then()
.catch();
Bei der Abfrage von json-Daten sollte man nicht auf die response.json()
Funktion zurückgreifen, da
diese keine gesonderte Fehlerbehandlung erlaubt. Stattdessen sollte man wie in folgendem Beispiel mit
den JSON-Methoden arbeiten.
Alvine.Package.Console.Host.fetch(url, {
}).then(response => {
if(!response.ok) {
throw Alvine.Exception(url+' status: '+response.statusText);
}
return response.text();
}).then(responseBodyAsText => {
try {
return JSON.parse(responseBodyAsText);
} catch(e) {
throw Alvine.Exception(url+' status: unparsable ; body:'+responseBodyAsText);
}
}).then(function(jsonData) {
/** */
});
Host.fetch(input, init)
Beschreibung
Wrapper für die Standard-Methode
fetch
mit integrierter Statusanzeige für den Request. Für Details siehe auch Fetch bei Mozialla.Wird vom Server der Statuscode 401 (UNAUTHORIZED) zurück gemeldet so wird unter den folgenden Bedingungen ein Redirekt auf die Login-Maske durchgeführt:
- Die Login-URL muss im Schlüssel
console.settings.authentication.login.url
definiert sein- Der Parameter
init.credentials
muss aufinclude
odersame-origin
gesetzt seinFolgender Aufruf würde im Falle eines 401 Fehlers zu einem Redirekt führen.
Alvine.Package.Console.Host.fetch(myurl, {credentials:'include'})
Parameter-Liste
input (String | Request)
Resource
init (Object)
Optionen die direkt an fetch weitergereicht werden. Für die automatische Weiterleitung auf die Loginseite im 401 Fehlerfall ist die Option
credentials
auch für öffentliche API wichtig.Weitere Optionen zur Steuerung des Verhaltens sind:
disableProgress
: deaktivert wenn übergeben undtrue
die Fortschrittsanzeige (gültige Wertetrue
oderfalse
).disableDialog
: deaktivert wenn der Wert ein Array mit den Werten der Fehlermeldung enthält den entsprechenden Modaldialog (z.B. [401,403]).
Rückgabewert
Original
Promise
vonfetch
Host.browseToLogin()
Beschreibung
Diese Methode blendet den Inhalt aus und ruft die URL des Login-Dialoges auf. Die Methode funktioniert nur, wenn in der Konfiguration
console.settings.authentication.login.url
gesetzt wurde.In einem jQuery-Ajax-Aufruf könnte folgendes Statement verwendet werden:
statusCode: { 401: function() { Alvine.Package.Console.Host.browseToLogin(); } }
Rückgabewert
Host-Objekt
Fortschrittsanzeige¶
Der Host verfügt über eine eigene Fortschritsanzeige. Mit der Methode Host.setProgessInfo(id, progress)
kann der Status
des aktuellen Ladevorgangs gesetzt werden. Initialisiert werden muss progress
mit dem Wert start
und beendet wird die
Anzeige mit dem Wert progress
. Dazwischen sind die Werte 0-100
erlaubt.
Für jQuery-Ajax-Aufrufe müssen die Werte nicht manuell gesetzt werden. Hier hängt sich der Host in die Aufrufe ein und setzt
die entsprechenden Werte. Möchte man eine URL von dem Verhalten ausnehmen, so muss diese URL als id über die Methode
Host.disableProgressInfo(id)
von der Beobachtung ausgenommen werden.
Für fetch
aufrufe steht im Host der Wraper Host.fetch(requestOrURL, options)
zur Verfügung. Dieser kümmert sich auch um
die Ladeanzeige.
Host.disableProgressInfo(id)
Beschreibung
Deaktiviert die Beobachtung einer ID/URL
Parameter-Liste
id (String)
Schlüssel oder URL die deaktiviert werden soll
Rückgabewert
Host-Objekt
Host.setProgessInfo(id, progress)
Beschreibung
Setzt den aktuellen Fortschritt für einen Request
Parameter-Liste
id (String)
Schlüssel oder URL für die der Wert gesetzt werden soll
progress (Integer | String)
Fortschritt in Prozent von 0-100. Für den ersten Aufruf ist
start
und für den letzten Aufruf bei Fertigstellungdone
zu setzen.
Rückgabewert
Host-Objekt
Komponente¶
Komponenten lassen sich über die Methode Host.startComponent(componentName, componentVersion, requirements)
erstellen und im Host registrieren. Die Methode Alvine.Package.Factory.startComponent(componentName, componentVersion, requirements)
fügt alle
Bausteiner zusammen und erlaubt so eine schnelle und sichere Umsetzung einer Komponente.
Alvine.Package.Factory.startComponent(componentName, componentVersion, requirements)
erwartet neben dem Namen der Komponente
auch die Version und optional Abhängigkeiten.
Das folgende Beispiel zeigt einen beispielhaften Aufruf.
Alvine.Package.Console.Host.startComponent(namespace+'.'+componentName, componentVersion, {
/** Notwendige Versionsnummern des Alvine-Framework und jQuery */
libraries: {
alvine: '1.9.0',
jquery: '2.3.0'
},
/** Javascript-Bibliotheken die geladen werden müssen */
externals: [
"/app/console/js/mylib.js",
],
/** Promises */
promises: [
],
/** Notwenige Funktionskomponenten die eingebunden sein müssen */
modules: {
'Alvine.Package.UI.Dialog.Bootstrap': '1.0.0',
'Alvine.Package.i18n.Globalize': '1.0.0'
},
/** URL in der die Sprachdateien liegen */
locales: [
"resource/"
],
component: {
/** Wird beim Verlassen des Kontextes aufgerufen */
cleanUp: () => {
// do something
}
},
/** Initialisierung des Views */
view: {
init: (configuration, doneCallback) => { var view = $this; /** do something */ doneCallback();},
activate: configuration => { var view = $this; /** do something */ },
template: '#template'
}
}).catch(error => {
Alvine.Util.Logger.logError(namespace+'.'+componentName, componentVersion, 'startComponent', error);
Alvine.Package.Console.Host.notifyDanger('i18n:error.somethingwentwrong');
});
Sobald alle Bibliotheken, Resourcen und Externals eingebunden wurden, wird die bei init
definierte Funktion aufgerufen.
Sobald die Initialisierung abgeschlossen ist, muss die Funktion doneCallback()
aufgerufen werden. Damit wird dem
Host mitgeteilt, das alle Controls und Daten vorliegen und das der View ausgegeben werden kann.
Nach der Darstellung des Views wird vom Host die über activate
definierte Methode aufgrufen. Hier können nun
Eventhandler und DOM-Manipulationen durchgeführt werden.
Hinweis
init
und activate
werden im Kontext des Views aufgerufen. Der View ist über die Variable this
ansprechbar.
Host.startComponent(componentName, componentVersion, requirements)
Beschreibung
Registrieren und Starten einer Komponente
Parameter-Liste
componentName (String)
Name inklusive des Namespace der Komponente
componentVersion (String)
Semantische Versionsnummer x.x.x der Komponente
requirements (Object)
Das Objekt kann folgende Schlüssel enthalten:
libraries
,externals
,modules
,locales
,promises
,component
undview
.
Rückgabewert
Host-Objekt
Views¶
Jeder Kontext sollte über einen View verfügen, der mittels Component.createView()
erstellt wird.
<template id="template">
<div data-container></div>
</template>
Der Methode Component.createView()
können zwei Callbacks übergeben werden. Der erste Callback
/** Initialisierung der Felder, Inhalte und Controls */
var view;
function initUI(configuration) {
panel = ...
/** View leeren */
view.clear();
/** Inhalt hinzufügen */
view.appendContent(panel);
}
/** Aktivierung der Felder, Inhalte und Controls */
function activateUI(configuration) {
}
component = Alvine.Package.Factory.createComponent(namespace + '.Demo');
view = component.createView(namespace + '.Demo.Panel', '#template',
{'required': ['Alvine.Package.UI.Dialog.Bootstrap']}, initUI, activateUI);
Beim Erstellen und Hinzufügen des Views zum DOM wird zuerst initView aufgerufen. Zu diesem Zeitpunkt
enthält das DOM noch keine Elemente aus dem View. In der InitView-Funktion können zum Beispiel Controls
über View::appendContent()
zum View hinzugefügt werden. Werdem dem Template über View.appendContent()
Inhalte
hinzugefügt, so werden diese in der Node mit dem Attribute data-container
ins DOM eingefügt.
Der erste Parameter der Callback-Methoden definiert die Werte aus der Konfiguration. Wird ein optionales zweites Argument
angegebn, so wird diesem Wert ein Callback übergeben. Dieser Callback muss im Funktionsbody explizit aufgerufen werden.
Erst mit aufruf von done() wird der View eingehängt und activateUI()
aufgerufen.
function initUI(configuration, done) {
// muss explizit aufgerufen werden
done();
}
Kontext verlassen¶
Im Rahmen eines Modules werden unterschiedliche Ressourcen reserviert. Sei es ein Eintrag in der Registry oder ein global
registrierter Eventhandler. Um beim Verlassen eines Kontextes diese Ressourcen freizugeben, muss das Modul die Methode Component.cleanUp()
implementieren. Diese Methode wird beim Ändern des Kontextes aufgerufen.
component = Alvine.Package.Factory.createComponent(namespace + '.' + componentName);
component.cleanUp = function () {
// Aufräumen
};
Modul laden¶
Ein Modul kann zur Laufzeit geladen werden. Dazu stellt der Host die Methode Host.loadModule(module, url)
bereit.
Alvine.Package.Console.Host.loadModule('MyPackage', 'http://example.com/packages/mypackage.js');
Hinweis
Falls das Modul eine Konfiguration benötigt, muss diese vorher in der zentralen Konfiguration eingetragen werden.
ServiceWorker¶
Der Host kann beim Start einen Serviceworker initialisieren. Dazu muss in der Konfiguration unter dem Schlüssel
serviceworker.url
eine URL und ein optionaler Scope serviceworker.scope
angegeben werden. Der Serviceworker wird dann registriert und
die Registration ist über der ServiceWorkerWrapper
erreichbar. Der gültige Wrapper kann mit der Methode Host.getServiceWorkerWrapper()
geholt werden.
Cache¶
Um den Cache zu leeren muss die Methode ServiceWorkerWrapper.clearCache(key)
aufgerufen werden. Die Methode
ServiceWorkerWrapper.clearCaches(whitlist)
löscht hingegen alle Caches.
sw = Alvine.Package.Console.Host.getServiceWorkerWrapper();
sw.clearCache('mycache')
.then(function(value){
console.log('Gelöscht: ',value);
}).catch(function(error){
console.log("Fehler: "+error);
});
Objektreferenz¶
ServiceWorkerWrapper(registration)
Beschreibung
Der ServiceWorkerWrapper kapselt den ServiceWorker des Hosts.
Parameter-Liste
registration (Types)
Registration des ServiceWorkers
Rückgabewert
Gibt ein ServiceWorkerWrapper Objekt zurück
ServiceWorkerWrapper.getRegistration()
Beschreibung
Gibt die Registration zurück
Rückgabewert
Gibt die Registration zurück
ServiceWorkerWrapper.sendMessage(message)
Beschreibung
Diese Methode sendet eine Nachricht an den Serviceworker
Parameter-Liste
message (String | Object)
Die zu sendende Nachricht
Rückgabewert
Gibt ein Promise zurück
ServiceWorkerWrapper.clearCaches(whitelist)
Beschreibung
Diese Methode holt alle verfügbaren Caches und löscht diese. Über den Parameter
Parameter-Liste
whitelist (Array)
Ein Array, mit Namen die nicht gelöscht werden sollen.
Rückgabewert
Ein
Promise
mit einem Array als Promise-Wert. Das Array enthält soviele Einträge, wie Caches gelöscht wurden. Bei Erfolg steht eintrue
, bei Misserfolg einfalse
im Eintrag des Array.
ServiceWorkerWrapper.clearCache(key)
Beschreibung
Diese Methode prüft, ob es einen Cache mit dem Namen gibt und löscht diesen.
Parameter-Liste
key (String)
Name des Chaches
Rückgabewert
Promise
Internationalisierung i18n¶
In der Host-Komponente wird in Abhängigkeit der Sprache des Konsolen-Dokuments <html lang="de">
die Lokale-Datei mit den sprachabhängigen
Zeichenketten geladen. Auf die Zeichenketten kann mittels der Methode Host.getLocaleMessage(key, default, map)
zugegriffen werden. Das Laden
der Locale kann über die Methode Host.loadLocale(url)
oder Host.loadLocales([url])
erfolgen.
// Map mit Ersetzungen
map = new Alvine.Types.Map();
map.set('count',4);
// Lokalisierte Zeichenkette
mystring = Alvine.Package.Console.Host.getLocaleMessage('mykey','defaultvalue', map);
Über den dritten Parameter in Host.getLocaleMessage(key, default, map)
kann eine Map mit Ersetzungen übergeben werden. In dem Beispiel
ist in der Zeichenkette der Platzhalter %count%
definiert. Dieser wird in dem Beispiel mit dem Wert aus der Map, hier 4
, ersetzt.
Objektreferenz¶
Host.getLocation()
Beschreibung
Schlägt die aktuelle Location des Browsers nach und erstellt ein Location Objekt
Rückgabewert
Gibt 'Location'-Objekt zurück
Host.registerHandler(handler)
Beschreibung
Registriert einen
Alvine.Package.Console.NavigationHandler
im Host.
Parameter-Liste
handler (Alvine.Package.Console.NavigationHandler)
Zu registrierender Handler
Rückgabewert
Referenz auf den Host
Host.getLocaleMessage(key, defaultValue, map)
Beschreibung
Die Methode schlägt in der Registry
Alvine.Registry.get('Locale')
den Schlüsselkey
nach und gibt die gefundene Zeichenkette oder den StandardwertdefaultValue
zurück. Über diemap
können vorhandene Ersetzungen in der Zeichenkette durchgeführt werden.
Parameter-Liste
key (String)
Schlüssel
defaultValue (String)
Standardwert, wenn der
key
nicht vorhanden ist
map (Alvine.Types.Map)
Map mit Ersetzungen
Rückgabewert
Gibt
String
mit lokalisierte Zeichenkette oder StandardwertdefaultValue
zurück.
Host.notifyDanger(message, icon, title, url, target)
Beschreibung
Die Methode gibt eine Nachricht
message
mit Farbgebung für Probleme in der Konsole aus. Für die Darstellung kommt das Bootstrap Notify-Plugin zum Einsatz.
Parameter-Liste
message (String)
Auszugebender Text
icon (String)
CSS-Klasse, die ein Icon definiert. Wird kein Icon angegeben, so wird
fa fa-times-circle
verwendet.
title (String)
Titel des Nachrichtenfensters
url (String)
Wird eine URL angegeben, so wird das Meldefenster zu einer klickbaren Fläche mit der angegebenen URL als Ziel.
target (String)
Browsertarget (Mögliche Werte: _blank | _self | _parent | _top)
Rückgabewert
Gibt Referenz auf Host zurück
Host.notifyDanger(message, icon, title, url, target)
Beschreibung
Die Methode gibt eine Nachricht
message
mit Farbgebung für einen Erfolg in der Konsole aus. Für die Darstellung kommt das Bootstrap Notify-Plugin zum Einsatz.
Parameter-Liste
message (String)
Auszugebender Text
icon (String)
CSS-Klasse, die ein Icon definiert. Wird kein Icon angegeben, so wird
fa fa-times-circle
verwendet.
title (String)
Titel des Nachrichtenfensters
url (String)
Wird eine URL angegeben, so wird das Meldefenster zu einer klickbaren Fläche mit der angegebenen URL als Ziel.
target (String)
Browsertarget (Mögliche Werte: _blank | _self | _parent | _top)
Rückgabewert
Gibt Referenz auf Host zurück
Host.notifyWarning(message, icon, title, url, target)
Beschreibung
Die Methode gibt eine Nachricht
message
mit Farbgebung für eine Warnung in der Konsole aus. Für die Darstellung kommt das Bootstrap Notify-Plugin zum Einsatz.
Parameter-Liste
message (String)
Auszugebender Text
icon (String)
CSS-Klasse, die ein Icon definiert. Wird kein Icon angegeben, so wird
fa fa-warning
verwendet.
title (String)
Titel des Nachrichtenfensters
url (String)
Wird eine URL angegeben, so wird das Meldefenster zu einer klickbaren Fläche mit der angegebenen URL als Ziel.
target (String)
Browsertarget (Mögliche Werte: _blank | _self | _parent | _top)
Rückgabewert
Gibt Referenz auf Host zurück
Host.notifyInfo(message, icon, title, url, target)
Beschreibung
Die Methode gibt eine Nachricht
message
mit Farbgebung für eine Information in der Konsole aus. Für die Darstellung kommt das Bootstrap Notify-Plugin zum Einsatz.
Parameter-Liste
message (String)
Auszugebender Text
icon (String)
CSS-Klasse, die ein Icon definiert.
title (String)
Titel des Nachrichtenfensters
url (String)
Wird eine URL angegeben, so wird das Meldefenster zu einer klickbaren Fläche mit der angegebenen URL als Ziel.
target (String)
Browsertarget (Mögliche Werte: _blank | _self | _parent | _top)
Rückgabewert
Gibt Referenz auf Host zurück
Host.disableEasterEgg()
Beschreibung
Die Methode schaltet die Alvine-Ausgabe in der Browser-Konsole aus und speichert die Einstellung im
localStorage
.
Rückgabewert
Gibt die Zeichenkette
OK
zurück
Host.toggleFullscreen(element)
Beschreibung
Die Methode schaltet den Browser in einen Fullscreen-Mode, bzw wieder zurück.
Parameter-Liste
element (element)
DOM-Element oder jQuery-Collection
Rückgabewert
Promise der Broweserfunktion
Host.loadModule(module, url)
Beschreibung
Diese Methode lädt ein Modul mit einem Namen und der angegebenen URL
Parameter-Liste
module (String)
Name des Moduls mit Namespace
url (String)
URL, unter der das Modul zu finden ist.
Rückgabewert
Gibt ein Objekt vom Typ
Alvine.Package.Module
zurück.
Host.getCurrentComponentName()
Beschreibung
Gibt den Namen der aktuellen Komponente zurück. Zum Beispiel
Alvine.Platform.Item
Rückgabewert
Gibt einen
String
mit dem Namen der Komponente zurück.
Host.registerContextHandler(location, callback)
Beschreibung
Registriert einen Kontext-Handler
Parameter-Liste
location (String | Location)
Zu registrierende Location
callback (Function)
Handler
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.unregisterContextHandler(location)
Beschreibung
Entfernt eine Registrierung für einen Kontext
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.resetCurrentNavigationHandler()
Beschreibung
Setzt den Aktuellen Navigations-Handel zurück.
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.changeLocation(location, contextArguments)
Beschreibung
Diese Methode wechselt den Kontext zu dem Wert der Location
Parameter-Liste
location (String | Location)
Neue Location
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.setLocationArgument(key, value)
Beschreibung
Mit dieser Methode kann man in der aktuellen Location des Browsers ein Kontext-Argument setzen.
Parameter-Liste
key (String)
Schlüssel des Arguments
value (String)
Wert des Arguments
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.removeLocationArgument(key)
Beschreibung
Mit dieser Methode kann man in der aktuellen Location des Browsers ein Kontext-Argument entfernt werden.
Parameter-Liste
key (String)
Schlüssel des Arguments
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.loadConfig(url)
Beschreibung
Diese Methode lädt die Konfiguration des Hosts.
Parameter-Liste
url (String)
URL der Konfiguration
Rückgabewert
Gibt Referenz auf den
Host
zurück.
Host.loadLocales(urls)
Beschreibung
Lädt Sprachdateien mit Schlüssel-/Wertpaaren im Format JSON. Über das Promise kann das weitere Vorgehen definiert werden. Hierzu muss eine
then
undcatch
-Methode implementiert werden.Achtung: Es muss nur die Basisurl in dem die Dateien liegen angegeben werden. Die Funktion entscheidet selbstständig welche Datei geladen wird.
Wird die Datei nicht innerhalb von 10 Sekunden erfolgreich geladen, so wird das Promise auf fehlerhaft gesetzt. Das heißt allerdings nicht, dass die Datei nicht noch geraden wird.
Parameter-Liste
urls (Array)
Ein Array mit mehreren Basis-URLs die geladen werden sollen.
Rückgabewert
Gibt ein
Promise
zurück, dass sobald alle Ressourcen geladen wurde einen Erfolg vermeldet.
Host.loadLocale(url)
Beschreibung
Lädt Sprachdateien mit Schlüssel-/Wertpaaren im Format JSON. Über das Promise kann das weitere Vorgehen definiert werden. Hierzu muss eine
then
undcatch
-Methode implementiert werden.Das Promise besitzt als ersten Wert ein Objekt mit der Eigenschaft
{state:'done'}
im Erfolgsfall und im Fehlerfalltimeout: <timeout>, state: 'error', difference: <difference>, error: 'timeout', queue: <urls>}
Achtung: Es muss nur die Basisurl in dem die Dateien liegen angegeben werden. Die Funktion entscheidet selbstständig welche Datei geladen wird.
Wird die Datei nicht innerhalb von 10 Sekunden erfolgreich geladen, so wird das Promise auf fehlerhaft gesetzt. Das heißt allerdings nicht, dass die Datei nicht noch geaden wird.
Siehe auch Host.isLocaleQueueEmpty(timeout)
Parameter-Liste
url (String)
Eine Basis-URL an der die Sprachdatei liegt.
Rückgabewert
Gibt ein
Promise
zurück, das sobald alle Resource geladen wurden einen Erfolg vermeldet.
Host.setTitle(title)
Beschreibung
Browsertitel setzen
Parameter-Liste
title (String)
Titel des Browsers
Rückgabewert
Host-Objekt
Host.isLocaleQueueEmpty(timeout)
Beschreibung
Diese Methode gibt ein
Promise
zurück und hierüber das weitere Vorgehen definiert werden. Hierzu muss einethen
undcatch
-Methode implementiert werden.Das Promise besitzt als ersten Wert ein Objekt mit der Eigenschaft
{state:'done'}
im Erfolgsfall und im Fehlerfalltimeout: <timeout>, state: 'error', difference: <difference>, error: 'timeout', queue: <urls>}
Ist die Queue nicht innerhalb von
timeout
Millisekunden erfolgreich geleert worden, so wird das Promise auf fehlerhaft gesetzt. Das heißt allerdings nicht, dass die Dateien aus der Queue nicht noch geladen werden.
Parameter-Liste
timeout (Integer)
Timeout
Rückgabewert
Gibt ein
Promise
zurück, das sobald alle Ressourcen geladen wurde einen Erfolg vermeldet.
Host.getServiceWorkerWrapper()
Beschreibung
Mit der Methode kann der
ServiceWorkerWrapper
geholt werden.
Rückgabewert
Gibt den im Host registrierten
ServiceWorkerWrapper
zurück.
Host.getIdentity()
Beschreibung
Der Host hält für verschiedene Aufgaben eine Identität vor. Diese kann über diese Funktion abgefragt werden.
Rückgabewert
Gibt die aktuell gültige Identität des Objekts zurück
Host.setIdentity(identity)
Beschreibung
Setzt die vom Host und der Anwendung zu verwendende Indentität.
Parameter-Liste
identity (Alvine.Package.Console.Security.Authentication.Identity)
Die zu setzende Identität.
Rückgabewert
Gibt eine Referenz auf den Host zurück.
Host.getTheme()
Beschreibung
Gibt das verwendete Theme-Objekt zurück. Eine detailiertere Beschreibung ist auf der Theme-Seite zu finden.
Parameter-Liste
identity (Alvine.Package.Console.Security.Authentication.Identity)
Die zu setzende Identität.
Rückgabewert
Gibt eine Referenz auf den Host zurück.
Host.getLocales()
Beschreibung
Liefert die im System verfügbaren Lokale, inklusive der des Dokuments zurück. Die Dokumentenlokale wird über das
lang
-Attribute des HTML-Tag ausgelesen.
Rückgabewert
Gibt eine
Alvine.Types.Map
mit allen verfügbaren Lokalen zurück. Liefert der Server keine weiteren Lokale, so enthält diese Map nur die aktuelle Lokale des Dokuments.
Host.getCountries()
Beschreibung
Liefert alle verfügbaren Länder als
Alvine.Types.Map
-Objekt zurück.
Rückgabewert
Gibt eine
Alvine.Types.Map
mit allen verfügbaren Ländern zurück. Liefert der Server keine Länder zurück, so ist diese Map leer.
Host.showModal(title, text, buttons, options)
Beschreibung
Diese Methode initialisiert den zentralen Modal-Dialog und zeigt diesen an.
Parameter-Liste
title (String)
Titel des Modal-Dialoges
content (String | ContainerColumn | Control)
Inhalt des Modal-Dialoges
buttons (Array | Alvine.Package.UI.Dialog.Button)
Anzuzeigende Buttons als
Array
vonButton
-Instanzen oder bei einem Button, kann dieser direkt übergeben werden.
options (Object)
Steuern des Modal-Dialoges
initShow true - zeigt den Modal-Dialog bei der Initialisierung an initFocus true - legt den Fokus auf des Modal-Dialog, wenn er initialisiert wird initKeyboard true - schließt den Modal-Dialog, wenn die Escape-Taste gedrückt wird initBackdrop true - schließt den Modal-Dialog bei klick auf den Hintergrund. Geben Sie alternativ den Wert 'static' an, damit der Dialog beim klicken auf den Hintergrund nicht schließt.
Rückgabewert
Gibt eine Referenz auf den
Host
zurück.
Host.hideModal()
Beschreibung
Diese Methode schließt einen geöffneten Modal-Dialog.
Rückgabewert
Gibt eine Referenz auf den
Host
zurück.
Host.showNothingWorksAnymoreDialog(arguments...)
Beschreibung
Dieser Dialog muss augegeben werden, wenn die Anwendung nicht mehr lauffähig ist. Zum Beispiel, wenn essentielle Komponenten oder Resourcen fehlen. Wichtig: Der Dialog darf nur ausgegeben werden, wenn zu erwarten ist, das durch einen Reload das Problem zu beheben ist.
Parameter-Liste
arguments... (Mixed)
Alle Argumente werden an den Logger übergeben.
Rückgabewert
Gibt eine Referenz auf den
Host
zurück.
Host.showNotFoundDialog(arguments...)
Beschreibung
Dieser Dialog wird augegeben wenn ein über die Navigation angesteuerter Kontext nicht vorhanden ist.
Parameter-Liste
arguments... (Mixed)
Alle Argumente werden an den Logger übergeben.
Rückgabewert
Gibt eine Referenz auf den
Host
zurück.