Projekt

Allgemein

Profil

Custom Modules » Historie » Version 2

[E] Rocco Kreutz, 13.11.2025 13:53

1 1 [E] Rocco Kreutz
h1. Custom Modules
2
3
* Bislang müssen angepasste Module mittels Prodat-Desktop Client unter Konfiguration erstellt und editiert werden
4
* Dies beinhaltet die Anpassung des JSON Konfigurations Objektes, welches so für die meisten eine zu Hohe technische Hürde darstellt
5
* Das neue "Custom Modules" Modul erlaubt das erstellen und editieren von solchen angepassten Modulen
6
** *Derzeit ist die GUI auf das erstellen/editieren von DnyGrid basierten Modulen ausgelegt !!!* auch wenn ich dort jedes andere Modul auswählen kann als Basis
7 2 [E] Rocco Kreutz
* Es wird hier die Liste aller Custom-Module angezeigt, als auch das JSON-Cfg Objekt des selektierten, in einer besser leserlichen Form {{collapse(Aufklappen)
8 1 [E] Rocco Kreutz
!clipboard-202511131306-yovkj.png!
9 2 [E] Rocco Kreutz
}}
10
11
h2. Edit-Modus
12
13
* Class: CimW.Core.FormSSQLGridU.TCimWFormSSQLGrid (ist das DynGrid Modul)
14
* Shortname: eindeutige ID für das (neue) Custom-Module
15
* SSQL: das zu verwendende SSQL, listet die komplette Liste der verfügbaren SSQL's
16
* Allowed: Liste der erlaubten (Gruppen-)Rollen
17
* Denied: Liste der verbotenen (Gruppen-)Rollen
18
* Caption: Caption wenn das Modul geöffnet wird
19
* Unknown Columns Visibility: Wie werden Spalten behandelt, welche beim öffnen des SSQL/Modules gefunden werden, aber in der Konfiguration nicht explizit konfiguriert wurden
20
** colvmUnavailable: Spalte ist nicht im Grid vorhanden und kann damit auch niemals eingeblendet werden
21
** colvmHidden: Spalte ist im Grid vorhanden, jedoch initial ausgeblendet
22
** colvmVisible: Spalte ist im Grid vorhanden und initial eingeblendet
23
* Unknown Colums Use FieldAlias: sofern FieldAlias Einstellungen gefunden werden zu nicht explizit konfigurierten Spalte, dann benutze diese ja/nein
24
** derzeit unterstützte FieldAlias Konfigurationen: <pre><code class="sql">
25
fa_constraints
26
</code></pre>
27
*** @Hidden@
28
*** @HiddenForNonAdmin@
29
*** @Visible@
30
*** @VisibleForAdmin@
31
*** @HideCustomize@
32
*** @ShowCustomize@
33
*** Hidden/Hide hat Vorrang vor Visible/Show
34
* in dem darunter befindlichen Grid, werden alle in dem SSQL definierten Spalten angezeigt
35
** Stand ist,aktuell, so wie in diesem Moment das SSQL definiert ist
36
** Es werden nur Daten-Spalten angezeigt, keine internen Felder (wie im Prodat, selbe RegEx Funktionalität)
37
** title wird mittels FieldAlias ermittelt
38
** minwidth und flex werden basierend auf der internen default-funktionalität eingestellt
39
** visibility auf colvmVisible initial gesetzt
40
** usefieldalias wird initial auf true gesetzt
41
** position entspricht initial der Reihenfolge im SSQL
42
** fieldname, name wie in SSQL definiert
43
** modulelink/Info sind initial nicht gesetzt
44
** Dannach wird geschaut ob im JSON-Cfg-Object bereits eine Spaltendefinition für diese Spalte existiert und in diesem Fall diese Werte übernommen im Grid
45
** Es können nur Zellen editiert werden, keine Zeilen erzeugt/gelöscht werden
46
** Die Reihenfolge kann einfach mittels position geändert werden, alle nachfolgenden werden weitergeschoben bzw 'leere' positionen wieder aufgefüllt indem alles nachfolgenden heruntergesetzt werden
47
** ModuleLink definieren für eine Spalte: {{collapse(Aufklappen)
48
!clipboard-202511131341-dldmh.png!
49
}}
50
*** Hier kann ich definieren, das die Spalte im Grid als Link zu einem anderen Module fungieren soll
51
*** Dazu wähle ich das entsprechende Module aus welches geöffnet werden soll
52
*** Danach werden alle (CMETA_PARAM) Parameter dieses Modules im Grid darunter angezeigt
53
*** Die Spalte "Source Fieldname" bietet eine DropDownComboBox an, mit allen Spalten des SSQL (des Custom-Modules, für welches wir gerade einen ML zu einem anderen Module definieren)
54
*** Das gelinkte Module wird dann (zur Laufzeit beim klicken) geöffnet und aus dem Quell-Module werden die entsprechenden Spalten-Werte ermittelt und als Parameter and ds gelinkte zu öffnende Module übergeben
55
*** Hier ist es möglich zusätzliche 'Target Parameter' (Zeilen) zu erstellen oder bestehende einfach zu löschen. Die beiden Buttons links unter dem Grid
56
57
* Unter dem Grid für die Spalten befinden sich 2 Buttons: "übernehmen" der Änderungen bzw. "Abbrechen" und zurück zur Liste der Custom-Modules
58
* Der "Test" Button, öffnet das gerade in Bearbeitung befindliche Custom-Module im derzeitigen Zustand der Bearbeitung
59
** *!!! WICHTIG !!!*
60
*** Änderungen an Custom-Modulen werden erst dann wirksam, sobald man sich ERNEUT eingelogged hat
61
*** Die einzige Ausnhahme betrifft den "Test" Button und dann auch nur für das getestete Modul selber, nicht Module die dann (z.B. mittels Module-Link) von diesem Modul aus geöffnet werden