Modifiche su dialogInputQuantity
This commit is contained in:
parent
d1f2b808c7
commit
3683062370
@ -9,7 +9,7 @@ public class BindableFloat extends BaseObservable {
|
||||
Float value;
|
||||
|
||||
public Float get() {
|
||||
return value == null ? 0 : value;
|
||||
return get(true);
|
||||
}
|
||||
|
||||
public Float get(boolean defaultIfNull) {
|
||||
|
||||
@ -323,11 +323,8 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
|
||||
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -8,10 +8,17 @@ import android.databinding.DataBindingUtil;
|
||||
import android.databinding.Observable;
|
||||
import android.databinding.ViewDataBinding;
|
||||
import android.graphics.Color;
|
||||
import android.os.SystemClock;
|
||||
import android.support.design.widget.TextInputLayout;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.text.SpannableString;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Button;
|
||||
|
||||
import it.integry.integrywmsnative.BR;
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
@ -19,26 +26,28 @@ import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||
import it.integry.integrywmsnative.view.dialogs.IButtonDialogAction;
|
||||
|
||||
public class DialogInputQuantity {
|
||||
|
||||
private static ColorStateList originalColorStateList = null;
|
||||
|
||||
public static AlertDialog makeBase(Context context, OrdineAccettazioneDTO.Riga articoloItem, final float qtaEvasa, final ISingleValueOperationCallback<QuantityDTO> dialogCallback) {
|
||||
public static AlertDialog makeBase(final Context context, OrdineAccettazioneDTO.Riga articoloItem, final float qtaEvasa, final ISingleValueOperationCallback<QuantityDTO> dialogCallback) {
|
||||
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||
|
||||
ViewDataBinding contentView = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_articolo, null, false);
|
||||
|
||||
TextInputLayout txlInputNumDiCnf = contentView.getRoot().findViewById(R.id.input_num_cnf);
|
||||
TextInputLayout txlInputQtaPerCnf = contentView.getRoot().findViewById(R.id.input_qta_cnf);
|
||||
TextInputLayout txlInputQtaTot = contentView.getRoot().findViewById(R.id.input_qta_tot);
|
||||
final TextInputLayout txlInputNumDiCnf = contentView.getRoot().findViewById(R.id.input_num_cnf);
|
||||
final TextInputLayout txlInputQtaPerCnf = contentView.getRoot().findViewById(R.id.input_qta_cnf);
|
||||
final TextInputLayout txlInputQtaTot = contentView.getRoot().findViewById(R.id.input_qta_tot);
|
||||
|
||||
txlInputNumDiCnf.getEditText().setSelectAllOnFocus(true);
|
||||
txlInputQtaPerCnf.getEditText().setSelectAllOnFocus(true);
|
||||
txlInputQtaTot.getEditText().setSelectAllOnFocus(true);
|
||||
|
||||
|
||||
originalColorStateList = txlInputNumDiCnf.getEditText().getTextColors();
|
||||
|
||||
final QuantityDTO quantityDTO = new QuantityDTO();
|
||||
@ -50,19 +59,43 @@ public class DialogInputQuantity {
|
||||
contentView.setVariable(BR.viewmodel, articoloItem);
|
||||
contentView.setVariable(BR.quantityViewModel, quantityDTO);
|
||||
|
||||
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
|
||||
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
|
||||
.setView(contentView.getRoot())
|
||||
.setPositiveButton(context.getText(R.string.confirm), new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
dialogCallback.onResult(quantityDTO);
|
||||
}
|
||||
})
|
||||
.setPositiveButton(context.getText(R.string.confirm), null)
|
||||
.setNegativeButton(context.getText(R.string.abort), null);
|
||||
|
||||
AlertDialog alert = alertDialog.create();
|
||||
final AlertDialog alert = alertDialog.create();
|
||||
alert.setCanceledOnTouchOutside(false);
|
||||
|
||||
alert.setOnShowListener(new DialogInterface.OnShowListener() {
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
|
||||
txlInputNumDiCnf.getEditText().requestFocus();
|
||||
//txlInputNumDiCnf.getEditText().dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN , 0, 0, 0));
|
||||
//txlInputNumDiCnf.getEditText().dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0));
|
||||
|
||||
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.showSoftInput(txlInputNumDiCnf.getEditText(), InputMethodManager.SHOW_IMPLICIT);
|
||||
|
||||
Button positiveButton = alert.getButton(AlertDialog.BUTTON_POSITIVE);
|
||||
|
||||
positiveButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(quantityDTO.qtaCnf.get() <= 0 || quantityDTO.numCnf.get() <= 0 || quantityDTO.qtaTot.get() <= 0) {
|
||||
showQuantityErrorDialog(context);
|
||||
} else {
|
||||
dialogCallback.onResult(quantityDTO);
|
||||
alert.dismiss();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
return alert;
|
||||
|
||||
}
|
||||
@ -215,4 +248,14 @@ public class DialogInputQuantity {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void showQuantityErrorDialog(Context mContext){
|
||||
|
||||
String errorMessage = mContext.getText(R.string.wrong_quantity_input).toString();
|
||||
|
||||
DialogSimpleMessageHelper.makeErrorDialog(mContext, new SpannableString(errorMessage), null, null).show();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -192,7 +192,8 @@
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/num_pcks"
|
||||
android:gravity="end"
|
||||
app:binding="@{quantityViewModel.numCnf}" />
|
||||
app:binding="@{quantityViewModel.numCnf}" >
|
||||
</android.support.design.widget.TextInputEditText>
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||
<variable
|
||||
name="mtbColr"
|
||||
type="it.integry.integrywmsnative.core.model.MtbColr"/>
|
||||
@ -65,11 +66,11 @@
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@{`Lotto: ` + mtbColr.partitaMag + (mtbColr.getDataScadPartitaS() != null ? `(` + mtbColr.getDataScadPartitaS() + `)` : ``)}"
|
||||
tools:text="Lotto: 030716"
|
||||
android:visibility="@{mtbColr.partitaMag == null ? View.GONE : View.VISIBLE}"/>
|
||||
android:visibility="@{UtilityString.isNullOrEmpty(mtbColr.partitaMag) ? View.GONE : View.VISIBLE}"/>
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
@ -82,4 +82,6 @@
|
||||
|
||||
<string name="saving">Salvataggio</string>
|
||||
<string name="data_saved">Salvataggio completato</string>
|
||||
|
||||
<string name="wrong_quantity_input"><![CDATA[La quantità inserita non è valida]]></string>
|
||||
</resources>
|
||||
@ -90,4 +90,6 @@
|
||||
<string name="saving">Saving</string>
|
||||
<string name="data_saved">Data saved</string>
|
||||
|
||||
<string name="wrong_quantity_input">The quantity entered is not valid, please check it</string>
|
||||
|
||||
</resources>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user