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>