Author: Lars Michelsen <[email protected]>
Date: Fri Sep 23 01:13:58 2011 +0200
Committer: Lars Michelsen <[email protected]>
Commit-Date: Fri Sep 23 01:13:58 2011 +0200
Added missing list functions for gadgets, updated docs
---
TODO | 110 +++++++++++++---------------
share/server/core/classes/GlobalMapCfg.php | 3 +-
share/server/core/mapcfg/default.php | 14 ++++
3 files changed, 65 insertions(+), 62 deletions(-)
diff --git a/TODO b/TODO
index b2e5dcd..f664156 100644
--- a/TODO
+++ b/TODO
@@ -58,66 +58,8 @@ Relative Koordinaten:
- Farbe (?)
- Offset zum Ziel
-*** Add/Modify Redesign ***
-
-Aufrufe:
-1. Neues Objekt - x/y Koordinaten als Parameter
- - Parameter: type, x, y
-2. Objekt klonen - Aktuell konfigurierte Parameter + Objekt-ID generieren
- - Parameter: object_id
-3. Objekt bearbeiten - Aktuell konfigurierte Parameter
- - object_id
-
-Felder:
- Jedes Feld besteht aus der Instanz einer Klasse. Diese Klasse steuert
- die Darstellung, Validierung usw. dieses Feldes.
-
- Methoden:
- - default()
- Gibt den Default-Wert dieses Feldes zurück.
- - render()
- HTML-Code zur Eingabe des Wertes. Nicht die ganze Tabellen-Zeile, nur
- die Formular-Felder.
- - validate()
- Funktionen zur Validierung eines gültigen Wertes. Gibt "true" zurück,
wenn
- der Wert gültig ist. SchmeiÃt eine FieldInputError Exception, wenn nicht
gültig.
- - dependsOn()
- Gibt den Schlüssel einer anderen Option und den Wert zurück, von dem
diese
- Option abhängt. Nur wenn der Wert stimmt, wird das Formularfeld angezeigt.
-
-Feld-Eigenschaften:
-- Default Werte grau zeigen, solange bis ein anderer Wert gewählt wird
- AuÃerdem anzeigen, woher der Wert geerbt wird. Es sind folgende Ebenen
denkbar:
- 1. Template (Name zeigen)
- 2. Global Bereich der Map
- 3. Main Configuration
- 4. Hart codiert
-- Wenn Wert auf den vererbten Wert gesetzt wird, wieder ausgrauen
-- Zwischen Dropdown und Textfeld umschalten können
-- Button zum Zurücksetzen eines Wertes auf Default einbauen
-- Abhängige Felder je nach Wert eines oder mehrerer Felder zeigen/verstecken
-- Leere Variablen müssen auch gesetzt werden können
-- Wenn Dropdown wegen Exception nicht befüllt werden kann, diese abfangen und
dann anstatt des Feldes
- die Fehlermeldung anzeigen
-- Wenn bei Dropdowns ein Wert gesetzt ist, der nicht in den Listen vorhanden
ist,
- dann keine Dropdown-Liste anzeigen.
-- Nicht mehr gesetzte Attribute entfernen
-
-Fehlerbehandlung:
-- Direkt im Dialog: Feldbezogene Fehler direkt unter den Feldern anzeigen
-- Generelle Fehler als Popup/über Formular anzeigen
-
-- Validierung/Verarbeitung ohne Javascript, kompletter Dialog wird neu
generiert
- - Beim Abschicken des Formulars (submitFrontendForm()) den Dialog nicht
schlieÃen
- ajax_handler.php?mod=Map&act=addModify&do=modify
- -> zeigt das Formular, muss auch die Daten verarbeiten und dann das
Ergebnis malen
- - Das Formular wird abgeschickt und verarbeitet
- -> Im Fehlerfall wird die Antwort in den Dialog gemalt, wobei der
vorherige Inhalt überschrieben wird
- -> Bei Erfolg wird der Dialog geschlossen, es wird kurz eine
Erfolgsmeldung gezeigt
-
-Noch offen:
- - Optional: Variablen nach int/boolean casten, wenn sinnvoll
- - Manuell Werte setzen, z.b. gadget_url optional als volle URL angeben
+*** Cleanups ***
+ - Variablen nach int/boolean casten, wenn sinnvoll
- Objekte klonen wieder implementieren
*** Shortcuts einbauen ***
@@ -214,3 +156,51 @@ Die Zuweisung von Variablen zu den Objekttypen geschieht
über das $mapConfigVar
Das Array ernhält die Objekttypen als Schlüssel und darunter jeweils ein
Array mit den
möglichen Variablen als Schlüssel und "null" oder den Typ spezifischen Namen
als Wert.
+
+*** Add/Modify Redesign ***
+
+Aufrufe:
+1. Neues Objekt - x/y Koordinaten als Parameter
+ - Parameter: type, x, y
+2. Objekt klonen - Aktuell konfigurierte Parameter + Objekt-ID generieren
+ - Parameter: object_id
+3. Objekt bearbeiten - Aktuell konfigurierte Parameter
+ - object_id
+
+=> Es können beliebige Variablen via POST/GET übergeben werden. Hierbei muss
zwischen
+ den Standard-Variablen für das Modul, die Action etc. und den Attributen
unterschieden
+ werden.
+
+ 1. Default Variablen werden auÃenvor gelassen und am Anfang der "Action"
verarbeitet und
+ gefiltert
+ 2. Alle Attribute des Objekt-Typs werden versucht aus den Variablen
auszulesen.
+ 3. Die übrigen Variablen werden als Hidden-Felder zum Formular
hinzugefügt und so
+ durchgeschleust.
+
+Feld-Eigenschaften:
+- Vor jedem Wert ein Kästchen anzeigen, mit welchem dieses Attribut aktiviert
wird
+ - Bei nicht angehaktem Kästchen wird der Wert geerbt.
+ - Die Checkbox wird bei Pflichtfeldern nicht angezeigt.
+- Je nach Attribut-Typ verschiedene Felder anzeigen (Text, Select, ...)
+- Abhängige Felder je nach Wert eines anderen Feldes zeigen/verstecken
+- Leere Variablen müssen auch gesetzt werden können
+- Wenn Dropdown wegen Exception nicht befüllt werden kann, diese abfangen und
+ dann anstatt des Feldes die Fehlermeldung anzeigen
+- Wenn bei Dropdowns ein Wert gesetzt ist, der nicht in den Listen vorhanden
ist,
+ dann keine Dropdown-Liste anzeigen.
+
+Fehlerbehandlung:
+- Direkt im Dialog: Feldbezogene Fehler direkt unter den Feldern anzeigen
+- Generelle Fehler/Meldungen als über Formular anzeigen
+
+- Validierung/Verarbeitung ohne Javascript, kompletter Dialog wird neu
generiert
+ - Beim Abschicken des Formulars den Dialog nicht schlieÃen
+ - Der Dialog muss neu generiert werden, wenn
+ a) Der Wert von Feldern mit Abhängigkeiten geändert wird
+ b) Ein Feld mit Abhängkgeiten von Geerbt auf Konfiguriert geändert wird
+ - Das Formular wird abgeschickt und verarbeitet
+ -> Im Fehlerfall wird die Antwort in den Dialog gemalt,
+ wobei der vorherige Inhalt überschrieben wird
+ -> Bei Erfolg wird der Dialog nach X Sekunden geschlossen,
+ es wird kurz eine Erfolgsmeldung gezeigt. Aktuell muss dann die
+ Seite neu geladen werden
diff --git a/share/server/core/classes/GlobalMapCfg.php
b/share/server/core/classes/GlobalMapCfg.php
index e56674f..043f624 100644
--- a/share/server/core/classes/GlobalMapCfg.php
+++ b/share/server/core/classes/GlobalMapCfg.php
@@ -1031,8 +1031,7 @@ class GlobalMapCfg {
if(is_array($val))
$val = implode(',', $val);
- if($val !== '')
- $newLine = $key.'='.$val."\n";
+ $newLine = $key.'='.$val."\n";
if($lineNum !== null && $newLine !== '')
// if a parameter was found in file and value is not empty,
replace line
diff --git a/share/server/core/mapcfg/default.php
b/share/server/core/mapcfg/default.php
index dd57519..3628f49 100644
--- a/share/server/core/mapcfg/default.php
+++ b/share/server/core/mapcfg/default.php
@@ -34,6 +34,17 @@ function listHoverChildOrders() {
);
}
+function listGadgetTypes() {
+ return Array(
+ 'img' => l('Image'),
+ 'html' => l('HTML Code'),
+ );
+}
+
+function listGadgets($CORE) {
+ return $CORE->getAvailableGadgets();
+}
+
function listHoverTemplates($CORE) {
return $CORE->getAvailableHoverTemplates();
}
@@ -595,6 +606,8 @@ $mapConfigVars = Array(
'field_type' => 'dropdown',
'depends_on' => 'view_type',
'depends_value' => 'gadget',
+ 'default' => '',
+ 'list' => 'listGadgets',
),
'gadget_type' => Array(
'must' => 0,
@@ -603,6 +616,7 @@ $mapConfigVars = Array(
'depends_on' => 'view_type',
'depends_value' => 'gadget',
'default' => 'img',
+ 'list' => 'listGadgetTypes',
),
'gadget_scale' => Array('must' => 0,
'default' => 100,
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins