Add fields in ApplicantForm

This commit is contained in:
Yuri Becker
2025-04-08 11:23:16 +02:00
parent ddf35a55a8
commit a720dfebeb
13 changed files with 531 additions and 377 deletions

View File

@@ -4,16 +4,164 @@ import QtQuick.Layouts
import TeroStyle
ColumnLayout {
readonly property int fieldM: 235
readonly property int fieldS: 110
spacing: Dimensions.l
IconLabel {
color: Colors.foreground
font: Typography.h2
spacing: Dimensions.m
icon.color: color
icon.color: Colors.foreground
icon.height: Typography.h2.pixelSize
icon.source: "qrc:/images/UserCircle"
icon.width: font.pixelSize
icon.height: font.pixelSize
icon.width: Typography.h2.pixelSize
spacing: Dimensions.m
text: qsTr("Stammdaten")
}
RowLayout {
spacing: Dimensions.m
Field {
label: qsTr("Anrede")
ComboBox {
id: title
implicitWidth: fieldM
model: [qsTr("Keine Angabe"), qsTr("Herr"), qsTr("Frau")]
onCurrentTextChanged: {
switch (title.currentIndex) {
case 1:
salutation.text = "Sehr geehrter Herr ";
break;
case 2:
salutation.text = "Sehr geehrte Frau ";
break;
default:
salutation.text = "Guten Tag ";
}
}
}
}
Field {
label: qsTr("Vorname*")
TextField {
implicitWidth: fieldM
placeholderText: "Max"
}
}
Field {
label: qsTr("Nachname*")
TextField {
implicitWidth: fieldM
placeholderText: qsTr("Mustermann")
}
}
}
RowLayout {
spacing: Dimensions.m
Field {
label: qsTr("Straße")
TextField {
implicitWidth: fieldM
placeholderText: qsTr("Musterstraße")
}
}
Field {
label: qsTr("Hausnummer")
TextField {
implicitWidth: fieldS
placeholderText: qsTr("1a")
}
}
Field {
label: qsTr("PLZ")
ComboBox {
id: postcode
editable: true
implicitWidth: fieldS
model: address_model
textRole: "display"
onActivated: currentValue
onCurrentIndexChanged: city.currentIndex = postcode.currentIndex
}
}
Field {
label: qsTr("Ort")
ComboBox {
id: city
editable: true
implicitWidth: fieldM
model: address_model
textRole: "city"
}
}
}
IconLabel {
color: Colors.foreground
font: Typography.h2
icon.color: Colors.foreground
icon.height: Typography.h2.pixelSize
icon.source: "qrc:/images/Phone"
icon.width: Typography.h2.pixelSize
spacing: Dimensions.m
text: qsTr("Kontakt")
}
RowLayout {
spacing: Dimensions.m
Field {
label: qsTr("Telefonnummer")
TextField {
implicitWidth: fieldM
placeholderText: "+49 1234 567890"
validator: PhoneNumberValidator {
}
}
}
Field {
label: qsTr("Mobil")
TextField {
implicitWidth: fieldM
placeholderText: "+49 123 4567891011"
validator: PhoneNumberValidator {
}
}
}
Field {
label: qsTr("E-Mail Adresse")
TextField {
implicitWidth: fieldM
placeholderText: "tero@example.org"
validator: EmailAddressValidator {
}
}
}
Field {
label: qsTr("Briefanrede")
TextField {
id: salutation
implicitWidth: fieldM
}
}
}
}