Aggiunto filtro descrizione in gestione Riposizionamento da prod
This commit is contained in:
parent
377950c978
commit
bd3fdd9ab1
@ -15,6 +15,7 @@ import com.annimon.stream.Stream;
|
|||||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
import com.ravikoradiya.liveadapter.Type;
|
import com.ravikoradiya.liveadapter.Type;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -29,6 +30,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
|||||||
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.ISearchableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
@ -42,11 +44,10 @@ import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsIn
|
|||||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.filter.ProdRiposizionamentoDaProdFilterViewModel;
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.filter.ProdRiposizionamentoDaProdFilterViewModel;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
||||||
|
|
||||||
public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements ITitledFragment, ProdRiposizionamentoDaProdViewModel.Listener {
|
public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements ISearchableFragment, ITitledFragment, ProdRiposizionamentoDaProdViewModel.Listener {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ProdRiposizionamentoDaProdViewModel mViewModel;
|
ProdRiposizionamentoDaProdViewModel mViewModel;
|
||||||
@ -57,6 +58,8 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
|||||||
private final Handler mHandler = new Handler();
|
private final Handler mHandler = new Handler();
|
||||||
private final int mInterval = 120 * 1000; //2 minuti
|
private final int mInterval = 120 * 1000; //2 minuti
|
||||||
private int barcodeScannerIstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
|
private AppCompatTextView mAppBarTitle;
|
||||||
|
private String mTextFilter;
|
||||||
|
|
||||||
|
|
||||||
public ProdRiposizionamentoDaProdFragment() {
|
public ProdRiposizionamentoDaProdFragment() {
|
||||||
@ -123,7 +126,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
|||||||
mViewModel.getItemsInventario().observe(getViewLifecycleOwner(), data -> {
|
mViewModel.getItemsInventario().observe(getViewLifecycleOwner(), data -> {
|
||||||
mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE);
|
mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
mFilterViewModel.init(mViewModel.getItemsInventario().getValue());
|
mFilterViewModel.init(getFilteredList(mTextFilter));
|
||||||
this.refreshList(null);
|
this.refreshList(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -254,6 +257,44 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
|||||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSearchEnabled() {
|
||||||
|
mAppBarTitle.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSearchDisabled() {
|
||||||
|
mAppBarTitle.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onQueryTextSubmit(String query) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onQueryTextChange(String newText) {
|
||||||
|
List<ArtsInGiacenzaDTO> originalList = this.mViewModel.getItemsInventario().getValue();
|
||||||
|
if (originalList == null || originalList.isEmpty()) return false;
|
||||||
|
mTextFilter = newText;
|
||||||
|
List<ArtsInGiacenzaDTO> filteredOrders = getFilteredList(newText);
|
||||||
|
|
||||||
|
refreshList(filteredOrders);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<ArtsInGiacenzaDTO> getFilteredList(String newText) {
|
||||||
|
List<ArtsInGiacenzaDTO> filteredOrders = new ArrayList<>();
|
||||||
|
List<ArtsInGiacenzaDTO> originalList = this.mViewModel.getItemsInventario().getValue();
|
||||||
|
if (originalList == null || originalList.isEmpty() || newText == null) return originalList;
|
||||||
|
for (int i = 0; i < originalList.size(); i++) {
|
||||||
|
if (originalList.get(i).getDescrizione().toLowerCase().contains(newText.toLowerCase())) {
|
||||||
|
filteredOrders.add(originalList.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return filteredOrders;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
@ -274,7 +315,8 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||||
titleText.setText(context.getText(R.string.prod_riposizionamento_da_prod_title).toString());
|
mAppBarTitle = titleText;
|
||||||
|
mAppBarTitle.setText(context.getText(R.string.prod_riposizionamento_da_prod_title).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user