Inizio implementazione DialogFiltroAvanzatoVendita

This commit is contained in:
Giuseppe Scorrano 2018-12-03 11:02:40 +01:00
parent 61287648e5
commit 4afe613189
11 changed files with 160 additions and 3 deletions

View File

@ -14,12 +14,15 @@ import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import butterknife.BindView;
import butterknife.ButterKnife;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment;
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilitySettings;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
@ -35,6 +38,8 @@ public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@BindView(R.id.main_search) SearchView mSearchView;
@BindView(R.id.main_select_all) ImageButton mSelectAll;
@BindView(R.id.main_filter) ImageButton mFilterBtn;
@BindView(R.id.nav_view) NavigationView mNavigationView;
@ -198,6 +203,22 @@ public class MainActivity extends AppCompatActivity
if(fragment instanceof IRecyclerFragment) {
((IRecyclerFragment) fragment).setWaterfallToolbar(mWaterfallToolbar);
}
if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isEnabled()) {
mSelectAll.setVisibility(View.VISIBLE);
mSelectAll.setOnClickListener(v -> ((ISelectAllFragment)fragment).onSelectAll());
} else {
mSelectAll.setVisibility(View.GONE);
mSelectAll.setOnClickListener(null);
}
if(fragment instanceof IFilterableFragment) {
mFilterBtn.setVisibility(View.VISIBLE);
mFilterBtn.setOnClickListener(v -> ((IFilterableFragment)fragment).onFilterClick());
} else {
mFilterBtn.setVisibility(View.GONE);
mFilterBtn.setOnClickListener(null);
}
}
private void changeContentFragment(Fragment fragment){

View File

@ -0,0 +1,7 @@
package it.integry.integrywmsnative.core.interfaces;
public interface IFilterableFragment {
void onFilterClick();
}

View File

@ -0,0 +1,9 @@
package it.integry.integrywmsnative.core.interfaces;
public interface ISelectAllFragment {
boolean isEnabled();
void onSelectAll();
}

View File

@ -7,7 +7,6 @@ import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.text.SpannableString;
import android.view.LayoutInflater;
@ -25,7 +24,9 @@ import butterknife.OnClick;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment;
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
@ -40,7 +41,7 @@ import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInev
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
public class MainVenditaFragment extends Fragment implements ITitledFragment, IRecyclerFragment {
public class MainVenditaFragment extends Fragment implements ITitledFragment, IRecyclerFragment, ISelectAllFragment, IFilterableFragment {
private static WaterfallToolbar mWaterfallToolbar;
@ -296,5 +297,30 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
@Override
public void setWaterfallToolbar(WaterfallToolbar waterfallToolbar) {
mWaterfallToolbar = waterfallToolbar;
}
@Override
public boolean isEnabled() {
return SettingsManager.iDB().isFlagMultiClienteOrdV();
}
@Override
public void onSelectAll() {
if(groupedOrdiniInevasi != null && groupedOrdiniInevasi.size() > 0) {
if(mHelper.getSelectedOrders(groupedOrdiniInevasi).size() > 0){
mHelper.deselectAll(groupedOrdiniInevasi);
} else {
//Selezionare solo quelli attualmente a video
mHelper.selectAll(groupedOrdiniInevasi);
}
}
}
@Override
public void onFilterClick() {
}
}

View File

@ -197,6 +197,24 @@ public class VenditaHelper {
public void selectAll(List<OrdineVenditaGroupedInevasoDTO> groupedOrdiniInevasi) {
toggleSelection(groupedOrdiniInevasi, true);
}
public void deselectAll(List<OrdineVenditaGroupedInevasoDTO> groupedOrdiniInevasi) {
toggleSelection(groupedOrdiniInevasi, false);
}
public void toggleSelection(List<OrdineVenditaGroupedInevasoDTO> groupedOrdiniInevasi, boolean value) {
for(int i = 0; i < groupedOrdiniInevasi.size(); i++){
for(int j = 0; j < groupedOrdiniInevasi.get(i).ordini.size(); j++){
groupedOrdiniInevasi.get(i).ordini.get(j).setCheckbox(value);
}
}
}

View File

@ -0,0 +1,17 @@
package it.integry.integrywmsnative.gest.vendita.dialogs;
import android.app.AlertDialog;
import android.content.Context;
public class DialogVenditaFiltroAvanzato {
private static Context currentContext;
public static AlertDialog makeBase(final Context context) {
currentContext = context;
return null;
}
}

View File

@ -18,6 +18,7 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<android.support.v7.widget.SearchView
android:id="@+id/main_search"
android:layout_width="wrap_content"
@ -25,7 +26,29 @@
android:iconifiedByDefault="true"
app:defaultQueryHint="@string/search"
app:iconifiedByDefault="true"
android:layout_gravity="right"/>
android:layout_gravity="end"/>
<ImageButton
android:id="@+id/main_filter"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_gravity="end"
android:background="@android:color/transparent"
android:adjustViewBounds="true"
android:visibility="gone"
android:src="@drawable/ic_search_black_24dp"
android:tint="@color/colorPrimaryGray"/>
<ImageButton
android:id="@+id/main_select_all"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_gravity="end"
android:background="@android:color/transparent"
android:adjustViewBounds="true"
android:visibility="gone"
android:src="@drawable/ic_check_black_24dp"
android:tint="@color/colorPrimaryGray"/>
</android.support.v7.widget.Toolbar>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"
android:text="@string/dialog_vendita_filtro_avanzato"
android:textStyle="bold"
android:textColor="@android:color/black" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</layout>

View File

@ -129,6 +129,9 @@
<string name="filtered_arts_in_list">Filtro articoli applicato</string>
<string name="remove_filter_button">Rimuovi filtro</string>
<string name="dialog_vendita_filtro_avanzato">Filtro avanzato</string>
<string name="supplier">Fornitore</string>
<string name="cod_art_or_description">Cod art / Descrizione</string>
<string name="no_supplier_selected">Seleziona un fornitore prima</string>

View File

@ -4,6 +4,7 @@
<color name="colorPrimaryDark">@color/indigo_700</color>
<color name="colorAccent">#387ef5</color>
<color name="colorRipple">#3f3f51b5</color>
<color name="colorPrimaryGray">#757575</color>
<color name="mainGreen">@color/green_500</color>
<color name="mainOrange">@color/orange_700</color>

View File

@ -137,6 +137,8 @@
<string name="filtered_arts_in_list">Item filter applied</string>
<string name="remove_filter_button">Remove filter</string>
<string name="dialog_vendita_filtro_avanzato">Advanced filter</string>
<string name="supplier">Supplier</string>
<string name="cod_art_or_description">Item code / Description</string>