This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch csp
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/csp by this push:
new 29184b6 [OPENMEETINGS-2165] someconfirmations are converted
29184b6 is described below
commit 29184b68ed59af16874c5d93a79161be70aa6e35
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Feb 7 16:47:03 2020 +0700
[OPENMEETINGS-2165] someconfirmations are converted
---
.../apache/openmeetings/web/common/MainPanel.java | 11 +++-
.../web/common/UploadableImagePanel.java | 13 ++++-
.../web/user/InviteUserMessageDialog.java | 2 +-
.../web/user/InviteUserToRoomDialog.java | 2 +-
.../openmeetings/web/user/UserInfoDialog.java | 2 +-
.../dashboard/admin/AdminCleanupInfoDialog.html | 40 ++++++-------
.../dashboard/admin/AdminCleanupInfoDialog.java | 68 ++++++++++++----------
.../web/user/dashboard/admin/AdminWidgetView.html | 2 +-
.../web/user/dashboard/admin/AdminWidgetView.java | 18 +++---
.../web/util/CallbackFunctionHelper.java | 14 +++++
10 files changed, 102 insertions(+), 70 deletions(-)
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
index a097c4c..da24f4b 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
@@ -26,6 +26,7 @@ import static
org.apache.openmeetings.util.OpenmeetingsVariables.PARAM_USER_ID;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static
org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getParam;
+import static
org.apache.openmeetings.web.util.CallbackFunctionHelper.newOkCancelConfirm;
import static org.apache.openmeetings.web.util.OmUrlFragment.CHILD_ID;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
@@ -130,6 +131,7 @@ public class MainPanel extends Panel {
@Override
protected void onInitialize() {
+ super.onInitialize();
add(new OmWebSocketPanel("ws-panel") {
private static final long serialVersionUID = 1L;
@@ -293,16 +295,19 @@ public class MainPanel extends Panel {
response.render(new
PriorityHeaderItem(getNamedFunction("inviteUser", this,
explicit(PARAM_USER_ID))));
}
});
- topLinks.add(new ConfirmableAjaxBorder("logout",
getString("310"), getString("634")) {
+ topLinks.add(new AjaxLink<Void>("logout") {
private static final long serialVersionUID = 1L;
+ {
+ add(newOkCancelConfirm(this, getString("634")));
+ }
@Override
- protected void onSubmit(AjaxRequestTarget target) {
+ public void onClick(AjaxRequestTarget target) {
getSession().invalidate();
setResponsePage(Application.get().getSignInPageClass());
}
+
});
- super.onInitialize();
}
private OmMenuItem getSubItem(String lbl, String title, MenuActions
action, MenuParams param) {
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.java
index fccf1d1..53903b8 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.java
@@ -19,6 +19,7 @@
package org.apache.openmeetings.web.common;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.getMaxUploadSize;
+import static
org.apache.openmeetings.web.util.CallbackFunctionHelper.newOkCancelConfirm;
import java.io.File;
import java.util.Optional;
@@ -40,6 +41,10 @@ import org.apache.wicket.util.lang.Bytes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import
de.agilecoders.wicket.core.markup.html.bootstrap.button.BootstrapAjaxLink;
+import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
+import
de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesome5IconType;
+
public abstract class UploadableImagePanel extends ImagePanel {
private static final long serialVersionUID = 1L;
private static final Logger log =
LoggerFactory.getLogger(UploadableImagePanel.class);
@@ -70,11 +75,15 @@ public abstract class UploadableImagePanel extends
ImagePanel {
add(new
WebMarkupContainer("remove").add(AttributeModifier.append("onclick"
,
"$(this).parent().find('.fileinput').fileinput('clear');")));
} else {
- add(new ConfirmableAjaxBorder("remove",
getString("80"), getString("833")) {
+ add(new BootstrapAjaxLink<String>("remove",
Buttons.Type.Secondary) {
private static final long serialVersionUID = 1L;
+ {
+
setIconType(FontAwesome5IconType.times_s);
+ add(newOkCancelConfirm(this,
getString("833")));
+ }
@Override
- protected void onSubmit(AjaxRequestTarget
target) {
+ public void onClick(AjaxRequestTarget target) {
try {
deleteImage();
} catch (Exception e) {
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserMessageDialog.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserMessageDialog.java
index c857746..d99a3dc 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserMessageDialog.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserMessageDialog.java
@@ -86,6 +86,6 @@ public class InviteUserMessageDialog extends Modal<String> {
message.setModelObject(String.format("%s %s %s %s",
u.getFirstname(), u.getLastname(), getString("1137"), r.getName()));
enterRoom.setModelObject(false);
handler.add(form);
- show(handler);
+ super.show(handler);
}
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserToRoomDialog.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserToRoomDialog.java
index c129d18..1353f55 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserToRoomDialog.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/InviteUserToRoomDialog.java
@@ -106,6 +106,6 @@ public class InviteUserToRoomDialog extends Modal<String> {
this.userId = userId;
publicRooms.update(handler, roomDao.getPublicRooms());
privateRooms.update(handler, getPrivateRooms(getUserId(),
userId, roomDao));
- show(handler);
+ super.show(handler);
}
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/UserInfoDialog.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/UserInfoDialog.java
index 0f9e050..87926c6 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/UserInfoDialog.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/UserInfoDialog.java
@@ -87,7 +87,7 @@ public class UserInfoDialog extends Modal<String> {
message.setVisible(userId != getUserId());
container.replace(new UserProfilePanel("body", userId));
handler.add(container, contacts, contacts);
- show(handler);
+ super.show(handler);
}
public WebMarkupContainer getContainer() {
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
index c6ba4ed..d42d9dc 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
@@ -20,27 +20,23 @@
-->
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
-<wicket:panel>
- <div class="ui-widget">
- <div class="ui-widget-content ui-corner-all">
- <div wicket:id="feedback"></div>
- <ul wicket:id="container">
- <li><span><wicket:message
key="dashboard.widget.admin.cleanup.upload"/></span> <span
wicket:id="upload-size"></span>
- <ul>
- <li><div
wicket:id="profile"></div></li>
- <li><div
wicket:id="import"></div></li>
- <li><div
wicket:id="backup"></div></li>
- <li><div
wicket:id="files"></div></li>
- </ul>
- </li>
- <li><span><wicket:message
key="dashboard.widget.admin.cleanup.streams"/></span> <span
wicket:id="streams-size"></span>
- <ul>
- <li><div
wicket:id="final"></div></li>
- </ul>
- </li>
+<wicket:extend>
+ <div wicket:id="feedback"></div>
+ <ul wicket:id="container">
+ <li><span><wicket:message
key="dashboard.widget.admin.cleanup.upload"/></span> <span
wicket:id="upload-size"></span>
+ <ul>
+ <li><div wicket:id="profile"></div></li>
+ <li><div wicket:id="import"></div></li>
+ <li><div wicket:id="backup"></div></li>
+ <li><div wicket:id="files"></div></li>
</ul>
- <form wicket:id="form"><div
wicket:id="cleanup"></div></form>
- </div>
- </div>
-</wicket:panel>
+ </li>
+ <li><span><wicket:message
key="dashboard.widget.admin.cleanup.streams"/></span> <span
wicket:id="streams-size"></span>
+ <ul>
+ <li><div wicket:id="final"></div></li>
+ </ul>
+ </li>
+ </ul>
+ <form wicket:id="form"><button wicket:id="cleanup"></button></form>
+</wicket:extend>
</html>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
index 8987974..02aa25b 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
@@ -26,6 +26,7 @@ import static
org.apache.openmeetings.cli.CleanupHelper.getRecUnit;
import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsDir;
import static org.apache.openmeetings.util.OmFileHelper.getUploadDir;
+import static
org.apache.openmeetings.web.util.CallbackFunctionHelper.newOkCancelConfirmCfg;
import org.apache.openmeetings.cli.CleanupEntityUnit;
import org.apache.openmeetings.cli.CleanupUnit;
@@ -40,21 +41,21 @@ import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
-import com.googlecode.wicket.jquery.ui.form.button.ConfirmAjaxButton;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
-
+import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
import
de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
+import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
+import
de.agilecoders.wicket.extensions.markup.html.bootstrap.confirmation.ConfirmationBehavior;
+import
de.agilecoders.wicket.extensions.markup.html.bootstrap.spinner.SpinnerAjaxButton;
-public class AdminCleanupInfoDialog extends AbstractDialog<String> {
+public class AdminCleanupInfoDialog extends Modal<String> {
private static final long serialVersionUID = 1L;
- private final Label uploadSize;
- private final CleanupEntityUnitPanel profile;
- private final CleanupUnitPanel imp;
- private final CleanupUnitPanel backup;
- private final CleanupEntityUnitPanel files;
- private final Label streamsSize;
- private final CleanupEntityUnitPanel fin;
+ private Label uploadSize;
+ private CleanupEntityUnitPanel profile;
+ private CleanupUnitPanel imp;
+ private CleanupUnitPanel backup;
+ private CleanupEntityUnitPanel files;
+ private Label streamsSize;
+ private CleanupEntityUnitPanel fin;
private final WebMarkupContainer container = new
WebMarkupContainer("container");
private final NotificationPanel feedback = new
NotificationPanel("feedback");
@SpringBean
@@ -65,7 +66,17 @@ public class AdminCleanupInfoDialog extends
AbstractDialog<String> {
private RecordingDao recDao;
public AdminCleanupInfoDialog(String id) {
- super(id, "");
+ super(id);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ header(new
ResourceModel("dashboard.widget.admin.cleanup.title"));
+ setCloseOnEscapeKey(true);
+ setBackdrop(Backdrop.STATIC);
+ addCloseButton(new ResourceModel("54"));
+
uploadSize = new Label("upload-size", "");
profile = new CleanupEntityUnitPanel("profile",
"dashboard.widget.admin.cleanup.profiles", new CleanupEntityUnit());
imp = new CleanupUnitPanel("import",
"dashboard.widget.admin.cleanup.import", new CleanupUnit());
@@ -82,12 +93,17 @@ public class AdminCleanupInfoDialog extends
AbstractDialog<String> {
@Override
protected void onInitialize() {
super.onInitialize();
- add(new ConfirmAjaxButton("cleanup",
getString("dashboard.widget.admin.cleanup.cleanup")
- ,
getString("dashboard.widget.admin.cleanup.cleanup")
- ,
getString("dashboard.widget.admin.cleanup.warn"))
- {
+ add(new SpinnerAjaxButton("cleanup", new
ResourceModel("dashboard.widget.admin.cleanup.cleanup"), this,
Buttons.Type.Danger) {
private static final long
serialVersionUID = 1L;
+ {
+ add(new ConfirmationBehavior(
+
newOkCancelConfirmCfg(this, getString("dashboard.widget.admin.cleanup.warn"))
+
.withBtnOkClass("btn btn-sm btn-danger")
+
.withBtnOkIconClass("fas fa-exclamation-triangle")
+ ));
+ }
+
@Override
protected void
onSubmit(AjaxRequestTarget target) {
cleanup(target);
@@ -102,18 +118,7 @@ public class AdminCleanupInfoDialog extends
AbstractDialog<String> {
});
}
- @Override
- protected void onInitialize() {
- super.onInitialize();
- setTitle(new
ResourceModel("dashboard.widget.admin.cleanup.title"));
- }
-
- @Override
- public void onClose(IPartialPageRequestHandler handler, DialogButton
button) {
- //no-op
- }
-
- private void update(AjaxRequestTarget target) {
+ private void update(IPartialPageRequestHandler target) {
uploadSize.setDefaultModelObject(getHumanSize(getUploadDir()));
profile.setDefaultModelObject(getProfileUnit(userDao));
imp.setDefaultModelObject(getImportUnit());
@@ -124,9 +129,10 @@ public class AdminCleanupInfoDialog extends
AbstractDialog<String> {
target.add(container);
}
- public void show(AjaxRequestTarget target) {
+ @Override
+ public Modal<String> show(final IPartialPageRequestHandler target) {
update(target);
- open(target);
+ return super.show(target);
}
public void cleanup(AjaxRequestTarget target) {
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.html
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.html
index 36d0ad2..4aedc50 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.html
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.html
@@ -23,7 +23,7 @@
<wicket:panel>
<h3><wicket:message key="dashboard.widget.admin.title"/></h3>
<form wicket:id="form">
- <button wicket:id="show-cleanup-dialog"><wicket:message
key="dashboard.widget.admin.cleanup.show"/></button>
+ <button wicket:id="show-cleanup-dialog"></button>
<div wicket:id="cleanup-dialog"></div>
</form>
</wicket:panel>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
index 8d95d20..499715a 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
@@ -22,30 +22,32 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
import
org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
import org.wicketstuff.dashboard.Widget;
import org.wicketstuff.dashboard.web.WidgetView;
-import com.googlecode.wicket.jquery.ui.form.button.IndicatingAjaxButton;
+import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
+import
de.agilecoders.wicket.extensions.markup.html.bootstrap.spinner.SpinnerAjaxButton;
@AuthorizeInstantiation("Admin")
public class AdminWidgetView extends WidgetView {
private static final long serialVersionUID = 1L;
- private final AdminCleanupInfoDialog cleanupDialog;
+ private AdminCleanupInfoDialog cleanupDialog;
final Form<Void> form = new Form<>("form");
public AdminWidgetView(String id, Model<Widget> model) {
super(id, model);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
add(form);
form.add(cleanupDialog = new
AdminCleanupInfoDialog("cleanup-dialog"));
- form.add(new IndicatingAjaxButton("show-cleanup-dialog") {
+ form.add(new SpinnerAjaxButton("show-cleanup-dialog", new
ResourceModel("dashboard.widget.admin.cleanup.show"), form,
Buttons.Type.Primary) {
private static final long serialVersionUID = 1L;
@Override
- protected boolean isDisabledOnClick() {
- return true;
- }
-
- @Override
protected void onSubmit(AjaxRequestTarget target) {
cleanupDialog.show(target);
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java
index c9d1808..01e3791 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java
@@ -27,6 +27,9 @@ import org.apache.wicket.ajax.attributes.CallbackParameter;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.util.string.StringValue;
+import
de.agilecoders.wicket.extensions.markup.html.bootstrap.confirmation.ConfirmationBehavior;
+import
de.agilecoders.wicket.extensions.markup.html.bootstrap.confirmation.ConfirmationConfig;
+
public class CallbackFunctionHelper {
private CallbackFunctionHelper() {}
@@ -62,4 +65,15 @@ public class CallbackFunctionHelper {
public static AttributeModifier addOnClick(Serializable handler) {
return AttributeModifier.replace("onclick", handler);
}
+
+ public static ConfirmationConfig newOkCancelConfirmCfg(Component c,
String title) {
+ return new ConfirmationConfig()
+ .withBtnCancelLabel(c.getString("lbl.cancel"))
+ .withBtnOkLabel(c.getString("54"))
+ .withTitle(title);
+ }
+
+ public static ConfirmationBehavior newOkCancelConfirm(Component c,
String title) {
+ return new ConfirmationBehavior(newOkCancelConfirmCfg(c,
title));
+ }
}