WaBis

walter.bislins.ch

CP: CheckboxField

Die CpCheckboxField Klasse ist von der CpField Klasse abgeleitet. Sie implementiert eine Reihe von Checkboxen.

CpCheckboxField Klasse

Ein Objekt der Klasse CpCheckboxField wird mit der Funktion AddCheckboxField() erzeugt und einem ControlPanel zugewiesen.

CpCheckboxField : CpField = {
Panel: ControlPanel; Inherited; ReadOnly; Init = Parent ControlPanel
Name: String; Inherited; ReadOnly; Init = 'Field' + FieldCounter
Label: String; Inherited; ReadOnly; Init = Name
ReadOnly: Boolean; Inherited; ReadOnly; Init = ControlPanel.ReadOnly
Enabled: Boolean; Inherited; Private; Init = true
EnabledRef: CpObjectRef; Inherited; Private; Init = ''
Items: Array of CpCheckboxItem; ReadOnly
Description: String; Inherited; ReadOnly; Init = ''
ColSpan: Integer(>0); Inherited; ReadOnly; Init = 1
Attr: String; Inherited; ReadOnly; Init = ''
}

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.

CpCheckboxField Properties

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.

CpCheckboxField Funktionen

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

CpCheckboxItem Klasse

Jedes CpCheckboxField enthält im Property Items eine Liste von CpCheckboxItems.

CheckboxItem = {
Name: String; ReadOnly; Init = CpField.Name + '-' + itemIndex
ValueRef: CpObjectRef; Private; Init = [ControlPanel.ModelRef + '.' + ] Name
Text: String; ReadOnly; Init = Name
Value: String; ReadOnly; Init = Name
ReadOnly: Boolean; ReadOnly; Init = CpField.ReadOnly
Enabled: Boolean; Private; Init = CpField.Enabled
EnabledRef: CpObjectRef; Private; Init = CpField.EnabledRef
}

Ein CpCheckboxItem definiert ein einzelnes Checkbox-Element eines CpCheckboxField Objektes.

CpCheckboxItem Properties

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()

ControlPanel.AddCheckboxField( Parameter )

Parameter: CheckboxFieldDef; Optional; Default = { }
Return this: ControlPanel
CheckboxFieldDef = {
Name: String; Optional; Default = 'Field' + FieldCounter
Standardwert für Label und Teil von CpCheckboxItem.Name, sowie Teil der id und name Attribute der Checkbox-Elemente.
Label: String; Optional; Default = Name
Label für die Checkboxen. Setze auf '-', falls kein Label angezeigt werden soll.
Items: Array of CpCheckboxItem; Optional; Default = [ ]
Parameter für jede einzelne Checkbox, siehe unten.
NCols: Integer(>0); Optional; Default = Items.length
Die Checkboxen werden auf NCols Spalten gleichmässig verteilt.
Description: String; Optional; Default = ''
Diese Beschreibung wird eingeblendet, wenn die Maus über dem Label oder Help-Symbol steht. Die Beschreibung darf HTML-Tags enthalten.
ColSpan: Integer(>0); Optional; Default = 1
Anzahl Tabellen-Spalten, welche die Checkboxen überspannen sollen.
ReadOnly: Boolean; Optional; Default = ControlPanel.ReadOnly
Standardwert für die individuellen CpCheckboxItem.ReadOnly Zustände. Beachte, dass es ein Feldweites CpField.ReadOnly und ein Checkbox individuelles CpCheckboxItem.ReadOnly gibt.
Enabled: Boolean; Optional; Default = true
Standardwert für die individuellen CpCheckboxItem.Enabled Zustände. Beachte, dass es ein Feldweites CpField.ReadOnly und ein Checkbox individuelles CpCheckboxItem.Enabled gibt.
EnabledRef: CpObjectRef; Optional; Default = ''
Referenz auf ein Modell-Property, welches den Zustand Enabled eines oder mehrere Checkbox-Items steuert. Beachte, dass es ein Feldweites CpField.EnabledRef und ein Checkbox individuelles CpCheckboxItem.EnabledRef gibt.
Attr: String; Optional; Default = ''
Zusätzliche Attribute für das Werte-Feld mit den Checkboxen.
}
CheckboxItemDef = {
Name: String; Optional; Default = CpField.Name + '-' + i
Teil von name und id für dieses Checkbox Input-Element; Standard für ValueRef, Text und Value.
ValueRef: CpObjectRef; Optional; Default = [ControlPanel.ModelRef + '.' +] CpCheckboxItem.Name
Referenz auf eine globale Variable oder ein Objekt-Property.
Text: String; Optional; Default = CpCheckboxItem.Name
Text, welcher hinter der Checkbox stehen soll. Verwende '-' falls kein Text hinter der Checkbox angezeigt werden soll.
Value: String; Optional; Default = CpCheckboxItem.Name
Wert des Attributes value des Checkbox-Elementes (optional).
ReadOnly: Boolean; Optional; Default = CpField.ReadOnly
true → die Checkbox dient nur als Anzeigefeld. Dynamisches Ein/Ausschalten kann mit Enabled realisiert werden.
Enabled: Boolean; Optional; Default = CpField.Enabled
false → deaktiviert das Feld; kann mit SetEnabled() aktiviert werden
EnabledRef: CpObjectRef; Optional; Default = CpField.EnabledRef
Falls definiert steuert das entsprechende Modell-Property den Zustand Enabled dieses Checkbox-Items
}

CpCheckboxField.GetItem()

CpCheckboxField.GetItem( ItemName )

ItemName: String
Return: CpCheckboxItem or null

Sucht in der Items Liste nach dem Checkbox-Item mit dem Namen ItemName.

CpCheckboxField.Items

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

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

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

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

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

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

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

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.

Weitere Infos zur Seite
Erzeugt Mittwoch, 17. August 2016
von wabis
Zum Seitenanfang
Geändert Freitag, 18. November 2016
von wabis