mobileApplicationsKonectarApp/lib/views/interaction_module/interaction_screen_old.dart

1098 lines
54 KiB
Dart
Raw Permalink Normal View History

2024-01-04 07:06:37 +00:00
// import 'dart:convert';
// import 'dart:io';
// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:intl/intl.dart';
// import 'package:provider/provider.dart';
// import 'package:dropdown_button2/dropdown_button2.dart';
// import 'package:pwa_ios/model/interaction_data.dart';
// import 'package:pwa_ios/utils/util.dart';
// import 'package:pwa_ios/viewmodel/interactionprovider.dart';
// import 'package:pwa_ios/widgets/custombutton.dart';
// import 'package:pwa_ios/widgets/customrangeslider.dart';
// import 'package:pwa_ios/widgets/interatciontextfield.dart';
// import 'package:file_picker/file_picker.dart';
// import 'package:pwa_ios/widgets/responsive_ext.dart';
// class InteractionScreenOld extends StatefulWidget {
// int index;
// InteractionScreenOld({super.key, required this.index});
// @override
// State<InteractionScreenOld> createState() => _InteractionScreenOldState();
// }
// class _InteractionScreenOldState extends State<InteractionScreenOld> {
// List<dynamic> interactionReponseList = [];
// List<SectionList> sectionList = [];
// List<TextEditingController> textEditingControllerList = [];
// int textfieldIndex = 0;
// String dropdownvalue = 'Select value';
// String? fileName;
// final TextEditingController textEditingController = TextEditingController();
// @override
// void initState() {
// WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
// init();
// });
// super.initState();
// }
// init() async {
// await Provider.of<InteractionProvider>(context, listen: false)
// .init(widget.index);
// setState(() {});
// }
// Future<String> loadData() async {
// var data =
// await rootBundle.loadString("assets/images/interactionform.json");
// setState(() {
// interactionReponseList = json.decode(data)["result"];
// for (var item in interactionReponseList) {
// for (var sectionItem in item["sectionList"]) {
// if (sectionItem['widget'] == 'text') {
// var textEditingController = TextEditingController();
// textEditingControllerList.add(textEditingController);
// sectionItem["controller"] = textEditingControllerList.last;
// }
// if (sectionItem['widget'] == 'dropdown') {
// List<String> list = List<String>.from(sectionItem['input']);
// sectionItem['value'] = list[0];
// }
// }
// }
// print(interactionReponseList);
// print("check textcontrollers ${textEditingControllerList.length}");
// });
// return "success";
// }
// @override
// Widget build(BuildContext context) {
// return Consumer<InteractionProvider>(
// builder: (BuildContext context, provider, Widget? child) {
// print("build context");
// print("${provider.interactionReponseList}");
// return GestureDetector(
// onTap: () {
// FocusScope.of(context).requestFocus(FocusNode());
// },
// child: Scaffold(
// appBar: AppBar(
// title: Text('Record New Interaction'),
// backgroundColor: Color(0xFF2b9af3),
// automaticallyImplyLeading: false,
// actions: [saveActions(provider)],
// leading: InkWell(
// onTap: () {
// Navigator.pop(context);
// },
// child: const Icon(
// Icons.arrow_back_ios,
// color: Colors.white,
// ),
// ),
// ),
// body: Column(
// children: [
// Expanded(
// child: ListView.builder(
// itemCount: provider.interactionReponseList.length,
// cacheExtent: double.parse(
// provider.interactionReponseList.length.toString()),
// itemBuilder: (context, index) {
// var item = provider.interactionReponseList[index];
// sectionList = item.sectionList;
// return Padding(
// padding: const EdgeInsets.all(8.0),
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// item.sectionName.startsWith("/")
// ? const SizedBox.shrink()
// : Container(
// // height: double.infinity,
// width: double.infinity,
// padding: const EdgeInsets.all(8.0),
// decoration: const BoxDecoration(
// color: Color(0xFF2b9af3),
// ),
// child: Text(
// item.sectionName,
// style: const TextStyle(
// color: Colors.white,
// fontWeight: FontWeight.bold,
// fontSize: 18.0),
// )),
// const SizedBox(
// height: 20,
// ),
// Padding(
// padding: const EdgeInsets.only(left: 8.0),
// child: GridView.count(
// crossAxisCount:
// sectionList.length == 1 || !isTablet
// ? 1
// : 4,
// mainAxisSpacing:
// sectionList.length == 1 || !isTablet
// ? 1
// : 3,
// shrinkWrap: true,
// padding: EdgeInsets.zero,
// childAspectRatio:
// sectionList.length == 1 || !isTablet
// ? 8
// : 2.8,
// children: List.generate(
// sectionList.length,
// (i) {
// print(sectionList);
// SectionList sectionItem = sectionList[i];
// dropdownvalue = sectionItem.widget ==
// InteractionWidget.DROPDOWN
// ? sectionItem.value ?? "Select"
// : ' ';
// List<InputClass> list = sectionItem
// .widget ==
// InteractionWidget.DROPDOWN ||
// sectionItem.widget ==
// InteractionWidget
// .AUTOCOMPLETE ||
// sectionItem.widget ==
// InteractionWidget.MULTISELECT
// ? provider.getData2(sectionItem)
// : [];
// provider.checkboxlist = sectionItem
// .widget ==
// InteractionWidget.CHECKBOX
// ? provider.getData2(sectionItem)
// // (sectionItem.input as List)
// // .map((itemWord) =>
// // InputClass.fromJson(itemWord))
// // .toList()
// : [];
// // if (sectionItem.widget ==
// // InteractionWidget.CHECKBOX &&
// // provider.checkboxlist.isNotEmpty) {
// // for (InputClass obj
// // in provider.checkboxlist) {
// // // sectionItem.ischecked!.add(obj.ischecked);
// // obj.ischecked = false;
// // }
// // }
// return Column(
// crossAxisAlignment:
// CrossAxisAlignment.start,
// children: [
// sectionItem.widget ==
// InteractionWidget.BUTTON &&
// sectionItem.param == 'add'
// ? const SizedBox.shrink()
// : Text(
// '${sectionItem.name}:*',
// style: TextStyle(
// color: Colors.orange.shade800,
// fontSize: 18,
// ),
// ),
// const SizedBox(
// height: 15,
// ),
// if (sectionItem.widget ==
// InteractionWidget.RADIO)
// buildRadio(sectionItem, provider),
// sectionItem.widget ==
// InteractionWidget.TEXT
// ? sectionItem.input == 'Date'
// ? buildDateWidget(sectionItem)
// : sectionItem.input ==
// "textArea"
// ? SizedBox(
// width: double.maxFinite,
// height: 100,
// child: Column(
// crossAxisAlignment:
// CrossAxisAlignment
// .start,
// children: [
// InteractionTextField(
// maxchars: int.parse(
// sectionItem
// .chars ??
// "0"),
// controller:
// sectionItem
// .controller!,
// labelText:
// sectionItem
// .name,
// onChanged: (val) {
// sectionItem
// .selectedValue = [];
// setState(() {});
// sectionItem
// .selectedValue
// .add(val);
// },
// ),
// Text(
// "You have ${int.parse(sectionItem.chars ?? "100") - sectionItem.controller!.text.length} characters left.Maximum characters : ${sectionItem.chars}")
// ],
// ),
// )
// : SizedBox(
// width: 200,
// height: 50,
// child:
// InteractionTextField(
// maxchars: int.parse(
// sectionItem
// .chars ??
// "0"),
// controller:
// sectionItem
// .controller!,
// labelText:
// sectionItem.name,
// onChanged: (val) {
// sectionItem
// .selectedValue = [];
// sectionItem
// .selectedValue
// .add(val);
// },
// ),
// )
// : sectionItem.widget ==
// InteractionWidget.DROPDOWN
// // ? item.sectionName == 'Other'
// // ? customdropdown(sectionItem,
// // provider, list)
// // // buildLocationDropdownWidget(
// // // sectionItem, provider)
// ? customdropdown(
// sectionItem, provider, list)
// : sectionItem.widget ==
// InteractionWidget.BUTTON
// ? sectionItem.param == 'add'
// ? IconButton(
// onPressed: () {
// // provider.addMultiplerows(
// // item.sectionList[
// // i],
// // item.sectionName);
// print(
// "index is $index");
// setState(() {
// // for (var item
// });
// },
// icon: const Icon(
// Icons.add,
// size: 30,
// color: Color
// .fromARGB(
// 255,
// 8,
// 39,
// 92),
// ),
// )
// : Row(
// children: [
// CustomButton(
// backgroundColor:
// const Color
// .fromARGB(
// 255,
// 233,
// 229,
// 229),
// onPressed:
// () async {
// FilePickerResult?
// result =
// await FilePicker
// .platform
// .pickFiles();
// if (result !=
// null) {
// File file = File(result
// .files
// .single
// .path!);
// sectionItem
// .selectedValue = [];
// sectionItem
// .selectedValue
// .add(file
// .path);
// fileName = file
// .path
// .split(
// '/')
// .last;
// setState(
// () {});
// } else {
// // User canceled the picker
// }
// },
// width: 120,
// height: 40,
// fontsize: 12,
// textColor:
// Colors
// .black,
// title:
// sectionItem
// .name),
// const SizedBox(
// width: 5,
// ),
// Text(
// sectionItem
// .selectedValue
// .isNotEmpty
// ? 'File Uploaded'
// : 'No file uploaded',
// style: TextStyle(
// color: sectionItem
// .selectedValue
// .isNotEmpty
// ? Colors
// .green
// : Colors
// .red),
// ),
// ],
// )
// : sectionItem.widget ==
// InteractionWidget
// .LABEL
// ? Text(
// sectionItem.input!)
// : sectionItem.widget ==
// InteractionWidget
// .CHECKBOX
// ? buildCheckbox(
// sectionItem,
// item
// .sectionName,
// provider)
// : sectionItem
// .widget ==
// InteractionWidget
// .AUTOCOMPLETE
// ? customAutoCompletedropdown(
// sectionItem,
// provider,
// list)
// : sectionItem
// .widget ==
// InteractionWidget
// .MULTISELECT
// ? customMultiselectDropdown(
// sectionItem,
// provider,
// list)
// : sectionItem.widget ==
// InteractionWidget
// .RANGESLIDER
// ? CustomRangeSlider(
// sliderPos: sectionItem.selectedValue.isNotEmpty
// ? double.parse(sectionItem.selectedValue.last.toString())
// : 10.0,
// onChanged:
// (val) {
// setState(() {
// sectionItem.selectedValue = [];
// sectionItem.selectedId = val.toString();
// sectionItem.selectedValue.add(val.toInt());
// });
// },
// )
// : const SizedBox
// .shrink(),
// ],
// );
// },
// ),
// ),
// ),
// item.multiple
// ? gridViewWidget(provider, item.sectionName,
// item.multipleList ?? [])
// : const SizedBox.shrink(),
// provider.interactionReponseList.length == index - 1
// ? saveActions(provider)
// : const SizedBox.shrink()
// //const Spacer(),
// ],
// ),
// );
// },
// ),
// ),
// // const Spacer(),
// // saveActions(provider),
// ],
// )),
// );
// });
// }
// Widget buildDateWidget(SectionList sectionItem) {
// return SizedBox(
// width: sectionList.length == 1 ? MediaQuery.of(context).size.height : 200,
// height: 50,
// child: TextField(
// controller:
// sectionItem.controller, //editing controller of this TextField
// decoration: const InputDecoration(
// border: OutlineInputBorder(),
// labelStyle: TextStyle(fontSize: 16),
// suffixIcon: Icon(Icons.calendar_today), //icon of text field
// labelText: "Enter Date" //label text of field
// ),
// readOnly: true, //set it true, so that user will not able to edit text
// onTap: () async {
// DateTime? pickedDate = await showDatePicker(
// context: context,
// initialDate: DateTime.now(),
// firstDate: DateTime(
// 2000), //DateTime.now() - not to allow to choose before today.
// lastDate: DateTime(2101));
// if (pickedDate != null) {
// print(
// pickedDate); //pickedDate output format => 2021-03-10 00:00:00.000
// String formattedDate = DateFormat('yyyy-MM-dd').format(pickedDate);
// print(
// formattedDate); //formatted date output using intl package => 2021-03-16
// //you can implement different kind of Date Format here according to your requirement
// setState(() {
// sectionItem.controller!.text = formattedDate;
// sectionItem.selectedValue = [];
// sectionItem.selectedValue
// .add(formattedDate); //set output date to TextField value.
// });
// } else {
// print("Date is not selected");
// }
// },
// ),
// );
// }
// Widget saveActions(InteractionProvider provider) {
// return Align(
// alignment: Alignment.centerRight,
// child: Row(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
// children: [
// CustomButton(
// backgroundColor: Colors.indigoAccent,
// onPressed: () async {
// if (textFieldsValidation(provider).isEmpty) {
// await provider.saveJsonObject(context);
// _displaySnackBar('Form Saved Sucessfully!');
// } else {
// _displaySnackBar(textFieldsValidation(provider));
// }
// },
// textColor: Colors.white,
// title: "Save",
// height: 40,
// width: 100,
// fontsize: 16,
// ),
// const SizedBox(
// width: 20,
// ),
// CustomButton(
// backgroundColor: Colors.red.shade300,
// onPressed: () {
// //showDeleteProfileAlertDialog(context);
// for (var textcontrollers in provider.textEditingControllerList) {
// textcontrollers.text = '';
// }
// },
// textColor: Colors.white,
// title: "Reset",
// height: 40,
// width: 100,
// fontsize: 16,
// ),
// const SizedBox(
// width: 20,
// ),
// ],
// ),
// );
// }
// Widget buildRadio(SectionList sectionItem, InteractionProvider provider) {
// List<InputClass> list = provider.getData(sectionItem.id);
// // .map((itemWord) => InputClass.fromJson(itemWord))
// // .toList();
// return SizedBox(
// width: 250,
// child: Row(
// children: <Widget>[
// for (InputClass value in list)
// Row(
// children: [
// Radio(
// value: value.name,
// activeColor: Colors.black,
// groupValue: provider.radioValue,
// onChanged: (String? value) {
// setState(() {
// print(value);
// provider.radioValue = value!;
// int index =
// list.indexWhere((element) => element.name == value);
// sectionItem.selectedValue.add(list[index].id);
// });
// },
// ),
// Text('${value.name}'),
// ],
// ),
// ],
// ),
// );
// }
// Widget buildCheckbox(
// SectionList sectionItem,
// String sectionName,
// InteractionProvider provider,
// ) {
// return SizedBox(
// width: 250,
// child: Row(
// children: <Widget>[
// for (var value in provider.checkboxlist)
// Row(
// children: [
// Checkbox(
// value: value.ischecked ?? false,
// activeColor: Colors.black,
// checkColor: Colors.white,
// onChanged: (bool? newvalue) {
// value.ischecked = newvalue!;
// provider.setcheckBoxValue(
// sectionItem, sectionName, newvalue, value.id);
// //setState(() {});
// },
// ),
// Text('${value.name}'),
// ],
// ),
// ],
// ),
// );
// }
// Widget customdropdown(SectionList sectionItem, InteractionProvider provider,
// List<InputClass> list) {
// // sectionItem.value = '';
// if (list.isEmpty) {
// list = sectionItem.inputList;
// // if (list.isNotEmpty) {
// // InputClass obj =
// // InputClass(id: "default", name: "Select ${sectionItem.name}");
// // list.insert(0, obj);
// // }
// }
// // InputClass selectedObj = list[0];
// return SizedBox(
// width: 250,
// height: 60,
// child: DropdownButtonFormField2<InputClass>(
// isExpanded: false,
// decoration: InputDecoration(
// // Add Horizontal padding using menuItemStyleData.padding so it matches
// // the menu padding when button's width is not specified.
// contentPadding: const EdgeInsets.symmetric(vertical: 5),
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(15),
// ),
// // Add more decoration..
// ),
// hint: Text(
// 'Select ${sectionItem.name}',
// style: TextStyle(fontSize: 14),
// ),
// items: list
// .map((item) => DropdownMenuItem<InputClass>(
// value: item,
// child: Text(
// item.name,
// style: const TextStyle(
// fontSize: 14,
// ),
// ),
// ))
// .toList(),
// value: sectionItem.selectedObject ?? list[0],
// // // provider.getDropDownValue(sectionItem.value!, sectionItem, list)
// // sectionItem.value ?? list[0].name,
// validator: (value) {
// if (value == null) {
// return 'Please select ${sectionItem.name}';
// }
// return null;
// },
// onChanged: (value) {
// //Do something when selected item is changed.
// sectionItem.selectedObject = value!;
// sectionItem.value = value.id;
// provider.setDropDownValue(value.id, sectionItem);
// print("selected ${sectionItem.value}");
// // setState(() {});
// },
// onSaved: (value) {
// sectionItem.selectedObject = value!;
// sectionItem.value = value.id;
// provider.setDropDownValue(value.id, sectionItem);
// // setState(() {});
// },
// buttonStyleData: const ButtonStyleData(
// padding: EdgeInsets.only(right: 8),
// ),
// iconStyleData: const IconStyleData(
// icon: Icon(
// Icons.arrow_drop_down,
// color: Colors.black45,
// ),
// iconSize: 24,
// ),
// dropdownStyleData: DropdownStyleData(
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(15),
// ),
// ),
// menuItemStyleData: const MenuItemStyleData(
// padding: EdgeInsets.symmetric(horizontal: 16),
// ),
// ),
// );
// }
// Widget customAutoCompletedropdown(SectionList sectionItem,
// InteractionProvider provider, List<InputClass> list) {
// // sectionItem.value = list[0].name;
// if (list.isEmpty) {
// list = sectionItem.inputList;
// }
// //InputClass selectedObj = list[0];
// return SizedBox(
// width: 250,
// height: 60,
// child: DropdownButtonHideUnderline(
// child: DropdownButtonFormField2<InputClass>(
// isExpanded: true,
// decoration: InputDecoration(
// // Add Horizontal padding using menuItemStyleData.padding so it matches
// // the menu padding when button's width is not specified.
// contentPadding: const EdgeInsets.symmetric(vertical: 5),
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(15),
// ),
// // Add more decoration..
// ),
// hint: Text(
// 'Select Item',
// style: TextStyle(
// fontSize: 14,
// color: Theme.of(context).hintColor,
// ),
// ),
// items: list
// .map((item) => DropdownMenuItem(
// value: item,
// child: Text(
// item.name,
// style: const TextStyle(
// fontSize: 14,
// ),
// ),
// ))
// .toList(),
// value: sectionItem.selectedObject,
// onSaved: (value) {
// sectionItem.selectedObject = value!;
// provider.setAutoCompleteValue(value.id, sectionItem);
// sectionItem.value = value.name;
// },
// onChanged: (value) {
// // setState(() {
// sectionItem.selectedObject = value!;
// provider.setAutoCompleteValue(value.id, sectionItem);
// sectionItem.value = value.name;
// // setState(() {});
// //});
// },
// buttonStyleData: const ButtonStyleData(
// padding: EdgeInsets.symmetric(horizontal: 16),
// height: 40,
// width: 200,
// ),
// dropdownStyleData: const DropdownStyleData(
// maxHeight: 200,
// ),
// menuItemStyleData: const MenuItemStyleData(
// height: 40,
// ),
// dropdownSearchData: DropdownSearchData(
// searchController: textEditingController,
// searchInnerWidgetHeight: 50,
// searchInnerWidget: Container(
// height: 50,
// padding: const EdgeInsets.only(
// top: 8,
// bottom: 4,
// right: 8,
// left: 8,
// ),
// child: TextFormField(
// expands: true,
// maxLines: null,
// controller: textEditingController,
// decoration: InputDecoration(
// isDense: true,
// contentPadding: const EdgeInsets.symmetric(
// horizontal: 10,
// vertical: 8,
// ),
// hintText: 'Search for an item...',
// hintStyle: const TextStyle(fontSize: 12),
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(8),
// ),
// ),
// ),
// ),
// searchMatchFn: (item, searchValue) {
// return item.value!.name.toString().contains(searchValue);
// },
// ),
// //This to clear the search value when you close the menu
// onMenuStateChange: (isOpen) {
// if (!isOpen) {
// textEditingController.clear();
// }
// },
// ),
// ),
// );
// }
// Widget customMultiselectDropdown(SectionList sectionItem,
// InteractionProvider provider, List<InputClass> list) {
// if (list.isEmpty) {
// list = sectionItem.inputList;
// }
// InputClass selectedObj = list[0];
// return SizedBox(
// width: 250,
// height: 60,
// child: DropdownButtonHideUnderline(
// child: DropdownButtonFormField2<InputClass>(
// isExpanded: true,
// decoration: InputDecoration(
// // Add Horizontal padding using menuItemStyleData.padding so it matches
// // the menu padding when button's width is not specified.
// contentPadding: const EdgeInsets.symmetric(vertical: 5),
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(15),
// ),
// // Add more decoration..
// ),
// hint: Text(
// 'Select Items',
// style: TextStyle(
// fontSize: 14,
// color: Theme.of(context).hintColor,
// ),
// ),
// items: list.map((item) {
// return DropdownMenuItem(
// value: item,
// //disable default onTap to avoid closing menu when selecting an item
// enabled: false,
// child: StatefulBuilder(
// builder: (context, menuSetState) {
// final isSelected =
// sectionItem.selectedValue.contains(item.name);
// return InkWell(
// onTap: () {
// isSelected
// ? sectionItem.selectedValue.remove(item.name)
// : sectionItem.selectedValue.add(item.name);
// //This rebuilds the StatefulWidget to update the button's text
// setState(() {});
// //This rebuilds the dropdownMenu Widget to update the check mark
// menuSetState(() {});
// },
// child: Container(
// height: double.infinity,
// padding: const EdgeInsets.symmetric(horizontal: 16.0),
// child: Row(
// children: [
// if (isSelected)
// const Icon(Icons.check_box_outlined)
// else
// const Icon(Icons.check_box_outline_blank),
// const SizedBox(width: 16),
// Expanded(
// child: Text(
// item.name,
// style: const TextStyle(
// fontSize: 14,
// ),
// ),
// ),
// ],
// ),
// ),
// );
// },
// ),
// );
// }).toList(),
// //Use last selected item as the current value so if we've limited menu height, it scroll to last item.
// value: selectedObj,
// // ? null
// // : provider.selectedItems.last,
// onChanged: (value) {
// selectedObj = value!;
// provider.setAutoCompleteValue(value.id, sectionItem);
// sectionItem.value = value.name;
// },
// onSaved: (value) {
// selectedObj = value!;
// provider.setAutoCompleteValue(value.id, sectionItem);
// sectionItem.value = value.name;
// },
// selectedItemBuilder: (context) {
// return list.map(
// (item) {
// return Container(
// alignment: AlignmentDirectional.center,
// child: Text(
// sectionItem.selectedValue.join(', '),
// style: const TextStyle(
// fontSize: 14,
// overflow: TextOverflow.ellipsis,
// ),
// maxLines: 1,
// ),
// );
// },
// ).toList();
// },
// buttonStyleData: const ButtonStyleData(
// padding: EdgeInsets.only(left: 16, right: 8),
// height: 40,
// width: 140,
// ),
// menuItemStyleData: const MenuItemStyleData(
// height: 40,
// padding: EdgeInsets.zero,
// ),
// ),
// ),
// );
// }
// Widget gridViewWidget(InteractionProvider provider, String sectionName,
// List<SectionList> sectionList) {
// return Padding(
// padding: const EdgeInsets.only(left: 8.0),
// child: GridView.count(
// crossAxisCount: 4,
// mainAxisSpacing: 3,
// shrinkWrap: true,
// padding: EdgeInsets.zero,
// childAspectRatio: 2.8,
// children: List.generate(
// sectionList.length,
// (i) {
// print(sectionList);
// SectionList sectionItem = sectionList[i];
// dropdownvalue = sectionItem.widget == InteractionWidget.DROPDOWN
// ? sectionItem.value ?? "Select"
// : ' ';
// List<InputClass> list =
// sectionItem.widget == InteractionWidget.DROPDOWN ||
// sectionItem.widget == InteractionWidget.AUTOCOMPLETE ||
// sectionItem.widget == InteractionWidget.MULTISELECT
// ? provider.getData2(sectionItem)
// : [];
// provider.checkboxlist =
// sectionItem.widget == InteractionWidget.CHECKBOX
// ? provider.getData2(sectionItem)
// // (sectionItem.input as List)
// // .map((itemWord) =>
// // InputClass.fromJson(itemWord))
// // .toList()
// : [];
// return Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// sectionItem.widget == InteractionWidget.BUTTON &&
// sectionItem.param == 'add'
// ? const SizedBox.shrink()
// : Text(
// '${sectionItem.name}:*',
// style: TextStyle(
// color: Colors.orange.shade800,
// fontSize: 18,
// ),
// ),
// const SizedBox(
// height: 15,
// ),
// if (sectionItem.widget == InteractionWidget.RADIO)
// buildRadio(sectionItem, provider),
// sectionItem.widget == InteractionWidget.TEXT
// ? sectionItem.input == 'Date'
// ? buildDateWidget(sectionItem)
// : SizedBox(
// width: sectionList.length == 1
// ? MediaQuery.of(context).size.height
// : 200,
// height: 50,
// child: InteractionTextField(
// controller: sectionItem.controller!,
// onChanged: (val) {
// sectionItem.selectedValue = [];
// sectionItem.selectedValue.add(val);
// },
// labelText: sectionItem.name),
// )
// : sectionItem.widget == InteractionWidget.DROPDOWN
// // ? item.sectionName == 'Other'
// // ? customdropdown(sectionItem,
// // provider, list)
// // // buildLocationDropdownWidget(
// // // sectionItem, provider)
// ? customdropdown(sectionItem, provider, list)
// : sectionItem.widget == InteractionWidget.BUTTON
// ? sectionItem.param == 'add'
// ? IconButton(
// onPressed: () {
// provider.deleteMultipleRows(
// sectionItem.gid!,
// sectionList[i],
// sectionName);
// setState(() {});
// },
// icon: const Icon(
// Icons.cancel,
// size: 30,
// color: Color.fromARGB(255, 8, 39, 92),
// ),
// )
// : Row(
// children: [
// CustomButton(
// backgroundColor: const Color.fromARGB(
// 255, 233, 229, 229),
// onPressed: () async {
// FilePickerResult? result =
// await FilePicker.platform
// .pickFiles();
// if (result != null) {
// File file = File(
// result.files.single.path!);
// sectionItem.selectedValue = [];
// sectionItem.selectedValue
// .add(file.absolute);
// setState(() {});
// } else {
// // User canceled the picker
// }
// },
// width: 120,
// height: 40,
// fontsize: 12,
// textColor: Colors.black,
// title: sectionItem.name),
// const SizedBox(
// width: 5,
// ),
// Text(
// sectionItem.selectedValue.isNotEmpty
// ? 'File uploaded'
// : 'No file uploaded',
// style: TextStyle(
// color: sectionItem
// .selectedValue.isNotEmpty
// ? Colors.green
// : Colors.red),
// ),
// ],
// )
// : sectionItem.widget == InteractionWidget.LABEL
// ? Text(sectionItem.input!)
// : sectionItem.widget ==
// InteractionWidget.CHECKBOX
// ? buildCheckbox(
// sectionItem, sectionName, provider)
// : sectionItem.widget ==
// InteractionWidget.AUTOCOMPLETE
// ? customAutoCompletedropdown(
// sectionItem, provider, list)
// : sectionItem.widget ==
// InteractionWidget.MULTISELECT
// ? customMultiselectDropdown(
// sectionItem, provider, list)
// : const SizedBox.shrink(),
// ],
// );
// },
// ),
// ),
// );
// }
// String textFieldsValidation(InteractionProvider provider) {
// if (provider.sectionList
// .any((element) => element.controller!.text.isEmpty)) {
// return 'Fields cannot be empty';
// }
// return '';
// }
// _displaySnackBar(String msg) {
// final snackBar = SnackBar(
// content: Text(
// msg,
// style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold),
// ));
// ScaffoldMessenger.of(context).showSnackBar(snackBar);
// //scaffoldKeyLogin.currentState!.showSnackBar(snackBar);
// }
// }