refs #5764 modify dayOfSale

This commit is contained in:
Sergio De la torre 2023-09-15 11:10:10 +02:00
parent cfe7a23ccd
commit eed96ea4eb
2 changed files with 82 additions and 64 deletions

View File

@ -10,21 +10,25 @@ import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.feature.diadeventa.model.ItemShelvingSaleDate import es.verdnatura.presentation.view.feature.diadeventa.model.ItemShelvingSaleDate
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Date
class DayOfSaleAdapter ( class DayOfSaleAdapter(
private val items: List<ItemShelvingSaleDate>, private val items: List<ItemShelvingSaleDate>,
private val onPasillerosItemClickListener: OnPasillerosItemClickListener private val onPasillerosItemClickListener: OnPasillerosItemClickListener?
): RecyclerView.Adapter<DayOfSaleAdapter.ItemHolder>() { ) : RecyclerView.Adapter<DayOfSaleAdapter.ItemHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder {
return ItemHolder( return ItemHolder(
ItemShelvingdayofsaleRowBinding.inflate(LayoutInflater.from(parent.context),parent,false) ItemShelvingdayofsaleRowBinding.inflate(
LayoutInflater.from(parent.context),
parent,
false
)
) )
} }
override fun getItemCount() =items.size override fun getItemCount() = items.size
override fun onBindViewHolder(holder: ItemHolder, position: Int) { override fun onBindViewHolder(holder: ItemHolder, position: Int) {
holder.bind(items[position]) holder.bind(items[position])
@ -32,28 +36,39 @@ class DayOfSaleAdapter (
inner class ItemHolder( inner class ItemHolder(
val binding: ItemShelvingdayofsaleRowBinding val binding: ItemShelvingdayofsaleRowBinding
) : RecyclerView.ViewHolder(binding.root){ ) : RecyclerView.ViewHolder(binding.root) {
private val res = binding.root.context.resources private val res = binding.root.context.resources
fun bind(item: ItemShelvingSaleDate) { fun bind(item: ItemShelvingSaleDate) {
binding.apply { binding.apply {
this.item = item this.item = item
val sdf = SimpleDateFormat(res.getString(R.string.dateFormat)) val sdf = SimpleDateFormat(res.getString(R.string.dateFormat))
val currentDate = sdf.format(Date()) val currentDate = sdf.format(Date())
if (currentDate == item.dated){ if (currentDate == item.dated) {
saledate.setBackgroundColor( saledate.setBackgroundColor(
ContextCompat.getColor(historicoDate.context, ContextCompat.getColor(
R.color.verdnatura_pumpkin_orange)) historicoDate.context,
}else{ R.color.verdnatura_pumpkin_orange
)
)
} else {
saledate.setBackgroundColor( saledate.setBackgroundColor(
ContextCompat.getColor(historicoDate.context, ContextCompat.getColor(
R.color.verdnatura_black_5)) historicoDate.context,
R.color.verdnatura_black_5
)
)
} }
historicoDate.setOnClickListener { historicoDate.setOnClickListener {
onPasillerosItemClickListener.onPasillerosItemClickListener( onPasillerosItemClickListener!!.onPasillerosItemClickListener(
PasillerosItemVO(title = res.getString( PasillerosItemVO(
R.string.titleItemSearch)),item.itemFk.toString()) title = res.getString(
} R.string.titleItemConsult
} )
), item.itemFk
)
}
} }
} }
} }
}

View File

@ -1,5 +1,6 @@
package es.verdnatura.presentation.view.feature.diadeventa.fragment package es.verdnatura.presentation.view.feature.diadeventa.fragment
import android.content.Context
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Build import android.os.Build
import android.view.View import android.view.View
@ -9,7 +10,6 @@ import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentItemdayofsaleCardBinding import es.verdnatura.databinding.FragmentItemdayofsaleCardBinding
import es.verdnatura.domain.notNull
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnOptionsSelectedListener import es.verdnatura.presentation.common.OnOptionsSelectedListener
import es.verdnatura.presentation.common.OnPasillerosItemClickListener import es.verdnatura.presentation.common.OnPasillerosItemClickListener
@ -34,6 +34,10 @@ class DayOfSaleFragment(
fun newInstance(entryPoint: String) = DayOfSaleFragment(entryPoint) fun newInstance(entryPoint: String) = DayOfSaleFragment(entryPoint)
} }
override fun onAttach(context: Context) {
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context)
}
override fun getLayoutId(): Int = R.layout.fragment_itemdayofsale_card override fun getLayoutId(): Int = R.layout.fragment_itemdayofsale_card
@ -110,14 +114,12 @@ class DayOfSaleFragment(
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel) { with(viewModel) {
loadItemShelvingSaleDateList.observe(viewLifecycleOwner, Observer { event -> itemShelvingSaleDateList.observe(viewLifecycleOwner, Observer {
event.getContentIfNotHandled().notNull {
binding.splashProgress.visibility = View.GONE binding.splashProgress.visibility = View.GONE
adapter = DayOfSaleAdapter( adapter = DayOfSaleAdapter(
it.list, it.list,
onPasillerosItemClickListener = pasillerosItemClickListener!! onPasillerosItemClickListener = pasillerosItemClickListener!!
) )
binding.itemexpeditionstateRecyclerview.adapter = adapter binding.itemexpeditionstateRecyclerview.adapter = adapter
binding.itemexpeditionstateRecyclerview.layoutManager = binding.itemexpeditionstateRecyclerview.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
@ -139,8 +141,9 @@ class DayOfSaleFragment(
} }
} }
}
}) })
response.observe(viewLifecycleOwner, Observer { response.observe(viewLifecycleOwner, Observer {
if (it.isError) { if (it.isError) {