JavaScript-API: Reports
JavaScript-Objekt: top.WE_API.Report
Developer-API-Dokumentation: Report
Das Report-Objekt ermöglicht die Anzeige und Filterkonfiguration von Standard-ContentCreator-Reports und auch von projektspezifischen Reports, die über FirstSpirit-Module hinzugefügt wurden.
show(String reportName, JavaScriptObject filterParameters, boolean restart) löst die Anzeige des gewünschten Reports (reportName) aus.
Die Filtereinstellungen und das Ladeverhalten werden durch die Parameter filterParameters und restart beeinflusst.
String reportName
Der anzuzeigende Report wird über den technischen Namen des Reports referenziert.
Die mit dem ContentCreator gelieferten Standard-Reports werden anhand eines Kürzels referenziert:
Report | Kürzel | |
---|---|---|
Suche | Search | |
Lesezeichen | Bookmarks | |
Aufgaben | Tasks | |
Projekthistorie | History | |
Verwandte Elemente | RelatedObjects | |
Mitteilungen | Notifications | |
Meine Änderungen | MyChanges | |
<script type="text/javascript">
// Open the built-in "Related Objects" report and refresh it.
top.WE_API.Report.show("RelatedObjects", null, true);
</script>
Ein Report-Plugin wird anhand des kompletten Paket- und Klassennamens der jeweiligen ReportPlugin-Implementation referenziert:
<script type="text/javascript">
// Open the Example Text Blocks report provided by the ContentCreator Examples module.
top.WE_API.Report.show("de.espirit.firstspirit.opt.example.universal.report.TextBlocksReportPlugin", null, false);
</script>
JavaScriptObject filterParameters
Dieser Parameter erlaubt die Konfiguration von Filterparametern eines Report-Plugins. Er setzt JSON-Format voraus und enthält Schlüssel/Wert-Paare, die mit in der Report-Plugin-Klasse definierten Parameter-Objekten korrelieren und vom Daten-Provider des Report-Plugins verarbeitet werden können.
Die Änderung aller oder eines bestimmten Reportfilters vermeiden
Sollte filterParameters als null-Wert oder als JSON-Objekt ohne Schlüssel/Wert-Paare angegeben werden, so werden die aktuellen Filtereinstellungen des Reports beibehalten oder - bei erster Anzeige des Reports in der Client-Session - die vom Report-Plugin gesetzten Standardwerte auf die Filter angewendet.
Für jeden Filterparameter, der nicht als Schlüssel/Wert-Paar angegeben wird, wird der aktuell im Report gesetzte Wert beibehalten oder - bei erster Anzeige des Reports in der Client-Session - der vom Report-Plugin für diesen Filter gesetzte Standardwert auf den Filter angewendet.
Parametertypen und -werte
Die drei für Reports verfügbaren Parameter-Typen akzeptieren die folgenden Datentypen als Werte:
- ParameterText: String
- ParameterBoolean: boolean
- ParameterSelect: String
Der String-Wert muss mit einem im ParameterSelect-Parameter definierten SelectItem-Objekt korrelieren.
Werte anderer Datentypen (z.B. int) werden - wenn möglich - interpretiert, um einen Wert abzuleiten, der dem vom Parameter erwarteten Datentyp entspricht. Diese Interpretation kann nicht gewährleisten, dass der interpretierte Wert eine vollständige oder sinnvolle Repräsentation des ursprünglich angegebenen Wertes ist.
Schlüssel/Wert-Paare, die nicht vom Report-Plugin definierte Parameter beschreiben, werden ignoriert. |
Ungültige und uninterpretierbare Werte verursachen eine JavaScript-Warnung; der assoziierte Reportfilter wird bei Angabe solcher Werte nicht entsprechend neu konfiguriert. |
Rückkehr zu Standardwerten für Filterparameter
Wird ein Parameter in einem Schlüssel/Wert-Paar explizit auf null gesetzt, so wird der assoziierte Filter auf den vom Report-Plugin definierten Standardwert zurückgesetzt.
Beispiel
Um im Text Block-Beispiel-Report (siehe Source Code des ContentCreator Example Module) die folgenden Filtereinstellungen zu setzen
- Search words
filter "pattern_text" (type ParameterText) with value "ContentCreator" - Search in titles only
filter "pattern_boolean" (type ParameterBoolean) with value true (checked) - Sort order
filter "pattern_select" (type ParameterSelect) with value "ascending"
kann der folgende JavaScript-Code verwendet werden:
<script type="text/javascript">
top.WE_API.Report.show(
"de.espirit.firstspirit.opt.example.universal.report.TextBlocksReportPlugin",
{
"pattern_text":"FirstSpirit",
"pattern_boolean":true,
"pattern_select":"ascending"
},
false
);
</script>
boolean restart
Dieser Parameter gibt an, ob die im Report angezeigte Ergebnisliste neu geladen (true) oder beibehalten (false) werden soll.
Verursacht der Aufruf von WE_API.Report.show() Änderungen in der Filterkonfiguration, so wird die Ergebnisliste des Reports unabhängig vom Wert dieses Parameters neu geladen. |