Skip to content
Snippets Groups Projects
Commit acfe12d7 authored by Taras's avatar Taras
Browse files

Implement fragment part

parent b30ccb91
No related branches found
No related tags found
No related merge requests found
package org.futo.circles.core.workspace package org.futo.circles.core.workspace
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.DividerItemDecoration
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import org.futo.circles.core.R
import org.futo.circles.core.databinding.DialogFragmentConfigureWorkspaceBinding import org.futo.circles.core.databinding.DialogFragmentConfigureWorkspaceBinding
import org.futo.circles.core.extensions.observeData
import org.futo.circles.core.extensions.observeResponse
import org.futo.circles.core.extensions.showError
import org.futo.circles.core.fragment.BaseFullscreenDialogFragment import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
import org.futo.circles.core.fragment.HasLoadingState
import org.futo.circles.core.workspace.list.WorkspaceTasksListAdapter
@AndroidEntryPoint @AndroidEntryPoint
class ConfigureWorkspaceDialogFragment : class ConfigureWorkspaceDialogFragment :
BaseFullscreenDialogFragment(DialogFragmentConfigureWorkspaceBinding::inflate) { BaseFullscreenDialogFragment(DialogFragmentConfigureWorkspaceBinding::inflate),
HasLoadingState {
override val fragment: Fragment = this
private val viewModel by viewModels<ConfigureWorkspaceViewModel>() private val viewModel by viewModels<ConfigureWorkspaceViewModel>()
private val binding by lazy { private val binding by lazy {
getBinding() as DialogFragmentConfigureWorkspaceBinding getBinding() as DialogFragmentConfigureWorkspaceBinding
} }
private val tasksAdapter by lazy {
WorkspaceTasksListAdapter { viewModel.onOptionalTaskSelectionChanged(it) }
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
...@@ -28,12 +38,29 @@ class ConfigureWorkspaceDialogFragment : ...@@ -28,12 +38,29 @@ class ConfigureWorkspaceDialogFragment :
} }
private fun setupViews() { private fun setupViews() {
with(binding) {
rvWorkspaceTasks.apply {
adapter = tasksAdapter
addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
}
btbCreate.setOnClickListener {
startLoading(btbCreate)
viewModel.createWorkspace()
}
}
} }
private fun setupObservers() { private fun setupObservers() {
viewModel.tasksLiveData.observeData(this) {
tasksAdapter.submitList(it)
}
viewModel.workspaceResultLiveData.observeResponse(this,
success = {
},
error = {
showError(it)
binding.btbCreate.setText(getString(R.string.retry))
})
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment