package com.bigfish.salecenter.ui.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.EditorInfo;

import com.bigfish.salecenter.R;
import com.bigfish.salecenter.adapter.SaleOrderAdapter;
import com.bigfish.salecenter.adapter.SaleProductAdapter;
import com.bigfish.salecenter.databinding.FragmentCommonSaleBinding;
import com.bigfish.salecenter.databinding.ItemSaleOrderBinding;
import com.bigfish.salecenter.databinding.ItemSaleProductBinding;
import com.bigfish.salecenter.model.OrdersBean;
import com.bigfish.salecenter.model.ProductListBean;
import com.bigfish.salecenter.presenter.saleorder.SaleOrderPresent;
import com.bigfish.salecenter.presenter.saleproduct.SaleProductPresent;
import com.bigfish.salecenter.ui.activity.ProductDetailActivity;
import com.bigfish.salecenter.ui.activity.SaleOrderDetailActivity;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.common.MyTextWatcher;
import com.dayu.utils.CommonUtils;
import com.dayu.widgets.listener.OnItemClickListener;

/**
 * Created by mReturn
 * on 2020/2/12
 **/
public class SaleOrderFragment extends BaseFragment<SaleOrderPresent,FragmentCommonSaleBinding> {
    private int type; //1.销售中 2.已完成
    SaleOrderAdapter mAdapter;

    public static SaleOrderFragment newInstance(int type) {
        Bundle args = new Bundle();
        args.putInt("type",type);
        SaleOrderFragment fragment = new SaleOrderFragment();
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void setPresenter() {
        mBind.setPresenter(mPresenter);
    }

    @Override
    protected void lazyLoad() {
        super.lazyLoad();
        mPresenter.refresh();
    }


    @Override
    public void initView() {
        Bundle bundle = getArguments();
        type = bundle.getInt("type");
        mPresenter.setType(type);
//        mBind.edtSeacher.setHint(mActivity.getString(R.string.input_sale_order)+type);
        initSearchView();

        mAdapter = new SaleOrderAdapter(true,type);
        mAdapter.setViewType(R.layout.item_sale_order);
        mBind.recyclerView.setAdapter(mAdapter);

        mBind.recyclerView.setOnItemClickListener((OnItemClickListener<OrdersBean, ItemSaleOrderBinding>) (item, bind) -> {
            Intent intent = new Intent(mActivity,SaleOrderDetailActivity.class);
            intent.putExtra("id",item.getId());
            startActivity(intent);
        });
    }

    private void initSearchView() {
        mBind.edtSeacher.setHint(mActivity.getString(R.string.input_sale_order));
        mBind.edtSeacher.addTextChangedListener(new MyTextWatcher(){
            @Override
            public void afterTextChanged(Editable s) {
                super.afterTextChanged(s);
                if (s.toString().trim().length()>0)
                    mBind.tvCancel.setVisibility(View.VISIBLE);
            }
        });

        mBind.edtSeacher.setOnEditorActionListener((v, actionId, event) -> {
            String str = mBind.edtSeacher.getText().toString();
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                if (str.length()>0){
                    mPresenter.keyStr = mBind.edtSeacher.getText().toString();
                    mPresenter.refresh();
                    CommonUtils.hideSoftInput(mActivity);
                    return true;
                }
            }
            return false;
        });

        mBind.tvCancel.setOnClickListener(view -> {
            mBind.edtSeacher.setText("");
            mBind.tvCancel.setVisibility(View.GONE);
            CommonUtils.hideSoftInput(mActivity);
            if (!TextUtils.isEmpty(mPresenter.keyStr)){
                mPresenter.keyStr = "";
                mPresenter.refresh();
            }
        });
    }


    @Override
    public int getLayoutId() {
        return R.layout.fragment_common_sale;
    }
}