diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoBindings.java b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoBindings.java index 2b93d181..8e64395a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoBindings.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoBindings.java @@ -32,55 +32,66 @@ public class OrdiniUscitaElencoBindings { public static final HashMap 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())); }}; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java index c1198afa..7285449f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java @@ -20,6 +20,7 @@ import com.google.android.material.datepicker.MaterialDatePicker; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.Objects; import javax.inject.Inject; @@ -261,14 +262,16 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF mAppliedFilterViewModel.getCurrentDataConsPredicate().addOnPropertyChangedCallback(onPredicateChanged); mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(onPredicateChanged); - for (var filterChipDTO : OrdiniUscitaElencoBindings.AVAILABLE_FILTERS.entrySet()) { + List filterList = Stream.of(OrdiniUscitaElencoBindings.AVAILABLE_FILTERS.entrySet()).map(Map.Entry::getValue).sortBy(FilterChipDTO::getPosizione).toList(); + + for (FilterChipDTO filterChipDTO : filterList){ FilterChipView filterChipView = new FilterChipView( requireActivity(), - filterChipDTO.getValue().getFilterChipText(), - v -> initBottomSheetDialogFilter(filterChipDTO.getValue())); + filterChipDTO.getFilterChipText(), + v -> initBottomSheetDialogFilter(filterChipDTO)); - switch (filterChipDTO.getKey()) { + switch (filterChipDTO.getID()) { case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID: mAppliedFilterViewModel.getCurrentDepositoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() { @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipDTO.java b/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipDTO.java index 78572dfb..73c74bd8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipDTO.java @@ -3,6 +3,7 @@ package it.integry.integrywmsnative.ui.filter_chips; public class FilterChipDTO { private int ID; + private int posizione; private String filterChipText; private FilterLayoutView filterLayoutView; @@ -32,4 +33,13 @@ public class FilterChipDTO { this.filterLayoutView = filterLayoutView; return this; } + + public int getPosizione() { + return posizione; + } + + public FilterChipDTO setPosizione(int posizione) { + this.posizione = posizione; + return this; + } }