Zum Inhalt

ACPTreeView

Beschreibung - Widget

Ein Widget zum Anzeigen von verknüpften Datensätzen in einer Baumstruktur.

image.png

Changelog

Changelog hier.

Voraussetzungen

Das Widget besitzt keine expliziten Voraussetzungen. Es sollte jedoch berücksichtigt werden, dass sämtliche Felder, Verknüpfungen usw., die in der Konfigurationsdatei angegeben werden, auch existieren müssen.

Installation Widget

Installationsanleitung finden Sie hier

Update Widget

Updateanleitung finden Sie hier

Konfiguration Widget

Konfigurationsdatei

INFO

In diesem Abschnitt können Datensatztypen, Felder und Verknüpfungsarten konfiguriert werden.
Bitte beachten Sie, dass hier immer die technischen Namen eingetragen werden müssen. Dabei sollten die technischen Namen vollständig in Großbuchstaben geschrieben werden!

ACHTUNG

Bitte bearbeiten Sie niemals die Beispieldatei.
Wenn Sie Anpassungen vornehmen möchten, kopieren Sie die Beispieldatei und benennen Sie sie entsprechend um.

  1. Im Datei-Explorer folgenden Pfad öffnen:
    C:\Program Files (x86)\Common Files\CAS-Software\Server\JavaServices\smartdesign-apps\{@DATENBANKNAME}\smartdesign.base\smartdesign\base\webcontent\{WIDGETNAME}\assets\configs
    
  2. Datei "example-config.json" im selben Ordner kopieren und einen sprechenden Namen geben.

  3. Kopierte Datei bearbeiten.

Objekt-Konfiguration

{
    "object": "PROJECT",
    "captionField": "DO.KEYWORD",
    "descriptionField": {
        "dataFields": [
            {
                "field": "INSERTTIMESTAMP",
                "formatAs": "DATETIME"
            }
        ],
        "output": {
            "text": "PROJECTROW"
        }
    },
    "linkToCurrent": "ITDPRJADR",
    "expanded": true,
    "objectIcon (optional)": "image.svg",
    "children": [...],
    "filterableDOTypes": ["TASK", "TODO", "APPOINTMENT", "BSVOUCHER", "DOCUMENT"],
    "additionalTicketTypes": "Incident"
}
Beschreibung
  • object:
    • Beschreibung: Der Datensatztyp des Wurzel-Elements im Projektbaum.
    • Mögliche Werte: Alle Datensatztypen, die im GW existieren (z.B. "ADDRESS").
  • captionField:
    • Beschreibung: SQL-Abfrage, um das Stichwort (1. Zeile) zu erhalten.
    • Mögliche Werte: Einzelnes Feld als String mit DO. vorangestellt "DO.Feld1".
  • descriptionField:
    • Beschreibung: Konfiguration der zweiten einzeiligen Textzeile eines Baum‑Elements. Mehrere Datenbankfelder können formatiert und innerhalb einer Textzeile ausgegeben werden.
    • Mögliche Werte: Objekt

      • dataFields:
        • Beschreibung: Liste der Datenbankfelder, die in der Ausgabe verwendet werden.
        • Mögliche Werte: Array von Objekten
          • field:
            • Beschreibung: Technischer Name des Datenbankfeldes.
            • Mögliche Werte: entsprechendes Datenbankfeld
          • formatAs:
            • Beschreibung: Formatierung des Feldwertes.
            • Mögliche Werte: NUMBER, STRING, DATE, DATETIME, TIME
      • output:
        • Beschreibung: Definiert den auszugebenden Text über einen Schlüssel aus der Sprachdatei (de.json oder en.json).
        • Platzhalter: Feldwerte können über {{ FIELDNAME }} in den Text eingefügt werden.
        • Mögliche Werte: Objekt

          • text:
            • Beschreibung: Schlüssel für einen einfachen Ausgabetext.
            • Mögliche Werte: Eintrag aus der Sprachdatei

          oder

          • textSingular:
            • Beschreibung: Schlüssel für die Ausgabe bei einem numerischen Wert von 1.
            • Mögliche Werte: Eintrag aus der Sprachdatei
          • textPlural:
            • Beschreibung: Schlüssel für die Ausgabe bei einem numerischen Wert größer als 1.
            • Mögliche Werte: Eintrag aus der Sprachdatei
          • linkToCurrent (optional):
            • Beschreibung: Das Wurzelelement muss mit dem Datensatztyp verknüpft sein, auf dessen Maske das Widget liegt. Ohne Verknüpfung wird das Wurzelelement automatisch als dieser Datensatztyp betrachtet.
            • Mögliche Werte: Alle möglichen Arten der Verknüpfung zwischen der Wurzel und dem Datensatztyp, auf dessen Maske das Widget platziert ist.
          • expanded:
            • Beschreibung: Legt fest, ob beim Laden des Baumes alle Kind-Elemente sofort geladen werden sollen.
            • Mögliche Werte: true / false
          • objectIcon (optional):
            • Beschreibung: Der Dateiname des Icons für das Wurzel-Element im entsprechenden Ordner "assets/images".
            • Mögliche Werte: Beliebiger Dateiname des Icons.
          • children:
            • Beschreibung: Die Liste aller Kind-Elemente im Baum.
          • filterableDOTypes:
            • Beschreibung: Liste der Datensatztypen, die im Suchfilter auswählbar sein sollen.
            • Mögliche Werte: Alle Datensatztypen, die im GW existieren (z.B. "ADDRESS").
          • additionalTicketTypes (optional):
            • Beschreibung: Liste mit zusätzlichen im Helpdesk konfigurierten Tickettypen für welche das Ticketicon im Baum angezeigt werden soll.
            • Mögliche Werte: Alle verfügbaren Eingabehilfen für das Feld GWSTYPE (z.B. "Incident")


Child-Konfiguration

"children": [
    {
        "object": "TASK",          
        "relation": "ITDTSKPRJ",
        "expanded": true,
        "fixed": true,
        "hideWhenNochildren": false,
        "objectIcon (optional)": "image.svg",
        "captionField": "DO.KEYWORD",
        "descriptionField": {
            "dataFields": [
                {
                    "field": "INSERTTIMESTAMP",
                    "formatAs": "DATETIME"
                }
            ],
            "output": {
                "text": "PROJECTROW"
            }
        },
        "sortField": "DO.KEYWORD",
        "sortDirection": "asc",
        "children": [...],
        "badge": {
            "field":"DO.GWSSTATUS",
            "itemColor": {
                "default":["#777777","#fff"],
                "geplant":["#1565c0","#fff"],
                "in Bearbeitung":["#ffab29","#fff"],
                "abgeschlossen":["#008000","#fff"]
            }
        },
        "backgroundColor": {
            "WORKINGSTATUS": {
                "in Bearbeitung": "#00FFFF",
                "erledigt": "#00FF00"
                }
            }
    }]

Die Verschachtelung kann unendlich tief und zu allen Objekten erfolgen.

Beschreibung
  • object:
    • Beschreibung: Der Datensatztyp des Kind-Elements.
    • Mögliche Werte: Alle Datensatztypen, die im GW existieren (z.B. "ADDRESS").
  • relation:
    • Beschreibung: Die Verknüpfungsart des Kind-Elements zum Eltern-Element.
    • Mögliche Werte: Alle Verknüpfungsarten, die zwischen dem Kind und der Mutter möglich sind.
  • captionField:
    • Beschreibung: SQL-Abfrage, um das Stichwort (1. Zeile) zu erhalten.
    • Mögliche Werte: Einzelner String, der entweder aus einem Feld mit 'DO.' vorangestellt ist, z. B. "DO.Feld1", oder aus einer Kombination mehrerer Felder zusammengesetzt ist, z. B. "CAST(DO.START_DT AS string) + ', ' + CAST(DO.END_DT AS string)".
  • descriptionField:
    • Beschreibung: Konfiguration der zweiten einzeiligen Textzeile eines Baum‑Elements. Mehrere Datenbankfelder können formatiert und innerhalb einer Textzeile ausgegeben werden.
    • Mögliche Werte: Objekt
      • dataFields:
        • Beschreibung: Liste der Datenbankfelder, die in der Ausgabe verwendet werden.
        • Mögliche Werte: Array von Objekten
          • field:
            • Beschreibung: Technischer Name des Datenbankfeldes.
            • Mögliche Werte: entsprechendes Datenbankfeld
          • formatAs:
            • Beschreibung: Formatierung des Feldwertes.
            • Mögliche Werte: NUMBER, STRING, DATE, DATETIME, TIME
      • output:
        • Beschreibung: Definiert den auszugebenden Text über einen Schlüssel aus der Sprachdatei (de.json oder en.json).
        • Platzhalter: Feldwerte können über {{ FIELDNAME }} in den Text eingefügt werden.
        • Mögliche Werte: Objekt

          • text:
            • Beschreibung: Schlüssel für einen einfachen Ausgabetext.
            • Mögliche Werte: Eintrag aus der Sprachdatei

          oder

          • textSingular:
            • Beschreibung: Schlüssel für die Ausgabe bei einem numerischen Wert von 1.
            • Mögliche Werte: Eintrag aus der Sprachdatei
          • textPlural:
            • Beschreibung: Schlüssel für die Ausgabe bei einem numerischen Wert größer als 1.
            • Mögliche Werte: Eintrag aus der Sprachdatei
          • expanded:
            • Beschreibung: Legt fest, ob beim Laden des Baumes alle Kind-Elemente sofort geladen werden sollen.
            • Mögliche Werte: true / false
          • fixed (optional):
            • Beschreibung: Wenn gesetzt, wird das Element aus der Suchfunktion ausgeschlossen.
            • Mögliche Werte: true / false
          • hideWhenNochildren (optional):
            • Beschreibung: Legt fest, ob das Element ausgeblendet werden soll, wenn es keine Kind-Elemente hat.
            • Mögliche Werte: true / false
          • objectIcon (optional):
            • Beschreibung: Der Dateiname des Icons für das Kind-Element.
            • Mögliche Werte: Beliebiger Dateiname des Icons.
          • sortField:
            • Beschreibung: Das Feld, nach dem die Kind-Elemente sortiert werden sollen.
            • Mögliche Werte: Das Feld muss mit DO. beginnen.
          • sortDirection:
            • Beschreibung: Die Richtung, in der die Sortierung erfolgen soll.
            • Mögliche Werte: "asc" (aufsteigend) oder "desc" (absteigend).
          • children:
            • Beschreibung: Die Liste aller Kind-Elemente des Kind-Elements.
          • filter (optional):
            • Beschreibung: zusätzlicher Filter auf die Ergebnismenge
            • Beispiel: DO.GWSSTATUS <> 'abgeschlossen'
          • backgroundColor (optional):
            • Beschreibung: Anhand der Werte eines Feldes kann hier die Hintergrundfarbe für das entsprechende Baum-Element festgelegt werden.
            • Mögliche Werte: "Feld": {"Feldwert": Farbname "Gray" oder Farbcode in Hex "#123456"}
          • badge (optional):
            • field: Datenbankfeld (Auswahlfeld!) das ausgewertet werden soll.
            • itemColor: "Feldwert":["Hintergrundfarbe","Schriftfarbe"] ("default" muss immer angegeben werden)


In der Beispiel Konfigurationsdatei ist folgendes Abgebildet:

Projekt

  • Vorgänge
    • Vorgänge
      • Vorgänge
    • Aufgaben
    • Termine
    • Belege
    • Dokumente
  • Aufgaben
  • Termine
  • Belege
  • Dokumente

App Designer

  1. Loggen Sie sich im genesisWorld SmartDesign ein.
  2. Öffnen Sie die Administrations-App.
  3. Klicken Sie auf den App Designer Abschnitt im linken Teil der Seite.
  4. Klicken Sie im Kästchen Session auf "Aktivieren".
  5. Navigieren Sie im Anschluss in die App wo das Widget eingebunden ist.
  6. Öffnen Sie eine beliebige App und navigieren Sie zu einem beliebigen Datensatz.
  7. Klicken Sie am oberen rechten Rand der Seite auf "Anpassen".
  8. Klicken Sie nun auf das Widget um die Konfiguration zu bearbeiten.

image.png

Parameter Mögliche Werte Beschreibung
Konfigurationsdatei "example-config.json" Name und Dateiendung der zu verwendenden Konfigurationsdatei.
Anzeigebreite 400px Breite des Widgets
Anzeigehöhe 400px Höhe des Widgets

Übersetzung

Im Standard werden immer Deutsch und Englisch mitgeliefert (de.json; en.json). Anpassungen können in den Dateien vorgenommen werden, jedoch ist zu beachten, dass diese bei einem Update des Widget überschrieben werden.

Pfad zu den Übersetzungsdateien:

C:\Program Files (x86)\Common Files\CAS-Software\Server\JavaServices\smartdesign-apps\{@DATENBANKNAME}\smartdesign.base\smartdesign\base\webcontent\{WIDGETNAME}\assets\lang

Wenn Sie für eine Widget-Integration individuelle Übersetzungen benötigen, erstellen Sie eine Kopie der Standard-Sprachdatei und benennen diese passend zur Konfigurationsdatei des Widgets.

Vorgehen: - Konfigurationsdatei: Jedes Widget hat eine eigene Konfigurationsdatei, z.B. example-config.json. - Standardsprachdatei: Standardmäßig werden de.json und en.json verwendet. - Angepasste Sprachdatei: Erstellen Sie eine Kopie und benennen Sie sie z.B. example-config_de.json für Deutsch.

INFO

Wenn eine angepasste Sprachdatei verwendet wird, müssen die nachfolgenden Parameter in der Konfigurationsdatei des Widget auf true gesetzt werden. Weitere Informationen finden Sie hier.
- useTranslations
- useTranslationsConfiguration

Beispieldatei:

{
    "TITLE" : "Projektbaum",
    "SELECT_ALL" : "Alle auswählen",
    "DESELECT_ALL" : "Alle abwählen",
    "SEARCH" : "Suche",
    "FILTER" : "Einträge filtern",
    "PROJECTROW": "Erstellt am {{ INSERTTIMESTAMP }}"
}

Beschreibung

TITLE Überschrift der Baumstruktur.

SELECT_ALL Funktion zum selektieren aller Datensatztypen.

DESELECT_ALL Funktion zum abwählen aller Datensatztypen.

SEARCH Übersetzung des Suchfeldes.

FILTER Übersetzung des Filters.

PROJECTROW Übersetzung mit Feldwerten {{ FIELDNAME }}