Implementata nuova UI (nuovo Material Design) per alcuni dialog in Rettifica Giacenze / Versamento Merce.
Implementato dialog per la domanda semplice (Si / No).
This commit is contained in:
@@ -62,6 +62,7 @@ import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.Dialo
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
||||
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||
import it.integry.plugins.barcode_base_library.model.BarcodeType;
|
||||
|
||||
@@ -568,16 +569,31 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
||||
}
|
||||
|
||||
private void posizionaCollo(Runnable onComplete, Runnable onAbort, RunnableArgs<Exception> onFailed) {
|
||||
DialogAskPositionOfLU.makeBase(mContext, mtbColt.get(), mtbDepoPosizione -> {
|
||||
if(mtbDepoPosizione != null && mtbColt.get() != null) {
|
||||
Objects.requireNonNull(mtbColt.get()).setPosizione(mtbDepoPosizione.getPosizione());
|
||||
onComplete.run();
|
||||
} else {
|
||||
onAbort.run();
|
||||
|
||||
DialogYesNo.make(mContext, "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> {
|
||||
|
||||
switch (result){
|
||||
case YES:
|
||||
DialogAskPositionOfLU.makeBase(mContext, mtbColt.get(), mtbDepoPosizione -> {
|
||||
if(mtbDepoPosizione != null && mtbColt.get() != null) {
|
||||
Objects.requireNonNull(mtbColt.get()).setPosizione(mtbDepoPosizione.getPosizione());
|
||||
onComplete.run();
|
||||
} else {
|
||||
onAbort.run();
|
||||
}
|
||||
|
||||
|
||||
}, onFailed).show();
|
||||
break;
|
||||
|
||||
case NO:
|
||||
onAbort.run();
|
||||
break;
|
||||
}
|
||||
|
||||
}).show();
|
||||
|
||||
|
||||
}, onFailed).show();
|
||||
}
|
||||
|
||||
private void onItemEdit(MtbColr mtbColrToEdit, int index) {
|
||||
|
||||
@@ -96,9 +96,11 @@ public class VenditaOrdineInevasoHelper {
|
||||
final PickingObjectDTO currentItem = currentGroup.get(k);
|
||||
final VenditaOrdineInevasoListViewModel.SubItem rowModel = new VenditaOrdineInevasoListViewModel.SubItem();
|
||||
|
||||
String badge1 = "";
|
||||
|
||||
badge1 += !UtilityString.isNullOrEmpty(currentItem.getCodAlis()) ? (currentItem.getCodAlis() + " - ") : "";
|
||||
badge1 += (!UtilityString.isNullOrEmpty(currentItem.getCodArtFor()) ? currentItem.getCodArtFor() : currentItem.getCodMart());
|
||||
|
||||
String badge1 = currentItem.getCodAlis() + " - " + (!UtilityString.isNullOrEmpty(currentItem.getCodArtFor()) ? currentItem.getCodArtFor() : currentItem.getCodMart());
|
||||
rowModel.setBadge1(badge1);
|
||||
|
||||
rowModel.setBadge2(UtilityString.isNullOrEmpty(currentItem.getCodJcom()) ? null : currentItem.getCodJcom());
|
||||
|
||||
@@ -4,9 +4,11 @@ import android.content.Context;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
public class DeactivatableViewPager extends ViewPager {
|
||||
|
||||
private View mCurrentView;
|
||||
|
||||
public DeactivatableViewPager(Context context) {
|
||||
super(context);
|
||||
@@ -25,4 +27,34 @@ public class DeactivatableViewPager extends ViewPager {
|
||||
public boolean onInterceptTouchEvent(MotionEvent event) {
|
||||
return isEnabled() && super.onInterceptTouchEvent(event);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
if (mCurrentView == null) {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
return;
|
||||
}
|
||||
int height = 0;
|
||||
mCurrentView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
|
||||
int h = mCurrentView.getMeasuredHeight();
|
||||
if (h > height) height = h;
|
||||
heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);
|
||||
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
}
|
||||
|
||||
public void measureCurrentView(View currentView) {
|
||||
mCurrentView = currentView;
|
||||
requestLayout();
|
||||
}
|
||||
|
||||
public int measureFragment(View view) {
|
||||
if (view == null)
|
||||
return 0;
|
||||
|
||||
view.measure(0, 0);
|
||||
return view.getMeasuredHeight();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@ package it.integry.integrywmsnative.view.dialogs;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -24,7 +25,7 @@ public class DialogAskLivelloPosizione {
|
||||
private Context mContext;
|
||||
private MtbDepoPosizione mtbDepoPosizione;
|
||||
|
||||
private Dialog mAlert;
|
||||
private Dialog mDialog;
|
||||
|
||||
private RunnableArgs<MtbDepoPosizione> onComplete;
|
||||
private RunnableArgs<Exception> onFailed;
|
||||
@@ -34,7 +35,7 @@ public class DialogAskLivelloPosizione {
|
||||
private boolean completedFLow = false;
|
||||
|
||||
public static void make(Context context, MtbDepoPosizione mtbDepoPosizione, boolean canAbort, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
new DialogAskLivelloPosizione(context, mtbDepoPosizione, canAbort, onComplete, onFailed).mAlert.show();
|
||||
new DialogAskLivelloPosizione(context, mtbDepoPosizione, canAbort, onComplete, onFailed).mDialog.show();
|
||||
}
|
||||
|
||||
|
||||
@@ -48,15 +49,17 @@ public class DialogAskLivelloPosizione {
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||
View currentView = inflater.inflate(R.layout.dialog_ask_livello_of_position, null, false);
|
||||
|
||||
mAlert = new Dialog(mContext);
|
||||
mAlert.setContentView(currentView);
|
||||
mAlert.setCanceledOnTouchOutside(false);
|
||||
mDialog = new Dialog(mContext);
|
||||
mDialog.setContentView(currentView);
|
||||
mDialog.setCanceledOnTouchOutside(false);
|
||||
mDialog.setCancelable(false);
|
||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
mAlert.setOnDismissListener(dialog -> {
|
||||
mDialog.setOnDismissListener(dialog -> {
|
||||
if(!completedFLow) onComplete.run(null);
|
||||
});
|
||||
|
||||
mAlert.setOnShowListener(dialog -> {
|
||||
mDialog.setOnShowListener(dialog -> {
|
||||
|
||||
if(!canAbort) currentView.findViewById(R.id.button_abort).setVisibility(View.GONE);
|
||||
|
||||
@@ -111,7 +114,7 @@ public class DialogAskLivelloPosizione {
|
||||
|
||||
completedFLow = true;
|
||||
onComplete.run(foundPosizione);
|
||||
mAlert.dismiss();
|
||||
mDialog.dismiss();
|
||||
|
||||
|
||||
} else {
|
||||
@@ -142,7 +145,7 @@ public class DialogAskLivelloPosizione {
|
||||
private void onLevelAbort() {
|
||||
completedFLow = true;
|
||||
onComplete.run(null);
|
||||
mAlert.dismiss();
|
||||
mDialog.dismiss();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package it.integry.integrywmsnative.view.dialogs;
|
||||
|
||||
public class DialogConsts {
|
||||
|
||||
public enum Results {
|
||||
YES,
|
||||
NO,
|
||||
ABORT
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,9 @@ import android.content.Context;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -73,6 +76,8 @@ public class DialogAskPositionOfLU {
|
||||
mDialog = new Dialog(mContext);
|
||||
mDialog.setContentView(mBinding.getRoot());
|
||||
mDialog.setCanceledOnTouchOutside(false);
|
||||
mDialog.setCancelable(false);
|
||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
mDialog.setOnShowListener(dialog -> {
|
||||
adapter.getPage(1).findViewById(R.id.button_confirm).setOnClickListener(v -> {
|
||||
|
||||
@@ -3,6 +3,8 @@ package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
||||
import android.content.Context;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import it.integry.integrywmsnative.ui.DeactivatableViewPager;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -25,10 +27,6 @@ public class DialogAskPositionOfLUAdapter extends PagerAdapter {
|
||||
this.mDatasetViews = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mDatasetLayout.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View instantiateItem(ViewGroup container, int position) {
|
||||
@@ -38,6 +36,9 @@ public class DialogAskPositionOfLUAdapter extends PagerAdapter {
|
||||
container.addView(view);
|
||||
this.mDatasetViews.add(view);
|
||||
|
||||
DeactivatableViewPager pager = (DeactivatableViewPager) container;
|
||||
pager.measureCurrentView(view);
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -56,4 +57,10 @@ public class DialogAskPositionOfLUAdapter extends PagerAdapter {
|
||||
return this.mDatasetViews.get(index);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mDatasetLayout.size();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.yes_no;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.databinding.DialogYesNoBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
|
||||
public class DialogYesNo {
|
||||
|
||||
private Dialog currentDialog;
|
||||
|
||||
public static Dialog make(final Context context, final String title, final String description, RunnableArgs<DialogConsts.Results> onDialogDismiss) {
|
||||
return new DialogYesNo(context, title, description, onDialogDismiss).currentDialog;
|
||||
}
|
||||
|
||||
private DialogYesNo(Context context, String title, String description, RunnableArgs<DialogConsts.Results> onDialogDismiss) {
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||
DialogYesNoBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_yes_no, null, false);
|
||||
|
||||
currentDialog = new Dialog(context);
|
||||
|
||||
currentDialog.setContentView(bindings.getRoot());
|
||||
|
||||
currentDialog.setCancelable(false);
|
||||
currentDialog.setCanceledOnTouchOutside(false);
|
||||
currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
bindings.titleText.setText(title);
|
||||
bindings.descriptionText.setText(description);
|
||||
|
||||
bindings.buttonYes.setOnClickListener(v -> {
|
||||
onDialogDismiss.run(DialogConsts.Results.YES);
|
||||
currentDialog.dismiss();
|
||||
});
|
||||
|
||||
bindings.buttonNo.setOnClickListener(v -> {
|
||||
onDialogDismiss.run(DialogConsts.Results.NO);
|
||||
currentDialog.dismiss();
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user