[Documenti interni]

gestito annullamento selezione righe da modificare
This commit is contained in:
Valerio Castellana 2023-03-28 19:29:52 +02:00
parent 28501c5509
commit ab6eeb91a6

View File

@ -26,7 +26,9 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.databinding.DialogSelectDocRowsBinding; import it.integry.integrywmsnative.databinding.DialogSelectDocRowsBinding;
import it.integry.integrywmsnative.databinding.DialogSelectDocRowsItemModelBinding; import it.integry.integrywmsnative.databinding.DialogSelectDocRowsItemModelBinding;
/** @noinspection rawtypes*/ /**
* @noinspection rawtypes
*/
public class DialogSelectDocRowsView extends BaseDialogFragment { public class DialogSelectDocRowsView extends BaseDialogFragment {
@ -76,8 +78,16 @@ public class DialogSelectDocRowsView extends BaseDialogFragment {
var alertDialog = new MaterialAlertDialogBuilder(this.mContext) var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
.setView(mBindings.getRoot()) .setView(mBindings.getRoot())
.setCancelable(isCancelable()) .setCancelable(isCancelable())
.setPositiveButton(R.string.confirm, null) .setPositiveButton(R.string.confirm, (dialog, which) -> {
.setNegativeButton(R.string.abort, null) final DialogSelectDocRowsItemListModel<Object> selectedItem = Stream.of(listArts)
.filter(x -> x.getChecked().get())
.findFirstOrElse(null);
if (selectedItem != null)
this.onConfirm.run(selectedItem);
})
.setNegativeButton(R.string.abort, (dialog, which) -> {
if (this.onAbort != null) this.onAbort.run();
})
.create(); .create();
alertDialog.setCanceledOnTouchOutside(isCancelable()); alertDialog.setCanceledOnTouchOutside(isCancelable());
@ -93,19 +103,6 @@ public class DialogSelectDocRowsView extends BaseDialogFragment {
this.initRecyclerView(); this.initRecyclerView();
} }
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
super.onDismiss(dialog);
final DialogSelectDocRowsItemListModel<Object> selectedItem = Stream.of(listArts)
.filter(x -> x.getChecked().get())
.findFirstOrElse(null);
if(selectedItem != null)
this.onConfirm.run(selectedItem);
else this.onAbort.run();
}
private void initRecyclerView() { private void initRecyclerView() {
var itemType = new Type<DialogSelectDocRowsItemListModel, DialogSelectDocRowsItemModelBinding>(R.layout.dialog_select_doc_rows__item_model, BR.row); var itemType = new Type<DialogSelectDocRowsItemListModel, DialogSelectDocRowsItemModelBinding>(R.layout.dialog_select_doc_rows__item_model, BR.row);
// itemType.areItemSame((oldItem, newItem) -> Objects.equals(oldItem.getId(), newItem.getId())); // itemType.areItemSame((oldItem, newItem) -> Objects.equals(oldItem.getId(), newItem.getId()));
@ -121,7 +118,7 @@ public class DialogSelectDocRowsView extends BaseDialogFragment {
.map(DialogSelectDocRowsItemListModel.class, itemType) .map(DialogSelectDocRowsItemListModel.class, itemType)
.into(this.mBindings.itemList); .into(this.mBindings.itemList);
} }
private void resetChecks() { private void resetChecks() {
for (var item : listArts) { for (var item : listArts) {
item.getChecked().set(false); item.getChecked().set(false);