Die CpCheckboxField Klasse ist von der CpField Klasse abgeleitet. Sie implementiert eine Reihe von Checkboxen.
Ein Objekt der Klasse CpCheckboxField wird mit der Funktion AddCheckboxField() erzeugt und einem ControlPanel zugewiesen.
}
Ein CheckboxField stellt eine Reihe von Checkboxen dar, welche mit einer globalen Variablen oder einem Modell-Property verknüpft sind. Die Bits oder der Wert dieser Variablen oder dieser Properties können über die Checkboxen ausgelesen und verändert werden.
Einige der Properties und Funktionen des Checkbox-Feldes werden von seiner Basis-Klasse, dem CpField, implementiert.
Panel | Verweis auf das übergeordnete ControlPanel Objekt. Das CpField Objekt wird in der Liste ControlPanel.Fields verlinkt. |
Name | Standardwert für Label und ValueRef |
Label | Label für das ControlPanel-Feld. Label dürfen HTML-Tags enthalten. |
ValueRef | Referenz auf eine globale Variable oder ein Objekt-Property. |
ReadOnly | true → Feld kann nicht verändert werden |
Enabled | false → Feld ist deaktiviert. Dieses Property kann nur mit der Funktion IsEnabled() abgefragt werden |
EnabledRef | Referenz auf ein Modell-Property, welches den Enabled-Zustand fernsteuert oder eine function, welche den enabled Zusatand berechnet. |
Description | wird eingeblendet, wenn die Maus über dem Label oder dem HelpImage steht |
Link | HTML- oder Wiki-Link zu einer Help-Seite mit der Beschreibung des Ein-/Ausgabefeldes. |
ColSpan | Anzahl Tabellen-Spalten, welche das Werte-Feld überspannen soll |
Attr | Zusätzliche HTML-Attribute für das Werte-Feld |
Items | Ein CpCheckboxField fasst eine Reihe von Checkboxen zusammen, welche in der Liste Items gespeichert werden. Items ist ein Array of CpCheckboxItem. |
Hinweis: Das von CpField geerbte Property ValueRef wird beim CpCheckboxField nicht verwendet, da jedes CpCheckboxItem ein eigenes Property dafür hat.
AddCheckboxField() | Erzeugt ein CpCheckboxField und fügt es einem ControlPanel hinzu |
GetType() | Fragt den Typ des Feldes ab |
GetValueRef() | Gibt den String-Wert des ValueRef Properties zurück. Auf ValueRef darf nicht direkt zugegriffen werden. |
IsEnabled() | Gibt den Enabled-Zustand des Feldes zurück. Auf Enabled darf nicht direkt zugegriffen werden. |
SetEnabled() | Setzt den Enabled-Zustand des Feldes. |
GetHtmlID() | Gibt die HTML-ID eines ControlPanel-Feldes oder Items zurück |
GetDomObj() | Gibt eine Referenz auf das DOM-Element eines ControlPanel-Feldes oder Items zurück |
GetItem() | Sucht ein bestimmtes CpCheckboxItem in der Items Liste |
Jedes CpCheckboxField enthält im Property Items eine Liste von CpCheckboxItems.
}
Ein CpCheckboxItem definiert ein einzelnes Checkbox-Element eines CpCheckboxField Objektes.
Name | Standardwert für ValueRef, Text und Value des CpCheckboxItem |
ValueRef | Referenz auf eine globale Variable oder ein Objekt-Property vom Typ Boolean |
Text | Text der hinter der Checkbox angezeigt werden soll |
Value | Wert des value Attributes des Checkbox-Elementes |
ReadOnly | true → das Checkbox Element dient nur als Anzeigefeld und kann nicht geändert werden. Vergleiche mit Enabled. |
Enabled | false → das Checkbox Element ist deaktviert und wird ausgegraut angezeigt |
EnabledRef | Falls definiert wird der Zustand Enabled des Checkbox-Items vom entsprechenden Modell-Property gesteuert. |
ControlPanel.AddCheckboxField( Parameter )
}
}
CpCheckboxField.GetItem( ItemName )
Sucht in der Items Liste nach dem Checkbox-Item mit dem Namen ItemName.
CpCheckboxField.Items: Array of CpCheckboxItem; ReadOnly; Init = [ ]
Jedes CpCheckboxField besteht aus einer Liste von einzelnen Checkbox-Elementen vom Typ CpCheckboxItem. Diese Elemente werden in der Liste Items verwaltet.
CpCheckboxItem.Name: String; ReadOnly; Init = CpCheckboxName + '-' + ItemIndex
Der Name eines Checkbox-Elementes dient als Standardwert für ValueRef, Text und Value. Wird Name nicht angegeben wird er mit CpCheckboxField.Name plus dem Index des Checkbox-Elementes in der Items Liste, mit einem Bindestrich dazwischen, initialisiert. Die HTML-ID ist gleich diesem Namen.
CpCheckboxItem.ValueRef: CpObjectRef; Private; Init = CpCheckboxItem.Name
Referenz auf das Modell-Property vom Typ Boolean, welches mit dem Checkbox-Element verknüpft ist.
Intern wird diese Verknüpfung durch ein CpObjectRef Objekt implementiert. Der bei AddCheckboxField() angegebene String-Wert kann mit der Funktion GetValueRef() abgefragt werden.
CpCheckboxItem.Text: String; ReadOnly; Init = CpCheckboxItem.Name
Text, der hinter dem Checkbox-Element angezeigt werden soll.
Hinweis: Eine Reihe von Checkbox-Elementen, welche in einem CpCheckboxField zusammengefasst sind, hat einen gemeinsamen Label. Jedes der Checkbox-Elemente hat zudem eine eigene Beschriftung Text.
CpCheckboxItem.Value: String; ReadOnly; Init = CpCheckboxItem.Name
Die einzelnen Checkboxen haben je ein Einput-Element mit einem Attribut value. Wenn ein Formular nicht per JavaScript verarbeitet wird, sondern an den Server geschickt wird, so wird der Wert des value Attributes für jedes selektierte Input-Element übermittelt.
In diesem Modul wird dieser Wert nicht benötigt und kann auf dem Standardwert belassen werden.
Achtung: Value darf keine unmaskierten HTML-Tags enthalten!
CpCheckboxItem.ReadOnly: Boolean; ReadOnly; Init = CpField.ReadOnly
Wird dieser Wert true gesetzt, dient das entsprechende Checkbox-Element nur der Anzeige eines Modell-Properties. Wird ReadOnly für das Checkbox-Element nicht angegeben, wird der ReadOnly Wert des Checkbox-Feldes übernommen.
Hinweis: ReadOnly ist ein statischer Zustand. Soll das Element dynamisch aktiviert und deaktiviert werden können, muss man dazu das Enabled Property verwenden.
CpCheckboxItem.Enabled: Boolean; Private; Init = CpField.Enabled
Gibt an, ob ein das Checkbox-Element aktiviert (enabled) oder deaktiviert ist. Checkbox-Elemente können dynamisch aktiviert und deaktiviert werden (nicht verwechseln mit statischen ReadOnly Feldern).
Hinweis: Dieses Property kann nicht direkt verändert oder ausgelesen werden. Verwende dazu die Funktionen IsEnabled() und SetEnabled() für Felder oder ControlPanels.
Der Zustand Enabled kann auch indirekt automatisch über das Modell gesteuert werden, indem mit EnabledRef eine Referenz auf ein entsprechendes Modell-Property definiert wird.
CpCheckboxItem.EnabledRef: CpObjectRef; Private; Init = CpField.EnabledRef
Wird hier ein Property-Name eines Modells angegeben, welches vom Typ Boolean sein muss, so steuert dieses Property den Zustand Enabled des CheckboxItems's.
Hinweis: Dieses Property kann nicht direkt verändert oder ausgelesen werden.