driver/result

Die Masken des driver/result werden von driver/search, driver/detail, driver/render_pdf, driver/edit und anderen benutzt, um Objekte einer Tabelle zu rendern. Über cell/REPORT können driver/result-Masken ineinander verschachtelt werden und sich so durch zu verknüpften Objekten hangeln.

Die Maske wird für alle zu rendernden Objekte aufgerufen, d.h. eine Suche die 20 Treffer auf einer Seite anzeigt, ruft einmal die driver/result-Maske auf, diese rendert aber 20 mal das GRID. Bei Reporttype TREE wird das GRID nur einmal gerendert, dafür dann aber 20 mal die Cells in grid/FUNCTION-result/print_tree.

Mask-Properties

Table Die Tabelle der Objekte.
Reporttype
  • PLAIN Rendert das GRID ohne weiteres HTML auszugeben.
  • TR Rendert das GRID zwischen <table> und </table>
  • TREE Rendert das GRID mit easydb Baum-Funktionalität. Innerhalb des GRIDs muss grid/FUNCTION-result/print_tree benutzt werden.
First Row Only Rendert das GRID nur für das erste Objekt.
If Connector, use data Wenn gesetzt, dann wird für Objekte, die easydb Connector Objekte sind, also von anderen Datenbanken, ein easydb Connector Request an die entfernte Datenbank gestellt und dann das lokale rendering zum Ausgeben der Objekte benutzt. Das funktioniert nur in cell/OUTPUT und in cell/EASFILE_OUTPUT. Für *cell/OUTPUT*Dazu muss das entfernte Datenmodell mit dem lokalen Datenmodell übereinstimmen. Für cell/EASFILE_OUTPUT sucht easydb in dem entfernten Objekt nach der Bild-Spalte und fügt ein HTML-IMG mit der URL des entfernten Bildes ein. Wenn diese Option nicht gesetzt ist, rendert die entfernte easydb das Objekt und die lokale easydb gibt das empfangene HTML aus. Hierzu wird in driver/connector-Masken nach dem Paramater map_these_masks gesucht und in der entfernten easydb die passende Conenctor-Maske angefordert. Siehe auch driver/connector.
Use For Changelog Details Wenn gesetzt, wird dieses Result genutzt, um beim Speichern von Changelog-Detail-Einträgen die Einträge für "vorher" und "nachher" zu rendern. Sollten mehrere Results für diesselbe Tabelle existieren, so wird das mit der kleinsten ID genommen. Dadurch können Masken, die mittels easydblink importiert wurden überschrieben werden. Seit Version 4.0.259
Chunk Size Die Standard-Anzahl der Treffer auf einer Seite. Wird nur in Such-Ergebnissen benutzt.
Chunk Sizes Verfügbare Anzahl der Treffer pro Seite, kommasepariert. Wird nur in Such-Ergebnissen benutzt.
child_result Wenn Reporttype TREE ist, steht dieser Parameter zur Verfügung. Es kann eine driver/result-Mask angegeben werden, die zum Rendern der ersten Ebene der Kinder des dargestellten Baumes benutzt wird. Diese driver/result-Mask muss ebenfalls vom Reporttype TREE sein.
child_order_by Die Sortierung für das optionale andere child_result, formuliert als SQL-clause (das ORDER BY wird von easydb automatisch angefügt)

cell/FUNCTION

output_content

Verwendet mit grid/FUNCTION/store_content. Gibt den gespeicherten Inhalt aus.

"name" Name der Variable.

result_marker

Wird verwendet um die Selektions-Checkbox neben Treffer-Objekten anzuzeigen.

"class_" DOM class für den LINK. In dem LINK wird eine SPAN ausgegeben. Die class der SPAN ist buttonCheckmark, buttonEmpty und buttonArrowLeft (für un-selektiert, selektiert und in die Arbeitsmappen kopierbar). In der SPAN ist zusätzlich noch die class resultMarker.

Markierung von darüberliegenden DIVs, TABLEs oder TRs

Ausgehend vom result_marker geht easydb den DOM-tree nach oben und sucht nach DIVs, TABLEs oder TRs, die die class marker gesetzt haben. Dieser DIV, TABLE bzw. TR wird dann, wenn das Objekt selektiert ist, die class marked hinzugefügt.

Die Markierung der TRs geht seit Version 4.0.259.

Ausweiten des Clicks auf darüberliegenden Elemente

Ausgehend vom result_marker geht easydb den DOM-tree nach oben und sucht Elemente, die die class marker_click gesetzt haben. An diesen Elementen wird das Click-Event registriert, so dass es sich genauso verhält, wie der LINK des result_markers (zum Selektierung und De-Selektieren).

Markieren des aktuell im Detail oder Edit ausgewählten Objektes

Ausgehend von dem ersten grid/LINK/driver zu einer Detail-Ansicht oder einem Editor, geht easydb den DOM-tree nach oben und sucht DIVs und TABLEs die die class marker gesetzt haben. Wenn ein Objekt im Detai oder Edit aktuell angezeigt wird, wird dieser DIV oder TABLE zusätlich noch die class edit bzw. detail gesetzt.

Gruppen-Selektieren mit SHIFT oder STRG

Wenn beim Selektieren Shift oder Strg gedrückt wird, sucht easydb ab dem geklickten Marker im DOM-Tree aufwärts nach einem Element mit einer Klasse "group_click". Innerhalb dieses Elementes werden dann alle Marker umgeschaltet. Seit Version 4.0.199.

has_singlelink

In Verbindung mit grid/LINK/link_insert kann mit dieser FUNCTION geprüft werden, ob in einem Such-Ergebnis eine SINGLELINK-Information vorliegt oder nicht. Das wird dafür verwendet, dasselbe RESULT für eine Suche zu verwenden, die mit und ohne SINGLELINK benutzt wird.

ids_count

Gibt die aktuelle Anzahl der Treffer im Suchergebnis aus.

use_field Spalte des aktuellen Result, um die IDs zu sammeln, nur benötigt, wenn auch include_children gesetzt ist, weil darüber Duplikate entfernt werden. Seit Version 4.0.241.
include_children Optionale Link-Spalte zu einer Tabelle über die Kinder und Kindeskinder gesucht und mitgezählt werden. Seit Version 4.0.241.
tags Beliebiger String, der in die SPAN-Node-Deklaration kopiert wird.

eadb_links_count

Zählt die mit dem aktuellen Objekt (from_id) verlinkten Objekte (to_id) im Suchergebnis des Frames mit dem Namen eadb_frame.

"tags" Beliebiger String, der in die SPAN-Node-Deklaration kopiert wird.
reverse Kehrt das Verhalten um wenn gesetzt, d.h. es werden from_id und to_id vertauscht.
eadb_frame Frame des Suchergebnisses für die die Objekte geprüft werden. Wenn nicht gesetzt werden alle Objekte aller Tabellen gezählt.

tree_fk_father_id

Gibt die Objekt-ID Vater des aktuellen Objektes aus. Kann benutzt werden, um in einem Poly-Hierachischen Baum zu unterscheiden, ob das ein Objekt über den Haupt-Baum angezeigt wird, oder über die zusätzliche Poly-Hierachie eingeblendet wird.

row_i

Gibt die aktuelle Zeilennummer im Result aus. Startet bei 0.

"tags" Beliebiger String, der in die SPAN-Node-Deklaration kopiert wird.
inc Wenn gesetzt, startet die Zeilennummer bei 1
offset Wenn gesetzt wird bei mehrseitigen Trefferlisten der aktuelle Offset addiert.
count_backwards Gibt die Anzahl der verbleibenden Objekte bis zum letzten Treffer an. offset wird ignoriert.

execute_select

Mit dieser FUNCTION lässt sich ein SQL-Select ausführen. Vom Select wird aus der ersten Zeile die erste Spalte ausgegeben. Es können Variablen des aktuellen Result-Sets ersetzt werden.

"select_statement" Der SQL-Select.
debug Wenn gesetzt, werden Debug-Informationen ausgegeben. Eine ganz wichtige Information sind die Variablen, die ersetzt werden. Da diese von easydb zu easydb variieren, sind diese nicht in der Dokumentation.

print_variable

Diese FUNCTION gibt die Anzahl von selektieren Objekten aus. Diese werden per Javascript den aktuellen Selektionen angepasst.

type COUNT_MARKED_PAGE Anzahl der selektierten Treffer auf der aktuellen Seite, COUNT_MARKED Anzahl aller markierten Treffer. COUNT_ALL Anzahl aller Treffer.
class_ DOM class der SPAN-Node, in der die Ausgabe erfolgt.

select_menu

Ausgabe des Pulldowns welches ein Selektieren von Objekten in der Trefferliste erlaubt. Dieses Pulldown wird per Javascript dynamisch angepasst.

"tags" Beliebiger String, der in die SELECT-Node-Deklaration kopiert wird.
"create_workfolder" In der Form frame:editmask kann angegeben werden, welcher Arbeitsmappen-Editor wo aufgerufen wird, wenn der Benutzer ADHOC-Arbeitsmappen nutzen können soll.

Die Texte der Pulldown-Optionen werden im Stringtool gepflegt.

output_marked_count

Ausgabe einer SPAN mit Angabe der Anzahl der aktuelle markierten Objekte. Wenn 0 Objekte markiert sind, bekommt der document.body eine non_marked DOM-class. Die SPAN hat die DOM-class output_marked_count.

output_marked_on_off

Gibt einen Button aus, der es erlaubt alle Treffer zu de-selektieren bzw. zu selektieren. Zur Beschriftung wird Stringtool select none und select page verwendet, diesselben Keys wie für select_menu. Der Button hat die DOM-class output_marked_on_off.

right_object_get_current

Gibt aus, welches Haupt-Recht der Benutzer am aktuellen Objekt hat. Mögliche Ausgaben sind:

  • NONE
  • READ
  • WRITE
  • DELETE

eas_output_named_version_deeplink

Diese Funktion gibt eine Deep-Link-URL in die easydb zu einem bestimmten Asset in einer bestimmten Version aus.

Es setzt folgende Stringtool-Variablen voraus:

EAS_ASSET_DOWNLOAD_TABLE Der Name der Tabelle.
EAS_ASSET_DOWNLOAD_COLUMN_NAME Die Spalte mit dem eindeutigen Namen in der Tabelle
EAS_ASSET_DOWNLOAD_COLUMN_EASID Die Spalte mit der EAS-ID des Assets in der Tabelle
EAS_ASSET_DOWNLOAD_VERSION_DEFAULT_NAME Name der Standardversion, die im Result angezeigt werden soll. Dieser Name kann im Link durch einen anderen erlaubten Versionsnamen ersetzt werden
l10n.result.error.EasAssetDownloadNameUndefined Fehlertext, der ausgegeben wird wenn für diesen Datensatz der eindeutige Name nicht gesetzt ist.

Aus der Konfiguration fließen bei der Auswertung des Links noch folgende Variablen ein:

EAS_SECURE_DOWNLOAD kommaseparierte Liste der erlaubten Versionsnamen

show_log_by_table

Gibt für das aktuelle Objekt HTML mit der Änderungs-Historie in einer Tabelle aus.

Die Überschriften-Spalten der Tabelle werden per Stringtool festgelegt. Wenn die Überschrift leer ist, wird die Spalte nicht angezeigt. Die String-Tool Werte sind: l10n.changelog.column.ID, l10n.changelog.column.DateTime, l10n.changelog.column.Entry, l10n.changelog.column.Login, l10n.changelog.column.Name, l10n.changelog.column.IP, l10n.changelog.column.Grouped.

Wenn die Config-Variable CHANGELOG_ENABLE_DETAILS gesetzt ist, werden zusätzlich noch folgende Spalten ausgegeben. Diese lassen sich per String-Tool setzen, aber nicht ausblenden: l10n.changelog.column.Field, l10n.changelog.column.Action, l10n.changelog.column.OldValue, l10n.changelog.column.NewValue.

show_login Wenn gesetzt wird die Spalte mit dem Benutzer-Login gezeigt.
show_name Wenn gesetzt wird die Spalte mit dem Benutzer-Namen gezeigt.

grid/FUNCTION

grouping

Alle inneren Cells und Rows werden gerendert, wenn sie sich ändern. In Schleifen und an Stellen, die mehrfach ausgeführt werden, können Sie damit eine Zwischenüberschrift realisieren. Immer wenn sich ein Wert ändert, geben Sie etwas aus. Nutzen Sie grouping auch mit einem IFTHEN Grid.

show_only_once

Alle inneren Cells und Rows werden gerendert wenn das ausgegebene HTML das erste Mal ausgegeben wird. Im Unterschied zum grouping kommt es dabei nicht auf die Reihenfolge an. Der Check ob das HTML das erste Mal ausgegeben wird oder nicht, wird normalerweise pro REPORT resettet.

use_global_space Wenn gesetzt, wird das HTML nur dann ausgegeben, wenn es auf der kompletten Seite das erste Mal erscheint.

store_content

Speichert das HTML der inneren Cells und Rows in einer Variable. Der Inhalt dieser Variable kann dann zu einem späteren Zeitpunkt mit content/FUNCTION/output_content ausgegeben werden. Falls die Variable schon gesetzt ist, wird sie überschrieben.

name Name der Variable.

tree

Zur Ausgabe von Hierarchien wird diese grid/FUNCTION/tree gebraucht. Die gerenderten Cells und Rows werden zu den Blättern im Baum. Für die FUNCTION, muss der Reporttype des result auf TREE gesetzt sein.

get_nodes_callback Im Format driver:function kann hier eine PHP-Callback-Funktion angegeben werden, die get_nodes alternativ implementiert.
poly_link_field_from Falls eine Tabelle existiert, die die aktuelle Tabelle n-m mit sich selber verknüpft, werden die Felder dieser Tabelle hier angezeigt. Wählen Sie das from-Feld aus, um im Baum auch die Objekte angezeigt zu bekommen, die über diese Tabelle mit dem aktuellen Objekt verknüpft sind. Diese Unterstützung ist nur für die Anzeige, sie hat nichts mit der Suche zu tun.
top_level_filter_php Das angegebene PHP wird verwendet, um die Top-Level-Nodes des Baumes zu finden. Default ist *return "FK_father_id IS NULL". Beispielsweise können Sie den Top-Level auf den aktuellen Request beziehen return "FK_father_id = ".$_REQUEST[parent_select_id];
branch_chunk_size Bei Baum-Zweigen mit vielen Blättern hilft dieser Paramater. Setzen sie ihn auf einen Wert größer als 0, werden maximal soviele Blätter in einem Zweig angezeigt, darunter erscheint eine kleiner Navigator zum Vor- und Zurückblättern. Wenn Sie den Parameter leer lassen (default), dann wird die aktuelle Trefferanzahl pro Seite der aktuellen Suche als Wert genommen. Wenn Sie den Paramater auf 0 setzen, werden immer alle Blätter eines Zweiges angezeigt.

thesaurus_path

Verwenden Sie diese Funktion, um für ein aktuelles Objekt existierende Väter anzuzeigen. Im Gegensatz zum direkten thesaurus_support vieler content/FUNCTION, haben Sie mit dieser Funktion größeren Einfluss auf die Ausgabe. Beispielsweise können Sie zwischen den Objekten des Pfades kleine Grafiken ausgeben.

type normal: Rendert die Objekte angefangen vom Root des Baumes. reverse: Rendert die Objekte ausgehend vom aktuellen Objekt zum Root.
lower_threshold Gibt an, wieviele Objekte am Anfang übersprungen werden und nicht gerendert werden.
upper_threshold Gibt an, wieviele Objekte am Ende übersprungen werden und nicht gerendert werden.
include_current Grundsätzlich wird das aktuelle Objekt nicht gerendert. Wenn gesetzt, wird es gerendert.

tool_selector

Seit Version 4.0.229.

Gibt für das aktuelle Objekt eine Auswahl von Tools aus (E-Mail, Zip, Exporter), die sich vom Benutzer auswählen lassen. Der gerenderte Inhalt wird als Dateiname (ohne Endung) verwendet und im Tool-Dialog den Benutzer als Vorschlag angezeigt.

filter Regulärer Ausdruck zum Filtern des angebotenen Tools. Die folgenden Tools sind derzeit vorhanden:
  • eas.tools.*: Easydb-Asset-Server Tools
  • customrender: Exporter der easydb
  • imexporter: Neuer Exporter der easydb
Um beispielsweise nur die Exporter anzuzeigen, geben Sie an: customrender|imexporter.

grid/LINK

emsfile_open_filemanager

Dient zum Öffnen des Asset-Eigenschaften-Dialoges.

field_id Spalte der aktuellen Tabelle die für den Eigenschaften Dialog als eas-ID fungiert.
hide_versions Wenn gesetzt, wird der Reiter Versionen ausgeblendet.
hide_metadata Wenn gesetzt, wird der Reiter Metadaten ausgeblendet.
hide_tools Wenn gesetzt, wird der Reiter Werkzeuge ausgeblendet.
start_page Versions, Metadata, Tools: Start-Reiter für den Dialog.

emsfile_download_version

Gibt einen LINK aus, um eine Version eines Assets herunterzuladen.

Field Spalte der aktuellen Tabelle die für den Download als eas-ID.
Root Asset Wenn gesetzt wird das Root-Asset für den Download verwendet. Das Root-Asset ist das ursprünglich in die easydb geladene Asset. Untergeordnete Assets entstehen beispielsweise, wenn Bilder gedreht werden. In dem Fall würde diese Funktion ohne den gesetzten Parameter Root Asset das gedrehte Bild zum Download anbieten. Mit dem gesetzten Parameter das Original-Bild, ungedreht. Seit Version 4.0.168.
Version Wählen Sie original für das Original und EAS_OUTPUT_DOWNLOAD[_<fileclass>] für die Versions-Bestimmung wie Sie in der Config konfiguriert ist.
No Rights Check Überprüft nicht, ob der Benutzer über ausreichende Rechte zum Download der ausgewählten Version verfügt. Seit Version 4.0.130.
Download Filename Name der Datei für den Download. Sie können alle Ersetzungen benutzten, wie Sie für EAS_DOWNLOAD_FILENAME[.<TABLE>] konfiguriert werden können und zusätzlich alle Spalten der aktuellen Result-Row als Variable in der Form %result.<Spaltennamen>% benutzen. Seit Version 4.0.130.
Seit Version 4.0.310: Sollte ein interner Download-Dateiname hinterlegt sein (eas-custom-data "download_filename"), kann dieser nicht überschrieben werden.

Die Ausgabe eines direkten Download-Links oder einer Download-URL lässt sich auch mit cell/EASFILE_FILEDATA realisieren.

ids_link

Alle Objekt-IDs aus dem aktuellen Result werden mit diesem LINK an die Suche gesendet und dann in der Suche angezeigt.

eadb_frame Frame-Name der Suche, dient als Target für den Link.
use_field Spalte des aktuellen Result, um die IDs zu sammeln.
include_children Optionale Link-Spalte zu einer Tabelle über die Kinder und Kindeskinder gesucht werden. Seit Version 4.0.241.
tags Beliebiger String, der in die Node-Deklaration kopiert wird.
search_mask Optionale Angabe der Search-Mask für die Suche.

eadb_links_link

Dient zum Anzeigen von über eadb_links verlinkten Objekten in der Suche bezogen auf das aktuelle Objekt. Funktion zur Benutzung in migrierten 3-er easydbs.

eadb_frame Frame-Name der Suche, dient als Target für den Link.
tags Beliebiger String, der in die Node-Deklaration kopiert wird.
reverse Wenn gesetzt wird das Verhalten zum Finden der verlinkten Objekte umgekehrt, d.h. es werden from_id und to_id vertauscht.
dive Wenn gesetzt werden auch alle Kinder des aktuellen Baum-Blattes in der Suche angezeigt.
title Setzt den Titel zur Ausgabe mit cell/FUNCTION-search/within_title.

remove_object

Gibt einen LINK aus, um das aktuelle Objekt aus der Datenbank zu löschen.

confirm Wenn gesetzt, wird eine Alert-Box angezeigt (Stringtool: l10n.result.ConfirmRemoveEntry)

link_insert

Wird in einem Suchergebnis verwendet, in dem eine Auswahl für einen Editor SINGLELINK oder POPUPLINK getroffen wird. Nach dem Klick wird das Fenster der Nebensuche geschlossen.

dont_close_window Wenn gesetzt, wird das Fenster nicht geschlossen. Das ist dann praktisch, wenn der Benutzer mehr als ein Objekt verlinken können soll.

link_marked

Wird benutzt, um alle selektierten Objekte einer Trefferliste in einer Nebensuche in den SINGLELINK der Hauptsuche zu übernehmen.

multilink_remove

Verwendet im cell/MULTLINK-result-Context. Es wird benutzt, um einen eadb_links-Link aus dem Mulitlink zu entfernen.

multilink_add_row

Wird verwendet, um für cell/MULTLINK im Editor neue leere Zeilen hinzuzufügen.

table_name Name der Tabelle für die der Multlink hinzugefügt wird.

multilink_receiver

Wird verwendet, um für cell/MULTLINK im Editor neue Objekte hinzuzufügen. Die Objekte werden aus dem aktuellen Suchergebnis vom Benutzer durch einen Klick auf den Pfeil übernommen.

table_name Name der Tabelle für die die Objekte hinzugefügt werden.

dom_copy_values

Verwenden Sie diese Function, um einen Link auszugeben, der Werte, die durch POPUPLINK-Reports in einem Editlink ausgeben wurden in Eingabe-Felder des Editlinks zu kopieren. Das Betätigen des Links führt beim ersten mal zum Kopieren der Werte von den Quell- in die Ziel-Felder, beim zweiten Mal werden die Werte der Ziel-Felder wieder zurückgestellt.

mapping Die Angabe eines Mapping-Arrays, welches zwischen Quell-Cell-Ids und Ziel-Cell-Ids die Werte kopiert (in JSON-Notation).
[
  [47651, 47762]
  [45897, 32200]
]

Das Beispiel kopiert die Werte aus den cell/OUTPUT -cell-ids 47651 und 45897 in die cell/INPUT Eingabe-Felder. Ziel-Felder kann auch cell/TEXTAREA sein.

Im cell/OUTPUT muss der Paramter Marker Span gesetzt sein.

Seit Version 4.0.130.