Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,14 @@ captures/

# Intellij
*.iml

.idea/
.idea/workspace.xml
.idea/tasks.xml
.idea/libraries
.classpath
*.ipr
*.iws

# Keystore files
*.jks
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(path: ':form-master')
compile 'com.android.support:design:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0'
compile 'com.android.support:design:25.4.0'
compile 'com.android.support.constraint:constraint-layout:1.1.3'
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,19 @@
import android.support.v7.widget.RecyclerView;
import android.view.MenuItem;
import android.widget.Toast;
import me.riddhimanadib.fastformbuilder.model.Student;
import me.riddhimanadib.formmaster.FormBuilder;
import me.riddhimanadib.formmaster.listener.OnFormElementValueChangedListener;
import me.riddhimanadib.formmaster.model.*;

import java.util.ArrayList;
import java.util.List;

import me.riddhimanadib.formmaster.FormBuilder;
import me.riddhimanadib.formmaster.listener.OnFormElementValueChangedListener;
import me.riddhimanadib.formmaster.model.BaseFormElement;
import me.riddhimanadib.formmaster.model.FormElementPickerDate;
import me.riddhimanadib.formmaster.model.FormElementPickerMulti;
import me.riddhimanadib.formmaster.model.FormElementPickerSingle;
import me.riddhimanadib.formmaster.model.FormElementPickerTime;
import me.riddhimanadib.formmaster.model.FormElementSwitch;
import me.riddhimanadib.formmaster.model.FormElementTextEmail;
import me.riddhimanadib.formmaster.model.FormElementTextMultiLine;
import me.riddhimanadib.formmaster.model.FormElementTextNumber;
import me.riddhimanadib.formmaster.model.FormElementTextPassword;
import me.riddhimanadib.formmaster.model.FormElementTextPhone;
import me.riddhimanadib.formmaster.model.FormElementTextSingleLine;
import me.riddhimanadib.formmaster.model.FormHeader;

public class FormListenerActivity extends AppCompatActivity implements OnFormElementValueChangedListener {

private RecyclerView mRecyclerView;
private FormBuilder mFormBuilder;
List<Student> students = Student.generateSampleStudents();

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -88,9 +77,19 @@ private void setupForm() {
fruits.add("Orange");
fruits.add("Mango");
fruits.add("Guava");
FormElementPickerSingle element41 = FormElementPickerSingle.createInstance().setTitle("Single Item").setOptions(fruits).setPickerTitle("Pick any item");
FormElementPickerMulti element42 = FormElementPickerMulti.createInstance().setTitle("Multi Items").setOptions(fruits).setPickerTitle("Pick one or more").setNegativeText("reset");
FormElementSwitch element43 = FormElementSwitch.createInstance().setTitle("Frozen?").setSwitchTexts("Yes", "No");

FormElementPickerSingle element41 = FormElementPickerSingle.createInstance()
.setTitle("Single Item")
.setOptions(students)
.setPickerTitle("Pick any item");
FormElementPickerMulti element42 = FormElementPickerMulti.createInstance()
.setTitle("Multi Items")
.setOptions(fruits)
.setPickerTitle("Pick one or more")
.setNegativeText("reset");
FormElementSwitch element43 = FormElementSwitch.createInstance()
.setTitle("Frozen?")
.setSwitchTexts("Yes", "No");

List<BaseFormElement> formItems = new ArrayList<>();
formItems.add(header1);
Expand All @@ -114,6 +113,11 @@ private void setupForm() {

@Override
public void onValueChanged(BaseFormElement formElement) {
Toast.makeText(this, formElement.getValue(), Toast.LENGTH_SHORT).show();
if (formElement instanceof FormElementPickerSingle) {
int selectedIndex = ((FormElementPickerSingle) formElement).getSelectedIndex();
Toast.makeText(this, formElement.getValue() + ": " + students.get(selectedIndex).getUuid(), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, formElement.getValue(), Toast.LENGTH_SHORT).show();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package me.riddhimanadib.fastformbuilder.model;

import java.util.ArrayList;
import java.util.List;

public class Student {
private String uuid;
private String name;

public Student(String uuid, String name) {
this.uuid = uuid;
this.name = name;
}

public String getUuid() {
return uuid;
}

public void setUuid(String uuid) {
this.uuid = uuid;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public static List<Student> generateSampleStudents(){
List<Student> students = new ArrayList<>();
students.add(new Student("abc","Kakama Victor"));
students.add(new Student("cde","Favor Atuheire"));
students.add(new Student("fgh","Ariella Atwiine"));
students.add(new Student("ijk","Onyx Kakama"));
return students;
}

@Override
public String toString(){
return name;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
public class FormElementPickerSingle extends BaseFormElement {

private String pickerTitle; // custom title for picker
private List<String> mOptions; // list of options for single and multi picker
private List<String> mOptionsSelected; // list of selected options for single and multi picker
private List mOptions; // list of options for single and multi picker
private List mOptionsSelected; // list of selected options for single and multi picker
private int selectedIndex;

public FormElementPickerSingle() {
}
Expand Down Expand Up @@ -48,12 +49,12 @@ public FormElementPickerSingle setRequired(boolean required) {
}

// custom setters
public FormElementPickerSingle setOptions(List<String> mOptions) {
public FormElementPickerSingle setOptions(List mOptions) {
this.mOptions = mOptions;
return this;
}

public FormElementPickerSingle setOptionsSelected(List<String> mOptionsSelected) {
public FormElementPickerSingle setOptionsSelected(List mOptionsSelected) {
this.mOptionsSelected = mOptionsSelected;
return this;
}
Expand All @@ -64,16 +65,23 @@ public FormElementPickerSingle setPickerTitle(String title) {
}

// custom getters
public List<String> getOptions() {
return (this.mOptions == null) ? new ArrayList<String>() : this.mOptions;
public List getOptions() {
return (this.mOptions == null) ? new ArrayList<>() : this.mOptions;
}

public List<String> getOptionsSelected() {
return (this.mOptionsSelected == null) ? new ArrayList<String>() : this.mOptionsSelected;
public List getOptionsSelected() {
return (this.mOptionsSelected == null) ? new ArrayList<>() : this.mOptionsSelected;
}

public String getPickerTitle() {
return this.pickerTitle;
}

public int getSelectedIndex() {
return selectedIndex;
}

public void setSelectedIndex(int selectedIndex) {
this.selectedIndex = selectedIndex;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public void bind(final int position, BaseFormElement formElement, final Context
// reformat the options in format needed
final CharSequence[] options = new CharSequence[mFormElementPickerSingle.getOptions().size()];
for (int i = 0; i < mFormElementPickerSingle.getOptions().size(); i++) {
options[i] = mFormElementPickerSingle.getOptions().get(i);
options[i] = mFormElementPickerSingle.getOptions().get(i).toString();
}

final AlertDialog dialog = new AlertDialog.Builder(context)
Expand All @@ -55,6 +55,7 @@ public void bind(final int position, BaseFormElement formElement, final Context
public void onClick(DialogInterface dialog, int which) {
mEditTextValue.setText(options[which]);
mFormElementPickerSingle.setValue(options[which].toString());
mFormElementPickerSingle.setSelectedIndex(which);
mReloadListener.updateValue(position, options[which].toString());
}
})
Expand Down