package it.integry.integrywmsnative.gest.ordini_uscita_elenco;

import java.util.HashMap;

import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterAgenteLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterAutomezzoLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterClienteLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterDepositoLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterPaeseLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterViaggioLayoutView;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;

public class OrdiniUscitaElencoBindings {


    public static final int DEPOSITO_FILTER_ID = 0;
    public static final int VIAGGIO_FILTER_ID = 1;
    public static final int NUM_ORD_FILTER_ID = 2;
    public static final int CLIENTE_FILTER_ID = 3;
    public static final int VETTORE_FILTER_ID = 4;
    public static final int AUTOMEZZO_FILTER_ID = 5;
    public static final int PAESE_FILTER_ID = 6;
    public static final int AGENTE_FILTER_ID = 7;
    public static final int TERM_CONS_FILTER_ID = 8;
    public static final int DATA_CONS_FILTER_ID = 9;
    public static final int GRUPPO_MERC_FILTER_ID = 10;
    public static final int COMMESSA_FILTER_ID = 11;

    public static final HashMap<Integer, FilterChipDTO> AVAILABLE_FILTERS = new HashMap<>() {{
        put(DEPOSITO_FILTER_ID, new FilterChipDTO()
                .setID(DEPOSITO_FILTER_ID)
                .setPosizione(9)
                .setFilterChipText("Deposito")
                .setFilterLayoutView(new FilterDepositoLayoutView()));

        put(VIAGGIO_FILTER_ID, new FilterChipDTO()
                .setID(VIAGGIO_FILTER_ID)
                .setPosizione(2)
                .setFilterChipText("Viaggio")
                .setFilterLayoutView(new FilterViaggioLayoutView()));

        put(NUM_ORD_FILTER_ID, new FilterChipDTO()
                .setID(NUM_ORD_FILTER_ID)
                .setPosizione(0)
                .setFilterChipText("Numero ordine")
                .setFilterLayoutView(new FilterNumeroOrdineLayoutView()));

        put(CLIENTE_FILTER_ID, new FilterChipDTO()
                .setID(CLIENTE_FILTER_ID)
                .setPosizione(1)
                .setFilterChipText("Cliente")
                .setFilterLayoutView(new FilterClienteLayoutView()));

        put(VETTORE_FILTER_ID, new FilterChipDTO()
                .setID(VETTORE_FILTER_ID)
                .setPosizione(4)
                .setFilterChipText("Vettore")
                .setFilterLayoutView(new FilterVettoreLayoutView()));

        put(AUTOMEZZO_FILTER_ID, new FilterChipDTO()
                .setID(AUTOMEZZO_FILTER_ID)
                .setPosizione(6)
                .setFilterChipText("Automezzo")
                .setFilterLayoutView(new FilterAutomezzoLayoutView()));

        put(PAESE_FILTER_ID, new FilterChipDTO()
                .setID(PAESE_FILTER_ID)
                .setPosizione(8)
                .setFilterChipText("Paese")
                .setFilterLayoutView(new FilterPaeseLayoutView()));

        put(AGENTE_FILTER_ID, new FilterChipDTO()
                .setID(AGENTE_FILTER_ID)
                .setPosizione(10)
                .setFilterChipText("Agente")
                .setFilterLayoutView(new FilterAgenteLayoutView()));

        put(TERM_CONS_FILTER_ID, new FilterChipDTO()
                .setID(TERM_CONS_FILTER_ID)
                .setPosizione(5)
                .setFilterChipText("Termini consegna")
                .setFilterLayoutView(new FilterTermConsLayoutView()));

        put(DATA_CONS_FILTER_ID, new FilterChipDTO()
                .setID(DATA_CONS_FILTER_ID)
                .setPosizione(3)
                .setFilterChipText("Data consegna"));

        put(GRUPPO_MERC_FILTER_ID, new FilterChipDTO()
                .setID(GRUPPO_MERC_FILTER_ID)
                .setPosizione(7)
                .setFilterChipText("Gruppo merceologico")
                .setFilterLayoutView(new FilterGruppoMercLayoutView()));

        put(COMMESSA_FILTER_ID, new FilterChipDTO()
                .setID(COMMESSA_FILTER_ID)
                .setPosizione(11)
                .setFilterChipText("Commessa")
                .setFilterLayoutView(new FilterCommessaLayoutView()));
    }};

}
