package com.ogaclejapan.qiitanium.presentation.view;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;

import com.norbsoft.typefacehelper.TypefaceHelper;
import com.ogaclejapan.qiitanium.R;
import com.ogaclejapan.qiitanium.presentation.activity.TagActivity;
import com.ogaclejapan.qiitanium.presentation.viewmodel.TagViewModel;
import com.ogaclejapan.rx.binding.Rx;
import com.ogaclejapan.rx.binding.RxActions;
import com.ogaclejapan.rx.binding.RxView;

import rx.Subscription;
import rx.subscriptions.Subscriptions;

public class TagListItemView extends AppView<TagViewModel>
    implements View.OnClickListener {

  private Rx<TextView> nameText;

  public TagListItemView(final Context context, final AttributeSet attrs) {
    super(context, attrs);
  }

  @Override
  protected void onViewCreated(final View view) {
    nameText = RxView.findById(view, R.id.list_item_tag_name);

    // Apply custom font
    TypefaceHelper.typeface(nameText.get());

    setOnClickListener(this);
  }

  @Override
  protected Subscription onBind(final TagViewModel item) {
    return Subscriptions.from(
        nameText.bind(item.name(), RxActions.setText())
    );
  }

  @Override
  public void onClick(View v) {
    TagViewModel item = getItem();
    TagActivity.startActivity(getContext(), item.id(), item.name().get());
  }

}