txtField method

Widget txtField({
  1. dynamic component,
  2. 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)
      ],
    ),
  );
}