Author: solomax
Date: Thu Aug 21 08:22:47 2014
New Revision: 1619309

URL: http://svn.apache.org/r1619309
Log:
Select2 is added to admin room form; code clean-up

Modified:
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1619309&r1=1619308&r2=1619309&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 Thu Aug 21 08:22:47 2014
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
 import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -59,7 +60,6 @@ import org.apache.wicket.markup.html.for
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.IChoiceRenderer;
-import org.apache.wicket.markup.html.form.ListMultipleChoice;
 import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.markup.html.form.TextField;
@@ -69,10 +69,13 @@ import org.apache.wicket.model.CompoundP
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Duration;
 
 import com.vaynberg.wicket.select2.Response;
 import com.vaynberg.wicket.select2.Select2Choice;
+import com.vaynberg.wicket.select2.Select2MultiChoice;
+import com.vaynberg.wicket.select2.TextChoiceProvider;
 
 public class RoomForm extends AdminBaseForm<Room> {
        private static final long serialVersionUID = 1L;
@@ -115,16 +118,45 @@ public class RoomForm extends AdminBaseF
                add(new CheckBox("ispublic"));
 
                List<Organisation> orgList = 
Application.getBean(OrganisationDao.class).get(0, Integer.MAX_VALUE);
-               List<RoomOrganisation> orgRooms = new 
ArrayList<RoomOrganisation>(orgList.size());
+               final List<RoomOrganisation> orgRooms = new 
ArrayList<RoomOrganisation>(orgList.size());
                for (Organisation org : orgList) {
                        orgRooms.add(new RoomOrganisation(org));
                }
-               ListMultipleChoice<RoomOrganisation> orgChoiceList = new 
ListMultipleChoice<RoomOrganisation>(
-                               "roomOrganisations", orgRooms,
-                               new 
ChoiceRenderer<RoomOrganisation>("organisation.name",
-                                               
"organisation.organisation_id"));
-               orgChoiceList.setMaxRows(6);
-               add(orgChoiceList);
+               add(new 
Select2MultiChoice<RoomOrganisation>("roomOrganisations", null, new 
TextChoiceProvider<RoomOrganisation>() {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected String getDisplayText(RoomOrganisation 
choice) {
+                               return choice.getOrganisation().getName();
+                       }
+
+                       @Override
+                       protected Object getId(RoomOrganisation choice) {
+                               return 
choice.getOrganisation().getOrganisation_id();
+                       }
+
+                       @Override
+                       public void query(String term, int page, 
Response<RoomOrganisation> response) {
+                               for (RoomOrganisation or : orgRooms) {
+                                       if (Strings.isEmpty(term) || 
(!Strings.isEmpty(term) && or.getOrganisation().getName().contains(term))) {
+                                               response.add(or);
+                                       }
+                               }
+                       }
+
+                       @Override
+                       public Collection<RoomOrganisation> 
toChoices(Collection<String> _ids) {
+                               List<Long> ids = new ArrayList<Long>();
+                               for (String id : _ids) {
+                                       ids.add(Long.parseLong(id));
+                               }
+                               List<RoomOrganisation> list = new 
ArrayList<RoomOrganisation>();
+                               for (Organisation o : 
getBean(OrganisationDao.class).get(ids)) {
+                                       list.add(new RoomOrganisation(o));
+                               }
+                               return list;
+                       }
+               }));
 
                add(new CheckBox("isDemoRoom"));
                TextField<Integer> demoTime = new 
TextField<Integer>("demoTime");
@@ -153,7 +185,7 @@ public class RoomForm extends AdminBaseF
                
                // Users in this Room 
                clients = new ListView<Client>("clients", clientsInRoom) {
-                       private static final long serialVersionUID = 
8542589945574690054L;
+                       private static final long serialVersionUID = 1L;
 
                        @Override
                        protected void populateItem(final ListItem<Client> 
item) {

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1619309&r1=1619308&r2=1619309&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
 Thu Aug 21 08:22:47 2014
@@ -86,7 +86,7 @@
                                            </div>
                                            <div class="formelement">
                                                <div 
class="info-text"><wicket:ommessage key="828" /></div>
-                                               <label><wicket:ommessage 
key="191" /></label><select wicket:id="roomOrganisations" style="height: 80px"/>
+                                               <label><wicket:ommessage 
key="191" /></label><input type="hidden" class="input" 
wicket:id="roomOrganisations" style="height: 80px"/>
                                            </div>
                                        </fieldset>
                                        

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1619309&r1=1619308&r2=1619309&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
 Thu Aug 21 08:22:47 2014
@@ -28,7 +28,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.directory.api.util.Strings;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.FieldLanguageDao;
 import org.apache.openmeetings.db.dao.user.OrganisationDao;
@@ -60,6 +59,7 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.util.string.Strings;
 
 import com.vaynberg.wicket.select2.Response;
 import com.vaynberg.wicket.select2.Select2MultiChoice;

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1619309&r1=1619308&r2=1619309&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 Thu Aug 21 08:22:47 2014
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
 import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -58,7 +59,6 @@ import org.apache.wicket.markup.html.for
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.ListMultipleChoice;
 import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.markup.html.form.TextField;
@@ -68,10 +68,13 @@ import org.apache.wicket.model.CompoundP
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Duration;
 
 import com.vaynberg.wicket.select2.Response;
 import com.vaynberg.wicket.select2.Select2Choice;
+import com.vaynberg.wicket.select2.Select2MultiChoice;
+import com.vaynberg.wicket.select2.TextChoiceProvider;
 
 public class RoomForm extends AdminBaseForm<Room> {
        private static final long serialVersionUID = 1L;
@@ -114,16 +117,45 @@ public class RoomForm extends AdminBaseF
                add(new CheckBox("ispublic"));
 
                List<Organisation> orgList = 
Application.getBean(OrganisationDao.class).get(0, Integer.MAX_VALUE);
-               List<RoomOrganisation> orgRooms = new 
ArrayList<RoomOrganisation>(orgList.size());
+               final List<RoomOrganisation> orgRooms = new 
ArrayList<RoomOrganisation>(orgList.size());
                for (Organisation org : orgList) {
                        orgRooms.add(new RoomOrganisation(org));
                }
-               ListMultipleChoice<RoomOrganisation> orgChoiceList = new 
ListMultipleChoice<RoomOrganisation>(
-                               "roomOrganisations", orgRooms,
-                               new 
ChoiceRenderer<RoomOrganisation>("organisation.name",
-                                               "organisation.id"));
-               orgChoiceList.setMaxRows(6);
-               add(orgChoiceList);
+               add(new 
Select2MultiChoice<RoomOrganisation>("roomOrganisations", null, new 
TextChoiceProvider<RoomOrganisation>() {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected String getDisplayText(RoomOrganisation 
choice) {
+                               return choice.getOrganisation().getName();
+                       }
+
+                       @Override
+                       protected Object getId(RoomOrganisation choice) {
+                               return choice.getOrganisation().getId();
+                       }
+
+                       @Override
+                       public void query(String term, int page, 
Response<RoomOrganisation> response) {
+                               for (RoomOrganisation or : orgRooms) {
+                                       if (Strings.isEmpty(term) || 
(!Strings.isEmpty(term) && or.getOrganisation().getName().contains(term))) {
+                                               response.add(or);
+                                       }
+                               }
+                       }
+
+                       @Override
+                       public Collection<RoomOrganisation> 
toChoices(Collection<String> _ids) {
+                               List<Long> ids = new ArrayList<Long>();
+                               for (String id : _ids) {
+                                       ids.add(Long.parseLong(id));
+                               }
+                               List<RoomOrganisation> list = new 
ArrayList<RoomOrganisation>();
+                               for (Organisation o : 
getBean(OrganisationDao.class).get(ids)) {
+                                       list.add(new RoomOrganisation(o));
+                               }
+                               return list;
+                       }
+               }));
 
                add(new CheckBox("isDemoRoom"));
                TextField<Integer> demoTime = new 
TextField<Integer>("demoTime");

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1619309&r1=1619308&r2=1619309&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
 Thu Aug 21 08:22:47 2014
@@ -86,7 +86,7 @@
                                            </div>
                                            <div class="formelement">
                                                <div 
class="info-text"><wicket:ommessage key="828" /></div>
-                                               <label><wicket:ommessage 
key="191" /></label><select wicket:id="roomOrganisations" style="height: 80px"/>
+                                               <label><wicket:ommessage 
key="191" /></label><input type="hidden" class="input" 
wicket:id="roomOrganisations" style="height: 80px"/>
                                            </div>
                                        </fieldset>
                                        

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1619309&r1=1619308&r2=1619309&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
 Thu Aug 21 08:22:47 2014
@@ -28,7 +28,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.directory.api.util.Strings;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.FieldLanguageDao;
 import org.apache.openmeetings.db.dao.user.OrganisationDao;
@@ -60,6 +59,7 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.util.string.Strings;
 
 import com.vaynberg.wicket.select2.Response;
 import com.vaynberg.wicket.select2.Select2MultiChoice;


Reply via email to