WaBis

walter.bislins.ch

CP: EmptyField, HtmlField

Ein CpHtmlField dient der Anzeige von Html-Text in einem ControlPanel-Feld. Der Text kann statisch sein oder er kann dynamisch von einem Modell bezogen werden.

CpHtmlField Klasse

Ein Objekt der Klasse CpHtmlField wird mit der Funktion AddHtmlField() erzeugt und einem ControlPanel zugewiesen.

Ein CpHtmlField kann einen statischen Text anzeigen oder den Text einer globalen Variablen oder eines Modell-Properties.

CpHtmlField : CpField = {
Panel: ControlPanel; Inherited; ReadOnly; Init = Parent ControlPanel Objekt
Name: String; Inherited; ReadOnly; Init = 'Field' + FieldCounter
Label: String; Inherited; ReadOnly; Init = Name
Html: String; ReadOnly; Init = ''
ValueRef: String; Inherited; ReadOnly; Init = [ControlPanel.ModelRef + '.' +] Name
ColSpan: Integer(>0); Inherited; ReadOnly; Init = 1
Attr: String; Inherited; ReadOnly; Init = ''
}

CpHtmlField Properties

Panel Verweis auf das übergeordnete ControlPanel Objekt. Das CpHtmlField Objekt wird in der Liste ControlPanel.Fields gespeichert.
Name Standardwert für Label und ValueRef
Label Label für das ControlPanel-Feld. Label dürfen HTML-Tags enthalten.
Html HTML-Text, welcher in die entsprechende ControlPanel-Zelle geschrieben werden soll.
ValueRef Referenz auf eine globale Variable oder ein Objekt-Property.
ColSpan Anzahl Tabellen-Spalten, welche das Werte-Feld überspannen soll
Attr Zusätzliche HTML-Attribute für das Werte-Feld

CpHtmlField Funktionen

AddHtmlField() Erzeugt ein CpHtmlField
AddEmptyField() Erzeugt ein CpHtmlField ohne Label und ohne Text
GetType() Fragt den Typ des Feldes ab
GetValueRef() Gibt den String-Wert des ValueRef Properties zurück. Auf ValueRef darf nicht direkt zugegriffen werden.
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

ControlPanel.AddHtmlField()

ControlPanel.AddHtmlField( Parameter )

Parameter: HtmlFieldDef; Optional; Default = { }
Return this: ControlPanel
HtmlFieldDef = {
Name: String; Optional; Default = 'Field' + FieldCounter
Standardwert für Label und ValueRef und Teil der HTML-ID des Werte-Feldes.
Label: String; Optional; Default = Name
Label für das CpHtmlField.
Html: String; Optional; Default = ''
Text des Werte-Feldes; darf HTML-Tags enthalten.
ValueRef: String; Optional; Default = [ControlPanel.ModelRef + '.' +] Name
Referenz auf eine globale Variable oder ein Objekt-Property.
ColSpan: Integer(>0); Optional; Default = 1
Anzahl Spalten, welche das Werte-Feld überspannen soll.
Attr: String; Optional; Default = ''
Zusätzliche HTML-Attribute für das Werte-Feld.
}

Wenn Html nicht definiert wird, kann mit ValueRef der entsprechende HTML-Text vom referenzierten Modell-Property übernommen werden. Damit können dynamische Texte realisiert werden.

ControlPanel.AddEmptyField()

ControlPanel.AddEmptyField( Parameter )

Parameter: EmptyFieldDef; Optional; Default = { }
Return this: ControlPanel
EmptyFieldDef = {
Name: String; Optional; Default = 'Field' + FieldCounter
Teil der HTML-ID die leere Werte-Zelle des Feldes.
ColSpan: Integer(>0); Optional; Default = 1
Anzahl Spalten, welche das leere Feld überspannen soll.
Attr: String; Optional; Default = ''
Zusätzliche HTML-Attribute für die leere Werte-Zelle.
}

Mit AddEmptyField() wird ein CpHtmlField ohne Label und ohne Text erzeugt. Es dient als Füller, wenn eine Zelle im ControlPanel leer sein soll. Wenn in einem mehrspaltigen Layout nicht genügend Felder erzeugt werden, um die letzte Zeile zu füllen, werden intern automatisch leere Felder eingefügt, um die Zeile zu füllen. AddEmptyField() braucht man nur, wenn in einer Zeile mittendrin ein leeres Feld stehen soll.

Per HTML-ID kann die Werte-Zelle des Feldes, welche ein DIV-Element ist, z.B. mit einer Funktion wie xInnerHtml() per Javascript mit einem Text gefüllt werden. Praktischer ist dazu jedoch ein CpHtmlField.

CpHtmlField.Html

CpHtmlField.Html: String; ReadOnly; Init = '' 

Der Html-Text des CpHtmlFields wird in ein Div-Element verpackt, welches die Klasse HtmlField und die folgende id erhält:

CpHtmlField-id = ControlPanel.Name + '-' + Name

Html darf HTML-Tags enthalten. Wenn dynamischer Text eines Modell-Properties angezeigt werden soll, muss Html ein Leerstring sein (Default) und ValueRef muss das entsprechende Property oder eine globale Variable referenzieren. Wenn weder Html noch ValueRef definiert sind, wird ein erzwungenes Leerzeichen ' ' angezeigt.

Hinweis: Das Property Html hat Vorrang vor ValueRef.

Weitere Infos zur Seite
Erzeugt Montag, 8. August 2016
von wabis
Zum Seitenanfang
Geändert Montag, 22. August 2016
von wabis