Zum Hauptinhalt springen

API

new TableMonitor(options: TableMonitorOptions): TableMonitor

TableMonitor Optionen

Neben den oben genannten MultiTable Optionen stehen im TableMonitor weitere Optionen zur Verfügung.

OptionTypBeschreibung
idstring(Optional) Eine eindeutige Id für das Gadget

Default: null

Zugriff über:
window.multiTableInstances["gadgetId"]

fieldNamestring(Optional) Ein Mappenfeld zum Speichern der Daten

Default: null
showButtonAlwaysboolean(Optional) Zeigt die Schaltflächen an, auch wenn der User nicht im Bearbeitungsmodus ist.

Default: false
updatestring|
((options: TableGadgetChangeEventOptions) => boolean)
(Optional) Callback bevor die Zeilen in das Mappenfeld gespeichert werden.

⚡ Ein Abbruch erfolgt nur, wenn der return Wert false ist! Kein return Wert wird als true gehandhabt.

Default: null
Beispiel: change: "someCallbackFunction"
change: (options) => { // Abbruch über return false => Feld wird nicht beschrieben }
buttonsTableMonitorButtons(Optional) Oberhalb der Tabelle können über Schaltflächen eingeblendet werden..


Default: null
Beispiel: Siehe TableMonitor Beispiele

TableMonitorButtons

Neben den oben genannten MultiTable Optionen stehen im TableMonitor weitere Optionen zur Verfügung.

OptionTypBeschreibung
labelstringBeschriftung des Buttons
tooltipstring(Optional) Tooltip des Buttons

Default: null
visibleboolean(Optional) Soll der Button angezeigt werden?

Default: true
enabledboolean|
'single'|
'multi'|
((selectedRows: Object[], options: TableMonitorOptions) => boolean)
(Optional) (Optional) Steuert ob der Button aktiviert ist.

Default: null
Beispiel: enabled: true
Beispiel: enabled: 'single'
Beispiel:
enabled: function (selectedRows, options) { return selectedRows.length > 0 }
clickstring|
((options: TableMonitorButtonClickEventOptions) => void)
(Optional) Callback wenn der Button geklickt wurde.


Default: null
Beispiel: Siehe TableMonitor Beispiele

TableMonitorButtonClickEventOptions

OptionTypBeschreibung
selectedRowsObject[]Selektierten Zeilen
rowsObject[]Enthält alle Zeilen
idstringAngegebene oder Genierte ID zur TableMonitor Instanz.
moveSelectedRow(nextIndex: Number) => booleanVerschiebt die selektierte Zeile an den angegeben Index.
removeSelectedRows() => voidLöscht die selektierten Zeilen.

Portalskript Funktionen

TableMonitor Klasse

Funktionen

constructor(options: string | TableMonitorOptions)

ParameterTypBeschreibung
optionsTableMonitorOptionsEin Objekt welches die Optionen zum Steuern des Dialogs enthält.
Siehe Optionen
context.enableModules();
const { TableMonitor } = require("ou.sp.gadget.TableMonitor");
// #import "Gadget_API_Controller"
function build() {

this.execute = function () {
const tableMonitor = new TableMonitor({
fieldName: "Mappenfeld",
rows: [],
columns: {
icon: {
type: "icon",
label: "",
attributes: {
style: "width: 20px"
}
},
id: {
label: "Kreditorennummer",
required: true,
attributes: {
class: 'cell-id'
}
}
}
})

return tableMonitor.transfer()
}
}

TableMonitor.show

static TableMonitor.show(options: string | TableMonitorOptions): string

Erstellt eine TableMonitor Instanz anhand einem Array

ParameterTypBeschreibung
optionsTableMonitorOptionsEin Objekt welches die Optionen zum Steuern des Dialogs enthält.
Siehe Optionen

⚡ Ein // #import "Gadget_API_Controller" darf nicht verwendet werden!

context.enableModules();
const { TableMonitor } = require("ou.sp.gadget.TableMonitor");

context.returnValue = TableMonitor.show({
fieldName: "Mappenfeld",
rows: [ ],
columns: {
icon: {
type: "icon",
label: "",
attributes: {
style: "width: 20px"
}
},
id: {
label: "Kreditorennummer",
required: true,
attributes: {
class: 'cell-id'
}
}
}
})

transfer

transfer(): string

Gibt das TableMonitor an den Client zurück.

ParameterTypBeschreibung
context.enableModules();
const { TableMonitor } = require("ou.sp.gadget.TableMonitor");
// #import "Gadget_API_Controller"
function build() {

this.execute = function () {
const tableMonitor = new TableMonitor({
fieldName: "Mappenfeld",
rows: [],
columns: {
icon: {
type: "icon",
label: "",
attributes: {
style: "width: 20px"
}
},
id: {
label: "Kreditorennummer",
required: true,
attributes: {
class: 'cell-id'
}
}
}
})

return tableMonitor.transfer()
}
}

Extensions

saveAsXlsx

saveAsXlsx(filePath: string): void

Speichert die TableMonitor Instanz als Xlsx Datei an dem angegeben Pfad ab.

Beispiel:

context.enableModules();
const { TableMonitor } = require("ou.sp.gadget.TableMonitor");

const tableMonitor = new TableMonitor({
title: "Beispieldatensätze",
rows: [{
id: "1",
name: "name1"
},
{
id: "2",
name: "name2"
},
{
id: "3",
name: "name3"
}
]
})

try {
tableMonitor.saveAsXlsx("D:\\tmp\\gadget.xlsx")
context.returnValue = tableMonitor.show()
} catch (error) {
context.errorMessage = error
context.returnValue = false
}

downloadAsXlsx

MultiTable.downloadAsXlsx(options: MultiTableXlsxExportOptions, filePath: string): string

Speichert die Excel Datei auf dem Dateisystem und startet den Download am Client.

Beispiel:

context.enableModules();
const { TableMonitor } = require("ou.sp.gadget.TableMonitor");

const tableMonitor = new TableMonitor({
title: "Beispieldatensätze",
rows: [{
id: "1",
name: "name1"
},
{
id: "2",
name: "name2"
},
{
id: "3",
name: "name3"
}
]
})

try {
context.returnValue = tableMonitor.downloadAsXlsx(util.getTmpPath() + "multiTable.xlsx")
} catch (error) {
context.errorMessage = error
context.returnValue = false
}
warnung

Achtung! In einem Gadget-Portalskript wird dieser Aufruf nicht funktionieren, da documents den returnType ignoriert. Hier müsste das Portalskript über eine benutzerdefinierte Aktion getriggert werden.