diff --git a/app/src/main/java/com/taskail/mixion/dialog/EnterTagDialog.kt b/app/src/main/java/com/taskail/mixion/dialog/EnterTagDialog.kt new file mode 100644 index 0000000..0a02dd2 --- /dev/null +++ b/app/src/main/java/com/taskail/mixion/dialog/EnterTagDialog.kt @@ -0,0 +1,37 @@ +package com.taskail.mixion.dialog + +import android.content.Context +import android.os.Bundle +import android.support.v7.app.AppCompatDialog +import com.taskail.mixion.R +import com.taskail.mixion.ui.TextInputValidator +import kotlinx.android.synthetic.main.dialog_enter_tag.* + +/** + *Created by ed on 2/17/18. + */ + +class EnterTagDialog(context: Context, + private val addTag: (String) -> Unit) : AppCompatDialog(context){ + + init { + setContentView(R.layout.dialog_enter_tag) + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + TextInputValidator({ + submitTagBtn.isEnabled = it + }, tag_input) + + submitTagBtn.setOnClickListener { + addTag(getTag()) + this.dismiss() + } + } + + private fun getTag(): String{ + return tag_input.editText?.text.toString().toLowerCase() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/taskail/mixion/post/EditPostFragment.kt b/app/src/main/java/com/taskail/mixion/post/EditPostFragment.kt index 7db97a6..4accfb6 100644 --- a/app/src/main/java/com/taskail/mixion/post/EditPostFragment.kt +++ b/app/src/main/java/com/taskail/mixion/post/EditPostFragment.kt @@ -33,7 +33,7 @@ class EditPostFragment : Fragment(){ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view: View = inflater.inflate(R.layout.fragment_new_post_edit_body, container, false) - tagsAdapter = TagChipsAdapter() + tagsAdapter = TagChipsAdapter(context!!) return view } diff --git a/app/src/main/java/com/taskail/mixion/post/TagChipsAdapter.kt b/app/src/main/java/com/taskail/mixion/post/TagChipsAdapter.kt index 004a1df..36b691c 100644 --- a/app/src/main/java/com/taskail/mixion/post/TagChipsAdapter.kt +++ b/app/src/main/java/com/taskail/mixion/post/TagChipsAdapter.kt @@ -1,11 +1,14 @@ package com.taskail.mixion.post +import android.content.Context import android.support.v7.widget.RecyclerView import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Toast import com.taskail.mixion.R +import com.taskail.mixion.dialog.EnterTagDialog import com.taskail.mixion.post.TagChipsAdapter.TagsViewHolder import kotlinx.android.synthetic.main.layout_chip_tags.view.* @@ -13,11 +16,11 @@ import kotlinx.android.synthetic.main.layout_chip_tags.view.* *Created by ed on 2/16/18. */ -class TagChipsAdapter : RecyclerView.Adapter() { +class TagChipsAdapter(private val context: Context) : RecyclerView.Adapter() { var tags = mutableListOf() - class TagsViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + inner class TagsViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){ fun setTag(tag: String, position: Int, remove: (Int) -> Unit){ itemView.chip_tag.text = tag @@ -29,14 +32,23 @@ class TagChipsAdapter : RecyclerView.Adapter() { } } - fun setAddNewTag(add: (String) -> Unit) { + fun setAddNewTag(addTag: (String) -> Unit) { itemView.chip_tag.setText(R.string.add_tags) itemView.chip_action.setImageResource(R.drawable.ic_add_12dp) itemView.setOnClickListener { - add("steemit") + if (tags.size < 5) + showDialog(addTag) + else + Toast.makeText(context, "Only 5 Tags Allowed", Toast.LENGTH_LONG).show() } } + + } + + private fun showDialog(add: (String) -> Unit){ + EnterTagDialog(context, add) + .show() } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): TagsViewHolder { diff --git a/app/src/main/res/layout/dialog_enter_tag.xml b/app/src/main/res/layout/dialog_enter_tag.xml new file mode 100644 index 0000000..952e58b --- /dev/null +++ b/app/src/main/res/layout/dialog_enter_tag.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e39bd4c..dc797fe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,4 +39,6 @@ Preview Chip Action Add tags + Enter Tag + Submit