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": "DO.INSERTTIMESTAMP",
    "descriptionFieldDateFormat": "dd.MM.yyy HH:mm",
    "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: SQL-Abfrage, um die Beschreibung (2. 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)".
  • descriptionFieldDateFormat:
    • Beschreibung: Das Formatierungsmuster für Datumswerte in der Beschreibung.
    • Mögliche Werte: Das gewünschte Formatierungsmuster (z.B. "dd.MM.yyyy HH:mm").
  • 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",
        "descriptionFields": ["START_DT", "END_DT"],
        "descriptionField": "CAST(DO.START_DT AS string) + ', ' + CAST(DO.END_DT AS string)",
        "descriptionFieldDateFormat": "dd.MM.yyy HH:mm",
        "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 Verschachtelungen kann unendlich tief und zu allen Objekten erfolgen. Bitte beachten Sie dass nur der Parameter "descriptionField" oder "descriptionFields" innerhalb eines Knotens existieren darf.

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)".
  • descriptionFields:
    • Beschreibung: SQL-Abfrage, um die Beschreibung (2. Zeile) zu erhalten.
    • Mögliche Werte: String-Array ["Feld1","Feld2","Feld3"] ohne DO. vorangestellt.
  • descriptionField:
    • Beschreibung: SQL-Abfrage für die Beschreibung des Kind-Elements.
    • 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)".
  • descriptionFieldDateFormat:
    • Beschreibung: Das Formatierungsmuster für Datumswerte in der Beschreibung.
    • Mögliche Werte: Das gewünschte Formatierungsmuster (z.B. "dd.MM.yyyy HH:mm").
  • 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
  • hideWhenNoChilds (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"
}

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.