diff options
author | TAMARA JERINIC <tamara.jerinic@gmail.com> | 2022-11-22 13:10:21 +0100 |
---|---|---|
committer | TAMARA JERINIC <tamara.jerinic@gmail.com> | 2022-11-22 13:10:48 +0100 |
commit | f2350319553504189bf8b4ea9beba6443eefe2c8 (patch) | |
tree | 799f38c216be3fe2193f68291ac18a4e3950e547 | |
parent | 6684a156434f38fd89cefcf5a78acc7bc4d31170 (diff) |
Dodati dijalozi za filtriranje i sortiranje.
8 files changed, 313 insertions, 3 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt index c8ffb90..a840d6b 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt @@ -6,7 +6,10 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Button +import android.widget.EditText import android.widget.ImageButton +import android.widget.Toast import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope @@ -14,6 +17,7 @@ import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.swiperefreshlayout.widget.SwipeRefreshLayout +import com.example.brzodolokacije.Activities.ActivityAddPost import com.example.brzodolokacije.Activities.ChatActivity import com.example.brzodolokacije.Adapters.ShowPostsAdapter import com.example.brzodolokacije.Models.SearchParams @@ -22,6 +26,8 @@ import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.databinding.FragmentShowPostsBinding import com.example.brzodolokacije.paging.SearchPostsViewModel import com.example.brzodolokacije.paging.SearchPostsViewModelFactory +import com.google.android.material.bottomsheet.BottomSheetDialog +import kotlinx.android.synthetic.main.fragment_show_posts.* import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.launch @@ -37,6 +43,8 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { private var swipeRefreshLayout:SwipeRefreshLayout?=null private lateinit var searchPostsViewModel:SearchPostsViewModel private var searchParams:SearchParams?= SearchParams("6375784fe84e2d53df32bf03",1,1) + private lateinit var btnFilter:ImageButton + private lateinit var btnSort:ImageButton override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -107,6 +115,17 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { swipeRefreshLayout?.isRefreshing=true requestToBack(searchParams!!) }) + + btnFilter=rootView.findViewById(R.id.btnSortType) + btnSort=rootView.findViewById(R.id.btnSortDirection) + + btnFilter.setOnClickListener{ + showBottomSheetFilter() + } + + btnSort.setOnClickListener{ + showBottomSheetSort() + } return rootView } @@ -114,4 +133,30 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { requestToBack(searchParams!!) } + + private fun showBottomSheetFilter() { + var bottomSheetDialog: BottomSheetDialog + bottomSheetDialog = BottomSheetDialog(requireContext()) + bottomSheetDialog.setContentView(R.layout.bottom_sheet_filter) + bottomSheetDialog.show() + + var dateFrom=bottomSheetDialog.findViewById<View>(R.id.dateFromBSF)as EditText + var dateTo=bottomSheetDialog.findViewById<View>(R.id.dateToBSF) as EditText + var location=bottomSheetDialog.findViewById<View>(R.id.locationBSF) as EditText + var filter = bottomSheetDialog.findViewById<View>(R.id.btnBSFFilter) as Button + + + filter.setOnClickListener { + //povezati sa back-om + + + } + } + private fun showBottomSheetSort() { + var bottomSheetDialogSort: BottomSheetDialog + bottomSheetDialogSort = BottomSheetDialog(requireContext()) + bottomSheetDialogSort.setContentView(R.layout.bottom_sheet_sort) + bottomSheetDialogSort.show() + + } }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml new file mode 100644 index 0000000..00b22aa --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="#FF093A4C" + android:pathData="M11 18c-0.28 0-0.52-0.1-0.71-0.29C10.09 17.52 10 17.28 10 17c0-0.28 0.1-0.52 0.29-0.71C10.48 16.09 10.72 16 11 16h2c0.28 0 0.52 0.1 0.71 0.29C13.91 16.48 14 16.72 14 17c0 0.28-0.1 0.52-0.29 0.71C13.52 17.91 13.28 18 13 18h-2ZM4 8C3.72 8 3.48 7.9 3.29 7.71 3.09 7.52 3 7.28 3 7c0-0.28 0.1-0.52 0.29-0.71C3.48 6.09 3.72 6 4 6h16c0.28 0 0.52 0.1 0.71 0.29C20.91 6.48 21 6.72 21 7c0 0.28-0.1 0.52-0.29 0.71C20.52 7.91 20.28 8 20 8H4Zm3 5c-0.28 0-0.52-0.1-0.71-0.29C6.09 12.52 6 12.28 6 12c0-0.28 0.1-0.52 0.29-0.71C6.48 11.09 6.72 11 7 11h10c0.28 0 0.52 0.1 0.71 0.29C17.91 11.48 18 11.72 18 12c0 0.28-0.1 0.52-0.29 0.71C17.52 12.91 17.28 13 17 13H7Z"/> +</vector>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml new file mode 100644 index 0000000..4c0c8a5 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:strokeColor="#FF093A4C" + android:strokeWidth="2" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:pathData="M11 18l-2-1-6 3V7l6-3 6 3 6-3v10M9 4v13m6-10v5"/> + <path + android:strokeColor="#FF093A4C" + android:strokeWidth="2" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:pathData="M16.5 20c1.38 0 2.5-1.12 2.5-2.5S17.88 15 16.5 15 14 16.12 14 17.5s1.12 2.5 2.5 2.5Z"/> + <path + android:strokeColor="#FF093A4C" + android:strokeWidth="2" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:pathData="M18.5 19.5L21 22"/> +</vector>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml new file mode 100644 index 0000000..fe93f22 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:strokeColor="#FF093A4C" + android:strokeWidth="1.5" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:pathData="M10 14H2m6-4H2m4-4H2m10 12H2m17 2V4m0 16l3-3m-3 3l-3-3m3-13l3 3m-3-3l-3 3"/> +</vector>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml new file mode 100644 index 0000000..249c654 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/textView7" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="16dp" + android:text="Filteri" + android:textSize="25sp" + android:textStyle="bold" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/textView8" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="16dp" + android:text="@string/datum" + android:textSize="17sp" + android:textStyle="bold" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/textView7" /> + + <EditText + android:id="@+id/dateFromBSF" + android:layout_width="140dp" + android:layout_height="48dp" + android:layout_marginStart="8dp" + android:layout_marginTop="8dp" + android:ems="10" + android:inputType="date" + app:layout_constraintStart_toEndOf="@+id/textView9" + app:layout_constraintTop_toBottomOf="@+id/textView8" + tools:ignore="SpeakableTextPresentCheck" /> + + <TextView + android:id="@+id/textView9" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="20dp" + android:text="@string/od" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/textView8" /> + + <TextView + android:id="@+id/textView10" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="20dp" + android:layout_marginEnd="8dp" + android:text="Do" + app:layout_constraintEnd_toStartOf="@+id/dateToBSF" + app:layout_constraintTop_toBottomOf="@+id/textView8" /> + + <EditText + android:id="@+id/dateToBSF" + android:layout_width="140dp" + android:layout_height="48dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="16dp" + android:ems="10" + android:inputType="date" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@+id/textView8" + tools:ignore="SpeakableTextPresentCheck" /> + + <TextView + android:id="@+id/textView11" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="16dp" + android:text="Lokacija" + android:textSize="17sp" + android:textStyle="bold" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/divider2" /> + + <View + android:id="@+id/divider2" + android:layout_width="409dp" + android:layout_height="1dp" + android:background="?android:attr/listDivider" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/dateFromBSF" /> + + <EditText + android:id="@+id/locationBSF" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="24dp" + android:ems="10" + android:inputType="textPersonName" + app:layout_constraintEnd_toStartOf="@+id/imageView8" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/textView11" + tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> + + <ImageView + android:id="@+id/imageView8" + android:layout_width="50dp" + android:layout_height="40dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="16dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@+id/textView11" + app:srcCompat="@drawable/button_find_on_map" /> + + <View + android:id="@+id/divider4" + android:layout_width="409dp" + android:layout_height="1dp" + android:background="?android:attr/listDivider" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/locationBSF" /> + + <Button + android:id="@+id/btnBSFFilter" + android:layout_width="169dp" + android:layout_height="39dp" + android:layout_marginTop="16dp" + android:layout_marginBottom="24dp" + android:background="@drawable/rounded_cyan_button" + android:text="Primeni" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/divider4" + app:layout_constraintVertical_bias="1.0" + tools:ignore="TouchTargetSizeCheck" /> + +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml new file mode 100644 index 0000000..fb06308 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <RadioGroup + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/textView12"> + + <RadioButton + android:id="@+id/radioButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="12dp" + android:text="Najnovije" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + /> + + <RadioButton + android:id="@+id/radioButton2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:text="Najbolje ocenjeno" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@+id/radioButton4" /> + + <RadioButton + android:id="@+id/radioButton3" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:text="Najstarije" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/radioButton" /> + + <RadioButton + android:id="@+id/radioButton4" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + + android:text="NajviĆĄe pregleda" + app:layout_constraintTop_toBottomOf="@+id/radioButton3" + tools:layout_editor_absoluteX="16dp" /> + </RadioGroup> + + <TextView + android:id="@+id/textView12" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginTop="16dp" + android:text="Sortiraj po" + android:textSize="25sp" + android:textStyle="bold" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml index 6e22456..89a7fa1 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml @@ -52,10 +52,11 @@ android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentRight="true" + android:layout_marginStart="16dp" android:background="@color/white" android:padding="@dimen/component_padding" android:scaleType="centerCrop" - android:src="@drawable/filter" + android:src="@drawable/button_filter" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -63,12 +64,11 @@ android:id="@+id/btnSortDirection" android:layout_width="50dp" android:layout_height="50dp" - android:layout_marginStart="8dp" android:layout_weight="1" android:background="@color/white" android:padding="@dimen/component_padding" android:scaleType="centerCrop" - android:src="@drawable/sort" + android:src="@drawable/button_sort" app:layout_constraintStart_toEndOf="@+id/btnSortType" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml b/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml index fef04ac..b180869 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml @@ -6,6 +6,9 @@ <string name="title_activity_maps">MapsActivity</string> <string name="dodaj_objavu">Dodaj objavu</string> <string name="todo">TODO</string> + <string name="datum">Datum</string> + + <string name="od">Od</string> <!-- example lista tagova, make actual list for app --> |