Refactoring dialog filtro accettazione ordini produzione

This commit is contained in:
Giuseppe Scorrano 2021-08-06 15:35:25 +02:00
parent 18b4b08e1b
commit 9033548455
8 changed files with 273 additions and 253 deletions

View File

@ -106,6 +106,8 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearcable
public void onStart() {
super.onStart();
this.fabVisible.set(false);
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
mViewModel.init(codMdep);
}

View File

@ -64,11 +64,7 @@ public class DialogVenditaFiltroAvanzatoView {
private ArrayAdapter<String> arrayAdapterAutomezzo;
private ArrayAdapter<String> arrayAdapterPaese;
private DialogVenditaFiltroAvanzatoViewModel viewModel;
public static AlertDialog make(final Context context, final List<OrdiniUscitaElencoDTO> ordersList, RunnableArgs<DialogVenditaFiltroAvanzatoViewModel> onDismiss) {
return new DialogVenditaFiltroAvanzatoView(context, ordersList, null, onDismiss).currentAlert;
}
private final DialogVenditaFiltroAvanzatoViewModel viewModel;
public static AlertDialog make(final Context context,
final List<OrdiniUscitaElencoDTO> ordersList,
@ -93,8 +89,8 @@ public class DialogVenditaFiltroAvanzatoView {
binding.setView(this);
binding.setViewmodel(viewModel);
initViewModelNew(viewModel);
initView(binding, viewModel);
initViewModel(viewModel);
initView(binding);
currentAlert = alertDialog.create();
currentAlert.setCanceledOnTouchOutside(false);
@ -102,8 +98,6 @@ public class DialogVenditaFiltroAvanzatoView {
currentAlert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
currentAlert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
binding.positiveBtn.setOnClickListener(view -> {
currentAlert.dismiss();
});
@ -119,7 +113,7 @@ public class DialogVenditaFiltroAvanzatoView {
}
private void initView(DialogVenditaFiltroAvanzatoBinding bindings, DialogVenditaFiltroAvanzatoViewModel viewModel) {
private void initView(DialogVenditaFiltroAvanzatoBinding bindings) {
IFiltroOrdiniVendita filtroOrdiniVendita = ClassRouter.getInstance(ClassRouter.PATH.FILTRO_ORDINI_VENDITA);
// bindings.filledExposedDropdownDataCons.setOnFocusChangeListener((v, hasFocus) -> {
@ -192,7 +186,7 @@ public class DialogVenditaFiltroAvanzatoView {
refreshAll();
}
private void initViewModelNew(DialogVenditaFiltroAvanzatoViewModel viewModel) {
private void initViewModel(DialogVenditaFiltroAvanzatoViewModel viewModel) {
viewModel.applyAllTests();
BindableString.registerListener(idViaggio, value -> {

View File

@ -26,7 +26,7 @@ public class DialogVenditaFiltroAvanzatoViewModel {
private List<OrdiniUscitaElencoDTO> initialOrderList;
private MutableLiveData<List<OrdiniUscitaElencoDTO>> currentFilteredOrderList = new MutableLiveData<>();
private final MutableLiveData<List<OrdiniUscitaElencoDTO>> currentFilteredOrderList = new MutableLiveData<>();
public void init(List<OrdiniUscitaElencoDTO> initialList) {
this.initialOrderList = initialList;

View File

@ -38,10 +38,11 @@ import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElenc
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzatoView;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzatoViewModel;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoClienteListModel;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoListModel;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.OrdineProduzioneListAdapter;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
@ -64,7 +65,7 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
private AppCompatTextView mAppBarTitle;
private DialogOrdineProduzioneFiltroAvanzato.DialogOrdineProduzioneFiltroAvanzatoViewModel mAppliedFilterViewModel;
private DialogOrdineProduzioneFiltroAvanzatoViewModel mAppliedFilterViewModel;
public ProdOrdineProduzioneElencoFragment() {
@ -110,6 +111,8 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
public void onStart() {
super.onStart();
this.fabVisible.set(false);
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
mViewModel.init(codMdep);
}
@ -176,9 +179,9 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
if(filteredList != null) {
tmpList = filteredList;
} else if (mAppliedFilterViewModel != null) {
// mAppliedFilterViewModel.init(mViewModel.getOrderList().getValue());
// mAppliedFilterViewModel.applyAllTests();
// tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
mAppliedFilterViewModel.init(mViewModel.getOrderList().getValue());
mAppliedFilterViewModel.applyAllTests();
tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
} else {
tmpList = mViewModel.getOrderList().getValue();
}
@ -228,14 +231,17 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
@Override
public void onFilterClick() {
// DialogOrdineProduzioneFiltroAvanzato.make(getActivity(), mOriginalOrderList, mAppliedFilterViewModel, (filteredOrderList, filter) -> {
// mAppliedFilterViewModel = filter;
//
// if (filteredOrderList != null) {
// refreshList(filteredOrderList);
// }
//
// }).show();
DialogOrdineProduzioneFiltroAvanzatoView.make(
getActivity(),
this.mViewModel.getOrderList().getValue(),
mAppliedFilterViewModel,
filter -> {
mAppliedFilterViewModel = filter;
refreshList(null);
}).show();
}

View File

@ -1,225 +0,0 @@
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog;
import androidx.appcompat.app.AlertDialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;
import androidx.databinding.DataBindingUtil;
import com.annimon.stream.Stream;
import com.annimon.stream.function.Predicate;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogOrdineProduzioneFiltroAvanzatoBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
public class DialogOrdineProduzioneFiltroAvanzato {
private AlertDialog currentAlert;
private Context currentContext;
private RunnableArgss<List<OrdineAccettazioneInevasoDTO>, DialogOrdineProduzioneFiltroAvanzatoViewModel> currentOnFilterDone;
private List<OrdineAccettazioneInevasoDTO> currentOrderList;
private List<OrdineAccettazioneInevasoDTO> currentFilteredOrderList;
private ArrayAdapter<String> arrayAdapterNumOrds;
private ArrayAdapter<String> arrayAdapterCodJcoms;
private Predicate<OrdineAccettazioneInevasoDTO> currentNumOrdsPredicate = null;
private Predicate<OrdineAccettazioneInevasoDTO> currentCodJcomsPredicate = null;
public static AlertDialog make(final Context context,
final List<OrdineAccettazioneInevasoDTO> ordersList,
DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel,
RunnableArgss<List<OrdineAccettazioneInevasoDTO>, DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) {
return new DialogOrdineProduzioneFiltroAvanzato(context, ordersList, baseViewModel, onDismiss).currentAlert;
}
private DialogOrdineProduzioneFiltroAvanzato(final Context context, final List<OrdineAccettazioneInevasoDTO> ordersList, DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel, RunnableArgss<List<OrdineAccettazioneInevasoDTO>, DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) {
currentContext = context;
currentOrderList = ordersList;
currentOnFilterDone = onDismiss;
DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel = baseViewModel != null ? baseViewModel : new DialogOrdineProduzioneFiltroAvanzatoViewModel();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
DialogOrdineProduzioneFiltroAvanzatoBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_ordine_produzione_filtro_avanzato, null, false);
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
.setView(binding.getRoot());
binding.setViewmodel(viewModel);
initViewModelNew(viewModel, binding);
initView(binding, viewModel);
currentAlert = alertDialog.create();
currentAlert.setCanceledOnTouchOutside(false);
currentAlert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
currentAlert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
binding.positiveBtn.setOnClickListener(view -> {
currentAlert.dismiss();
});
binding.neutralBtn.setOnClickListener(view -> {
resetAll(viewModel);
});
currentAlert.setOnDismissListener(dialogInterface -> {
if(currentOnFilterDone != null) currentOnFilterDone.run(currentFilteredOrderList, viewModel);
});
refreshList();
}
private void resetAll(DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel) {
viewModel.numOrds.set(null);
viewModel.codJcoms.set(null);
}
private void initView(DialogOrdineProduzioneFiltroAvanzatoBinding bindings, DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel) {
arrayAdapterNumOrds = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
arrayAdapterNumOrds.addAll(getAvailableNumOrds(false));
bindings.filledExposedDropdownNumOrds.setAdapter(arrayAdapterNumOrds);
bindings.filledExposedDropdownNumOrds.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
arrayAdapterCodJcoms = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
arrayAdapterCodJcoms.addAll(getAvailableCodJcoms(false));
bindings.filledExposedDropdownCodJcoms.setAdapter(arrayAdapterCodJcoms);
bindings.filledExposedDropdownCodJcoms.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
viewModel.numOrds.refresh();
viewModel.codJcoms.refresh();
}
private void initViewModelNew(DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel, DialogOrdineProduzioneFiltroAvanzatoBinding bindings) {
BindableString.registerListener(viewModel.numOrds, value -> {
if(UtilityString.isNullOrEmpty(value)) currentNumOrdsPredicate = null;
else {
String[] numOrdsSplitted = value.split("[,\\ ]");
try{
List<Integer> numOrdsInteger = Stream.of(numOrdsSplitted)
.filter(x -> !UtilityString.isNullOrEmpty(x))
.map(Integer::parseInt).toList();
currentNumOrdsPredicate = o -> numOrdsInteger.contains(o.getNumero());
} catch (NumberFormatException ex) {
currentNumOrdsPredicate = null;
}
}
refreshList();
arrayAdapterCodJcoms.clear();
arrayAdapterCodJcoms.addAll(getAvailableCodJcoms(true));
});
BindableString.registerListener(viewModel.codJcoms, value -> {
if(UtilityString.isNullOrEmpty(value)) currentCodJcomsPredicate = null;
else {
String[] codJcomsSplitted = value.split("[,\\ ]");
try{
List<String> codJcoms = Stream.of(codJcomsSplitted)
.filter(x -> !UtilityString.isNullOrEmpty(x)).toList();
currentCodJcomsPredicate = o -> codJcoms.contains(o.getCodJcom());
} catch (NumberFormatException ex) {
currentCodJcomsPredicate = null;
}
}
refreshList();
arrayAdapterNumOrds.clear();
arrayAdapterNumOrds.addAll(getAvailableNumOrds(true));
});
}
private List<String> getAvailableNumOrds(boolean skipRecalc) {
if(currentCodJcomsPredicate == null){
currentFilteredOrderList = currentOrderList;
} else
if(!skipRecalc){
Stream<OrdineAccettazioneInevasoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x ->
(currentCodJcomsPredicate == null || (currentCodJcomsPredicate.test(x)))
);
currentFilteredOrderList = tmpStream.toList();
}
return Stream.of(currentFilteredOrderList).map(x -> x.getNumero().toString()).distinct().withoutNulls().toList();
}
private List<String> getAvailableCodJcoms(boolean skipRecalc) {
if(currentNumOrdsPredicate == null){
currentFilteredOrderList = currentOrderList;
} else
if(!skipRecalc){
Stream<OrdineAccettazioneInevasoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x)))
);
currentFilteredOrderList = tmpStream.toList();
}
return Stream.of(currentFilteredOrderList).map(OrdineAccettazioneInevasoDTO::getCodJcom).distinct().withoutNulls().toList();
}
private void refreshList() {
if (currentNumOrdsPredicate == null && currentCodJcomsPredicate == null) {
currentFilteredOrderList = currentOrderList;
} else {
Stream<OrdineAccettazioneInevasoDTO> tmpStream = Stream.of(currentOrderList)
.filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
(currentCodJcomsPredicate == null || (currentCodJcomsPredicate.test(x)))
);
currentFilteredOrderList = tmpStream.toList();
}
}
public class DialogOrdineProduzioneFiltroAvanzatoViewModel {
public BindableString numOrds = new BindableString();
public BindableString codJcoms = new BindableString();
}
}

View File

@ -0,0 +1,164 @@
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;
import androidx.appcompat.app.AlertDialog;
import androidx.databinding.DataBindingUtil;
import com.annimon.stream.Stream;
import java.util.List;
import java.util.Objects;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.databinding.DialogOrdineProduzioneFiltroAvanzatoBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
public class DialogOrdineProduzioneFiltroAvanzatoView {
private AlertDialog currentAlert;
private Context currentContext;
private RunnableArgs<DialogOrdineProduzioneFiltroAvanzatoViewModel> currentOnFilterDone;
public BindableString numOrds = new BindableString();
public BindableString codJcoms = new BindableString();
private ArrayAdapter<String> arrayAdapterNumOrds;
private ArrayAdapter<String> arrayAdapterCodJcoms;
private DialogOrdineProduzioneFiltroAvanzatoViewModel mViewModel;
public static AlertDialog make(final Context context,
final List<OrdineAccettazioneInevasoDTO> ordersList,
DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel,
RunnableArgs<DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) {
return new DialogOrdineProduzioneFiltroAvanzatoView(context, ordersList, baseViewModel, onDismiss).currentAlert;
}
private DialogOrdineProduzioneFiltroAvanzatoView(final Context context, final List<OrdineAccettazioneInevasoDTO> ordersList, DialogOrdineProduzioneFiltroAvanzatoViewModel baseViewModel, RunnableArgs<DialogOrdineProduzioneFiltroAvanzatoViewModel> onDismiss) {
currentContext = context;
currentOnFilterDone = onDismiss;
mViewModel = baseViewModel != null ? baseViewModel : new DialogOrdineProduzioneFiltroAvanzatoViewModel();
mViewModel.init(ordersList);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
DialogOrdineProduzioneFiltroAvanzatoBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_ordine_produzione_filtro_avanzato, null, false);
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
.setView(binding.getRoot());
binding.setView(this);
binding.setViewmodel(mViewModel);
initViewModel(mViewModel);
initView(binding);
currentAlert = alertDialog.create();
currentAlert.setCanceledOnTouchOutside(false);
currentAlert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
currentAlert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
binding.positiveBtn.setOnClickListener(view -> {
currentAlert.dismiss();
});
binding.neutralBtn.setOnClickListener(view -> {
resetAll();
});
currentAlert.setOnDismissListener(dialogInterface -> {
if(currentOnFilterDone != null) currentOnFilterDone.run(mViewModel);
});
}
private void initView(DialogOrdineProduzioneFiltroAvanzatoBinding bindings) {
arrayAdapterNumOrds = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
arrayAdapterNumOrds.addAll(getAvailableNumOrds(false));
bindings.filledExposedDropdownNumOrds.setAdapter(arrayAdapterNumOrds);
bindings.filledExposedDropdownNumOrds.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
arrayAdapterCodJcoms = new ArrayAdapter(currentContext, R.layout.dialog_vendita_filtro_avanzato__single_item);
arrayAdapterCodJcoms.addAll(getAvailableCodJcoms(false));
bindings.filledExposedDropdownCodJcoms.setAdapter(arrayAdapterCodJcoms);
bindings.filledExposedDropdownCodJcoms.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
refreshAll();
}
private void initViewModel(DialogOrdineProduzioneFiltroAvanzatoViewModel viewModel) {
viewModel.applyAllTests();
BindableString.registerListener(numOrds, value -> {
viewModel.setNumOrdFilter(value);
viewModel.applyAllTests();
refreshArrayAdapter(arrayAdapterCodJcoms, getAvailableCodJcoms(true));
});
BindableString.registerListener(codJcoms, value -> {
viewModel.setCodJcomFilter(value);
viewModel.applyAllTests();
refreshArrayAdapter(arrayAdapterNumOrds, getAvailableNumOrds(true));
});
}
private void refreshArrayAdapter(ArrayAdapter<String> arrayAdapter, List<String> inputList) {
arrayAdapter.clear();
arrayAdapter.addAll(inputList);
arrayAdapter.notifyDataSetChanged();
}
private List<String> getAvailableNumOrds(boolean skipRecalc) {
return Stream.of(Objects.requireNonNull(mViewModel.getMutableFilteredOrderList().getValue()))
.map(x -> x.getNumero().toString())
.distinct()
.withoutNulls()
.sorted()
.toList();
}
private List<String> getAvailableCodJcoms(boolean skipRecalc) {
return Stream.of(Objects.requireNonNull(mViewModel.getMutableFilteredOrderList().getValue()))
.map(OrdineAccettazioneInevasoDTO::getCodJcom)
.distinct()
.withoutNulls()
.sorted()
.toList();
}
public void refreshAll() {
numOrds.refresh();
codJcoms.refresh();
}
public void resetAll() {
numOrds.set(null);
codJcoms.set(null);
}
}

View File

@ -0,0 +1,76 @@
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog;
import androidx.lifecycle.MutableLiveData;
import com.annimon.stream.Stream;
import com.annimon.stream.function.Predicate;
import java.util.List;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
public class DialogOrdineProduzioneFiltroAvanzatoViewModel {
private Predicate<OrdineAccettazioneInevasoDTO> currentNumOrdsPredicate = null;
private Predicate<OrdineAccettazioneInevasoDTO> currentCodJcomsPredicate = null;
private List<OrdineAccettazioneInevasoDTO> initialOrderList;
private final MutableLiveData<List<OrdineAccettazioneInevasoDTO>> currentFilteredOrderList = new MutableLiveData<>();
public void init(List<OrdineAccettazioneInevasoDTO> initialList) {
this.initialOrderList = initialList;
this.currentFilteredOrderList.setValue(this.initialOrderList);
}
public MutableLiveData<List<OrdineAccettazioneInevasoDTO>> getMutableFilteredOrderList() {
return this.currentFilteredOrderList;
}
public void setNumOrdFilter(String numOrds) {
if(UtilityString.isNullOrEmpty(numOrds)) currentNumOrdsPredicate = null;
else {
String[] numOrdsSplitted = numOrds.split("[,\\ ]");
try{
List<Integer> numOrdsInteger = Stream.of(numOrdsSplitted)
.filter(x -> !UtilityString.isNullOrEmpty(x))
.map(Integer::parseInt).toList();
currentNumOrdsPredicate = o -> numOrdsInteger.contains(o.getNumero());
} catch (NumberFormatException ex) {
currentNumOrdsPredicate = null;
}
}
}
public void setCodJcomFilter(String codJcom) {
if(UtilityString.isNullOrEmpty(codJcom)) currentCodJcomsPredicate = null;
else {
currentCodJcomsPredicate = o -> o.getCodJcom().toLowerCase().equalsIgnoreCase(codJcom);
}
}
public void applyAllTests() {
List<OrdineAccettazioneInevasoDTO> returnList = null;
if (currentNumOrdsPredicate == null &&
currentCodJcomsPredicate == null
) {
returnList = this.initialOrderList;
} else {
Stream<OrdineAccettazioneInevasoDTO> tmpStream = Stream.of(this.initialOrderList)
.filter(x ->
(currentNumOrdsPredicate == null || (currentNumOrdsPredicate.test(x))) &&
(currentCodJcomsPredicate == null || (currentCodJcomsPredicate.test(x)))
);
returnList = tmpStream.toList();
}
this.currentFilteredOrderList.setValue(returnList);
}
}

View File

@ -7,7 +7,10 @@
<data>
<variable
name="viewmodel"
type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato.DialogOrdineProduzioneFiltroAvanzatoViewModel" />
type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzatoViewModel" />
<variable
name="view"
type="it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzatoView" />
</data>
@ -55,7 +58,7 @@
android:inputType="number|text"
android:singleLine="true"
android:ellipsize="end"
app:binding="@{viewmodel.numOrds}"/>
app:binding="@{view.numOrds}"/>
</com.google.android.material.textfield.TextInputLayout>
@ -76,7 +79,7 @@
android:inputType="text"
android:singleLine="true"
android:ellipsize="end"
app:binding="@{viewmodel.codJcoms}"/>
app:binding="@{view.codJcoms}"/>
</com.google.android.material.textfield.TextInputLayout>