Author: solomax
Date: Wed Aug 31 16:48:00 2016
New Revision: 1758654
URL: http://svn.apache.org/viewvc?rev=1758654&view=rev
Log:
[OPENMEETINGS-1458] dialog is added
Added:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Added:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html?rev=1758654&view=auto
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
(added)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
Wed Aug 31 16:48:00 2016
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:panel>
+ <form wicket:id="form">
+ <div wicket:id="feedback"></div>
+ <div class="table">
+ <div>
+ <div class="column label"><label
wicket:for="subject"><wicket:message key="135" /></label></div>
+ <div class="column data"><input type="text"
wicket:id="firstname" class="input"/></div>
+ </div>
+ <div>
+ <div class="column label"><label
wicket:for="subject"><wicket:message key="136" /></label></div>
+ <div class="column data"><input type="text"
wicket:id="lastname" class="input"/></div>
+ </div>
+ <div>
+ <div class="column label"><label
wicket:for="subject"><wicket:message key="137" /></label></div>
+ <div class="column data"><input type="text"
wicket:id="address.email" class="input"/></div>
+ </div>
+ </div>
+ </form>
+</wicket:panel>
+</html>
Added:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java?rev=1758654&view=auto
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
(added)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
Wed Aug 31 16:48:00 2016
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room;
+
+import static
org.apache.wicket.validation.validator.StringValidator.minimumLength;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import
org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.Strings;
+
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
+
+public class NicknameDialog extends AbstractFormDialog<User> {
+ private static final long serialVersionUID = 1L;
+ private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback", new Options("button", true));
+ private final DialogButton ok = new DialogButton("ok",
Application.getString(54));
+ private final Form<User> form;
+
+ public NicknameDialog(String id, User u) {
+ super(id, Application.getString(1287));
+ add(form = new Form<>("form", new CompoundPropertyModel<>(u)));
+ form.add(feedback);
+ form.add(new
RequiredTextField<String>("firstname").setLabel(Model.of(Application.getString(135))).add(minimumLength(4)));
+ form.add(new
RequiredTextField<String>("lastname").setLabel(Model.of(Application.getString(136))).add(minimumLength(4)));
+ form.add(new
RequiredTextField<String>("address.email").setLabel(Model.of(Application.getString(137))).add(RfcCompliantEmailAddressValidator.getInstance()));
+ }
+
+ @Override
+ public void onConfigure(JQueryBehavior behavior) {
+ super.onConfigure(behavior);
+ User u = form.getModelObject();
+ behavior.setOption("autoOpen", User.Type.external ==
u.getType() && Strings.isEmpty(u.getFirstname()) &&
Strings.isEmpty(u.getLastname()));
+ behavior.setOption("closeOnEscape", false);
+ behavior.setOption("dialogClass", Options.asString("no-close"));
+ behavior.setOption("resizable", false);
+ }
+
+ @Override
+ protected List<DialogButton> getButtons() {
+ return Arrays.asList(ok);
+ }
+
+ @Override
+ public DialogButton getSubmitButton() {
+ return ok;
+ }
+
+ @Override
+ public Form<?> getForm() {
+ return form;
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target) {
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ }
+}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1758654&r1=1758653&r2=1758654&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
Wed Aug 31 16:48:00 2016
@@ -9,7 +9,7 @@
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -40,5 +40,6 @@
<div wicket:id="access-denied"></div>
<div wicket:id="room-closed"></div>
<div wicket:id="wait-for-recording"></div>
+ <div wicket:id="nickname"></div>
</wicket:panel>
</html>
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1758654&r1=1758653&r2=1758654&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Wed Aug 31 16:48:00 2016
@@ -255,6 +255,11 @@ public class RoomPanel extends BasePanel
} else {
add(new
WebMarkupContainer("wait-for-recording").setVisible(false));
}
+ if (room.isVisible()) {
+ add(new NicknameDialog("nickname",
getClient().getUser()));
+ } else {
+ add(new
WebMarkupContainer("nickname").setVisible(false));
+ }
}
@Override
Added:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html?rev=1758654&view=auto
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
(added)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.html
Wed Aug 31 16:48:00 2016
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:panel>
+ <form wicket:id="form">
+ <div wicket:id="feedback"></div>
+ <div class="table">
+ <div>
+ <div class="column label"><label
wicket:for="subject"><wicket:message key="135" /></label></div>
+ <div class="column data"><input type="text"
wicket:id="firstname" class="input"/></div>
+ </div>
+ <div>
+ <div class="column label"><label
wicket:for="subject"><wicket:message key="136" /></label></div>
+ <div class="column data"><input type="text"
wicket:id="lastname" class="input"/></div>
+ </div>
+ <div>
+ <div class="column label"><label
wicket:for="subject"><wicket:message key="137" /></label></div>
+ <div class="column data"><input type="text"
wicket:id="address.email" class="input"/></div>
+ </div>
+ </div>
+ </form>
+</wicket:panel>
+</html>
Added:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java?rev=1758654&view=auto
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
(added)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
Wed Aug 31 16:48:00 2016
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room;
+
+import static
org.apache.wicket.validation.validator.StringValidator.minimumLength;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import
org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.Strings;
+
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
+
+public class NicknameDialog extends AbstractFormDialog<User> {
+ private static final long serialVersionUID = 1L;
+ private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback", new Options("button", true));
+ private final DialogButton ok = new DialogButton("ok",
Application.getString(54));
+ private final Form<User> form;
+
+ public NicknameDialog(String id, User u) {
+ super(id, Application.getString(1287));
+ add(form = new Form<>("form", new CompoundPropertyModel<>(u)));
+ form.add(feedback);
+ form.add(new
RequiredTextField<String>("firstname").setLabel(Model.of(Application.getString(135))).add(minimumLength(4)));
+ form.add(new
RequiredTextField<String>("lastname").setLabel(Model.of(Application.getString(136))).add(minimumLength(4)));
+ form.add(new
RequiredTextField<String>("address.email").setLabel(Model.of(Application.getString(137))).add(RfcCompliantEmailAddressValidator.getInstance()));
+ }
+
+ @Override
+ public void onConfigure(JQueryBehavior behavior) {
+ super.onConfigure(behavior);
+ User u = form.getModelObject();
+ behavior.setOption("autoOpen", User.Type.external ==
u.getType() && Strings.isEmpty(u.getFirstname()) &&
Strings.isEmpty(u.getLastname()));
+ behavior.setOption("closeOnEscape", false);
+ behavior.setOption("dialogClass", Options.asString("no-close"));
+ behavior.setOption("resizable", false);
+ }
+
+ @Override
+ protected List<DialogButton> getButtons() {
+ return Arrays.asList(ok);
+ }
+
+ @Override
+ public DialogButton getSubmitButton() {
+ return ok;
+ }
+
+ @Override
+ public Form<?> getForm() {
+ return form;
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target) {
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ }
+}
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1758654&r1=1758653&r2=1758654&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
Wed Aug 31 16:48:00 2016
@@ -9,7 +9,7 @@
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -40,5 +40,6 @@
<div wicket:id="access-denied"></div>
<div wicket:id="room-closed"></div>
<div wicket:id="wait-for-recording"></div>
+ <div wicket:id="nickname"></div>
</wicket:panel>
</html>
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1758654&r1=1758653&r2=1758654&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Wed Aug 31 16:48:00 2016
@@ -258,6 +258,11 @@ public class RoomPanel extends BasePanel
} else {
add(new
WebMarkupContainer("wait-for-recording").setVisible(false));
}
+ if (room.isVisible()) {
+ add(new NicknameDialog("nickname",
getClient().getUser()));
+ } else {
+ add(new
WebMarkupContainer("nickname").setVisible(false));
+ }
}
@Override