Use same dialog style to confirm conference info removal
This commit is contained in:
parent
60067c259b
commit
9d9c58e7f7
1 changed files with 31 additions and 40 deletions
|
@ -80,29 +80,13 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
||||||
override fun onLeftToRightSwipe(viewHolder: RecyclerView.ViewHolder) {}
|
override fun onLeftToRightSwipe(viewHolder: RecyclerView.ViewHolder) {}
|
||||||
|
|
||||||
override fun onRightToLeftSwipe(viewHolder: RecyclerView.ViewHolder) {
|
override fun onRightToLeftSwipe(viewHolder: RecyclerView.ViewHolder) {
|
||||||
val viewModel = DialogViewModel(getString(R.string.conference_scheduled_delete_one_dialog))
|
|
||||||
val dialog: Dialog = DialogUtils.getDialog(requireContext(), viewModel)
|
|
||||||
|
|
||||||
val index = viewHolder.bindingAdapterPosition
|
val index = viewHolder.bindingAdapterPosition
|
||||||
if (index < 0 || index >= adapter.currentList.size) {
|
if (index < 0 || index >= adapter.currentList.size) {
|
||||||
Log.e("[Scheduled Conferences] Index is out of bound, can't delete conference info")
|
Log.e("[Scheduled Conferences] Index is out of bound, can't delete conference info")
|
||||||
} else {
|
} else {
|
||||||
viewModel.showCancelButton {
|
|
||||||
adapter.notifyItemChanged(index)
|
|
||||||
dialog.dismiss()
|
|
||||||
}
|
|
||||||
|
|
||||||
viewModel.showDeleteButton(
|
|
||||||
{
|
|
||||||
val deletedConfInfo = adapter.currentList[index]
|
val deletedConfInfo = adapter.currentList[index]
|
||||||
listViewModel.deleteConferenceInfo(deletedConfInfo)
|
showConfInfoDeleteConfirmationDialog(deletedConfInfo, index)
|
||||||
dialog.dismiss()
|
|
||||||
},
|
|
||||||
getString(R.string.dialog_delete)
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog.show()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RecyclerViewSwipeUtils(ItemTouchHelper.LEFT, swipeConfiguration, swipeListener)
|
RecyclerViewSwipeUtils(ItemTouchHelper.LEFT, swipeConfiguration, swipeListener)
|
||||||
|
@ -152,6 +136,25 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
||||||
viewLifecycleOwner
|
viewLifecycleOwner
|
||||||
) {
|
) {
|
||||||
it.consume { data ->
|
it.consume { data ->
|
||||||
|
showConfInfoDeleteConfirmationDialog(data, -1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.setNewConferenceClickListener {
|
||||||
|
navigateToConferenceScheduling()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun deleteItems(indexesOfItemToDelete: ArrayList<Int>) {
|
||||||
|
val list = ArrayList<ScheduledConferenceData>()
|
||||||
|
for (index in indexesOfItemToDelete) {
|
||||||
|
val conferenceData = adapter.currentList[index]
|
||||||
|
list.add(conferenceData)
|
||||||
|
}
|
||||||
|
listViewModel.deleteConferencesInfo(list)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showConfInfoDeleteConfirmationDialog(data: ScheduledConferenceData, index: Int) {
|
||||||
val dialogViewModel =
|
val dialogViewModel =
|
||||||
DialogViewModel(AppUtils.getString(R.string.conference_scheduled_delete_one_dialog))
|
DialogViewModel(AppUtils.getString(R.string.conference_scheduled_delete_one_dialog))
|
||||||
deleteConferenceInfoDialog =
|
deleteConferenceInfoDialog =
|
||||||
|
@ -159,6 +162,9 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
||||||
|
|
||||||
dialogViewModel.showCancelButton(
|
dialogViewModel.showCancelButton(
|
||||||
{
|
{
|
||||||
|
if (index != -1) {
|
||||||
|
adapter.notifyItemChanged(index)
|
||||||
|
}
|
||||||
deleteConferenceInfoDialog?.dismiss()
|
deleteConferenceInfoDialog?.dismiss()
|
||||||
},
|
},
|
||||||
getString(R.string.dialog_cancel)
|
getString(R.string.dialog_cancel)
|
||||||
|
@ -176,18 +182,3 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
||||||
deleteConferenceInfoDialog?.show()
|
deleteConferenceInfoDialog?.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.setNewConferenceClickListener {
|
|
||||||
navigateToConferenceScheduling()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun deleteItems(indexesOfItemToDelete: ArrayList<Int>) {
|
|
||||||
val list = ArrayList<ScheduledConferenceData>()
|
|
||||||
for (index in indexesOfItemToDelete) {
|
|
||||||
val conferenceData = adapter.currentList[index]
|
|
||||||
list.add(conferenceData)
|
|
||||||
}
|
|
||||||
listViewModel.deleteConferencesInfo(list)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue