Eigene Suchlogik implementieren
Dashboard Gadget Skript anlegen
Zunächst muss ein Gadget Portalskript erstellt werden.
-
Im Documents Manager ein neues Portalskript erstellen Zum Beispiel:
Gadget_ou.cust.dashboard.fileSearchGadget -
Unter Skript Eigenschaften müssen folgende Attribute hinzugefügt werden:
customTileScript:true
tileHeadline : de:Wo ist mein Beleg;en:Where is my invoice
- Als Quellcode verwenden wir folgenden Code:
context.enableModules();
const { FileSearch } = require("ou.sp.gadget.FileSearch");
const fileSearchGadget = new FileSearch({
id: "test",
searchScript: "ou.cust.callback.fileSearch",
// Mappentypen hier anpassen
fileTypes: [
"testMappe1",
"testMappe2"
],
// Mappenfelder die durchsucht werden sollen
searchFields: [
"Belegart",
"Belegnummer",
"Belegdatum",
"Handelspartnernummer",
"Auftragsnummer"
],
// Zusätzliche Parameter
params: {
optionalFlag: {
type: "checkbox",
label: "Mit Admin-Rechten suchen?",
value: true,
},
}
});
context.returnValue = fileSearchGadget.transfer();
- Skript speichern
Search-Skript anlegen
Als nächster Schritt muss das Such-Portalskript erstellt werden.
-
Im Documents Manager ein neues Portalskript erstellen Wie oben definiert, z. B.:
ou.cust.callback.fileSearch -
Als Quellcode verwenden wir folgenden Code:
context.enableModules();
const { FileSearch } = require("ou.sp.gadget.FileSearch");
const { TableDialog } = require("ou.sp.gadget.TableDialog");
const options = FileSearch.getParams()
// Abfragen der zusätzlichen Parameter
if (options.customParams.optionalFlag) {
context.changeScriptUser("oucadmin")
}
// FileResultset erzeugen
const files = new FileResultset("testMappe")
// TableDialog Instanz erstellen
const tableDialog = TableDialog.fromFileResultset(files)
tableDialog.options.title = options.title,
tableDialog.options.select = true,
tableDialog.options.success = function(selectedRows) {
documentsContext.openFileView(selectedRows[0].fileId)
}
// TablDialog Instanz zurückgeben
context.returnValue = tableDialog.transfer();
- Skript speichern
Gadget im Dashboard hinzufügen
-
Nun am Client anmelden
-
Im Dashboard unter
Bearbeiten

- Klick auf Hinzufügen

- Gadget hinzufügen

- Fertig!