Sostituito fab in doc interni edit form con Material3

This commit is contained in:
2024-01-09 18:01:29 +01:00
parent 2e360e8104
commit b95863d66d
7 changed files with 88 additions and 110 deletions

View File

@@ -40,7 +40,6 @@ public class DBSettingsModel {
private boolean flagOrdinaArticoliOnScan;
private boolean flagConsentiFuoriPianoLogistico;
private boolean flagConsentiOrdineSenzaGriglia;
private String docInterniCheckFornitore;
private String produzioneDefaultCodAnag;
private boolean flagPrintPackingListOnOrderClose;
private boolean flagPrintEtichetteOnOrderClose;
@@ -333,15 +332,6 @@ public class DBSettingsModel {
return this;
}
public String getDocInterniCheckFornitore() {
return docInterniCheckFornitore;
}
public DBSettingsModel setDocInterniCheckFornitore(String docInterniCheckFornitore) {
this.docInterniCheckFornitore = docInterniCheckFornitore;
return this;
}
public boolean isFlagAccettazioneUseQtaOrd() {
return flagAccettazioneUseQtaOrd;
}

View File

@@ -340,11 +340,6 @@ public class SettingsManager {
.setSection("ORDINI_A")
.setKeySection("FLAG_CONSENTI_ORDINE_SENZA_GRIGLIA")
.setSetter(dbSettingsModelIstance::setFlagConsentiOrdineSenzaGriglia));
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PVM")
.setSection("DOC_INTERNI")
.setKeySection("CHECK_FORNITORE")
.setSetter(dbSettingsModelIstance::setDocInterniCheckFornitore));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE")

View File

@@ -3,9 +3,11 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.PopupMenu;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -26,7 +28,6 @@ import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.di.BindableInteger;
import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
@@ -42,7 +43,6 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipoDocDTO;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsItemListModel;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter;
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView;
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemListModel;
@@ -77,9 +77,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
public BindableString codMgrp = new BindableString();
public BindableString codAnag = new BindableString();
public BindableInteger prodsCount = new BindableInteger(0);
public BindableBoolean isDocumentExportable = new BindableBoolean(false);
private final ObservableArrayList<SqlMtbColr> documentRowsObservableList = new ObservableArrayList<>();
private PopupMenu fabPopupMenu;
public static Intent newInstance(Context context, SqlMtbColt document, List<DocumentoArtDTO> arts, TipoDocDTO tipoDoc, DocInterniSetupDTO mDocInterniSetupDTO) {
Intent myIntent = new Intent(context, DocInterniEditFormActivity.class);
@@ -119,6 +121,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
this.initView();
this.initBindables();
this.initRecyclerView();
this.initFab();
}
private void initBindables() {
@@ -151,7 +154,8 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
setSupportActionBar(binding.toolbar);
binding.toolbar.setTitle(R.string.edit_doc);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
FabMenuCustomAnimations.changeIconOnFocus(binding.closeActivityFab, R.drawable.ic_menu_24dp, R.drawable.ic_close_24dp);
// FabMenuCustomAnimations.changeIconOnFocus(binding.closeActivityFab, R.drawable.ic_menu_24dp, R.drawable.ic_close_24dp);
}
@@ -162,6 +166,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
private void initRecyclerView() {
this.viewModel.docRows.observe(this, this::refreshList);
DocumentRowsListAdapter listAdapter = new DocumentRowsListAdapter(this, documentRowsObservableList);
listAdapter.setEmptyView(binding.scanArtSpinner);
binding.documentRowsList.setAdapter(listAdapter);
@@ -173,11 +178,58 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
});
}
private void initFab() {
fabPopupMenu = new PopupMenu(this, this.binding.mainFab,
(Gravity.END | Gravity.BOTTOM),
androidx.appcompat.R.attr.popupMenuStyle,
com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu);
fabPopupMenu.setForceShowIcon(true);
fabPopupMenu.getMenuInflater().inflate(R.menu.doc_interni_edit_fab_menu, fabPopupMenu.getMenu());
fabPopupMenu.setOnMenuItemClickListener(item -> {
int itemId = item.getItemId();
if (itemId == R.id.export_document) {
viewModel.exportDocument();
} else if (itemId == R.id.delete_document) {
viewModel.deleteDocument();
} else if (itemId == R.id.hold_document) {
viewModel.holdDocument();
}
return false;
});
refreshFabMenu();
}
private void refreshFabMenu() {
fabPopupMenu.getMenu()
.findItem(R.id.export_document)
.setVisible(isDocumentExportable());
}
public void showFabMenu() {
fabPopupMenu.show();
}
public void closeFabMenu() {
fabPopupMenu.dismiss();
}
private void refreshList(List<SqlMtbColr> sqlMtbColrs) {
this.documentRowsObservableList.clear();
this.documentRowsObservableList.addAll(this.viewModel.docRows.getValue());
this.prodsCount.set(this.viewModel.docRows.getValue().size());
this.refreshFabMenu();
}
private boolean isDocumentExportable() {
return prodsCount.get() > 0;
}
public void closeEdit() {
this.onBackPressed();
@@ -230,7 +282,6 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
@Override
public void onRowsChanged(List<SqlMtbColr> rows) {
this.prodsCount.set(rows.size());
this.isDocumentExportable.set(rows.size() > 0);
}
@Override
@@ -283,7 +334,8 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
this.onLoadingStarted();
this.viewModel.saveRow(row, resultDTO);
})
.setOnAbort(() -> {})
.setOnAbort(() -> {
})
.show(getSupportFragmentManager(), "tag");
}
@@ -294,7 +346,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
@Override
public void onDocDeleted() {
this.binding.closeActivityFab.close(true);
this.closeFabMenu();
this.closeEdit();
}
@@ -338,7 +390,8 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
DialogSelectDocRowsView.newInstance(dataset, data -> {
this.viewModel.dispatchRowEdit((SqlMtbColr) data.getOriginalModel(), articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
}, () -> {})
}, () -> {
})
.show(this.getSupportFragmentManager(), "dialogSelectDocRowsNew");
}

View File

@@ -4,9 +4,6 @@ import androidx.lifecycle.MutableLiveData;
import com.annimon.stream.Stream;
import org.json.JSONException;
import org.json.JSONObject;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -25,7 +22,6 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO;
@@ -48,7 +44,6 @@ public class DocInterniEditFormViewModel {
private TipoDocDTO tipoDoc;
private boolean isCheckPartitaMag = false;
private JSONObject checkFornitoreRules = null;
public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>();
@@ -64,12 +59,6 @@ public class DocInterniEditFormViewModel {
}
public void init() {
try {
var docInterniCheckFornitore = SettingsManager.iDB().getDocInterniCheckFornitore();
this.checkFornitoreRules = docInterniCheckFornitore != null ? new JSONObject(docInterniCheckFornitore) : null;
} catch (JSONException e) {
e.printStackTrace();
}
}