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


Reply via email to