From 8927af8620a3cf3435d67e7fa0ed247ff9df2fa7 Mon Sep 17 00:00:00 2001 From: Bonaventura Daiva Putra Date: Thu, 21 Dec 2023 01:04:02 +0700 Subject: [PATCH 1/3] Penyuluhan --- .idea/deploymentTargetDropDown.xml | 3 - .../JadwalPenyuluhanCreateFragment.kt | 59 +++++ .../posyandu/JadwalPenyuluhanEditFragment.kt | 69 ++++++ .../posyandu/JadwalPenyuluhanFragment.kt | 64 ++++++ .../posyandu/JadwalPenyuluhanViewFragment.kt | 52 +++++ .../com/example/posyandu/PosyanduFragment.kt | 13 +- .../chat_fill0_wght400_grad0_opsz24.xml | 9 + app/src/main/res/layout/card/java.kt | 0 .../res/layout/fragment_jadwal_penyuluhan.xml | 115 ++++++++++ .../fragment_jadwal_penyuluhan_create.xml | 169 +++++++++++++++ .../fragment_jadwal_penyuluhan_edit.xml | 179 +++++++++++++++ .../fragment_jadwal_penyuluhan_view.xml | 126 +++++++++++ .../main/res/layout/fragment_konsultasi.xml | 203 +++++++++++++++++- .../res/layout/fragment_konsultasi_chat.xml | 6 + app/src/main/res/layout/fragment_posyandu.xml | 36 ++-- 15 files changed, 1073 insertions(+), 30 deletions(-) create mode 100644 app/src/main/java/com/example/posyandu/JadwalPenyuluhanCreateFragment.kt create mode 100644 app/src/main/java/com/example/posyandu/JadwalPenyuluhanEditFragment.kt create mode 100644 app/src/main/java/com/example/posyandu/JadwalPenyuluhanFragment.kt create mode 100644 app/src/main/java/com/example/posyandu/JadwalPenyuluhanViewFragment.kt create mode 100644 app/src/main/res/drawable/chat_fill0_wght400_grad0_opsz24.xml create mode 100644 app/src/main/res/layout/card/java.kt create mode 100644 app/src/main/res/layout/fragment_jadwal_penyuluhan.xml create mode 100644 app/src/main/res/layout/fragment_jadwal_penyuluhan_create.xml create mode 100644 app/src/main/res/layout/fragment_jadwal_penyuluhan_edit.xml create mode 100644 app/src/main/res/layout/fragment_jadwal_penyuluhan_view.xml create mode 100644 app/src/main/res/layout/fragment_konsultasi_chat.xml 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..4550e60 --- /dev/null +++ b/app/src/main/java/com/example/posyandu/JadwalPenyuluhanCreateFragment.kt @@ -0,0 +1,59 @@ +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 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_create, + container, + false + ) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + 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() + Snackbar.make(btmBar!!, "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..2bafe9b --- /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() + Snackbar.make(btmBar!!, "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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +