12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787 |
-
- import 'dart:async';
- import 'dart:convert';
- import 'dart:io';
- import 'package:path/path.dart' as path;
- import 'package:flutter_map/flutter_map.dart';
- import 'package:image_picker/image_picker.dart';
- import 'package:latlong2/latlong.dart' as latlong;
- import 'package:flutter/material.dart';
- import 'package:fluttertoast/fluttertoast.dart';
- import 'package:geolocator/geolocator.dart';
- import 'package:google_fonts/google_fonts.dart';
- import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
- import 'package:shared_preferences/shared_preferences.dart';
- import 'package:tower_app/Screens/Menu/Survey/sendSurvey_post.dart';
- import 'package:tower_app/Screens/Menu/Survey/surveylist_screen.dart';
-
- import 'dart:developer' as logDev;
-
- import '../../background.dart';
- import '../Canvasing/canvasingDetail_screen.dart';
-
- TextEditingController isiDesaTeksController = TextEditingController();
- TextEditingController isiKecamatanTeksController = TextEditingController();
- TextEditingController isiKabupatenTeksController = TextEditingController();
- TextEditingController isiProvinsiTeksController = TextEditingController();
- TextEditingController isiJumlahPendudukTeksController = TextEditingController();
- TextEditingController isiSignal2TeksController = TextEditingController();
- TextEditingController isiSignal3TeksController = TextEditingController();
- TextEditingController isiSignal4TeksController = TextEditingController();
- TextEditingController isiCatatanTeksController = TextEditingController();
-
- class EditSurveyScreen extends StatefulWidget {
- const EditSurveyScreen({Key? key}) : super(key: key);
-
- @override
- State<EditSurveyScreen> createState() => _EditSurveyScreen();
- }
-
- class _EditSurveyScreen extends State<EditSurveyScreen> {
- bool visibleNamaDesa = true;
- bool visibleEditDesa = true;
- bool visibleFormDesa = false;
-
- bool visibleNamaKecamatan = true;
- bool visibleEditKecamatan = true;
- bool visibleFormKecamatan = false;
-
- bool visibleNamaKabupaten = true;
- bool visibleEditKabupaten = true;
- bool visibleFormKabupaten = false;
-
- bool visibleNamaProvinsi = true;
- bool visibleEditProvinsi = true;
- bool visibleFormProvinsi = false;
-
- final List<TextEditingController> _jenisTempat = [];
- final List<TextEditingController> _km = [];
-
- final List<InkWell> _ambilFoto = [];
- File? _imagePath;
- final List<TextEditingController> _keteranganFoto = [];
-
- final List<String> _pathFoto = [];
- final List<String> _base64Foto = [];
-
- latlong.LatLng point = latlong.LatLng(-6.183580253674716, 106.93103973792664);
- late Position position;
- MapController _mapController = MapController();
-
- late String titik;
-
-
- late String survey_name;
-
- late String nama_desa, nama_kecamatan, nama_kabupaten, nama_provinsi;
-
- initState(){
- isiDesaTeksController.clear();
- isiKecamatanTeksController.clear();
- isiKabupatenTeksController.clear();
- isiProvinsiTeksController.clear();
- isiJumlahPendudukTeksController.clear();
- isiSignal2TeksController.clear();
- isiSignal3TeksController.clear();
- isiSignal4TeksController.clear();
- isiCatatanTeksController.clear();
- survey_name = "Survey";
- nama_desa = "";
- nama_kecamatan = "";
- nama_kabupaten = "";
- nama_provinsi = "";
- titik = "";
- WidgetsBinding.instance.addPostFrameCallback((_) {
- getSurveyName();
- _addFieldTempat();
- });
- super.initState();
- }
-
- _addFieldTempat(){
- setState(() {
- _jenisTempat.add(TextEditingController());
- _km.add(TextEditingController());
- });
- }
-
- _removeItemTempat(i){
- setState(() {
- _jenisTempat.removeAt(i);
- _km.removeAt(i);
- });
- }
-
- _addFieldFoto(){
- setState(() {
- _ambilFoto.add(InkWell());
- _pathFoto.add(" ");
- _base64Foto.add(" ");
- _keteranganFoto.add(TextEditingController());
- });
- }
-
- _removeItemFoto(i){
- setState(() {
- _ambilFoto.removeAt(i);
- _pathFoto.removeAt(i);
- _base64Foto.removeAt(i);
- _keteranganFoto.removeAt(i);
- });
- }
-
- /*Timer? timer;
- void initTimer(){
- if (timer != null && timer!.isActive) return;
- timer = Timer.periodic(Duration(seconds: 10), (timer) {
- setState(() {
- updatePosition();
- });
- });
- }
-
- @override
- void dispose() {
- timer?.cancel();
- super.dispose();
- }*/
-
- getSurveyName() async {
- ProgressDialog loading = ProgressDialog(context);
- loading = ProgressDialog(context, type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
- loading.style(
- message: 'Please Wait .....',
- borderRadius: 3,
- backgroundColor: Colors.white,
- progressWidget: CircularProgressIndicator(),
- elevation: 10.0,
- padding: EdgeInsets.all(10),
- insetAnimCurve: Curves.easeInOut,
- progress: 0.0,
- maxProgress: 100.0,
- progressTextStyle: TextStyle(color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
- messageTextStyle: TextStyle(color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
-
- await loading.show();
- final SharedPreferences prefs = await SharedPreferences.getInstance();
- survey_name = prefs.getString('nameDetail')!;
- logDev.log(survey_name, name: "Nama Survey");
-
- determinePosition();
- }
-
- determinePosition() async {
- StreamSubscription<ServiceStatus> serviceStatusStream = Geolocator.getServiceStatusStream().listen(
- (ServiceStatus status) {
- print(status);
- });
-
- ProgressDialog loading = ProgressDialog(context);
- loading = ProgressDialog(context, type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
- loading.style(
- message: 'Please Wait .....',
- borderRadius: 3,
- backgroundColor: Colors.white,
- progressWidget: CircularProgressIndicator(),
- elevation: 10.0,
- padding: EdgeInsets.all(10),
- insetAnimCurve: Curves.easeInOut,
- progress: 0.0,
- maxProgress: 100.0,
- progressTextStyle: TextStyle(color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
- messageTextStyle: TextStyle(color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
-
- bool serviceEnabled = await Geolocator.isLocationServiceEnabled();
- logDev.log(serviceEnabled.toString(), name: "ON/OFF LOCATION SERVICE");
- if (!serviceEnabled) {
- return Future.error('Location services are disabled.');
- }
-
- LocationPermission permission = await Geolocator.checkPermission();
-
- if (permission == LocationPermission.deniedForever) {
- await loading.hide();
- //return Future.error('Location permissions are permanently denied, we cannot request permissions.');
- return alertDialogPermissionDeniedForever(context);
- } else if (permission == LocationPermission.denied) {
- permission = await Geolocator.requestPermission();
- if (permission != LocationPermission.whileInUse && permission != LocationPermission.always) {
- await loading.hide();
- //return Future.error('Location permissions are denied (actual value: $permission).');
- return alertDialogPermissionDenied(context);
- }
- }
-
- position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
-
- logDev.log(position.toString(), name: "Position GEOLOCATOR");
- if (position.isMocked) {
- await loading.hide();
- setState(() {
- alertDialogFakeGPSDetected(context);
- });
- } else {
- setState(() {
- point = latlong.LatLng(position.latitude, position.longitude);
- logDev.log(point.toString(), name: "POINT GEOLOCATOR");
- _mapController.move(point, 18);
- titik = position.latitude.toString() + "," + position.longitude.toString();
- });
- }
- logDev.log("DAH SELESE BUILD NAVIGATENYA!", name: "UDAH?");
-
- await loading.hide();
-
- //initTimer();
- }
-
- Future<void> updatePosition() async {
- logDev.log("NAH BARU MULAI!", name: "MULAI?");
- ProgressDialog loading = ProgressDialog(context);
- loading = ProgressDialog(context,
- type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
- loading.style(
- message: 'Please Wait .....',
- borderRadius: 3,
- backgroundColor: Colors.white,
- progressWidget: CircularProgressIndicator(),
- elevation: 10.0,
- padding: EdgeInsets.all(10),
- insetAnimCurve: Curves.easeInOut,
- progress: 0.0,
- maxProgress: 100.0,
- progressTextStyle: TextStyle(
- color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
- messageTextStyle: TextStyle(
- color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
-
- bool serviceEnabled;
- LocationPermission permission;
-
- serviceEnabled = await Geolocator.isLocationServiceEnabled();
- if (!serviceEnabled) {
- await loading.hide();
- return Future.error('Location services are disabled.');
- }
-
- permission = await Geolocator.checkPermission();
-
- if (permission == LocationPermission.deniedForever) {
- await loading.hide();
- return alertDialogPermissionDeniedForever(context);
- } else if (permission == LocationPermission.denied) {
- permission = await Geolocator.requestPermission();
- if (permission != LocationPermission.whileInUse && permission != LocationPermission.always) {
- await loading.hide();
- return alertDialogPermissionDenied(context);
- }
- }
-
- position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
- if (position.isMocked) {
- await loading.hide();
- setState(() {
- alertDialogFakeGPSDetected(context);
- });
- } else {
- await loading.hide();
-
- point = latlong.LatLng(position.latitude, position.longitude);
- logDev.log(point.toString(), name: "UPDATE POINT GEOLOCATOR");
- _mapController.move(point, 18);
- position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
- String titik = position.latitude.toString() + "," + position.longitude.toString();
- logDev.log(titik, name: "TITIK UPDATE");
-
- setState(() async {
- if (position.isMocked) {
- await loading.hide();
- setState(() {
- alertDialogFakeGPSDetected(context);
- });
- } else {
- setState(() {
- point = latlong.LatLng(position.latitude, position.longitude);
- logDev.log(point.toString(), name: "POINT GEOLOCATOR");
- _mapController.move(point, 18);
- titik = position.latitude.toString() + "," + position.longitude.toString();
- });
- }
- });
- }
- }
-
- @override
- Widget build(BuildContext context) {
- var size = MediaQuery.sizeOf(context);
- return Scaffold(
- body: SingleChildScrollView(
- child: Column(
- children: <Widget>[
- Stack(
- children: [
- WavyHeader(),
- Container(
- margin: EdgeInsets.only(top: MediaQuery.of(context).size.height/6 - 20),
- padding: EdgeInsets.fromLTRB(20, 5, 25, 5),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.end,
- crossAxisAlignment: CrossAxisAlignment.end,
- children: [
- Text(
- //'Survey\t\t',
- "Edit Survey\t\t",
- maxLines: 2,
- style: GoogleFonts.luckiestGuy(
- fontSize: 28,
- color: Color(0xFF4858A7),
- fontStyle: FontStyle.italic,
- ),
- ),
- Image.asset("assets/icons/menu/survey_3.png",
- width: 40,
- height: 40,
- ),
- ],
- )),
- SafeArea(
- child: Container(
- width: MediaQuery.of(context).size.width,
- margin: EdgeInsets.only(
- top: MediaQuery.of(context).size.height / 5,
- left: 10,
- right: 10,
- bottom : 15,
- ),
- child: Column(
- children: [
- Container(
- child: Card(
- elevation: 10,
- child: Container(
- decoration: BoxDecoration(
- color: Color(0XFFFAF7EE),
- borderRadius: BorderRadius.circular(10)),
- child: Column(
- children: [
- Container(
- margin: EdgeInsets.only(
- left: 10, right: 10, top: 15, bottom: 10),
- child: Text(survey_name, style:
- GoogleFonts.ubuntu(fontSize: 19, fontWeight: FontWeight.bold, /*decoration: TextDecoration.underline*/
- decorationStyle: TextDecorationStyle.dashed),),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Container(
- width: size.width,
- child:
- Row (
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Desa',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold, ),
- ),
- ),
- SizedBox(width: 15),
- Align(
- alignment: Alignment.centerLeft,
- child: Visibility(
- visible: visibleEditDesa,
- child:
- InkWell(
- child: Container(
- width: 25,
- height: 25,
- alignment: Alignment.center,
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- shape: BoxShape.rectangle,
- color: Colors.blueAccent,
- borderRadius: BorderRadius.circular(5),
- ),
- child: const Icon(
- Icons.edit,
- color: Color(0XFFFAF7EE),
- size: 20,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaDesa = !visibleNamaDesa;
- visibleEditDesa = !visibleEditDesa;
- visibleFormDesa = !visibleFormDesa;
- });
- },
- )
- ),
- )
- ],
- )
- ),
- Stack(
- children: [
- Container(
- margin: EdgeInsets.only (top: 5),
- width: size.width,
- child:Visibility(
- visible: visibleNamaDesa,
- child: Text(nama_desa,
- overflow: TextOverflow.fade,
- softWrap: true),
- ),
- ),
- Visibility(
- visible: visibleFormDesa,
- child:
- Container(
- width: size.width,
- margin: EdgeInsets.only(top: 5),
- child: Row(
- children:[
- Expanded(
- flex: 8,
- child: Container(
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 2,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiDesaTeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "desa")),
- )
- )),
- Expanded(
- flex:2,
- child:
- InkWell(
- child: Container(
- child: const Icon(
- Icons.check_box_rounded,
- color: Colors.blueAccent,
- //color: Color(0xFF6B74D6),
- size: 40,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaDesa = !visibleNamaDesa;
- visibleEditDesa = !visibleEditDesa;
- visibleFormDesa = !visibleFormDesa;
- nama_desa = isiDesaTeksController.text.toString();
- });
- },
- )
- ),
-
- ]
- ),
- ))
- ],
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Container(
- width: size.width,
- child:
- Row(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Kecamatan',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- ),
- ),
- SizedBox(width: 15),
- Align(
- alignment: Alignment.centerLeft,
- child: Visibility(
- visible: visibleEditKecamatan,
- child:
- InkWell(
- child: Container(
- width: 25,
- height: 25,
- alignment: Alignment.center,
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- shape: BoxShape.rectangle,
- color: Colors.blueAccent,
- borderRadius: BorderRadius.circular(5),
- ),
- child: const Icon(
- Icons.edit,
- color: Color(0XFFFAF7EE),
- size: 20,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaKecamatan = !visibleNamaKecamatan;
- visibleEditKecamatan = !visibleEditKecamatan;
- visibleFormKecamatan = !visibleFormKecamatan;
- });
- },
- )
- ),
- )
- ],
- )
- ),
- Stack(
- children: [
- Container(
- margin: EdgeInsets.only (top: 5),
- width: size.width,
- child:Visibility(
- visible: visibleNamaKecamatan,
- child: Text(nama_kecamatan,
- overflow: TextOverflow.fade,
- softWrap: true),
- ),
- ),
- Visibility(
- visible: visibleFormKecamatan,
- child:
- Container(
- width: size.width,
- margin: EdgeInsets.only(top: 5),
- child: Row(
- children:[
- Expanded(
- flex: 8,
- child: Container(
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 2,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiKecamatanTeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "kecamatan")),
- )
- )),
- Expanded(
- flex:2,
- child:
- InkWell(
- child: Container(
- child: const Icon(
- Icons.check_box_rounded,
- color: Colors.blueAccent,
- //color: Color(0xFF6B74D6),
- size: 40,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaKecamatan = !visibleNamaKecamatan;
- visibleEditKecamatan = !visibleEditKecamatan;
- visibleFormKecamatan = !visibleFormKecamatan;
- nama_kecamatan = isiKecamatanTeksController.text.toString();
- });
- },
- )
- ),
-
- ]
- ),
- ))
- ],
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Container(
- width: size.width,
- child:
- Row(
- children:[
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Kabupaten',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- ),
- ),
- SizedBox(width: 15),
- Align(
- alignment: Alignment.centerLeft,
- child: Visibility(
- visible: visibleEditKabupaten,
- child:
- InkWell(
- child: Container(
- width: 25,
- height: 25,
- alignment: Alignment.center,
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- shape: BoxShape.rectangle,
- color: Colors.blueAccent,
- borderRadius: BorderRadius.circular(5),
- ),
- child: const Icon(
- Icons.edit,
- color: Color(0XFFFAF7EE),
- size: 20,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaKabupaten = !visibleNamaKabupaten;
- visibleEditKabupaten = !visibleEditKabupaten;
- visibleFormKabupaten = !visibleFormKabupaten;
- });
- },
- )
- ),
- )
- ]
- )
- ),
- Stack(
- children:[
- Container(
- margin: EdgeInsets.only(top: 5),
- width: size.width,
- child:Visibility(
- visible: visibleNamaKabupaten,
- child: Text(nama_kabupaten,
- overflow: TextOverflow.fade,
- softWrap: true),
- ),
- ),
- Visibility(
- visible: visibleFormKabupaten,
- child:
- Container(
- width: size.width,
- margin: EdgeInsets.only(top: 5),
- child: Row(
- children:[
- Expanded(
- flex: 8,
- child: Container(
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 2,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiKabupatenTeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "kabupaten")),
- )
- )),
- Expanded(
- flex:2,
- child:
- InkWell(
- child: Container(
- child: const Icon(
- Icons.check_box_rounded,
- color: Colors.blueAccent,
- //color: Color(0xFF6B74D6),
- size: 40,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaKabupaten = !visibleNamaKabupaten;
- visibleEditKabupaten = !visibleEditKabupaten;
- visibleFormKabupaten = !visibleFormKabupaten;
- nama_kabupaten = isiKabupatenTeksController.text.toString();
- });
- },
- )
- ),
-
- ]
- ),
- ))
- ]
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Container(
- width: size.width,
- child:
- Row(
- children:[
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Provinsi',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- ),
- ),
- SizedBox(width: 15),
- Align(
- alignment: Alignment.centerLeft,
- child: Visibility(
- visible: visibleEditProvinsi,
- child:
- InkWell(
- child: Container(
- width: 25,
- height: 25,
- alignment: Alignment.center,
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- shape: BoxShape.rectangle,
- color: Colors.blueAccent,
- borderRadius: BorderRadius.circular(5),
- ),
- child: const Icon(
- Icons.edit,
- color: Color(0XFFFAF7EE),
- size: 20,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaProvinsi = !visibleNamaProvinsi;
- visibleEditProvinsi = !visibleEditProvinsi;
- visibleFormProvinsi = !visibleFormProvinsi;
- });
- },
- )
- ),
- )
- ]
- )
- ),
- Stack(
- children:[
- Container(
- margin: EdgeInsets.only(top:5),
- width: size.width,
- child: Visibility(
- visible: visibleNamaProvinsi,
- child: Text(nama_provinsi,
- overflow: TextOverflow.fade,
- softWrap: true),
- ),
- ),
- Visibility(
- visible: visibleFormProvinsi,
- child:
- Container(
- width: size.width,
- margin: EdgeInsets.only(top: 2),
- child: Row(
- children:[
- Expanded(
- flex: 8,
- child: Container(
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 2,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiProvinsiTeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "provinsi")),
- )
- )),
- Expanded(
- flex:2,
- child:
- InkWell(
- child: Container(
- child: const Icon(
- Icons.check_box_rounded,
- color: Colors.blueAccent,
- //color: Color(0xFF6B74D6),
- size: 40,
- )
- ),
- onTap: (){
- setState(() {
- visibleNamaProvinsi = !visibleNamaProvinsi;
- visibleEditProvinsi = !visibleEditProvinsi;
- visibleFormProvinsi = !visibleFormProvinsi;
- nama_provinsi = isiProvinsiTeksController.text.toString();
- });
- },
- )
- ),
-
- ]
- ),
- ))
- ]
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Jumlah Penduduk',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )),
- Container(
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 5,
- bottom: 5),
- child: TextFormField(
- keyboardType: TextInputType.number,
- controller: isiJumlahPendudukTeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "jumlah penduduk")),
- )
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Posisi',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )),
- Container(
- height: size.height*0.4,
- width: size.width,
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(5)
- ),
- child: Stack(
- children:[
- FlutterMap(
- mapController: _mapController,
- options: new MapOptions(
- onTap: (p, point) async {}, center: point, zoom: 15),
- children: [
- TileLayer(
- minZoom: 1,
- maxZoom: 22,
- maxNativeZoom: 18,
- minNativeZoom: 1,
- backgroundColor: Colors.black54,
- urlTemplate: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
- subdomains: ['a', 'b', 'c'],
- ),
- MarkerLayer(markers: [
- Marker(
- width: 135,
- height: 135,
- point: point,
- builder: (ctx) => Container(
- child: Icon(
- Icons.location_on,
- color: Colors.red,
- ),
- ))
- ])
- ],
- ),
- Container(
- alignment: AlignmentDirectional.bottomEnd,
- child: Container(
- margin: EdgeInsets.only(bottom: 10),
- /*margin: EdgeInsets.fromLTRB(10, 15, 0, (size.height*0.4) + 15),*/
- child: RawMaterialButton(
- onPressed: () {
- setState(() {
- updatePosition();
- });
- },
- elevation: 5.0,
- fillColor: Colors.white,
- child: Image.asset('assets/images/location1.png',
- height: 35, width: 35),
- padding: EdgeInsets.all(5.0),
- shape: CircleBorder(),
- ),
- ),
- ),]
-
- )
- ),
-
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(
- left: 10, right: 10, top: 5),
- child:Align(
- alignment: Alignment.center,
- child: Text(
- titik,
- overflow: TextOverflow.fade,
- softWrap: true,
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )
- )
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Signal 2G (dBm)',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )),
- Container(
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 5,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiSignal2TeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "signal 2G")),
- )
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Signal 3G (dBm)',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )),
- Container(
- margin: EdgeInsets.only(top: 7),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 5,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiSignal3TeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "signal 3G")),
- )
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Signal 4G (dBm)',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )),
- Container(
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 5,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiSignal4TeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "signal 4G")),
- )
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Tempat Keramaian (Contoh: Sekolah, Pasar, dll)',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- ),
- ),
- ListView.builder(
- shrinkWrap: true,
- itemCount: _jenisTempat.length,
- itemBuilder: (context, i) {
- return Padding(
- padding: const EdgeInsets.only(top: 2),
- child: Row(
- children: [
- Expanded(
- flex: 7,
- child: Container(
- padding: const EdgeInsets.symmetric(horizontal: 10),
- //height: 60,
- alignment: Alignment.center,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(5),
- ),
- child: TextFormField(
- controller: _jenisTempat[i],
- autofocus: false,
- style: const TextStyle(color: Colors.black),
- decoration: const InputDecoration(
- border: InputBorder.none,
- hintText: "Jenis Tempat",
- hintStyle: TextStyle(
- color: Color.fromARGB(255, 132, 140, 155)),
- ),
- ),
- ),
- ),
- SizedBox(width: 5),
- Expanded(
- flex: 3,
- child: Container(
- padding: const EdgeInsets.symmetric(horizontal: 10),
- //height: 60,
- alignment: Alignment.center,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(5),
- ),
- child: TextFormField(
- controller: _km[i],
- autofocus: false,
- style: const TextStyle(color: Colors.black),
- decoration: const InputDecoration(
- border: InputBorder.none,
- hintText: "KM",
- hintStyle: TextStyle(
- color: Color.fromARGB(255, 132, 140, 155)),
- ),
- ),
- ),
- ),
- i != 0
- ? GestureDetector(
- onTap: (){
- setState(() {
- _removeItemTempat(i);
- });
- },
- child: const Icon(
- Icons.delete,
- color: Color(0xFF6B74D6),
- size: 40,
- ),
- )
- : const SizedBox()
- ],
- ),
- );
- },
- ),
- const SizedBox(
- height: 10,
- ),
- GestureDetector(
- onTap: () {
- setState(() {
- _addFieldTempat();
- });
- },
- child: Center(
- child: Container(
- width: size.width,
- padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
- decoration: BoxDecoration(
- color: Colors.blueAccent,
- borderRadius: BorderRadius.circular(5)),
- child: Align(
- alignment: Alignment.center,
- child: Text("Tambah Data Tempat+",
- style:
- GoogleFonts.nunito(color: const Color(0xFFF8F8FF))),
- ),
- ),
- ),
- ),
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Catatan',
- style: GoogleFonts.inconsolata(
- fontSize: 16, fontWeight: FontWeight.bold),
- )),
- Container(
- margin: EdgeInsets.only(top: 2),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- BorderRadius.circular(5)),
- child: Padding(
- padding: EdgeInsets.only(
- left: 10,
- right: 10,
- top: 5,
- bottom: 5),
- child: TextFormField(
- keyboardType:
- TextInputType.multiline,
- controller: isiCatatanTeksController,
- maxLines: null,
- textInputAction:
- TextInputAction.done,
- decoration: InputDecoration(
- border:
- InputBorder.none,
- hintText: "catatan")),
- )
- )
- ],
- ),
- ),
- Container(
- margin: EdgeInsets.only(left: 10, right: 10, top: 15),
- child: Column(
- children: [
- Align(
- alignment: Alignment.centerLeft,
- child: Text(
- 'Foto',
- style: GoogleFonts.inconsolata(
- fontSize: 16,
- fontWeight: FontWeight.bold,
- ),
- ),
- ),
- ListView.builder(
- shrinkWrap: true,
- itemCount: _ambilFoto.length,
- itemBuilder: (context, i) {
- return Padding(
- padding: const EdgeInsets.only(top: 2),
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Expanded(
- child:
- Column(
- children:[
- Visibility (
- child: Align(
- alignment: Alignment.centerLeft,
- child:
- InkWell(
- child: Container(
- padding: EdgeInsets.all(5),
- //width: size.width * 0.5,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(5),
- gradient: LinearGradient(
- colors: [
- Colors.redAccent,
- Colors.redAccent
- ],
- ),
- ),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(
- "Ambil Foto\t\t",
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Colors.white,
- //fontSize: 17,
- fontWeight: FontWeight.w500,
- ),
- ),
- const Icon(
- Icons.camera_alt,
- //color: Color(0xFF6B74D6),
- size: 25,
- ),
- ],
- ),
- ),
- onTap: () async {
- final ImagePicker _picker = ImagePicker();
- final XFile? imagePicked = await _picker.pickImage(
- source: ImageSource.camera);
- if (imagePicked != null) {
- _imagePath = File(imagePicked.path);
- logDev.log(_imagePath.toString(), name: "IMAGE PATH");
- List<int> imageBytes = _imagePath!.readAsBytesSync();
- String base64Image = base64Encode(imageBytes);
- //logDev.log(base64Image, name: "String base64");
- setState(() {
- logDev.log(_ambilFoto.length.toString(), name: "ada berapa banyak buttonambil foto");
- _pathFoto[i] = path.basename(_imagePath.toString());
- _base64Foto[i] = base64Image;
- logDev.log(_pathFoto.length.toString(), name: "Banyak path foto");
- logDev.log(_base64Foto.length.toString(), name: "Banyak Base64");
- logDev.log(_pathFoto.toString(), name: "Isi Path FOTO");
- });
- } else if (imagePicked == null) {
- //_imagePath = await getImageFileFromAssets('assets/images/ic_administrator.png') as File?;
- }
- },
- ),
- ),
- ),
- Visibility(
- child: Align(
- alignment: Alignment.centerLeft,
- child:
- FittedBox(
- fit: BoxFit.scaleDown, // Sesuaikan teks agar tidak melebihi lebar container
- child: Text(
- _pathFoto[i]
- /*style: TextStyle(fontSize: size.width),*/
- ),
- ),
-
- )
- ),
- ]
- )
- ),
- GestureDetector(
- onTap: () {
- setState(() {
- _removeItemFoto(i);
- logDev.log(_pathFoto.length.toString(), name: "Banyak path foto");
- logDev.log(_pathFoto.toString(), name: "Isi Path FOTO");
- });
- },
- child:
- const Icon(
- Icons.delete,
- color: Color(0xFF6B74D6),
- size: 40,
- )
- )
- ],
- ),
- );
- },
- ),
- const SizedBox(
- height: 5,
- ),
- GestureDetector(
- onTap: () {
- setState(() {
- _addFieldFoto();
- });
- },
- child: Center(
- child: Container(
- width: MediaQuery.of(context).size.width,
- padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
- decoration: BoxDecoration(
- color: Colors.blueAccent,
- borderRadius: BorderRadius.circular(5),
- ),
- child: Align(
- alignment: Alignment.center,
- child: Text(
- "Tambah Foto+",
- style: GoogleFonts.nunito(
- color: const Color(0xFFF8F8FF),
- ),
- ),
- ),
- ),
- ),
- ),
- ],
- ),
- ),
- InkWell(
- child: Container(
- margin: EdgeInsets.only(left: 10, right: 10, top:15, bottom: 15),
- padding: EdgeInsets.fromLTRB(
- 10, 10, 10, 10),
- width: double.infinity,
- decoration: BoxDecoration(
- borderRadius:
- BorderRadius.circular(5),
- gradient: LinearGradient(colors: [
- Color(0xFF2D4059),
- Color(0xFF2D4059),
- /*Color(0xFF444C60),
- Color(0xFF444C60),*/
- ])),
- child: Text('KIRIM',
- textAlign: TextAlign.center,
- style: TextStyle(
- color: Colors.white,
- fontSize: 17,
- fontWeight: FontWeight.w500)),
- ),
- onTap: () async {
- ProgressDialog loading = ProgressDialog(context);
- loading = ProgressDialog(context,
- type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
- loading.style(
- message: 'Please Wait .....',
- borderRadius: 3,
- backgroundColor: Colors.white,
- progressWidget: CircularProgressIndicator(),
- elevation: 10.0,
- padding: EdgeInsets.all(10),
- insetAnimCurve: Curves.easeInOut,
- progress: 0.0,
- maxProgress: 100.0,
- progressTextStyle: TextStyle(
- color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
- messageTextStyle: TextStyle(
- color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
-
- List<List<dynamic>> tempatKeramaian = [];
- tempatKeramaian = List.generate(_jenisTempat.length, (index) => [_jenisTempat.map((controller) => controller.text).toList()[index], _km.map((controller) => controller.text).toList()[index]]);
- logDev.log(tempatKeramaian.toString(), name:"list tempat keramaian");
-
- List<List<dynamic>> fotoKeterangan = [];
- fotoKeterangan = List.generate(_base64Foto.length, (index) => [_base64Foto[index], "Keterangan Foto"]);
- logDev.log(fotoKeterangan.toString(), name:"Foto dan Keterangan");
-
- if (!validateFormSurvey(context)){
- return;
- } else if (validateFormSurvey(context)){
- await loading.show();
- final SharedPreferences prefs = await SharedPreferences.getInstance();
- int? idDetail = prefs.getInt('idDetail');
- int? user_id = prefs.getInt('user_id');
- SendSurvey_Post.connectToAPI(user_id!, idDetail!, nama_desa, nama_kecamatan, nama_kabupaten, nama_provinsi,
- int.parse(isiJumlahPendudukTeksController.text.toString()), titik, isiSignal2TeksController.text.toString(),
- isiSignal3TeksController.text.toString(), isiSignal4TeksController.text.toString(),
- isiCatatanTeksController.text.toString(), tempatKeramaian, fotoKeterangan).then((valueResult) async {
- Map<String, dynamic> object = json.decode(valueResult);
- String status = object['result']['status'].toString();
- logDev.log(status, name: "STATUS!!!!!!!");
- if (status == "success") {
- //String status = object['status'].toString();
- //logDev.log(status, name: "Statusnya");
- await loading.hide();
- Widget okButton = TextButton(
- child: Text("OK"),
- onPressed: () {
- Navigator.of(context, rootNavigator: true).pop();
- Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ListSurveyScreen()));
- },
- );
-
- // set up the AlertDialog
- AlertDialog alert = AlertDialog(
- title: Text("POC Bakti"),
- content: Text("Success Submit"),
- actions: [
- okButton,
- ],
- );
-
- // show the dialog
- showDialog(
- context: context,
- barrierDismissible: false,
- builder: (
- BuildContext context) {
- return alert;
- },
- );
- } else {
- await loading.hide();
- alertDialogFailedResponse(
- context);
- }
- });
- }
- },
- ),
- ],
- ),
- ),
- ),
- ),
- ],
- ),
- ),
- ),
- ],
- ),
- ],
- )),
- );
- }
-
- //Validasi Form Survey
- bool validateFormSurvey(BuildContext context) {
- bool result = true;
- if (nama_desa == "" && visibleFormDesa == false) {
- Fluttertoast.showToast(
- msg: "Nama Desa Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (visibleFormDesa == true){
- Fluttertoast.showToast(
- msg: "Mohon Konfirmasi Data Desa Terlebih Dahulu!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (nama_kecamatan == "" && visibleFormKecamatan == false) {
- Fluttertoast.showToast(
- msg: "Nama Kecamatan Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (visibleFormKecamatan == true){
- Fluttertoast.showToast(
- msg: "Mohon Konfirmasi Data Kecamatan Terlebih Dahulu!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (nama_kabupaten == "" && visibleFormKabupaten == false) {
- Fluttertoast.showToast(
- msg: "Nama Kabupaten Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (visibleFormKabupaten == true){
- Fluttertoast.showToast(
- msg: "Mohon Konfirmasi Data Kabupaten Terlebih Dahulu!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (nama_provinsi == "" && visibleFormProvinsi == false) {
- Fluttertoast.showToast(
- msg: "Nama Provinsi Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (visibleFormProvinsi == true){
- Fluttertoast.showToast(
- msg: "Mohon Konfirmasi Data Provinsi Terlebih Dahulu!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (isiJumlahPendudukTeksController.text.toString().isEmpty) {
- Fluttertoast.showToast(
- msg: "Jumlah Penduduk Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (isiSignal2TeksController.text.toString().isEmpty) {
- Fluttertoast.showToast(
- msg: "Signal 2G Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (isiSignal3TeksController.text.toString().isEmpty) {
- Fluttertoast.showToast(
- msg: "Signal 3G Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (isiSignal4TeksController.text.toString().isEmpty) {
- Fluttertoast.showToast(
- msg: "Signal 4G Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (_jenisTempat[0].text.toString().isEmpty){
- Fluttertoast.showToast(
- msg: "Tempat Keramaian Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } else if (_km[0].text.toString().isEmpty){
- Fluttertoast.showToast(
- msg: "Tempat Keramaian Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- } /*else if (isiCatatanTeksController.text.toString().isEmpty) {
- Fluttertoast.showToast(
- msg: "Catatan Harus Diisi!",
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.CENTER,
- timeInSecForIosWeb: 1,
- textColor: Colors.white,
- fontSize: 16.0);
- result = false;
- }*/
-
- return result;
- }
- }
-
- alertDialogFailedRetrievedData(BuildContext context){
- Widget okButton = TextButton(
- child: Text("Refresh"),
- onPressed: () {
- Navigator.of(context, rootNavigator: true).pop();
- Navigator.pushReplacement(context, MaterialPageRoute(
- builder: (context) => EditSurveyScreen()));
- },
- );
-
- Widget noButton = TextButton(
- child: Text("Back"),
- onPressed: () {
- Navigator.of(context, rootNavigator: true).pop();
- Navigator.pop(context);
-
- },
- );
-
- // set up the AlertDialog
- AlertDialog alert = AlertDialog(
- title: Text("POC Bakti"),
- content: Text("Failed to Retrieve Data"),
- actions: [
- noButton,
- okButton,
- ],
- );
-
- // show the dialog
- showDialog(
- context: context,
- barrierDismissible: false,
- builder: (BuildContext context) {
- return alert;
- },
- );
- }
-
- alertDialogFailedResponse(BuildContext context){
- Widget okButton = TextButton(
- child: Text("Refresh"),
- onPressed: () {
- Navigator.of(context, rootNavigator: true).pop();
- Navigator.pushReplacement(context, MaterialPageRoute(
- builder: (context) => EditSurveyScreen()));
- },
- );
-
- Widget noButton = TextButton(
- child: Text("Back"),
- onPressed: () {
- Navigator.of(context, rootNavigator: true).pop();
- Navigator.pop(context);
-
- },
- );
-
- // set up the AlertDialog
- AlertDialog alert = AlertDialog(
- title: Text("POC Bakti"),
- content: Text("Server Response Error"),
- actions: [
- noButton,
- okButton,
- ],
- );
-
- // show the dialog
- showDialog(
- context: context,
- barrierDismissible: false,
- builder: (BuildContext context) {
- return alert;
- },
- );
- }
|