优化版主问题标签
This commit is contained in:
@ -182,7 +182,10 @@ class QuestionEditActivity : BaseActivity() {
|
||||
override fun onMenuItemClick(menuItem: MenuItem?): Boolean {
|
||||
if (mViewModel.isManagerPatch) {
|
||||
mViewModel.selectedTags.addAll(mViewModel.questionEntity?.tags!!)
|
||||
// todo 直接提交
|
||||
// todo 判断版主等级
|
||||
DialogUtils.showAlertDialog(this, "修改标签"
|
||||
, "你的操作将提交给小编审核,确定提交吗?", "确定"
|
||||
, "取消", DialogUtils.ConfirmListener {}, null)
|
||||
} else {
|
||||
mViewModel.checkTitleAndLoadTitleTag()
|
||||
}
|
||||
|
||||
@ -24,7 +24,6 @@ import okhttp3.RequestBody
|
||||
import okhttp3.ResponseBody
|
||||
import retrofit2.HttpException
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* Created by khy on 28/04/18.
|
||||
@ -242,10 +241,12 @@ class QuestionEditViewModel(application: Application) : AndroidViewModel(applica
|
||||
|
||||
val body = RequestBody.create(MediaType.parse("application/json"), GsonUtils.getInstance().toJson(entity))
|
||||
val observable = if (questionEntity != null) {
|
||||
questionEntity?.tags = entity.tags
|
||||
questionEntity?.images = entity.images
|
||||
questionEntity?.title = entity.title
|
||||
questionEntity?.description = entity.description
|
||||
if (!isManagerPatch) {
|
||||
questionEntity?.images = entity.images
|
||||
questionEntity?.title = entity.title
|
||||
questionEntity?.description = entity.description
|
||||
questionEntity?.tags = entity.tags
|
||||
}
|
||||
mApiService.patchQuestions(body, questionEntity?.id) // patch
|
||||
} else {
|
||||
mApiService.postQuestions(body, communityId) // add
|
||||
|
||||
@ -16,6 +16,7 @@ import android.widget.EditText
|
||||
import android.widget.TextView
|
||||
import com.gh.base.fragment.BaseDialogWrapperFragment
|
||||
import com.gh.base.fragment.BaseFragment
|
||||
import com.gh.common.util.DialogUtils
|
||||
import com.gh.common.util.DisplayUtils
|
||||
import com.gh.common.util.EntranceUtils
|
||||
import com.gh.gamecenter.R
|
||||
@ -65,16 +66,18 @@ class TagsSelectFragment : BaseFragment<String>() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
if (activity != null) mViewModel = ViewModelProviders.of(activity!!).get(QuestionEditViewModel::class.java)
|
||||
val isManagerPatch = arguments?.getBoolean(EntranceUtils.KEY_QUESTION_MANAGER_PATCH)
|
||||
if (isManagerPatch != null && isManagerPatch) {
|
||||
mViewModel = ViewModelProviders.of(this).get(QuestionEditViewModel::class.java)
|
||||
mViewModel?.isManagerPatch = isManagerPatch
|
||||
mViewModel?.questionEntity = arguments?.getParcelable(QuestionsDetailEntity::class.java.simpleName)
|
||||
} else {
|
||||
mViewModel = activity?.let { ViewModelProviders.of(it).get(QuestionEditViewModel::class.java) }
|
||||
}
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
val isManagerPatch = arguments?.getBoolean(EntranceUtils.KEY_QUESTION_MANAGER_PATCH)
|
||||
if (isManagerPatch != null && isManagerPatch) {
|
||||
mViewModel?.isManagerPatch = isManagerPatch
|
||||
mViewModel?.questionEntity = arguments?.getParcelable(QuestionsDetailEntity::class.java.simpleName)
|
||||
}
|
||||
|
||||
if (mViewModel != null && mViewModel?.isManagerPatch!!) {
|
||||
mCancelBtn.text = "取消"
|
||||
@ -110,15 +113,50 @@ class TagsSelectFragment : BaseFragment<String>() {
|
||||
}
|
||||
|
||||
mPostBtn.setOnClickListener {
|
||||
if (mViewModel?.isManagerPatch!!
|
||||
&& mViewModel?.questionEntity?.tags == mViewModel?.selectedTags) {
|
||||
toast("标签没有变化")
|
||||
if (mViewModel?.isManagerPatch!!) {
|
||||
if (checkTagsContent()) {
|
||||
toast("标签没有变化")
|
||||
} else {
|
||||
// todo 判断版主等级
|
||||
DialogUtils.showAlertDialog(context, "修改标签"
|
||||
, "你的操作将提交给小编审核,确定提交吗?", "确定"
|
||||
, "取消", DialogUtils.ConfirmListener {}, null)
|
||||
}
|
||||
} else {
|
||||
mViewModel?.postQuestion()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查内容是否一致
|
||||
* @return true:相同 false:不同
|
||||
*/
|
||||
private fun checkTagsContent(): Boolean {
|
||||
val defaultTags = mViewModel?.questionEntity?.tags
|
||||
val selectedTags = mViewModel?.selectedTags
|
||||
|
||||
if (defaultTags == selectedTags) {
|
||||
return true
|
||||
}
|
||||
if (defaultTags == null && selectedTags == null) {
|
||||
return true
|
||||
}
|
||||
if (defaultTags == null || selectedTags == null) {
|
||||
return false
|
||||
}
|
||||
if (defaultTags.size != selectedTags.size) {
|
||||
return false
|
||||
}
|
||||
for (tag in defaultTags) {
|
||||
if (!selectedTags.contains(tag)) return false
|
||||
}
|
||||
for (tag in selectedTags) {
|
||||
if (!defaultTags.contains(tag)) return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
private fun initTags() {
|
||||
// 添加标签
|
||||
val mDefaultTag = mViewModel?.defaultTags ?: ArrayList()
|
||||
|
||||
Reference in New Issue
Block a user