Author: solomax
Date: Wed Sep 26 03:33:06 2012
New Revision: 1390269

URL: http://svn.apache.org/viewvc?rev=1390269&view=rev
Log:
Wicket:
        Lanbels admin page rendered as expected (was broken after refactoring), 
partially working
        code cleanup

Added:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/AddLanguageForm.java
Modified:
    
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css?rev=1390269&r1=1390268&r2=1390269&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
 Wed Sep 26 03:33:06 2012
@@ -47,6 +47,7 @@ div.formNewButton input {
 div.formNewButton.disabled input {
        background: url(images/forms/plus_icon_disabled.png) no-repeat;
        float: left;
+       cursor: default;
        width: 18px;
        height: 18px;
        border: none;

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java?rev=1390269&r1=1390268&r2=1390269&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java
 Wed Sep 26 03:33:06 2012
@@ -21,7 +21,6 @@ package org.apache.openmeetings.web.comp
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.components.ConfirmCallListener;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.AjaxCallListener;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.basic.Label;

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/AddLanguageForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/AddLanguageForm.java?rev=1390269&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/AddLanguageForm.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/AddLanguageForm.java
 Wed Sep 26 03:33:06 2012
@@ -0,0 +1,74 @@
+/*
+ * 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.components.admin.labels;
+
+import java.util.Date;
+
+import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
+import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+
+public class AddLanguageForm extends Form<Void> {
+       private static final long serialVersionUID = 8743289610974962636L;
+       private String newLanguageName;
+       private String newLanguageISO;
+       
+       public AddLanguageForm(String id) {
+               super(id);
+               
+               add(new RequiredTextField<String>("name", new 
PropertyModel<String>(this, "newLanguageName")));
+               add(new RequiredTextField<String>("iso", new 
PropertyModel<String>(this, "newLanguageISO")));
+               
+               add(new AjaxButton("add", Model.of(WebSession.getString(366L)), 
this) {
+                       private static final long serialVersionUID = 
-552597041751688740L;
+
+                       @Override
+                       public void onSubmit(AjaxRequestTarget target, Form<?> 
form) {
+                               FieldLanguageDaoImpl langDao = 
Application.getBean(FieldLanguageDaoImpl.class);
+                               
+                               FieldLanguage fl = new FieldLanguage();
+                               fl.setLanguage_id(langDao.getNextAvailableId());
+                               fl.setStarttime(new Date());
+                               fl.setDeleted(false);
+                               fl.setName(newLanguageName);
+                               fl.setRtl(false); //FIXME
+                               fl.setCode(newLanguageISO);
+                               
+                               try {
+                                       langDao.updateLanguage(fl);
+                               } catch (Exception e) {
+                                       // TODO add feedback message
+                                       e.printStackTrace();
+                               }
+                               /* FIXME
+                               languages.setChoices(langDao.getLanguages());
+                               target.add(languages);
+                               */
+                               
target.appendJavaScript("$('#addLanguage').dialog('close');");
+                       }
+               });
+       }
+}

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java?rev=1390269&r1=1390268&r2=1390269&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
 Wed Sep 26 03:33:06 2012
@@ -37,20 +37,16 @@ import org.apache.wicket.model.CompoundP
  * 
  */
 public class LabelsForm extends AdminBaseForm<Fieldlanguagesvalues> {
+       private static final long serialVersionUID = -1309878909524329047L;
 
        public LabelsForm(String id, Fieldlanguagesvalues fieldlanguagesvalues) 
{
-               super(id, new CompoundPropertyModel<Fieldlanguagesvalues>(
-                               fieldlanguagesvalues));
-               setOutputMarkupId(true);
+               super(id, new 
CompoundPropertyModel<Fieldlanguagesvalues>(fieldlanguagesvalues));
 
                add(new Label("fieldvalues.fieldvalues_id"));
                add(new TextField<String>("fieldvalues.name"));
                add(new TextArea<String>("value"));
-
        }
 
-       private static final long serialVersionUID = -1309878909524329047L;
-
        @Override
        protected void onNewSubmit(AjaxRequestTarget target, Form<?> f) {
                this.setModelObject(new Fieldlanguagesvalues());

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java?rev=1390269&r1=1390268&r2=1390269&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
 Wed Sep 26 03:33:06 2012
@@ -18,24 +18,20 @@
  */
 package org.apache.openmeetings.web.components.admin.labels;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.components.ConfirmCallListener;
-import org.apache.openmeetings.web.components.admin.AdminBaseForm;
+import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.WebMarkupContainer;
+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.IChoiceRenderer;
-import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.util.time.Duration;
 
 /**
@@ -44,42 +40,12 @@ import org.apache.wicket.util.time.Durat
  * @author swagner
  * 
  */
-public class LangForm extends AdminBaseForm<FieldLanguage> {
+public class LangForm extends Form<Void> {
 
        private static final long serialVersionUID = 2837702941211636609L;
        private final WebMarkupContainer listContainer;
        private final LangPanel langPanel;
-       private DropDownChoice<Long> languages;
-
-       private List<FieldLanguage> fieldLanguages;
-
-       /**
-        * Get list of language ids for drow down
-        * 
-        * @return
-        */
-       private List<Long> getFieldLanguageIds() {
-               List<Long> idsList = new ArrayList<Long>();
-               for (FieldLanguage fieldLanguage : fieldLanguages) {
-                       idsList.add(fieldLanguage.getLanguage_id());
-               }
-               return idsList;
-       }
-
-       /**
-        * get name for id for dropdown renderer
-        * 
-        * @param id
-        * @return
-        */
-       private String getFieldLanguageLabelById(Long id) {
-               for (FieldLanguage language : fieldLanguages) {
-                       if (id.equals(language.getLanguage_id())) {
-                               return language.getName();
-                       }
-               }
-               throw new RuntimeException("Could not find FieldLanguage for id 
" + id);
-       }
+       private DropDownChoice<FieldLanguage> languages;
 
        /**
         * Render Main
@@ -89,50 +55,21 @@ public class LangForm extends AdminBaseF
         * @param language
         * @param langPanel
         */
-       public LangForm(String id, final WebMarkupContainer listContainer,
-                       FieldLanguage language, LangPanel langPanel) {
+       public LangForm(String id, final WebMarkupContainer listContainer, 
final LangPanel langPanel) {
 
-               super(id, new CompoundPropertyModel<FieldLanguage>(language));
+               super(id);
                this.listContainer = listContainer;
                this.langPanel = langPanel;
                setOutputMarkupId(true);
 
-               addLanguageDropDown();
-
-               addSaveAndDeleteButtons();
-
-               // addNewLanguagePopUp(langPanel);
-
-               // attach an ajax validation behavior to all form component's 
keydown
-               // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
-       }
-
-       /**
-        * Adds the drop down menu to choose more languages
-        */
-       private void addLanguageDropDown() {
-
-               // prepare the list of languages
                FieldLanguageDaoImpl langDao = Application
                                .getBean(FieldLanguageDaoImpl.class);
-               fieldLanguages = langDao.getLanguages();
-
-               languages = new DropDownChoice<Long>("language_id",
-                               getFieldLanguageIds(), new 
IChoiceRenderer<Long>() {
-                                       private static final long 
serialVersionUID = 1L;
-
-                                       public Object getDisplayValue(Long id) {
-                                               return 
getFieldLanguageLabelById(id);
-                                       }
-
-                                       public String getIdValue(Long id, int 
index) {
-                                               return "" + id;
-                                       }
-
-                               });
-
+               
+               languages = new DropDownChoice<FieldLanguage>("language"
+                               , new PropertyModel<FieldLanguage>(langPanel, 
"language")
+                               , langDao.getLanguages()
+                               , new ChoiceRenderer<FieldLanguage>("name", 
"language_id"));
+                               
                languages.add(new AjaxFormComponentUpdatingBehavior("onchange") 
{
                        private static final long serialVersionUID = 
-2055912815073387536L;
 
@@ -141,83 +78,37 @@ public class LangForm extends AdminBaseF
                                target.add(listContainer);
                        }
                });
-
                add(languages);
-       }
-
-       /**
-        * adds the pop up to enter a new language
-        * 
-        * @param langPanel
-        */
-       // private void addNewLanguagePopUp(LangPanel langPanel) {
-       // langPanel.add(addLangForm.add(
-       // new RequiredTextField<String>("name",
-       // new PropertyModel<String>(this, "newLanguageName")))
-       // .add(new RequiredTextField<String>("iso",
-       // new PropertyModel<String>(this, "newLanguageISO"))));
-       // }
 
-       /**
-        * Add save and remove buttons and trigger add/delete in DAO
-        */
-       private void addSaveAndDeleteButtons() {
-               
-               add(new AjaxButton("newLangBtn") {
-                       private static final long serialVersionUID = 
5570057276994987132L;
-               });
-
-               add(new AjaxButton("deleteLangBtn") {
+               add(new WebMarkupContainer("deleteLangBtn").add(new 
AjaxEventBehavior("onclick"){
                        private static final long serialVersionUID = 
-1650946343073068686L;
 
                        @Override
                        protected void 
updateAjaxAttributes(AjaxRequestAttributes attributes) {
                                super.updateAjaxAttributes(attributes);
-                               attributes.getAjaxCallListeners().add(
-                                               new ConfirmCallListener(833L));
+                               attributes.getAjaxCallListeners().add(new 
ConfirmCallListener(833L));
                        }
-
+                       
                        @Override
-                       protected void onSubmit(AjaxRequestTarget target, 
Form<?> form) {
-                               FieldLanguageDaoImpl langDao = Application
-                                               
.getBean(FieldLanguageDaoImpl.class);
-                               langDao.delete(langPanel.getLanguage());
-                               fieldLanguages = langDao.getLanguages();
-                               languages.setChoices(getFieldLanguageIds());
+                       protected void onEvent(AjaxRequestTarget target) {
+                               langPanel.language.setDeleted(true);
+                               FieldLanguageDaoImpl langDao = 
Application.getBean(FieldLanguageDaoImpl.class);
+                               try {
+                                       
langDao.updateLanguage(langPanel.language);
+                               } catch (Exception e) {
+                                       // TODO add feedback message
+                                       e.printStackTrace();
+                               }
+                               languages.setChoices(langDao.getLanguages());
                                target.add(languages);
-                               // FIXME need to force update list container
+                               //FIXME need to forse update list container
                                target.add(listContainer);
                        }
-               });
+               })); 
 
-               // add(new AjaxButton("add", this) {
-               // private static final long serialVersionUID = 
-552597041751688740L;
-               //
-               // @Override
-               // public void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
-               // FieldLanguageDaoImpl langDao = Application
-               // .getBean(FieldLanguageDaoImpl.class);
-               //
-               // FieldLanguage fl = new FieldLanguage();
-               // fl.setLanguage_id(langDao.getNextAvailableId());
-               // fl.setStarttime(new Date());
-               // fl.setDeleted(false);
-               // fl.setName(langPanel.getNewLanguageName());
-               // fl.setRtl(false); // FIXME
-               // fl.setCode(langPanel.getNewLanguageISO());
-               //
-               // try {
-               // langDao.updateLanguage(fl);
-               // } catch (Exception e) {
-               // // TODO add feedback message
-               // e.printStackTrace();
-               // }
-               // fieldLanguages = langDao.getLanguages();
-               // languages.setChoices(getFieldLanguageIds());
-               // target.add(languages);
-               // 
target.appendJavaScript("$('#addLanguage').dialog('close');");
-               // }
-               // });
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
        }
-
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html?rev=1390269&r1=1390268&r2=1390269&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
 Wed Sep 26 03:33:06 2012
@@ -35,13 +35,9 @@
                                <td valign="top" class="adminPanelColumnTable">
                                        <form wicket:id="langForm" 
style="display: inline;">
                                                <div class="formNewButton" 
-                                                       
onclick="$('#addLanguage :text').val(''); $('#addLanguage').dialog('open');">
-                                                       <input type="submit" 
value="" wicket:id="newLangBtn" />
-                                               </div>
-                                               <div class="formCancelButton">
-                                                       <input type="submit" 
value="" wicket:id="deleteLangBtn" />
-                                               </div>
-                                               <select 
wicket:id="language_id"></select>
+                                                       
onclick="$('#addLanguage :text').val(''); 
$('#addLanguage').dialog('open');"><input/></div>
+                                               <div wicket:id="deleteLangBtn" 
class="formCancelButton"><input/></div>
+                                               <select 
wicket:id="language"></select>
                                        </form>
                                        <span wicket:id="navigator">[dataview 
navigator]</span>
                                        <table class="adminListTable">
@@ -90,18 +86,18 @@
                        </tr>
                </table>
                <div id="addLanguage" wicket:ommessage="title:364" 
style="display: none;">
-                       <form > <!--  wicket:id="addLangForm" -->
+                       <form wicket:id="addLangForm">
                                <table>
                                        <tr>
                                                <td><wicket:ommessage key="365" 
/></td>
-                                               <td><input type="text" 
/></td><!-- wicket:id="name"  -->
+                                               <td><input type="text" 
wicket:id="name"/></td>
                                        </tr>
                                        <tr>
                                                <td><wicket:ommessage 
key="1422" /></td>
-                                               <td><input type="text" 
/></td><!-- wicket:id="iso" -->
+                                               <td><input type="text" 
wicket:id="iso"/></td>
                                        </tr>
                                        <tr>
-                                               <td align="right" 
colspan="2"><input type="submit" /></td><!--  wicket:id="add"  -->
+                                               <td align="right" 
colspan="2"><input type="submit" wicket:id="add"/></td>
                                        </tr>
                                </table>
                        </form>

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java?rev=1390269&r1=1390268&r2=1390269&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
 Wed Sep 26 03:33:06 2012
@@ -46,33 +46,7 @@ import org.apache.wicket.markup.repeater
 public class LangPanel extends AdminPanel {
        private static final long serialVersionUID = 5904180813198016592L;
 
-       private FieldLanguage language;
-       private String newLanguageName;
-       private String newLanguageISO;
-
-       public FieldLanguage getLanguage() {
-               return language;
-       }
-
-       public void setLanguage(FieldLanguage language) {
-               this.language = language;
-       }
-
-       public String getNewLanguageName() {
-               return newLanguageName;
-       }
-
-       public void setNewLanguageName(String newLanguageName) {
-               this.newLanguageName = newLanguageName;
-       }
-
-       public String getNewLanguageISO() {
-               return newLanguageISO;
-       }
-
-       public void setNewLanguageISO(String newLanguageISO) {
-               this.newLanguageISO = newLanguageISO;
-       }
+       FieldLanguage language;
 
        public LangPanel(String id) {
                super(id);
@@ -131,8 +105,8 @@ public class LangPanel extends AdminPane
                                target.add(listContainer);
                        }
                });
-               add(new LangForm("langForm", listContainer, language, this));
-
+               add(new LangForm("langForm", listContainer, this));
+               add(new AddLanguageForm("addLangForm"));
        }
 
 }


Reply via email to