Table of Contents

Eingabefeld

Eingabefelder sind Bestandteile einer Detailansicht und definieren, welche Attribute der gebundenen Klasse in der Ansicht dargestellt werden sollen. Für jedes dieser Attribute wird in der Detailansicht ein Eingabefeld generiert, das in Layout und Größe angepasst werden kann.

Jedes Eingabefeld ist mit einem Attribut verknüpft. Über das Kontextmenü Vertragsattribut ansehen oder einen Doppelklick wird das verknüpfte Attribut im Inspektor angezeigt.

Eigenschaften

Eigenschaft Typ Erklärung
Name Text Der Anzeigename des Felds im Workflow-Editor des Designers.
Pit-Name Text Der Systemname des verknüpften Attributs. Kann nicht verändert werden.
Schreibgeschützt Ja / Nein Gibt an, ob dieses Feld vom Benutzer verändert werden darf.
Pflichtfeld Ja / Nein Gibt an, ob der Benutzer dieses Feld auf Detailansichten ausfüllen muss.
Abhängigkeit Dropdown Auswahl der Abhängigkeit, die Sichtbarkeit und Interaktion für das Eingabefeld steuert.
Aktivator Dropdown Auswahl eines Aktivators, der bei Berührung ausgelöst wird. Wird ausgeblendet, falls es bereits einen Übergang von diesem Feld zu einem Schritt gibt.
Bindung Dropdown Auswahl der Klasse, auf die diese Detailansicht gebunden ist. Wird bei Referenzen und Listen angezeigt und bezieht sich auf die eingestellte Referenzklasse des verknüpften Attributs.

Rechteverwaltung

Eingabefelder übernehmen von ihrem verknüpften Attribut die Einstellungen für Schreibschutz und Pflichtfeld. Allerdings können diese Einstellungen auch für spezielle Detailansichten am Eingabefeld überdefiniert werden. Schreibgeschützte Attribute werden im Designer grau und Pflichtfelder rot dargestellt.

Ist ein Eingabefeld als schreibgeschützt markiert, so kann der Benutzer den Inhalt des Felds lesen aber nicht verändern. Ein Pflichtfeld muss vom Benutzer ausgefüllt werden, bevor der Datensatz in die Datenbank gespeichert werden kann. Sind noch nicht alle Pflichtfelder auf einer Detailansicht ausgefüllt und der Benutzer versucht auf einen anderen Datensatz zu wechseln, wird dieser Vorgang von der App abgebrochen und ein Hinweistext angezeigt.

Eingabefelder gruppieren und einbetten

Normalerweise werden Eingabefelder in einem Abschnitt untereinander dargestellt. Wenn man genau weiß, dass einige Felder nicht viel Platz auf dem Bildschirm einnehmen, möchte man diese eventuell lieber nebeneinander anzeigen. Um das zu erreichen, kann man im Designer mehrere Eingabefelder eines Abschnitts (mit gedrückter Strg-Taste) markieren und im Inspektor auf den Button Gruppieren klicken.

Daraufhin wird eine Gruppierung für die bestehenden Eingabefelder erstellt. Die Feldgruppierung ist ein Hinweis für pit - Mobile, dass alle darin befindlichen Felder nebeneinander dargestellt werden sollen. Man kann dabei die Reihenfolge und Breite jedes Attributs frei vorgeben, indem man die Eigenschaften width und left innerhalb der dynamischen Eigenschaft style vom Typ Text verwendet. Beim Erstellen der Gruppierung legt der Designer diese Eigenschaften bereits automatisch an. Die Feldgruppierung kann über den Button Gruppierung aufheben im Inspektor wieder gelöscht werden, ohne dass die enthaltenen Eingabefelder verschwinden.

Bemerkung

Verändert man die Reihenfolge der Eingabefelder innerhalb der Gruppe, hat dies keinen Einfluss auf die Position der Felder auf der Oberfläche. Verwenden Sie stattdessen die Angaben in der Eigenschaft style. Beim Löschen der Gruppierung bleibt die Eigenschaft style der Eingabefelder erhalten und muss ggf. manuell aktualisiert werden.

Eingabefelder werden je nach Typ des verknüpften Attributs anders bearbeitet. Textfelder, Checkboxen oder Zahlen werden direkt auf der Detailansicht bearbeitet. Andere Felder wie Referenzen oder Listen gehen normalerweise zum Bearbeiten auf einer neuen Seite auf. Dieses Verhalten lässt sich ändern, indem man die Felder über ihren style als eingebettet markiert. Nachfolgend ein Beispiel für einen Eingabefeldstil, der sowohl gruppiert als auch eingebettet ist:

{
   "left": "50%",
   "width": "50%",
   "embedded": true
}

Buttons auf Eingabefeldern

Eingabefelder können abhängig vom Typ des verknüpften Attributs einen Aktivator definieren. Ist dies der Fall, wird ein Konnektor für einen Übergang am Eingabefeld angezeigt. Darüber hinaus können unabhängig vom Attributtyp zusätzlich Buttons auf dem Eingabefeld hinterlegt werden. Dafür zieht man per Drag & Drop einen neuen Button auf das Feld und hinterlegt eine Darstellung und einen Aktivator für den Button.

Tipp

Wird ein Button an einem Eingabefeld mit Aktivator definiert, dann reagiert der Button normal auf Eingaben des Benutzers. Der Aktivator des Felds wird aber nur ausgelöst, wenn der Benutzer auf eine freie Fläche des Felds tippt, an der kein Button zu sehen ist.

Beschriftung überdefinieren

Normalerweise wird die Beschriftung eines Eingabefelds durch eine Übersetzung gesteuert. Existiert eine Übersetzung mit dem Attributnamen als Schlüsseltext, so wird während der Laufzeit der App der übersetzte Text in der jeweiligen Sprache angezeigt. Häufig verwendete Attribute haben allerdings manchmal abhängig vom eingesetzten Kontext mehr als eine Bedeutung.

Beispielsweise wird das Feld Name meistens mit 'Name' übersetzt. Manchmal ist aber das Wort 'Nachname' oder 'Titel' als Übersetzung deutlicher. Daher gibt es die Möglichkeit, die Beschriftung für ein Eingabefeld auf einem ganz bestimmten Schritt überzudefinieren. Hierfür muss die dynamische Eigenschaft style vom Typ 'Text' benutzt werden:

{
    label:{
        text: "Nachname"
    }
}

Hinweistext

Über einen style am Eingabefeld lässt sich ein Hinweistext angeben, dass angezeigt wird, solange kein Inhalt in diesem Feld steht. Dies gibt dem Nutzer eine Anleitung, welcher Inhalt in diesem Feld erwartet wird. Die Farbe des Hinweistexts ist normalerweise grau, kann aber überdefiniert werden.

{
    ...
    "input":{
        "hintColor":"#abFF81",
        "hintText":"Geben Sie hier einen Kommentar zum Auftrag ein"
    }
    ...
}

Auf Wertänderungen reagieren

Über die dynamische Eigenschaft changedActivator vom Typ Text kann der Name eines Aktivators hinterlegt werden, der bei der Wertänderung des Felds ausgelöst wird.

Diesem Aktivator steht der Parameter model zur Verfügung, der den aktuellen Datensatz beinhaltet.

Changed Activator

Beispiel:

Ti.App.log("Value of field 'Barcode' changed to " + model.attributes.Barcode");

Anzeige der Objektanzahl bei Listenfeldern

{
    ...
    "bubble":{
        "hide":true,
        "color":"#d72517",
        "backgroundColor":"#333333",
        "border":{
            "width":5,
            "radius": 0,
            "color": "#BE7E7E"
        },
        "font":{
            "fontWeight": "bold"
        }
    }
    ...
}

Siehe auch

Detailansichten
Attribute
Übersetzungen