txtField method
Widget
txtField(
{ - dynamic component,
- required double parentWidth,
})
Implementation
Widget txtField({var component, required double parentWidth}) {
final TextEditingController _textController = TextEditingController();
return SizedBox(
width: (component["cssClass"] != null && component["cssClass"] != "")
? SwitchCase().componentWidthSC(
component["cssClass"],
{
"layout_1by8_col": parentWidth * 0.1,
"layout_1_col": parentWidth * 0.2,
"layout_2_col": parentWidth * 0.4,
"layout_3_col": parentWidth * 0.68,
"layout_4_col": parentWidth,
},
parentWidth * 0.2)
: parentWidth * 0.2,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AltComponent().altComponentLabel(
component: component,
label: (component["displayLabel"] != null &&
component["displayLabel"] != "")
? component["displayLabel"]
: (component["security"] != null &&
component["security"]["fieldLabel"] != null &&
component["security"]["fieldLabel"] != "")
? component["security"]["fieldLabel"]
: component["label"]),
SizedBox(
height: 30,
child: TextField(
controller: _textController,
onChanged: (String newText) {
print("hjsjdf : " + newText);
component["value"] = newText;
print(component);
},
enabled: ((component["security"] != null &&
component["security"]["editable"] != null))
? (component["security"]["editable"])
: true,
style: componentTxtStyle,
inputFormatters: ((component["dataType"] == "INTEGER" ||
component["dataType"] == "FLOAT" ||
component["dataType"] == "DOUBLE")
? <TextInputFormatter>[
FilteringTextInputFormatter.digitsOnly
]
: <TextInputFormatter>[]),
decoration: InputDecoration(
contentPadding: const EdgeInsets.symmetric(horizontal: 10),
enabledBorder: OutlineInputBorder(
borderRadius:
BorderRadius.circular(componentBorderRadius),
borderSide: const BorderSide(
color: Palette.componentBorderColor)),
disabledBorder: OutlineInputBorder(
borderRadius:
BorderRadius.circular(componentBorderRadius),
borderSide: const BorderSide(
color: Palette.componentBorderColor)),
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(componentBorderRadius),
borderSide: const BorderSide(
color: Palette.componentBorderColor)),
),
)),
AltComponent().altComponentInstruction(component: component)
],
),
);
}