Zum Hauptinhalt springen

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

dashboard

  • Klick auf Hinzufügen

dashboard

  • Gadget hinzufügen

dashboard

  • Fertig!