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 |