Skip to content

Commit 232aa54

Browse files
author
svuillet
committed
Feature #14449
1 parent 635fcbd commit 232aa54

File tree

9 files changed

+99
-14
lines changed

9 files changed

+99
-14
lines changed

mobile-war/src/main/java/org/silverpeas/mobile/client/apps/sharesbox/pages/SharesBoxPage.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.google.gwt.uibinder.client.UiBinder;
2929
import com.google.gwt.uibinder.client.UiField;
3030
import com.google.gwt.user.client.Command;
31+
import com.google.gwt.user.client.Window;
3132
import com.google.gwt.user.client.ui.Widget;
3233
import org.silverpeas.mobile.client.apps.sharesbox.events.app.DeleteSharesEvent;
3334
import org.silverpeas.mobile.client.apps.sharesbox.events.pages.AbstractSharesBoxPagesEvent;
@@ -37,6 +38,7 @@
3738
import org.silverpeas.mobile.client.apps.sharesbox.resources.ShareMessages;
3839
import org.silverpeas.mobile.client.common.EventBus;
3940
import org.silverpeas.mobile.client.components.PopinConfirmation;
41+
import org.silverpeas.mobile.client.components.Snackbar;
4042
import org.silverpeas.mobile.client.components.UnorderedList;
4143
import org.silverpeas.mobile.client.components.base.PageContent;
4244
import org.silverpeas.mobile.client.components.base.widgets.DeleteButton;
@@ -115,8 +117,7 @@ public void setSelectionMode(boolean selectionMode) {
115117
}
116118

117119
private void deleteSelectedShares() {
118-
PopinConfirmation popin = new PopinConfirmation(msg.deleteConfirmation()); //TODO
119-
popin.setYesCallback(new Command() {
120+
Snackbar.showConfirmation(msg.deleteConfirmation(), new Command() {
120121
@Override
121122
public void execute() {
122123
List<TicketDTO> selection = getSelectedShares();
@@ -127,8 +128,7 @@ public void execute() {
127128
EventBus.getInstance().fireEvent(deleteEvent);
128129
}
129130
}
130-
});
131-
popin.show();
131+
}, null);
132132
}
133133

134134
@Override

mobile-war/src/main/java/org/silverpeas/mobile/client/apps/sharesbox/resources/ShareMessages.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@
2424

2525
title=Mes partages
2626
delete=Supprimer
27-
deleteConfirmation=Etes-vous sur de supprimer ces partages ?
27+
deleteConfirmation=Etes-vous sûr de supprimer ces partages ?

mobile-war/src/main/java/org/silverpeas/mobile/client/apps/sharesbox/resources/ShareMessages_en.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@
2424

2525
title=My tickets
2626
delete=Delete
27-
deleteConfirmation=Etes-vous sur de supprimer ces partages ?
27+
deleteConfirmation=Delete those shares ?

mobile-war/src/main/java/org/silverpeas/mobile/client/apps/sharesbox/resources/ShareMessages_fr.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@
2424

2525
title=Mes partages
2626
delete=Supprimer
27-
deleteConfirmation=Delete those shares ?
27+
deleteConfirmation=Etes-vous sûr de supprimer ces partages ?

mobile-war/src/main/java/org/silverpeas/mobile/client/components/Snackbar.java

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package org.silverpeas.mobile.client.components;
22

3-
import com.google.gwt.dom.client.AnchorElement;
4-
import com.google.gwt.dom.client.BodyElement;
5-
import com.google.gwt.dom.client.DivElement;
6-
import com.google.gwt.dom.client.Document;
3+
import com.google.gwt.core.client.GWT;
4+
import com.google.gwt.dom.client.*;
75

86
import com.google.gwt.event.dom.client.ClickEvent;
97
import com.google.gwt.event.dom.client.ClickHandler;
8+
import com.google.gwt.user.client.Command;
109
import com.google.gwt.user.client.Timer;
1110
import com.google.gwt.user.client.ui.Anchor;
11+
import org.silverpeas.mobile.client.resources.ApplicationMessages;
1212

1313
public class Snackbar {
1414

15+
private static ApplicationMessages msg = GWT.create(ApplicationMessages.class);
1516
public final static int DELAY = 3000;
1617
public final static int INFO = 0;
1718
public final static int WARNING = 1;
@@ -64,4 +65,51 @@ public void onClick(ClickEvent clickEvent) {
6465
}
6566
});
6667
}
68+
69+
public static void showConfirmation(String message, Command yesCommand, Command noCommand) {
70+
String yesLabel = msg.yes();
71+
String noLabel = msg.no();
72+
showConfirmation(message, yesLabel, noLabel, yesCommand, noCommand);
73+
}
74+
75+
public static void showConfirmation(String message, String yesLabel, String noLabel, Command yesCommand, Command noCommand) {
76+
BodyElement body = Document.get().getBody();
77+
DivElement div = Document.get().createDivElement();
78+
div.setAttribute("id","snackbar");
79+
div.setClassName("show-static");
80+
81+
SpanElement messageContainer = Document.get().createSpanElement();
82+
messageContainer.setClassName("snackbar-message");
83+
messageContainer.setInnerText(message);
84+
div.appendChild(messageContainer);
85+
86+
SpanElement actions = Document.get().createSpanElement();
87+
actions.setClassName("snackbar-actions");
88+
AnchorElement yes = Document.get().createAnchorElement();
89+
yes.setInnerText(yesLabel);
90+
yes.setClassName("yes");
91+
AnchorElement no = Document.get().createAnchorElement();
92+
no.setInnerText(noLabel);
93+
no.setClassName("no");
94+
actions.appendChild(yes);
95+
actions.appendChild(no);
96+
div.appendChild(actions);
97+
body.appendChild(div);
98+
Anchor.wrap(yes).addClickHandler(new ClickHandler() {
99+
@Override
100+
public void onClick(ClickEvent clickEvent) {
101+
if (yesCommand != null) yesCommand.execute();
102+
close(0, div);
103+
}
104+
});
105+
Anchor.wrap(no).addClickHandler(new ClickHandler() {
106+
@Override
107+
public void onClick(ClickEvent clickEvent) {
108+
if (noCommand != null) noCommand.execute();
109+
close(0, div);
110+
}
111+
});
112+
messageContainer.getStyle().setWidth(actions.getOffsetLeft() - messageContainer.getOffsetLeft(), Style.Unit.PX);
113+
}
114+
67115
}

mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,4 +216,9 @@ public interface ApplicationMessages extends Messages {
216216
@DefaultMessage("Version")
217217
String version();
218218

219+
@DefaultMessage("Oui")
220+
String yes();
221+
222+
@DefaultMessage("Non")
223+
String no();
219224
}

mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,7 @@ share=Share
9494

9595
favoritesWithoutCategory=Others favorites
9696

97-
version=Version
97+
version=Version
98+
99+
yes=Yes
100+
no=No

mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,7 @@ share=Partager
9898

9999
favoritesWithoutCategory=Autres favoris
100100

101-
version=Version
101+
version=Version
102+
103+
yes=Oui
104+
no=Non

mobile-war/src/main/java/org/silverpeas/mobile/public/components.css

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ input[type="range"]::-webkit-slider-thumb {
214214

215215
#snackbar {
216216
visibility: hidden;
217-
min-width: 250px;
217+
min-width: 90%;
218218
background-color: #333;
219219
color: #fff;
220220
text-align: center;
@@ -256,6 +256,32 @@ input[type="range"]::-webkit-slider-thumb {
256256
margin-left: 1em;
257257
}
258258

259+
#snackbar.show-static .snackbar-message {
260+
text-align: left;
261+
}
262+
263+
#snackbar.show-static .snackbar-actions {
264+
position: absolute;
265+
right: 16px;
266+
}
267+
268+
#snackbar.show-static .yes {
269+
background-color: var(--main-color);
270+
padding: 0.5em;
271+
margin-left: 0.5em;
272+
border-radius: 4px;
273+
color: var(--white);
274+
}
275+
276+
#snackbar.show-static .no {
277+
background-color: var(--main-color);
278+
padding: 0.5em;
279+
margin-left: 0.5em;
280+
border-radius: 4px;
281+
color: var(--white);
282+
}
283+
284+
259285
@-webkit-keyframes fadein-snackbar {
260286
from {bottom: 0; opacity: 0;}
261287
to {bottom: 50px; opacity: 1;}

0 commit comments

Comments
 (0)