Optionen
MultiTable Optionen
rows Object[]
Ein Array mit Zeilen, die angezeigt werden sollen.
rows?: Object[]
- Default:
null
rows: [{
id: "1"
},
{
id: "2"
}
]
columns MultiTableColumns
columns?: { column: MultiTableColumn }
Enthält die Spaltendefinition für die MultiTable.
- Default:
null Optional
Weitere Konfigurationsmöglichkeit siehe MultiTableColumn.
columns: {
article: "de:Artikel;en:Article",
amount: {
label: "de:Netto;en:net",
type: "currency",
},
tax: {
label: "de:Mwst.;en:tax",
type: "currency"
}
}
Wird keine Spaltendefinition angegeben, werden diese aus den Zeilen generiert.
select boolean
(Optional) Aktiviert die Auswahlmöglichkeit.
select?: boolean
- Default:
true Optional
select: false
multiSelect boolean
(Optional) Aktiviert die Multiauswahl.
multiSelect?: boolean
- Default:
false Optional
multiSelect: false
multiSelectBehavior string
(Optional) Wie soll die Checkbox Alle markieren verhalten?
multiSelectBehavior?: "" | "filter" | "paged"
- Default: ``
- Mögliche Werte:
`` : Leer - Alle Zeilen werden markiert
filter : Es werden alle gefilterten Zeilen markiert
paged : Es wird nur die aktuelle Seite markiert
Optional
multiSelectBehavior: "filter"
selectAll boolean
(Optional) Vorselektiert alle Zeilen.
selectAll?: boolean
- Default:
false Optional- Ab Version: 20.6.1
selectAll: true
Achtung, diese Option funktioniert nur, wenn select: true ist.
allowEdit boolean
(Optional) Aktiviert den Editiermodus im Bearbeitungsmodus.
allowEdit?: boolean | (options: { rows: MultiTableRows, columns: MultiTableColumns }) => boolean
- Default:
false Optional
allowEdit: false
Beispiel mit Callback:
allowEdit: function(options) {
// options.rows
// options.columns
return options.rows.length > 0
}
allowDelete boolean
(Optional) Löschen von Zeilen im Bearbeitungsmodus erlauben.
allowDelete?: boolean | (options: { rows: MultiTableRows, columns: MultiTableColumns }) => boolean
- Default:
true Optional
allowDelete: false
Beispiel mit Callback:
allowDelete: function(options) {
// options.rows
// options.columns
return options.rows.length > 0
}
allowInsert boolean
(Optional) Einfügen von Zeilen im Bearbeitungsmodus erlauben.
allowInsert?: boolean | (options: { rows: MultiTableRows, columns: MultiTableColumns }) => boolean
- Default:
true Optional
allowInsert: false
Beispiel mit Callback:
allowInsert: function(options) {
// options.rows
// options.columns
return options.rows.length > 0
}
striped boolean
(Optional) Tabelle im Zebra-Look.
striped?: boolean
- Default:
true Optional
striped: true
border boolean
(Optional) Tabelle umrahmen.
border?: boolean
- Default:
true Optional
border: true
bordered boolean
(Optional) Tabellenzellen umrahmen.
bordered?: boolean
- Default:
true Optional
bordered: true
hover boolean
(Optional) Zeile hervorheben wenn Maus darüber bewegt wird.
hover?: boolean
- Default:
true Optional
hover: true
sticky boolean
(Optional) Spaltenüberschrift und Option fixieren.
sticky?: boolean
- Default:
false Optional
sticky: true
emptyMessage string
(Optional) Meldung wenn keine Daten vorhanden.
emptyMessage?: string
-
Default:
"Es wurden keine Treffer gefunden." -
Optional
emptyMessage: "Es wurden keine Adressen hinterlegt"
pageSize number
(Optional) Anzahl Einträge pro Seite.
pageSize?: number
-
Default:
10 -
Optional
pageSize: 30
pageSizes number[]
(Optional) Auswahlmöglichkeiten der Anzahl Seiten.
pageSizes?: number[]
-
Default:
[10, 25, 50, 100] -
Optional
pageSizes: [10, 15, 20]
sortBy string
(Optional) Vordefinierte Sortierspalte.
sortBy?: string
- Default: ""
Optional
sortBy: "dateFrom"
sortAscending boolean
(Optional) Sortierung aufsteigend?
sortAscending?: boolean
- Default:
true Optional
sortAscending: false
filter
(Optional) Vordefinierter Filter.
- Default: ""
Optional
Filter als Suchbegriff
Wird ein string übergeben, so wird dieser in der Sucheingabe angezeigt und danach gefiltert. Der User hat nun die Möglichkeit den Filter anzupassen.
filter?: string;
filter: "12345" // z.B. Rechnungsnummer
Vordefinierter Filter (Callback)
Wird ein Callback als function oder string (globale Funktion) übergeben, so werden die Zeilen automatisch vor der Anzeige gefiltert. Der User hat weiterhin die Möglichkeit über die gefilterten Zeilen zu suchen.
filter?: (options:
{
row: MultiTableRow,
index: number,
rows: MultiTableRows,
columns: MultiTableColumns,
filter: (input: string): boolean
}) => boolean;
Der Callback muss ein boolean zurückgeben!
Der options Parameter beinhaltet folgende Properties:
{
// Die aktuelle Zeile
row: MultiTableRow,
// Der aktuelle Zeilenindex
index: number,
// Alle Zeilen
rows: MultiTableRows,
// Spalteninformationen
columns: MultiTableColumns,
// Hilfsfunktion zum Durchsuchen der aktuellen Zeile
filter: (input: string): boolean
}
Einfaches Beispiel:
filter: function(options) {
// Wenn someFlag in der aktuellen Zeile den Wert sichtbar hat, dann anzeigen.
return options.row.someFlag == "sichtbar";
}
Verwenden der filter Funktion
Der options Parameter bietet eine Hilfsfunktion, mit der die aktuelle Zeile durchsucht werden kann (Enthält Suche). Die Funktion benötigt hier als Parameter den Suchbegriff. Als Rückgabewert erhält man true , wenn der Suchbegriff gefunden wurde, false , wenn nicht.
Spalten vom Typ currency oder number werden formatiert geprüft (über documents.sdk.utils.formatNumber ). Möchte man beispielsweise nach 10000.95 suchen, muss nach "10.000,95" gesucht werden, bzw. der Wert vorher über documents.sdk.utils.formatNumber konvertiert werden.
filter: function(options) {
return options.filter("some filter");
}
oder als string und Implementierung myGlobalFancyFilterFunction
filter: "myGlobalFancyFilterFunction";
function myGlobalFancyFilterFunction(options) {
return options.filter("some filter");
}
showOptions boolean
(Optional) Kopfzeile mit Filter und Seitenauswahl anzeigen?
showOptions?: boolean
- Default:
true Optional
showOptions: false
showHeader boolean
(Optional) Spaltenüberschrift anzeigen?
showHeader?: boolean
- Default:
true Optional
showHeader: false
showFooter boolean
(Optional) Fusszeileninformationen anzeigen (Seitenanzahl, Auswahl)?
showFooter?: boolean
- Default:
true Optional
showFooter: false
showPagination boolean
(Optional) Seitennavigation aktivieren?
showPagination?: boolean
- Default:
true Optional
showPagination: false
removeButtonFocusable boolean
(Optional) Soll der Löschen-Button über die Tab-Navigation erreichbar sein? Nützlich für Anwender die überwiegend mit der Tastatur arbeiten. Die Zeile kann somit über die Leertaste gelöscht werden.
removeButtonFocusable?: boolean
- Default:
false Optional
removeButtonFocusable: false
Über das Tastenkürzel Shift+Entf kann auch eine Zeile gelöscht werden!
insertMode string
(Optional) Wie soll sich die Eingabemaske bei Eingaben verhalten?
insertMode?: "auto" | "manual"
- Default:
"auto" - Mögliche Werte:
auto : Eine neue Zeile wird sofort hinzugefügt, sobald eine Eingabe getätigt worden ist (Standard).
manual : Eingabezeile muss mittels dem Einfügebutton hinzugefügt werden
Optional
insertMode: "manual"
showEmptyTable boolean
(Optional) Soll die Tabelle angezeigt werden, auch wenn keine Daten vorhanden sind?
Standardmäßig wird eine Meldung angezeigt (siehe Option emptyMessage)
showEmptyTable?: boolean
- Default:
false Optional
showEmptyTable: false
rowStyle string
(Optional) Formatierungsoption für Zeilen
rowStyle?: string | (options: { row: MultiTableRow, rows: MultiTableRows, columns: MultiTableColumns }) => string
- Default: ""
Optional
rowStyle: "color: #f00"
Erweitertes Styling
rowStyle: function(options) {
var backgroundColor = options.row.amount > 1000 ? "#f00" : "#000"
return "background-color: " + backgroundColor
}
html Object
(Optional) Benutzerdefiniertes HTML.
html?: {
header?: string | (options: { rows: MultiTableRows, columns: MultiTableColumns }) => string;
footer?: string | (options: { rows: MultiTableRows, columns: MultiTableColumns }) => string;
}
- Default: ""
Optional
html: {
header: (options) => "<div>Anzahl Zeilen: " + options.rows.length + "</div>"
}
html.header string
(Optional) Benutzerdefiniertes HTML oberhalb der MultiTable.
header: string
- Default: ""
Optional
html: {
header: (options) => "<div>Anzahl Zeilen: " + options.rows.length + "</div>"
}
html.footer string
(Optional) Benutzerdefiniertes HTML unterhalb der MultiTable.
footer: string
- Default: ""
Optional
html: {
footer: (options) => options.rows.length > 0 ? "<div>Nur sichtbar wenn Zeilen vorhanden</div>" : ""
}
beforeDelete Function | null
(Optional) Callback bevor die Zeilen gelöscht werden.
beforeDelete?: (options: {
selectedRows: MultiTableRows;
rows: MultiTableRows;
columns: MultiTableColumns;
removeSelectedRows: () => void;
}) => boolean | void
- Default:
null Optional- Ab Version: 20.6.1
beforeDelete Synchrone Rückmeldung (ohne Rückmeldung)
beforeDelete: function (options) {
// Maximal eine Zeile darf gelöscht werden
return options.selectedRows.length == 1;
},
beforeDelete Synchrone Rückmeldung über window.confirm
beforeDelete: function (options) {
var message =
options.selectedRows.length === options.rows.length
? "Möchten Sie alle Zeilen löschen?"
: "Möchten Sie die " + options.selectedRows.length + " Zeile(n) löschen?";
return window.confirm(message);
},
beforeDelete Asynchrone Lösung (z.B. über documents Bestätigungsdialog)
In documents werden vom Benutzer bestätigte Dialoge mittels Callbacks (onOk) getriggert. Hierzu kann die Funktion options.deleteSelectedRows einfach als Parameter 'durchgeschleift' werden.
beforeDelete: function (options) {
var message =
options.selectedRows.length === options.rows.length
? "Möchten Sie alle Zeilen löschen?"
: "Möchten Sie die " + options.selectedRows.length + " Zeile(n) löschen?";
documentsContext.openConfirmationDialog("Löschen bestätigen", message, options.deleteSelectedRows);
},
Der Callback options.deleteSelectedRows kann nicht mehr aufgerufen werden, wenn bereits ein Rückgabewert übergeben wurde.
height string | number
Definiert die maximale Höhe des Gadgets. Überschreitet das Gadget die Höhe, so wird ein Scrollbalken dargestellt.
height?: string | number
- Default:
null Optional
Beispiel:
height: "200px"
height: 200 // -> "200px"
virtualization boolean
Ermöglicht das performante Anzeigen eines Tables mit vielen Zeilen (>200)
virtualization?: boolean
- Default:
false Optional
Das Virtualisierungs-Feature befindet sich noch in der Alpha und ist nicht bereit für den produktiven Einsatz.