Primary form

Primary form

Different types of primary forms to get input from user are available in admin panel by flutter code:

 

Overview
Horizontal form
Form controls
Text field in different width and height
Drop down buttons in different width and height
read only field
Slider input

 

 

Overview:


It is an overview of forms in this panel by flutter code the components are located in:
es_flutter_component/lib/components/es_form





Horizontal form:

It is Horizontal form located in:
es_flutter_component/lib/components/es_form
and is used as:
 Wrap(
              spacing: StructureBuilder.dims!.h0Padding,
              runSpacing: StructureBuilder.dims!.h0Padding,
              children: [
                Wrap(
                  spacing: StructureBuilder.dims!.h0Padding * 2,
                  runSpacing: StructureBuilder.dims!.h0Padding,
                  // crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    EsOrdinaryText(
                      "Email Adress :",
                      color: StructureBuilder.styles!.t1Color,
                    ),
                    EsHSpacer(
                      big: true,
                    ),
                    EsTextField(
                      hint: "Enter Email:",
                      label: "Enter Email:",
                      customController: EditTextController(),
                    ),
                  ],
                ),
                Wrap(
                  spacing: StructureBuilder.dims!.h0Padding * 2,
                  runSpacing: StructureBuilder.dims!.h0Padding,
                  // crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    EsOrdinaryText(
                      "Password :",
                      color: StructureBuilder.styles!.t1Color,
                    ),
                    EsHSpacer(
                      big: true,
                    ),
                    EsTextField(
                      hint: "Enter password:",
                      label: "Enter password:",
                      customController: EditTextController(),
                    ),
                  ],
                ),
                EsVSpacer(
                  big: true,
                  factor: 3,
                ),
                Wrap(
                  direction: Axis.horizontal,
                  spacing: StructureBuilder.dims!.h0Padding * 2,
                  runSpacing: StructureBuilder.dims!.h0Padding,
                  children: [
                    EsOrdinaryText(
                      "Radio buttons group :",
                      color: StructureBuilder.styles!.t1Color,
                    ),
                    EsRadioButtonGroupForm(
                    isScrollable: false,
                      titleList: List.generate(
                          3, (index) => "Item number"),
                      axis: Axis.horizontal,
                      controller: TextEditingController(),
                      validator: (TextEditingController? value) {
                        if (true) {
                          return "It is neccessary!";
                        }
                      },
                    ),
                  ],
                ),
                EsVSpacer(
                  big: true,
                  factor: 3,
                ),
                Wrap(
                  direction: Axis.horizontal,
                  spacing: StructureBuilder.dims!.h0Padding * 2,
                  runSpacing: StructureBuilder.dims!.h0Padding,
                  children: [
                    EsOrdinaryText(
                      "Radio buttons group :",
                      color: StructureBuilder.styles!.t1Color,
                    ),
                    EsCustomCheckBoxForm(
                      titleWidget: EsTitle("Please select me!"),
                      value: _value1,
                      validator: (bool? value) {},
                    ),
                  ],
                ),
                EsHSpacer(
                  big: true,
                  factor: 5,
                ),
                EsButton(text: "Register")
              ],
            ), 
   //where 
  bool _value1 = false;
  List<String> _value=List.generate(10, (index) => "");
  TextEditingController _controller = TextEditingController();
  List<TextEditingController> _controllerList =
  List.generate(9, (index) => TextEditingController());





Form controls:

It is form controls located in:
es_flutter_component/lib/components/es_form
and is used as:

Wrap(
spacing: StructureBuilder.dims!.h0Padding,
runSpacing: StructureBuilder.dims!.h0Padding,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"Email Adress",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
EsTextField(
hint: "Enter Email:",
label: "Enter Email:",
customController: EditTextController(),
),
EsVSpacer(),
EsOrdinaryText(
"Please Enter your email.",
color: StructureBuilder.styles!.secondaryColor,
),
],
),
EsVSpacer(
big: true,
factor: 3,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"Drop down sample :",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
IntrinsicWidth(
child: EsDropDown(
initialTitle: AppLocalizations.of(context)!.select,
list: [
{"title": "item1", "_id": "1"},
{"title": "item2", "_id": "2"},
{"title": "item3", "_id": "3"},
],
value: _value3,
onChanged: (value) {
setState(() {
_value3 = value;
});
},
),
),
],
),
EsHSpacer(
big: true,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"Multi select sample :",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
EsCustomCheckboxGroup(
titleList: List.generate(
9, (index) => "Item number"),
controller: _controller,
controllerList: _controllerList,
axis: Axis.vertical,
valueList: List.generate(9, (index) => false),
),
],
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"Radio buttons group :",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
Container(
height: 100,
padding:
EdgeInsets.all(StructureBuilder.dims!.h1BorderRadius),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(
StructureBuilder.dims!.h1BorderRadius)),
border: Border.all(
color: StructureBuilder.styles!.primaryColor)),
child: SingleChildScrollView(
child: Column(
children: [
EsRadioButtonGroup(
titleList: List.generate(
9, (index) => "Item number"),
controller: TextEditingController(),
axis: Axis.vertical,
),
EsVSpacer(),
],
),
),
),
],
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"ناحیه متنی نمونه",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
IntrinsicHeight(
child: EsTextField(
hint: AppLocalizations.of(context)!.textArea,
label: AppLocalizations.of(context)!.textArea,
customController: EditTextController(),
maxLines: 7,
),
),
],
),
],
), 
//where 
bool _value1 = false;
List<String> _value=List.generate(10, (index) => "");
TextEditingController _controller = TextEditingController();
List<TextEditingController> _controllerList =
List.generate(9, (index) => TextEditingController());




Text field in different width and height:

these are text fields in different widths and heights located in:
es_flutter_component/lib/components/es_form/es_text_field/es_text_field.dart
and is used as:
EsTextField(
hint: AppLocalizations.of(context)!.textFieldHint,
label: AppLocalizations.of(context)!.textFieldHint,
customController: EditTextController(),
textFieldSize: Size(StructureBuilder.dims!.h0Padding * 20,
StructureBuilder.dims!.h0Padding * 2),
),




Drop down buttons in different width and height:

these are Drop down buttons in different widths and heights located in:
es_flutter_component/lib/components/es_form/es_drop_down/es_drop_down.dart
and is used as:
IntrinsicWidth(
child: EsDropDown(
initialTitle: AppLocalizations.of(context)!.select,
list: [
{"title": "item1", "_id": "1"},
{"title": "item2", "_id": "2"},
{"title": "item3", "_id": "3"},
],
value: _value3,
buttonPadding: EdgeInsets.symmetric(
vertical: StructureBuilder.dims!.h2Padding,
horizontal: StructureBuilder.dims!.h1Padding,
),
onChanged: (value) {
setState(() {
_value3 = value;
});
},
),
), 
where 
List<String> _value=List.generate(10, (index) => "");





read only field:

It is read only field located in:
es_flutter_component/lib/components/es_form/es_text_field/es_text_field.dart
and is used as:
Wrap(
spacing: StructureBuilder.dims!.h0Padding,
runSpacing: StructureBuilder.dims!.h0Padding,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"Email Adress",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
EsOrdinaryText(
"Email@example.com",
color: StructureBuilder.styles!.secondaryColor,
),
],
),
EsVSpacer(
big: true,
factor: 3,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EsOrdinaryText(
"Password",
color: StructureBuilder.styles!.t1Color,
),
EsVSpacer(
big: true,
),
EsTextField(
hint: "Enter password:",
label: "Enter password:",
customController: EditTextController(),
),
],
),
EsHSpacer(
big: true,
factor: 3,
),
],
),



Slider input:

It is a text field located in:
es_flutter_component/lib/components/es_form/es_slider/es_slider.dart
and is used as:
EsSlider()