Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README, Added Iterator and convert to map function #41

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
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: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This library aids in building bigger forms on-the-fly. Forms with large number o
## Installation
Add this in your app's **build.gradle** file:
```
compile 'me.riddhimanadib.form-master:form-master:1.1.0'
implementation 'me.riddhimanadib.form-master:form-master:1.1.0'
```


Expand Down Expand Up @@ -49,7 +49,7 @@ compile 'me.riddhimanadib.form-master:form-master:1.1.0'
``` 'java'
// initialize variables
mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
mFormBuilder = new FormBuildHelper(this, mRecyclerView);
mFormBuilder = new FormBuilder(this, mRecyclerView);

// declare form elements
FormHeader header = FormHeader.createInstance("Personal Info");
Expand All @@ -62,7 +62,6 @@ formItems.add(element);

// build and display the form
mFormBuilder.addFormElements(formItems);
mFormBuilder.refreshView();
```
3. Now build and run!!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import android.widget.Toast;

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

import me.riddhimanadib.formmaster.FormBuilder;
Expand All @@ -18,8 +19,8 @@

public class LoginFormActivity extends AppCompatActivity {

private static final int TAG_EMAIL = 12;
private static final int TAG_PASSWORD = 2234;
private static final String TAG_EMAIL = "email";
private static final String TAG_PASSWORD = "password";

private RecyclerView mRecyclerView;
private FormBuilder mFormBuilder;
Expand All @@ -40,6 +41,22 @@ public void onClick(View view) {
BaseFormElement loginElement = mFormBuilder.getFormElement(TAG_EMAIL);
BaseFormElement passwordElement = mFormBuilder.getFormElement(TAG_PASSWORD);
Toast.makeText(LoginFormActivity.this, "Do whatever you want with this data\n" + loginElement.getValue() + "\n" + passwordElement.getValue(), Toast.LENGTH_SHORT).show();

// getFormElementIterator
StringBuilder stringBuilder = new StringBuilder();
for (Iterator<BaseFormElement> iterator = mFormBuilder.getFormElementIterator(); iterator.hasNext(); ) {
BaseFormElement baseFormElement = iterator.next();
stringBuilder.append(baseFormElement.getTag());
stringBuilder.append(":");
stringBuilder.append(baseFormElement.getValue());
}
Toast.makeText(LoginFormActivity.this, stringBuilder.toString(), Toast.LENGTH_SHORT).show();

// convertToDataMap
Toast.makeText(LoginFormActivity.this, mFormBuilder.convertToDataMap().toString(), Toast.LENGTH_SHORT).show();



} else {
Toast.makeText(LoginFormActivity.this, "Invalid form data", Toast.LENGTH_SHORT).show();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;

import me.riddhimanadib.formmaster.adapter.FormAdapter;
import me.riddhimanadib.formmaster.listener.OnFormElementValueChangedListener;
Expand Down Expand Up @@ -73,10 +77,32 @@ public void addFormElements(List<BaseFormElement> baseFormElements) {
* @param tag
* @return
*/
public BaseFormElement getFormElement(int tag) {
public BaseFormElement getFormElement(String tag) {
return this.mFormAdapter.getValueAtTag(tag);
}

/**
* get the Iterator
* @return
*/
public Iterator<BaseFormElement> getFormElementIterator() {
return this.mFormAdapter.getIterator();
}

/**
* convert to a map which key is tag
* @return
*/
public Map<String,String> convertToDataMap() {
Map<String, String> dataSetMap = new HashMap<>(mFormAdapter.getItemCount());
for (Iterator<BaseFormElement> iterator = getFormElementIterator(); iterator.hasNext(); ) {
BaseFormElement baseFormElement = iterator.next();
dataSetMap.put(baseFormElement.getTag(), baseFormElement.getValue());
}
return dataSetMap;
}


/**
*
* return true if the form is valid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import me.riddhimanadib.formmaster.R;
import me.riddhimanadib.formmaster.listener.FormItemEditTextListener;
Expand Down Expand Up @@ -83,9 +86,9 @@ public void setValueAtIndex(int position, String value) {
* @param tag
* @param value
*/
public void setValueAtTag(int tag, String value) {
public void setValueAtTag(String tag, String value) {
for (BaseFormElement f : this.mDataset) {
if (f.getTag() == tag) {
if (f.getTag().equals(tag)) {
f.setValue(value);
return;
}
Expand All @@ -107,9 +110,9 @@ public BaseFormElement getValueAtIndex(int index) {
* @param tag
* @return
*/
public BaseFormElement getValueAtTag(int tag) {
public BaseFormElement getValueAtTag(String tag) {
for (BaseFormElement f : this.mDataset) {
if (f.getTag() == tag) {
if (f.getTag().equals(tag)) {
return f;
}
}
Expand All @@ -125,6 +128,14 @@ public List<BaseFormElement> getDataset() {
return mDataset;
}

/**
* gets the iterator of dataset
* @return
*/
public Iterator<BaseFormElement> getIterator() {
return mDataset.iterator();
}

/**
* get value changed listener
* @return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ public class BaseFormElement {
public static final int TYPE_SWITCH = 11;

// private variables
private int mTag; // unique tag to identify the object
private String mTag; // unique tag to identify the object
private int mType; // type for the form element
private String mTitle; // title to be shown on left
private String mValue; // value to be shown on right
private String mHint; // value to be shown if mValue is null
private boolean mRequired; // value to set is the field is required

// setters
public BaseFormElement setTag(int mTag) {
public BaseFormElement setTag(String mTag) {
this.mTag = mTag;
return this;
}
Expand Down Expand Up @@ -60,7 +60,7 @@ public BaseFormElement setRequired(boolean required) {
}

// getters
public int getTag() {
public String getTag() {
return this.mTag;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public static FormElementPickerDate createInstance() {
return formElementPickerDate;
}

public FormElementPickerDate setTag(int mTag) {
public FormElementPickerDate setTag(String mTag) {
return (FormElementPickerDate) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public static FormElementPickerMulti createInstance() {
return FormElementPickerMulti;
}

public FormElementPickerMulti setTag(int mTag) {
public FormElementPickerMulti setTag(String mTag) {
return (FormElementPickerMulti) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public static FormElementPickerSingle createInstance() {
return formElementPickerSingle;
}

public FormElementPickerSingle setTag(int mTag) {
public FormElementPickerSingle setTag(String mTag) {
return (FormElementPickerSingle) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public static FormElementPickerTime createInstance() {
return formElementPickerTime;
}

public FormElementPickerTime setTag(int mTag) {
public FormElementPickerTime setTag(String mTag) {
return (FormElementPickerTime) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static FormElementSwitch createInstance() {
return FormElementSwitch;
}

public FormElementSwitch setTag(int mTag) {
public FormElementSwitch setTag(String mTag) {
return (FormElementSwitch) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static FormElementTextEmail createInstance() {
return FormElementTextEmail;
}

public FormElementTextEmail setTag(int mTag) {
public FormElementTextEmail setTag(String mTag) {
return (FormElementTextEmail) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static FormElementTextMultiLine createInstance() {
return FormElementTextMultiLine;
}

public FormElementTextMultiLine setTag(int mTag) {
public FormElementTextMultiLine setTag(String mTag) {
return (FormElementTextMultiLine) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static FormElementTextNumber createInstance() {
return FormElementTextNumber;
}

public FormElementTextNumber setTag(int mTag) {
public FormElementTextNumber setTag(String mTag) {
return (FormElementTextNumber) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static FormElementTextPassword createInstance() {
return FormElementTextPassword;
}

public FormElementTextPassword setTag(int mTag) {
public FormElementTextPassword setTag(String mTag) {
return (FormElementTextPassword) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static FormElementTextPhone createInstance() {
return FormElementTextPhone;
}

public FormElementTextPhone setTag(int mTag) {
public FormElementTextPhone setTag(String mTag) {
return (FormElementTextPhone) super.setTag(mTag);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static FormElementTextSingleLine createInstance() {
return formElementTextSingleLine;
}

public FormElementTextSingleLine setTag(int mTag) {
public FormElementTextSingleLine setTag(String mTag) {
return (FormElementTextSingleLine) super.setTag(mTag);
}

Expand Down