This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new c166be6  [OPENMEETINGS-2652] multi-select should work better
c166be6 is described below

commit c166be61fefdae66f7111de59dd0f4403164b9a8
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Wed Sep 1 09:36:49 2021 +0700

    [OPENMEETINGS-2652] multi-select should work better
---
 .../openmeetings/web/common/InvitationDialog.java     |  1 +
 .../openmeetings/web/common/InvitationForm.java       |  8 +++++++-
 .../openmeetings/web/room/menu/ActionsSubMenu.java    |  5 +++--
 .../web/room/menu/RoomInvitationForm.java             | 19 +++++++++++--------
 .../openmeetings/web/room/menu/RoomMenuPanel.html     |  2 +-
 .../apache/openmeetings/web/user/MessageDialog.java   |  5 ++++-
 .../web/user/calendar/AppointmentDialog.java          |  3 +++
 .../openmeetings/web/user/calendar/CalendarPanel.html |  2 +-
 .../openmeetings/web/user/calendar/CalendarPanel.java |  2 +-
 .../web/user/record/RecordingInvitationForm.java      |  9 +++++++--
 .../openmeetings/web/user/record/RecordingsPanel.html |  2 +-
 .../openmeetings/web/user/record/RecordingsPanel.java |  5 +++--
 pom.xml                                               |  2 +-
 13 files changed, 44 insertions(+), 21 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
index 88435fc..95385cb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationDialog.java
@@ -34,6 +34,7 @@ public class InvitationDialog extends Modal<Invitation> {
 
        public InvitationDialog(String id, final InvitationForm form) {
                super(id, form.getModel());
+               setMarkupId(id);
                this.form = form;
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
index 55b0514..39365a6 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
@@ -81,6 +81,8 @@ public abstract class InvitationForm extends Form<Invitation> 
{
        protected final TextField<String> url = new TextField<>("url", 
Model.of((String)null));
        protected final UserMultiChoice recipients = new 
UserMultiChoice("recipients", new CollectionModel<>(new ArrayList<>()));
        protected InvitationDialog dialog;
+       protected String dropDownParentId;
+
        @SpringBean
        private InvitationDao inviteDao;
        @SpringBean
@@ -93,8 +95,9 @@ public abstract class InvitationForm extends Form<Invitation> 
{
                , SEND
        }
 
-       protected InvitationForm(String id) {
+       protected InvitationForm(String id, String dropDownParentId) {
                super(id, new CompoundPropertyModel<>(new Invitation()));
+               this.dropDownParentId = dropDownParentId;
                setOutputMarkupId(true);
        }
 
@@ -105,6 +108,9 @@ public abstract class InvitationForm extends 
Form<Invitation> {
                        url.setModelObject(null);
                        updateButtons(target);
                })).setOutputMarkupId(true);
+               if (dropDownParentId != null) {
+                       
recipients.getSettings().setDropdownParent(dropDownParentId);
+               }
                add(new AjaxCheckBox("passwordProtected") {
                        private static final long serialVersionUID = 1L;
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
index 8ec7507..7655214 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
@@ -67,8 +67,9 @@ public class ActionsSubMenu implements Serializable {
        }
 
        public void init() {
-               RoomInvitationForm rif = new RoomInvitationForm("form", 
room.getRoom().getId());
-               mp.add(invite = new InvitationDialog("invite", rif));
+               final String roomInviteDialogId = "roomInviteDialog";
+               RoomInvitationForm rif = new RoomInvitationForm("form", 
room.getRoom().getId(), roomInviteDialogId);
+               mp.add(invite = new InvitationDialog(roomInviteDialogId, rif));
                rif.setDialog(invite);
                mp.add(sipDialer = new SipDialerDialog("sipDialer", room));
                actionsMenu = new OmMenuItem(mp.getString("635"), null, false);
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
index 34b9456..aefe09f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
@@ -57,7 +57,7 @@ public class RoomInvitationForm extends InvitationForm {
        private final RadioGroup<InviteeType> rdi = new 
RadioGroup<>("inviteeType", Model.of(InviteeType.user));
        private final Long roomId;
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
-       final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<>("groups"
+       private final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<>("groups"
                        , new CollectionModel<>(new ArrayList<>())
                        , new GroupChoiceProvider());
        final WebMarkupContainer sipContainer = new 
WebMarkupContainer("sip-container");
@@ -73,9 +73,14 @@ public class RoomInvitationForm extends InvitationForm {
                , group
        }
 
-       public RoomInvitationForm(String id, Long roomId) {
-               super(id);
+       public RoomInvitationForm(String id, Long roomId, String 
dropDownParentId) {
+               super(id, dropDownParentId);
                this.roomId = roomId;
+       }
+
+       @Override
+       protected void onInitialize() {
+               groups.setLabel(new ResourceModel("126"));
                boolean showGroups = AuthLevelUtil.hasAdminLevel(getRights());
                add(rdi.add(new AjaxFormChoiceComponentUpdatingBehavior() {
                        private static final long serialVersionUID = 1L;
@@ -98,11 +103,9 @@ public class RoomInvitationForm extends InvitationForm {
                rdi.add(new Radio<>("user", Model.of(InviteeType.user)));
                
add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
                sipContainer.add(new Label("room.confno", 
"")).setVisible(false);
-       }
-
-       @Override
-       protected void onInitialize() {
-               groups.setLabel(new ResourceModel("126"));
+               if (dropDownParentId != null) {
+                       
groups.getSettings().setDropdownParent(dropDownParentId);
+               }
                super.onInitialize();
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
index 1d173f8..f12a8ab 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
@@ -38,7 +38,7 @@
                <span wicket:id="logo" class="icon"></span>
                <span wicket:id="demo" class="text-danger room demo"></span>
        </div>
-       <div wicket:id="invite"></div>
+       <div wicket:id="roomInviteDialog"></div>
        <div wicket:id="createPoll"></div>
        <div wicket:id="vote"></div>
        <div wicket:id="pollResults"></div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
index fd33168..239bf54 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
@@ -107,6 +107,7 @@ public class MessageDialog extends Modal<PrivateMessage> {
 
        public MessageDialog(String id, CompoundPropertyModel<PrivateMessage> 
model) {
                super(id, model);
+               setMarkupId(id);
                form = new Form<>("form", getModel());
        }
 
@@ -208,7 +209,9 @@ public class MessageDialog extends Modal<PrivateMessage> {
                addButton(OmModalCloseButton.of());
 
                form.add(feedback.setOutputMarkupId(true));
-               form.add(new UserMultiChoice("to", modelTo).setRequired(true));
+               final UserMultiChoice recepients = new UserMultiChoice("to", 
modelTo);
+               
recepients.getSettings().setDropdownParent(MessageDialog.this.getMarkupId());
+               form.add(recepients.setRequired(true));
                form.add(new TextField<String>("subject"));
                OmWysiwygToolbar toolbar = new 
OmWysiwygToolbar("toolbarContainer");
                form.add(toolbar);
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
index 757d0b3..0481bee 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
@@ -132,6 +132,7 @@ public class AppointmentDialog extends Modal<Appointment> {
 
        public AppointmentDialog(String id, CalendarPanel calendarPanel, 
CompoundPropertyModel<Appointment> model) {
                super(id, model);
+               setMarkupId(id);
                log.debug(" -- AppointmentDialog -- Current model {}", 
getModel().getObject());
                this.calendarPanel = calendarPanel;
                setOutputMarkupId(true);
@@ -370,6 +371,7 @@ public class AppointmentDialog extends Modal<Appointment> {
                        //General
                        add(ownerPanel.add(owner));
                        boolean showGroups = 
AuthLevelUtil.hasAdminLevel(getRights());
+                       
groups.getSettings().setDropdownParent(AppointmentDialog.this.getMarkupId());
                        add(rdi.add(new 
AjaxFormChoiceComponentUpdatingBehavior() {
                                private static final long serialVersionUID = 1L;
 
@@ -388,6 +390,7 @@ public class AppointmentDialog extends Modal<Appointment> {
                                        // added to update model
                                })).setEnabled(false);
                        }
+                       
attendees.getSettings().setDropdownParent(AppointmentDialog.this.getMarkupId());
                        
rdi.add(attendees.add(AjaxFormComponentUpdatingBehavior.onUpdate(EVT_CHANGE, 
target -> {
                                        // added to update model
                                }))
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
index 0706644..23e1a00 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
@@ -39,7 +39,7 @@
                        <!-- div wicket:id="feedback"></div -->
                </form>
        </div>
-       <div wicket:id="appointment" class="appointment">[appointment]</div>
+       <div wicket:id="calendarAppointment" 
class="appointment">[appointment]</div>
        <div wicket:id="calendarDialog"></div>
        <!-- bottom section -->
 </wicket:panel>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
index d6bd651..65536d1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
@@ -123,7 +123,7 @@ public class CalendarPanel extends UserBasePanel {
                final Form<Date> form = new Form<>("form");
                add(form);
 
-               dialog = new AppointmentDialog("appointment", this, new 
CompoundPropertyModel<>(getDefault()));
+               dialog = new AppointmentDialog("calendarAppointment", this, new 
CompoundPropertyModel<>(getDefault()));
                add(dialog);
 
                boolean isRtl = isRtl();
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
index 79738b3..c319b0f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingInvitationForm.java
@@ -29,9 +29,14 @@ public class RecordingInvitationForm extends InvitationForm {
        @SpringBean
        private RecordingDao recDao;
 
-       public RecordingInvitationForm(String id) {
-               super(id);
+       public RecordingInvitationForm(String id, String dropDownParentId) {
+               super(id, dropDownParentId);
+       }
+
+       @Override
+       protected void onInitialize() {
                add(recipients);
+               super.onInitialize();
        }
 
        @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
index 91a10c4..3f26014 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
@@ -28,6 +28,6 @@
                <div wicket:id="video"></div>
        </div>
        <div wicket:id="addFolder"></div>
-       <div wicket:id="invitation"></div>
+       <div wicket:id="recordingInviteDialog"></div>
 </wicket:panel>
 </html>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
index 1cd806e..5a14902 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
@@ -52,7 +52,8 @@ public class RecordingsPanel extends UserBasePanel {
        private final VideoInfo info = new VideoInfo("info");
        private FileTreePanel fileTree;
        private InvitationDialog invite;
-       private RecordingInvitationForm rif = new 
RecordingInvitationForm("form");
+       private final static String recordingInviteDialogId = 
"recordingInviteDialog";
+       private RecordingInvitationForm rif = new 
RecordingInvitationForm("form", recordingInviteDialogId);
 
        @SpringBean
        private RecordingDao recDao;
@@ -152,7 +153,7 @@ public class RecordingsPanel extends UserBasePanel {
                        }
                });
                add(video, info, addFolder);
-               add(invite = new InvitationDialog("invitation", rif));
+               add(invite = new InvitationDialog(recordingInviteDialogId, 
rif));
                rif.setDialog(invite);
 
                super.onInitialize();
diff --git a/pom.xml b/pom.xml
index da5c869..1e9b0cc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
                <wicket.version>9.4.0</wicket.version>
                <wicket-jquery-ui.version>9.3.2</wicket-jquery-ui.version>
                <wicketstuff.version>9.4.0</wicketstuff.version>
-               <wicket-bootstrap.version>6.0.0-M3</wicket-bootstrap.version>
+               
<wicket-bootstrap.version>6.0.0-M4-SNAPSHOT</wicket-bootstrap.version>
                <font-awesome.version>5.15.3</font-awesome.version>
                <spring.version>5.3.9</spring.version>
                <tomcat.version>9.0.52</tomcat.version>

Reply via email to