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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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));
+       }
 }

Reply via email to