Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Alle Bestandteile sind im Plugin Input/ForeignKey zu finden. Integriert werden kann diese Art des Eingabefeldes durch die Strukturmodellierung (Component/Modelling) und die Datenbankwidgets. Zudem zu beachten ist dass sich dieses Plugin in die Prozesse von Datensatz-Speicherung und Datensatz-Auslesen einklinkt und die zu speichernden oder zu lesenden Daten entsprechend transformiert.

Info

Eine Property einer Entitiy, welche durch dieses Plugin verwaltet wird, enthält entweder einen Integer oder ein Integer-Array und muss auch mit den gleichen Datentypen befüllt werden.

Verwendung

Verwendung in der Strukturmodellierung (Component/Modelling)

Folgende Mindestkonfiguration muss als Feldkonfiguration hinterlegt werden:

Codeblock
languagetext
themeRDark
{
	"source": "Input/ForeignKey.[single|multiple|editable]",
	"ForeignKeyCriteria": [Zusätzliche Suchkriterien],
	"relation": {
    	"repository": "[Tabellenidentifikator]",
    	"column": "[Spaltenidentifikator]",
    	"datapool": "[Datenpoolidentifikator]"
	}
}

...

Folgende Mindestkonfiguration muss in der widget.json bei einer Spalte hinterlegt sein:

Codeblock
languagejs
themeRDark
{
	// [...],
	"formType": "Select",
	"source": "Input/ForeignKey.[single|multiple|editable]",
	"configuration": {
		// [...],
		"ForeignKeyCriteria": [Zusätzliche Suchkriterien]
		"relation": {
			"repository": "[Tabellenidentifikator]",
			"column": "[Spaltenidentifikator]",
            "datapool": "[Datenpoolidentifikator]"
		}
	 }
	// [...]
}

Konfiguration

Parametererklärung

Bezeichnung

Mögliche Werte

Beschreibung

source

Input/ForeignKey.single

Input/ForeignKey.multiple

Input/ForeignKey.editable

Legt den Source-Aufruf für brandbox fest.

Info

Der Funktionsumfang der einzelnen Möglichkeiten ist weiter unten beschrieben.


ForeignKeyCriteria

Ein oder mehrere Einträge. Schlüssel des Eintrags entspricht einem eindeutigen Feldidentifikator und der Wert einem erwarten Wert im angegebenen Feld.

Der Platzhalter % ist gestattet.

Legt ein oder mehrere zusätzliche Suchkriterien für mögliche Datensätze fest. Gemeinsam mit einem durch den Benutzer definierten Suchfilter werden alle Kriterien mit einer UND-Verknüpfung verbunden und damit die entsprechende Datenbanktabelle durchsucht.

repository

Eindeutiger Identifikator einer Datentabelle

Aus der hier angegebenen Tabelle werden die auswählbaren Datensätze ausgelesen.

column

Eindeutiger Identifikator eines Feldes

Werden auswählbare Datensätze zur Auswahl präsentiert oder durchsucht wird dieses Feld genutzt.

Info

Diese Option kann ab brandbox 5.6 ausgelassen werden. In diesem Fall werden die Ergebnisspalten zur Anzeige und die Suchfelder für die Suche der Datensätze genutzt.


datapool

Eindeutiger Identifikator eines Datenpools

Diese Eigenschaft ist gilt ausschließlich für Tabellen welche über die Tabellenstrukturen definiert wurden. Hier muss ein entsprechender Identifikator hinterlegt werden.

Info

Diese Eigenschaft darf auf einen leeren Wert gesetzt werden. Hierbei wird der Datenpool automatisch ermittelt wenn die aktuelle Tabelle und die Tabelle, auf welche der Fremdschlüssel zeigt, eine Tabellenstruktur-Tabelle ist und zuvor ein entsprechender Datenpool geöffnet wurde.


ForeignKeyUntranslated

Boolischer Wert (true oder false)

Wenn diese Option auf false gesetzt wurde, werden nur Datensätze beachtet welche eine Übersetzung in der aktuellen Kollation besitzen.

ForeignKeyCreate

Boolischer Wert (true oder false)

Wenn diese Option auf false gesetzt wurde, wird keine Schaltfläche zum Erstellen eines neuen Datensatzes angeboten auch wenn der Anwender die entsprechenen Rechte für diese Funktion besitzt.

Info

Befindet sich das Fremdschlüsselauswahlfeld in einem Übersetzungsdatensatz, steht die Schaltfläche zur Datensatzerstellung nur zusammen mit der Option ForeignKeyUntranslated zur Verfügung.

ForeignKeyOpen

Boolischer Wert (true oder false)

Wenn diese Option auf false gesetzt wurde, wird keine Schaltfläche zum Öffnen des gewählten Datensatzes angeboten auch wenn der Anwender die entsprechenen Rechte für diese Funktion besitzt.

Funktionsumfänge

Wert in source

Beschreibung

Input/ForeignKey.single

Einfaches Auswahlfeld ohne erweiterte Funktionen

Input/ForeignKey.multiple

Feld mit Mehrfachauswahl von einem oder mehreren Datensätzen. Keine Bearbeiten- und Anlegen-Funktion.

Input/ForeignKey.editable

Einfach-Auswahlfeld für einen Datensatz mit Buttons für die Bearbeitung und das Anlegen eines neuen Datensatzes.

Events

Klassenname

Beschreibung

\Brandbox\Framework\Input\ForeignKey\Lib\Event\OnPopulateQueryBuilder

Über dieses Event kann der QueryBuilder für die Datensatzsuche beeinflusst werden.

\Brandbox\Framework\Input\ForeignKey\Lib\Event\OnPopulateRepository

Standardmäßig wird das Repository aus dem Identifikator der Konfiguration ermittelt. Über dieses Event kann in die Suche nach dem Repository eingegriffen werden.