| package org.apache.fineract.ui.adapters |
| |
| |
| import android.content.Context |
| import androidx.appcompat.widget.AppCompatImageView |
| import androidx.recyclerview.widget.RecyclerView |
| import android.view.LayoutInflater |
| import android.view.View |
| import android.view.ViewGroup |
| import android.widget.TextView |
| import kotlinx.android.synthetic.main.item_teller.view.* |
| import org.apache.fineract.R |
| import org.apache.fineract.data.models.teller.Teller |
| import org.apache.fineract.injection.ApplicationContext |
| import org.apache.fineract.utils.DateUtils |
| import org.apache.fineract.utils.StatusUtils |
| import javax.inject.Inject |
| |
| class TellerAdapter @Inject constructor(@ApplicationContext val context: Context) |
| : RecyclerView.Adapter<TellerAdapter.ViewHolder>() { |
| |
| var tellers: List<Teller> = ArrayList() |
| |
| override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { |
| val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_teller, |
| parent, false) |
| return ViewHolder(view) |
| } |
| |
| override fun getItemCount(): Int = tellers.size |
| |
| |
| override fun onBindViewHolder(holder: ViewHolder, position: Int) { |
| |
| val teller = tellers[position] |
| |
| holder.tellerIdentifier.text = teller.tellerAccountIdentifier |
| |
| val modifiedBy = context.getString(R.string.last_modified_by) + context.getString( |
| R.string.colon) + teller.lastModifiedBy |
| holder.tvModifiedBy.text = modifiedBy |
| |
| val lastModifiedOn = context.getString(R.string.last_modified_on) + context.getString( |
| R.string.colon) + |
| DateUtils.getDate(teller.lastModifiedOn, |
| DateUtils.INPUT_DATE_FORMAT, DateUtils.OUTPUT_DATE_FORMAT) |
| |
| StatusUtils.setTellerStatus(teller.state, holder.statusIndicator, context) |
| |
| holder.tvModifiedOn.text = lastModifiedOn |
| holder.withDrawLimit.text = tellers[position].cashdrawLimit.toString() |
| } |
| |
| fun setTellerList(tellers: List<Teller>) { |
| this.tellers = tellers |
| notifyDataSetChanged() |
| } |
| |
| class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { |
| |
| val tellerIdentifier: TextView = itemView.tv_teller_identifier |
| val tvModifiedBy: TextView = itemView.tv_modified_by |
| val tvModifiedOn: TextView = itemView.tv_modified_on |
| val withDrawLimit: TextView = itemView.tv_cashWithdraw_limit |
| val statusIndicator: AppCompatImageView = itemView.iv_status_indicator |
| } |
| } |