Globale Filterkomponenten einbinden

Analog zu Performance Dashboard können Sie für erweiterte Analysemöglichkeiten in Management Views ebenfalls Globale Filter verwenden.

Pro Kriterium darf maximal ein Filter eingestellt werden.

Beispiel: Globaler Filter in einer Management View

Linked Picture File Template_support_manuals_APD

Als Filterkriterien werden frei wählbare Dimensionen verwendet. Indem Sie in einer angezeigten Management View einen globalen Filter für eine bestimmte Dimension einstellen, werden für alle betroffenen Management View-Komponenten (Abfragen) die Analysedaten neu abgefragt und angezeigt.

Die Konfiguration eines Globalen Filters für eine Management View erfolgt in zwei Schritten:

  1. Anpassung der vom Management View verwendeten *_conf.xml-Datei (siehe auch Kapitel XML-Elemente der Dashboard-Konfigurationsdatei *_conf.xml)
  2. Anpassung der MV-Strukturdatei *.html (siehe auch Kapitel MV-Strukturdatei *.html)

Anpassung der XML-Konfigurationsdatei *_conf.xml

Die XML-seitige Konfiguration ist im Kapitel Einstellen der Globalen Filter beschrieben.

Beispiel (Auszug aus _default_managementview_conf.xml)

...

<filterlist>

<filter name="WERKS" type="dynamic"
displaytext_dynamic="key_description"
displaylevel_dynamic="only_first">

<description language="de" name="Werk"/>

<description language="en" name="Plant"/>

</filter>

<filter name="TIME" type="time">

<description language="de" name="Zeit (variabel)"/>

<description language="en" name="Time (variabel)"/>

</filter>

</filterlist>

...

Anpassung der MV-Strukturdatei *.html

Bei Verwendung der objektorientierten Schnittstelle müssen Sie globale Filterkomponenten zunächst als Objekte deklarieren und initialisieren. Nachdem die html-Seite geladen wurde, werden die instanziierten Objekte der globalen Filterkomponenten Ihrer Management Views initialisiert und dargestellt.

Deklaration

Jedes Objekt der globalen Filterkomponenten Ihrer html-Strukturdatei müssen Sie zunächst durch die Methode new erzeugen und in einer JavaScript-Variablen speichern. Dafür existiert das Objekt MVGlobalFilterComponent.

Mit folgender JavaScript-Zeile erzeugen Sie ein MVGlobalFilterComponent-Objekt und speichern es in der Variablen mvFilter:

...

var mvFilter = new MVGlobalFilterComponent();

...

Initialisierung und Darstellung

Zuvor erzeugte globale Filterkomponenten werden durch Aufruf der Objektmethode init() in Ihrer html-Seite angezeigt. Die Methode hat folgende Parameter:

Parameter

Beschreibung

id

Identifizierer des HTML-Elements, in dem die globale Filterkomponente angezeigt wird.

Die initialisierte globale Filterkomponente wird den gewünschten Management View-Komponenten als Filterquelle in einem Array (Parameter filterMasters der init-Methode) übergeben, z. B. [mvFilter].

Beispiel

Die folgenden Dateiauszüge zeigen die erforderlichen Programmteile, um globale Filterkomponenten in einer Management View zu verwenden.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

<html>

<head>

...

// MVFilterComponents has to be declared here

//

var mvFilter = new MVGlobalFilterComponent();
...

function initMVComponents() {

mvFilter.init("mvNodeGlobalFilter");

mv1.init("node1", "%5CFav_1", "FAVORITES_PRIVATE",

"FLEX", "100%", "400", [mvFilter]);

...

}

</script>

</head>

<body onload="initMVComponents();">

<div id="mvNodeGlobalFilter" style="..."></div>

...

</body>

</html>

Vollständiges Beispiel einer Strukturdatei mit Verwendung globaler Filter

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

"http://www.w3.org/TR/html4/frameset.dtd">

<html>

<head>

<script language="javascript"

src="../assets/javascript/mvhelper.js">

</script>

<script language="javascript"

src="../assets/javascript/linkhelper.js">

</script>

<script language="JavaScript" type="text/javascript">

initializeFlex();

// MVFilterComponents has to be declared here

//

var mvFilter = new MVGlobalFilterComponent();

// MVComponents has to be declared here

//

var mv1 = new MVFlexComponent();

var mv2 = new MVFlexComponent();

// MVComponents has to be initialized here, after

// page has been loaded

//

function initMVComponents() {

mvFilter.init("mvNodeGlobalFilter");

mv1.init("node1", "%5CFav_1", "FAVORITES_PRIVATE",

"FLEX", "100%", "400", [mvFilter], "");

mv2.init("node2", "%5CFav_1", "FAVORITES_PRIVATE",

"FLEX", "100%", "400", [mvFilter], "");

}

</script>

</head>

<body onload="initMVComponents();">

<div id="mvNodeGlobalFilter" style="position:absolute;

top:0px; z-index:1; width:100%;">

</div>

<div>

<table cellpadding="0" cellspacing="0" rules="none"

frame="void" border="0" bgcolor="#FFFFFF"

width="100%" height="100%">

<tbody>

<tr>

<td id="node1"></td>

<td id="node2"></td>

</tr>

</tbody>

</table>

</div>

</body>

</html>