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

Reply via email to