Aggiunto fab button in accettazione ordine inevaso

This commit is contained in:
Giuseppe Scorrano 2018-03-28 17:12:10 +02:00
parent 4b690023db
commit cd42bddf84
18 changed files with 181 additions and 21 deletions

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -37,6 +37,8 @@ dependencies {
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.github.clans:fab:1.6.4'
testCompile 'junit:junit:4.12'
}

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso;
import android.content.DialogInterface;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
@ -9,13 +10,18 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import com.github.clans.fab.FloatingActionButton;
import com.github.clans.fab.FloatingActionMenu;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.core.AccettazioneOrdineInevasoHelper;
@ -29,6 +35,10 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
@BindView(R.id.accettazione_ordine_main_list) RecyclerView mRecyclerView;
@BindView(R.id.accettazione_ordine_inevaso_fab) FloatingActionMenu fab;
@BindView(R.id.accettazione_ordine_inevaso_fab_item1) FloatingActionButton fabItem1;
@BindView(R.id.accettazione_ordine_inevaso_fab_item2) FloatingActionButton fabItem2;
private MainListOrdineAccettazioneAdapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
@ -49,8 +59,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
setSupportActionBar(toolbar);
List<OrdineAccettazioneDTO> orders = new ArrayList<OrdineAccettazioneDTO>();
orders = (ArrayList<OrdineAccettazioneDTO>)getIntent().getSerializableExtra("key");
List<OrdineAccettazioneDTO> orders = (ArrayList<OrdineAccettazioneDTO>)getIntent().getSerializableExtra("key");
setTitle(orders);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@ -65,7 +74,6 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
groupedRighe = helper.getOrdiniRaggruppatiPerCodArtForn(groupedOrdini);
initRecyclerView(groupedRighe);
}
@Override
@ -124,8 +132,6 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
private void showOrderDialog() {
AlertDialog dialog = new AlertDialog.Builder(this)
@ -146,8 +152,6 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
dialog.show();
}
private void refreshOrderBy(){
switch (currentOrderBy){
case COD_ART_FOR:
@ -166,15 +170,32 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
}
try {
mRecyclerView.setAdapter(helper.getRightListAdapter(currentOrderBy, groupedRighe));
mRecyclerView.invalidate();
// mAdapter = helper.getRightListAdapter(currentOrderBy, groupedRighe);
// mAdapter.notifyDataSetChanged();
mAdapter.updateDataset(helper.getRightListViewModel(currentOrderBy, groupedRighe));
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, e.getMessage().toString(), Toast.LENGTH_LONG).show();
}
}
//Al click di "Crea nuova UL"
@OnClick(R.id.accettazione_ordine_inevaso_fab_item2)
public void onItem2Click(View view) {
fab.close(true);
// Snackbar.make(AccettazioneOrdineInevasoActivity.this, "Creato nuovo collo", 3000).show();
}
//Al click di "Mostra UL già create"
@OnClick(R.id.accettazione_ordine_inevaso_fab_item1)
public void onItem1Click(View view) {
fab.close(true);
}
}

View File

@ -31,8 +31,6 @@ public class AccettazioneOrdineInevasoHelper {
mContext = context;
}
public MainListOrdineAccettazioneAdapter getRightListAdapter(AccettazioneOrdineInevasoOrderBy.Enum orderByEnum, List<List<OrdineAccettazioneDTO.Riga>> mDataset) throws Exception {
List<AccettazioneOrdineInevasoListViewModel> listViewModels = null;
@ -55,6 +53,28 @@ public class AccettazioneOrdineInevasoHelper {
}
public List<AccettazioneOrdineInevasoListViewModel> getRightListViewModel(AccettazioneOrdineInevasoOrderBy.Enum orderByEnum, List<List<OrdineAccettazioneDTO.Riga>> mDataset) throws Exception {
List<AccettazioneOrdineInevasoListViewModel> listViewModels = null;
switch (orderByEnum){
case COD_ART_FOR:
case DESCR_ART:
listViewModels = getListViewModelPerArtForn(mDataset);
break;
case RAG_SOC_COM:
listViewModels = getListViewModelPerRagSocCommessa(mDataset);
break;
default:
throw new Exception("Cannot find right list adapter: " + orderByEnum.toString());
}
return listViewModels;
}
public List<List<OrdineAccettazioneDTO.Riga>> getOrdiniRaggruppatiPerCodArtForn(List<OrdineAccettazioneDTO.Riga> mDataset){
List<String> codArtForns = new ArrayList<>();
@ -136,8 +156,6 @@ public class AccettazioneOrdineInevasoHelper {
public List<List<OrdineAccettazioneDTO.Riga>> getOrdiniRaggruppatiPerRagSocCommessa(List<OrdineAccettazioneDTO.Riga> mDataset) {
List<RaggruppaPerCommessaUtilDTO> commessaList = new ArrayList<>();
//ragSocList.add(mContext.getText(R.string.stock).toString());
for(int i = 0; i < mDataset.size(); i++){
boolean alreadyExists = false;
@ -157,8 +175,8 @@ public class AccettazioneOrdineInevasoHelper {
Collections.sort(commessaList, new Comparator<RaggruppaPerCommessaUtilDTO>() {
public int compare(RaggruppaPerCommessaUtilDTO dto1, RaggruppaPerCommessaUtilDTO dto2) {
if(dto1.ragSocCom == null) return -1;
if(dto2.ragSocCom == null) return 1;
if(dto1.ragSocCom == null || dto2.codJcom.equalsIgnoreCase("MAG")) return -1;
if(dto2.ragSocCom == null || dto1.codJcom.equalsIgnoreCase("MAG")) return 1;
return dto1.ragSocCom.compareToIgnoreCase(dto2.ragSocCom);
}

View File

@ -40,6 +40,11 @@ public class MainListOrdineAccettazioneAdapter extends RecyclerView.Adapter<Main
mDataset = myDataset;
}
public void updateDataset(List<AccettazioneOrdineInevasoListViewModel> myDataset){
mDataset = myDataset;
notifyDataSetChanged();
}
@Override
public MainListOrdineAccettazioneAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/black_semi_transparent"/>
<padding
android:left="16dp"
android:top="4dp"
android:right="16dp"
android:bottom="4dp"/>
<corners
android:radius="2dp"/>
</shape>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/colorPrimary"
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector
android:height="24dp" android:viewportHeight="512.0"
android:viewportWidth="548.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/colorPrimary" android:pathData="M509.5,184.6L458.9,32.8C452.4,13.2 434.1,0 413.4,0H272v192h238.7c-0.4,-2.5 -0.4,-5 -1.2,-7.4zM240,0H98.6c-20.7,0 -39,13.2 -45.5,32.8L2.5,184.6c-0.8,2.4 -0.8,4.9 -1.2,7.4H240V0zM0,224v240c0,26.5 21.5,48 48,48h416c26.5,0 48,-21.5 48,-48V224H0z"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/white"
android:pathData="M3,18h18v-2L3,16v2zM3,13h18v-2L3,11v2zM3,6v2h18L21,6L3,6z"/>
</vector>

View File

@ -20,8 +20,7 @@
android:textColor="@android:color/white"
android:textStyle="bold"
android:maxLines="1"
android:ellipsize="end"
style="@android:style/TextAppearance.Medium" />
android:ellipsize="end" />
<LinearLayout

View File

@ -91,7 +91,7 @@
android:id="@+id/accettazione_ordine_inevaso_main_list_group_item_descrizione"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginTop="4dp"
style="@android:style/TextAppearance.Medium"
android:text="DESCRIZIONE"/>

View File

@ -2,6 +2,7 @@
<android.support.constraint.ConstraintLayout 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"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity">
@ -35,5 +36,62 @@
app:layout_constraintTop_toBottomOf="@+id/appbarlayout"
app:layout_constraintWidth_default="spread" />
<com.github.clans.fab.FloatingActionMenu
android:id="@+id/accettazione_ordine_inevaso_fab"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
fab:menu_fab_size="normal"
fab:menu_showShadow="true"
fab:menu_shadowColor="#66000000"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="3dp"
fab:menu_colorNormal="@color/colorPrimary"
fab:menu_colorPressed="@color/colorPrimaryDark"
fab:menu_animationDelayPerItem="50"
fab:menu_buttonSpacing="0dp"
fab:menu_labels_margin="0dp"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_paddingTop="4dp"
fab:menu_labels_paddingRight="8dp"
fab:menu_labels_paddingBottom="4dp"
fab:menu_labels_paddingLeft="8dp"
fab:menu_labels_padding="8dp"
fab:menu_labels_textColor="@color/black_semi_transparent"
fab:menu_labels_textSize="18sp"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_colorNormal="@color/white"
fab:menu_labels_colorPressed="@color/white_pressed"
fab:menu_labels_colorRipple="#66FFFFFF"
fab:menu_labels_showShadow="true"
fab:menu_labels_position="left"
fab:menu_openDirection="up"
fab:menu_backgroundColor="@color/white_bg_alpha">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_box"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
fab:fab_label="@string/action_show_created_ul" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add_24dp"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
fab:fab_label="@string/action_create_ul" />
</com.github.clans.fab.FloatingActionMenu>
</android.support.constraint.ConstraintLayout>

View File

@ -3,6 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
tools:context="it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment">
<RelativeLayout

View File

@ -18,4 +18,6 @@
<string name="stock">Stock</string>
<string name="action_filter">Filtra</string>
<string name="action_orderBy">Ordina</string>
<string name="action_create_ul">Crea nuova UL</string>
<string name="action_show_created_ul">Mostra UL già create</string>
</resources>

View File

@ -8,6 +8,12 @@
<color name="mainOrange">#32db64</color>
<color name="letturaFacilitataBG">#eeeeee</color>
<!-- FAB DEFINITIONS -->
<color name="black_semi_transparent">#B2000000</color>
<color name="white">#fafafa</color>
<color name="white_bg_alpha">#88BCBCBC</color>
<color name="white_pressed">#f1f1f1</color>
<color name="half_black">#808080</color>

View File

@ -25,5 +25,7 @@
<string name="stock">Stock</string>
<string name="action_filter">Filter</string>
<string name="action_orderBy">Order</string>
<string name="action_create_ul">Create new LU</string>
<string name="action_show_created_ul">Show already created UL</string>
</resources>

View File

@ -17,4 +17,9 @@
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark" />
<style name="menu_labels_style">
<item name="android:background">@drawable/fab_label_background</item>
<item name="android:textColor">@color/white</item>
</style>
</resources>

1
ext_sources/box.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z"/></svg>

After

Width:  |  Height:  |  Size: 306 B