diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 9c96b2b..0c0c338 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -2,9 +2,6 @@ - - - diff --git a/app/src/main/java/com/example/posyandu/JadwalPenyuluhanCreateFragment.kt b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanCreateFragment.kt new file mode 100644 index 0000000..f3664cc --- /dev/null +++ b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanCreateFragment.kt @@ -0,0 +1,55 @@ +package com.example.posyandu + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.activity.OnBackPressedCallback +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentTransaction +import com.google.android.material.bottomnavigation.BottomNavigationView +import com.google.android.material.floatingactionbutton.FloatingActionButton +import com.google.android.material.snackbar.Snackbar + +class JadwalPenyuluhanCreateFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?, + ): View? { + // Inflate the layout for this fragment + return inflater.inflate( + R.layout.fragment_jadwal_penyuluhan_create, + container, + false + ) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + activity?.onBackPressedDispatcher?.addCallback( + viewLifecycleOwner, + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + // in here you can do logic when backPress is clicked + parentFragmentManager.popBackStack() + } + } + ) + val btmBar = activity?.findViewById(R.id.bottom_navigation) + val btnTambah: FloatingActionButton = view.findViewById(R.id.btn_tambah) + + btnTambah.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanViewFragment()) + .addToBackStack(null) + .commit() + btmBar?.let { Snackbar.make(it, "Jadwal berhasil dibuat", Snackbar.LENGTH_SHORT) + .setAnchorView(btmBar) + .show()} + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/posyandu/JadwalPenyuluhanEditFragment.kt b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanEditFragment.kt new file mode 100644 index 0000000..f69d324 --- /dev/null +++ b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanEditFragment.kt @@ -0,0 +1,69 @@ +package com.example.posyandu + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import androidx.activity.OnBackPressedCallback +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentTransaction +import com.google.android.material.bottomnavigation.BottomNavigationView +import com.google.android.material.snackbar.Snackbar + +class JadwalPenyuluhanEditFragment : Fragment() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + activity?.onBackPressedDispatcher?.addCallback( + this, + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + // in here you can do logic when backPress is clicked + parentFragmentManager.popBackStack() + } + } + ) + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?, + ): View? { + // Inflate the layout for this fragment + return inflater.inflate( + R.layout.fragment_jadwal_penyuluhan_edit, + container, + false + ) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val simpan: Button = view.findViewById(R.id.btn_simpan) + val del: Button = view.findViewById(R.id.btn_del) + val btmBar = activity?.findViewById(R.id.bottom_navigation) + + + simpan.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanViewFragment()) + .commit() + btmBar?.let { Snackbar.make(it, "Jadwal berhasil dibuat", Snackbar.LENGTH_SHORT) + .setAnchorView(btmBar) + .show()} + } + del.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanFragment()) + .commit() + Snackbar.make(btmBar!!, "Jadwal berhasil dihapus", Snackbar.LENGTH_SHORT) + .setAnchorView(btmBar) + .show() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/posyandu/JadwalPenyuluhanFragment.kt b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanFragment.kt new file mode 100644 index 0000000..f806af8 --- /dev/null +++ b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanFragment.kt @@ -0,0 +1,64 @@ +package com.example.posyandu + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.activity.OnBackPressedCallback +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentTransaction +import com.google.android.material.card.MaterialCardView +import com.google.android.material.floatingactionbutton.FloatingActionButton + +class JadwalPenyuluhanFragment : Fragment() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + activity?.onBackPressedDispatcher?.addCallback( + this, + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + // in here you can do logic when backPress is clicked + parentFragmentManager.popBackStack() + } + } + ) + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?, + ): View? { + // Inflate the layout for this fragment + return inflater.inflate( + R.layout.fragment_jadwal_penyuluhan, + container, + false + ) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val card: MaterialCardView = view.findViewById(R.id.card_jadwal_1) + val btnTambah: FloatingActionButton = view.findViewById(R.id.btn_tambah) + + + card.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanViewFragment()) + .addToBackStack(null) + .commit() + } + + btnTambah.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanCreateFragment()) + .addToBackStack(null) + .commit() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/posyandu/JadwalPenyuluhanViewFragment.kt b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanViewFragment.kt new file mode 100644 index 0000000..be87d31 --- /dev/null +++ b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanViewFragment.kt @@ -0,0 +1,52 @@ +package com.example.posyandu + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.activity.OnBackPressedCallback +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentTransaction +import com.google.android.material.floatingactionbutton.FloatingActionButton + +class JadwalPenyuluhanViewFragment : Fragment() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + activity?.onBackPressedDispatcher?.addCallback( + this, + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + // in here you can do logic when backPress is clicked + parentFragmentManager.popBackStack() + } + } + ) + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?, + ): View? { + // Inflate the layout for this fragment + return inflater.inflate( + R.layout.fragment_jadwal_penyuluhan_view, + container, + false + ) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val edit: FloatingActionButton = view.findViewById(R.id.btn_edit) + + edit.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanEditFragment()) + .addToBackStack(null) + .commit() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/posyandu/PosyanduFragment.kt b/app/src/main/java/com/example/posyandu/PosyanduFragment.kt index 8e87194..728bd7d 100644 --- a/app/src/main/java/com/example/posyandu/PosyanduFragment.kt +++ b/app/src/main/java/com/example/posyandu/PosyanduFragment.kt @@ -48,6 +48,7 @@ class PosyanduFragment : Fragment() { val btnSettings: Button = view.findViewById(R.id.btn_settings) val cardJadwalPosyandu: MaterialCardView = view.findViewById(R.id.card_jadwal_posyandu) + val cardJadwalPenyuluhan: MaterialCardView = view.findViewById(R.id.card_jadwal_penyuluhan) val cardRemaja: MaterialCardView = view.findViewById(R.id.card_remaja) val btnInput: ExtendedFloatingActionButton = view.findViewById(R.id.btn_input) @@ -56,10 +57,6 @@ class PosyanduFragment : Fragment() { } cardJadwalPosyandu.setOnClickListener { -// val fragmentTransaction = requireActivity().supportFragmentManager.beginTransaction() -// fragmentTransaction.replace(R.id.fragment_container, JadwalPosyanduFragment()) -// fragmentTransaction.addToBackStack(null) // Add transaction to back stack -// fragmentTransaction.commit() requireActivity().supportFragmentManager .beginTransaction() .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) @@ -67,6 +64,14 @@ class PosyanduFragment : Fragment() { .addToBackStack(null) .commit() } + cardJadwalPenyuluhan.setOnClickListener { + requireActivity().supportFragmentManager + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.fragment_container, JadwalPenyuluhanFragment()) + .addToBackStack(null) + .commit() + } cardRemaja.setOnClickListener { // Try to find an existing instance of DaftarRemajaFragment diff --git a/app/src/main/res/drawable/chat_fill0_wght400_grad0_opsz24.xml b/app/src/main/res/drawable/chat_fill0_wght400_grad0_opsz24.xml new file mode 100644 index 0000000..ec9b3a7 --- /dev/null +++ b/app/src/main/res/drawable/chat_fill0_wght400_grad0_opsz24.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/card/java.kt b/app/src/main/res/layout/card/java.kt new file mode 100644 index 0000000..e69de29 diff --git a/app/src/main/res/layout/fragment_jadwal_penyuluhan.xml b/app/src/main/res/layout/fragment_jadwal_penyuluhan.xml new file mode 100644 index 0000000..aaafc80 --- /dev/null +++ b/app/src/main/res/layout/fragment_jadwal_penyuluhan.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_jadwal_penyuluhan_create.xml b/app/src/main/res/layout/fragment_jadwal_penyuluhan_create.xml new file mode 100644 index 0000000..3e80997 --- /dev/null +++ b/app/src/main/res/layout/fragment_jadwal_penyuluhan_create.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +