You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2021/09/01 02:39:01 UTC
[openmeetings] branch master updated: [OPENMEETINGS-2652]
multi-select should work better
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 <so...@gmail.com>
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>