From 0bdce9b1579d09a844bfb6e54607f613192e6dde Mon Sep 17 00:00:00 2001 From: Samuelford24 Date: Mon, 22 Mar 2021 21:36:19 -0400 Subject: [PATCH] restructured waterway form, completed navigation --- .../WaterWay/WaterWayFormFragment.java | 238 +++++++++++++++--- app/src/main/res/layout/fragment_wwform.xml | 50 +++- 2 files changed, 257 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java index 2947c7e..e6487c2 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java @@ -11,6 +11,7 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.RecyclerView; +import com.addisonelliott.segmentedbutton.SegmentedButton; import com.sf.stormwaterutilityandroid.R; import com.sf.stormwaterutilityandroid.SampleFordm; @@ -20,24 +21,62 @@ import me.riddhimanadib.formmaster.FormBuilder; import me.riddhimanadib.formmaster.model.BaseFormElement; import me.riddhimanadib.formmaster.model.FormElementTextNumber; +import me.riddhimanadib.formmaster.model.FormElementTextSingleLine; +import me.riddhimanadib.formmaster.model.FormHeader; public class WaterWayFormFragment extends Fragment { -RecyclerView recyclerView; - FormBuilder formBuilder; - Button gen,dws,ct,bm,hq; +RecyclerView rvGen, rvDWS, rvHQ, rvBM,rvCT; + FormBuilder fbGEn,fbDWS,fbBM,fbHQ,fbCT; +SegmentedButton gen,dws,ct,bm,hq; +Button submit; +Boolean boolgen,booldws,boolct,boolbm,boolhq; + List formItemsHQ, formItemsGen, formItemsBM, formItemsCT, formItemsDWS; + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_wwform, container, false); - recyclerView = root.findViewById(R.id.rvWWF); - setupForm(); + //recylerViews for each piece of the form + submit = root.findViewById(R.id.submitForm); + rvGen = root.findViewById(R.id.rvWWF); + rvDWS = root.findViewById(R.id.rvDWS); + rvHQ = root.findViewById(R.id.rvHQ); + rvBM = root.findViewById(R.id.rvBM); + rvCT = root.findViewById(R.id.rvCT); + + //making recyclerViews invisible + rvDWS.setVisibility(View.INVISIBLE); + rvHQ.setVisibility(View.INVISIBLE); + rvBM.setVisibility(View.INVISIBLE); + rvCT.setVisibility(View.INVISIBLE); + setupFormGen(); + //Segemented Control Bar buttons gen = root.findViewById(R.id.gen); dws = root.findViewById(R.id.dws); ct = root.findViewById(R.id.ct); bm = root.findViewById(R.id.bm); hq = root.findViewById(R.id.hq); +//setting booleans to false. If they are true, then an instance of the form section has been created. + boolbm = false; + boolct = false; + booldws = false; + boolhq = false; + boolgen = false; gen.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + rvGen.setVisibility(View.VISIBLE); + rvDWS.setVisibility(View.INVISIBLE); + rvHQ.setVisibility(View.INVISIBLE); + rvBM.setVisibility(View.INVISIBLE); + rvCT.setVisibility(View.INVISIBLE); + if (!boolgen) + setupFormGen(); + + } + }); + submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -46,13 +85,26 @@ public void onClick(View v) { dws.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + rvGen.setVisibility(View.INVISIBLE); + rvDWS.setVisibility(View.VISIBLE); + rvHQ.setVisibility(View.INVISIBLE); + rvBM.setVisibility(View.INVISIBLE); + rvCT.setVisibility(View.INVISIBLE); + if (!booldws) + setupFormDWS(); } }); ct.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - + rvGen.setVisibility(View.INVISIBLE); + rvDWS.setVisibility(View.INVISIBLE); + rvHQ.setVisibility(View.INVISIBLE); + rvBM.setVisibility(View.INVISIBLE); + rvCT.setVisibility(View.VISIBLE); + if (!boolct) + setupFormCT(); } }); @@ -60,21 +112,39 @@ public void onClick(View v) { @Override public void onClick(View v) { + rvGen.setVisibility(View.INVISIBLE); + rvDWS.setVisibility(View.INVISIBLE); + rvHQ.setVisibility(View.INVISIBLE); + rvBM.setVisibility(View.VISIBLE); + rvCT.setVisibility(View.INVISIBLE); + if (!boolbm) + setupFormBM(); } }); hq.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - + + rvGen.setVisibility(View.INVISIBLE); + rvDWS.setVisibility(View.INVISIBLE); + rvHQ.setVisibility(View.VISIBLE); + rvBM.setVisibility(View.INVISIBLE); + rvCT.setVisibility(View.INVISIBLE); + if (!boolhq) + setupFormHQ(); } }); return root; } - private void setupForm() { + private void setupFormGen() { + boolgen = true; - formBuilder = new FormBuilder(getContext(), recyclerView); + } + private void setupFormHQ() { + boolhq = true; + fbHQ = new FormBuilder(getContext(),rvHQ); FormElementTextNumber element2 = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); FormElementTextNumber element3 = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0"); FormElementTextNumber element4 = FormElementTextNumber.createInstance().setTitle("Silting").setValue("0"); @@ -94,29 +164,139 @@ private void setupForm() { FormElementTextNumber element18 = FormElementTextNumber.createInstance().setTitle("Land Use").setValue("0"); FormElementTextNumber element19 = FormElementTextNumber.createInstance().setTitle("Bank Erosion").setValue("0"); - List formItems = new ArrayList<>(); - formItems.add(element2); - formItems.add(element3); - formItems.add(element4); - formItems.add(element5); - formItems.add(element6); - formItems.add(element7); - formItems.add(element8); - formItems.add(element9); - formItems.add(element10); - formItems.add(element11); - formItems.add(element12); - formItems.add(element13); - formItems.add(element14); - formItems.add(element15); - formItems.add(element16); - formItems.add(element17); - formItems.add(element18); - formItems.add(element19); - formBuilder.addFormElements(formItems); + formItemsHQ = new ArrayList<>(); + formItemsHQ.add(element2); + formItemsHQ.add(element3); + formItemsHQ.add(element4); + formItemsHQ.add(element5); + formItemsHQ.add(element6); + formItemsHQ.add(element7); + formItemsHQ.add(element8); + formItemsHQ.add(element9); + formItemsHQ.add(element10); + formItemsHQ.add(element11); + formItemsHQ.add(element12); + formItemsHQ.add(element13); + formItemsHQ.add(element14); + formItemsHQ.add(element15); + formItemsHQ.add(element16); + formItemsHQ.add(element17); + formItemsHQ.add(element18); + formItemsHQ.add(element19); + fbHQ.addFormElements(formItemsHQ); } + private void setupFormDWS() { + booldws = true; + fbDWS = new FormBuilder(getContext(), rvDWS); + FormHeader title = (FormHeader) new FormHeader().setTitle("Dry Weather Screening"); + //Outfall --> Question: How do you do a subheading? + FormElementTextSingleLine flow = new FormElementTextSingleLine().setTitle("Presence of Flow"); + FormElementTextNumber flowData = FormElementTextNumber.createInstance(); //what data type is this? + FormElementTextSingleLine odor = new FormElementTextSingleLine().setTitle("Unusual Odor"); + FormElementTextNumber odorData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine color = new FormElementTextSingleLine().setTitle("Unusual Color"); + FormElementTextNumber colorData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine polutants = new FormElementTextSingleLine().setTitle("Polutants Nearby"); + FormElementTextNumber polutantsData = FormElementTextNumber.createInstance(); + polutantsData.setTitle("Polutants Data"); + + FormElementTextSingleLine obstruction = new FormElementTextSingleLine().setTitle("Obstruction"); + FormElementTextNumber obstructionData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine maintenance = new FormElementTextSingleLine().setTitle("Needs Maintenance"); + FormElementTextNumber maintenanceData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine screen = new FormElementTextSingleLine().setTitle("Screen OK"); + FormElementTextNumber screenData = FormElementTextNumber.createInstance(); + + formItemsDWS = new ArrayList<>(); + + formItemsDWS.add(flow); + formItemsDWS.add(flowData); + formItemsDWS.add(odor); + formItemsDWS.add(odorData); + formItemsDWS.add(color); + formItemsDWS.add(colorData); + formItemsDWS.add(polutants); + formItemsDWS.add(polutantsData); + formItemsDWS.add(obstruction); + formItemsDWS.add(obstructionData); + formItemsDWS.add(maintenance); + formItemsDWS.add(maintenanceData); + formItemsDWS.add(screen); + formItemsDWS.add(screenData); + + fbDWS.addFormElements(formItemsDWS); + } + private void setupFormCT() { + boolct = true; + fbCT = new FormBuilder(getContext(), rvCT); + + FormHeader title = (FormHeader) new FormHeader().setTitle("Chemical Testing"); + + //Outfall --> Question: How do you do a subheading? + + FormElementTextSingleLine temperature = new FormElementTextSingleLine().setTitle("Temperature (C) Change"); + //FormHeader temp = FormHeader.createInstance("Temperature (C) Change"); + FormElementTextNumber tempData = FormElementTextNumber.createInstance(); //what data type is this? + + FormElementTextSingleLine tubidity = new FormElementTextSingleLine().setTitle("Tubidity (NTU)"); + FormElementTextNumber tubidityData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine pH = new FormElementTextSingleLine().setTitle("pH"); + FormElementTextNumber pHData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine nitrate = new FormElementTextSingleLine().setTitle("Nitrate (mg/L)"); + FormElementTextNumber nitrateData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine phosphate = new FormElementTextSingleLine().setTitle("Total Phosphate (mg/L)"); + FormElementTextNumber phosphateData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine oxygen = new FormElementTextSingleLine().setTitle("Dissolved Oxygen (mg/L)"); + FormElementTextNumber oxygenData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine coli = new FormElementTextSingleLine().setTitle("E Coli (col/100mL)"); + FormElementTextNumber coliData = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine other1 = new FormElementTextSingleLine().setTitle("Other 1"); + FormElementTextNumber other1Data = FormElementTextNumber.createInstance(); + + FormElementTextSingleLine other2 = new FormElementTextSingleLine().setTitle("Other 2"); + FormElementTextNumber other2Data = FormElementTextNumber.createInstance(); + + formItemsCT = new ArrayList<>(); + + formItemsCT.add(title); + formItemsCT.add(temperature); + formItemsCT.add(tempData); + formItemsCT.add(tubidity); + formItemsCT.add(tubidityData); + formItemsCT.add(pH); + formItemsCT.add(pHData); + formItemsCT.add(nitrate); + formItemsCT.add(nitrateData); + formItemsCT.add(phosphate); + formItemsCT.add(phosphateData); + formItemsCT.add(oxygen); + formItemsCT.add(oxygenData); + formItemsCT.add(coli); + formItemsCT.add(coliData); + formItemsCT.add(other1); + formItemsCT.add(other1Data); + formItemsCT.add(other2); + formItemsCT.add(other2Data); + + fbCT.addFormElements(formItemsCT); + + } + private void setupFormBM() { + boolbm = true; + + } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_wwform.xml b/app/src/main/res/layout/fragment_wwform.xml index 27bbcca..0df8324 100644 --- a/app/src/main/res/layout/fragment_wwform.xml +++ b/app/src/main/res/layout/fragment_wwform.xml @@ -41,6 +41,7 @@ app:text="Gen" app:textColor="@color/indigo_800" app:textSize="18sp" /> + + + + + + + + +