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"));
}
}