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 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
|
||||
if (index < 0 || index >= adapter.currentList.size) {
|
||||
Log.e("[Scheduled Conferences] Index is out of bound, can't delete conference info")
|
||||
} else {
|
||||
viewModel.showCancelButton {
|
||||
adapter.notifyItemChanged(index)
|
||||
dialog.dismiss()
|
||||
}
|
||||
|
||||
viewModel.showDeleteButton(
|
||||
{
|
||||
val deletedConfInfo = adapter.currentList[index]
|
||||
listViewModel.deleteConferenceInfo(deletedConfInfo)
|
||||
dialog.dismiss()
|
||||
},
|
||||
getString(R.string.dialog_delete)
|
||||
)
|
||||
showConfInfoDeleteConfirmationDialog(deletedConfInfo, index)
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
}
|
||||
}
|
||||
RecyclerViewSwipeUtils(ItemTouchHelper.LEFT, swipeConfiguration, swipeListener)
|
||||
|
@ -152,6 +136,25 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
|||
viewLifecycleOwner
|
||||
) {
|
||||
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 =
|
||||
DialogViewModel(AppUtils.getString(R.string.conference_scheduled_delete_one_dialog))
|
||||
deleteConferenceInfoDialog =
|
||||
|
@ -159,6 +162,9 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
|||
|
||||
dialogViewModel.showCancelButton(
|
||||
{
|
||||
if (index != -1) {
|
||||
adapter.notifyItemChanged(index)
|
||||
}
|
||||
deleteConferenceInfoDialog?.dismiss()
|
||||
},
|
||||
getString(R.string.dialog_cancel)
|
||||
|
@ -176,18 +182,3 @@ class ScheduledConferencesFragment : MasterFragment<ConferencesScheduledFragment
|
|||
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