You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2012/09/14 10:07:18 UTC
svn commit: r1384678 - in
/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings:
data/basic/ web/components/admin/labels/ web/components/admin/users/
Author: solomax
Date: Fri Sep 14 08:07:18 2012
New Revision: 1384678
URL: http://svn.apache.org/viewvc?rev=1384678&view=rev
Log:
Wicket: Add/remove language is added (small issues are remain)
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.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
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java?rev=1384678&r1=1384677&r2=1384678&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java Fri Sep 14 08:07:18 2012
@@ -46,6 +46,11 @@ public class FieldLanguageDaoImpl {
@PersistenceContext
private EntityManager em;
+ public long getNextAvailableId() {
+ TypedQuery<Long> q = em.createQuery("SELECT MAX(fl.language_id) from FieldLanguage fl", Long.class);
+ return q.getSingleResult() + 1;
+ }
+
public FieldLanguage addLanguage(int langId, String langName, Boolean langRtl, String code) {
try {
FieldLanguage fl = new FieldLanguage();
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=1384678&r1=1384677&r2=1384678&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 Fri Sep 14 08:07:18 2012
@@ -21,10 +21,21 @@
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd" lang="en">
<wicket:panel>
+ <script type="text/javascript">
+ $(function(){
+ $('#addLanguage').dialog({
+ closeOnEscape: true
+ , autoOpen: false
+ , resizable: false
+ });
+ });
+ </script>
<table class="adminPanel">
<tr>
<td valign="top" class="adminPanelColumnTable">
- <form wicket:id="langForm"><select wicket:id="language"></select></form>
+ <div class="formNewButton" onclick="$('#addLanguage :text').val(''); $('#addLanguage').dialog('open');"><input/></div>
+ <div class="formCancelButton" wicket:id="deleteLngBtn"><input/></div>
+ <form wicket:id="langForm" style="display: inline-block;"><select wicket:id="language"></select></form>
<span wicket:id="navigator">[dataview navigator]</span>
<table wicket:id="listContainer" class="adminListTable">
<tr>
@@ -40,9 +51,45 @@
</table>
</td>
<td class="adminPanelColumnForm">
- <!-- form css class="adminForm" -->
+ <form wicket:id="form" class="adminForm">
+ <div wicket:id="buttons"></div>
+ <table>
+ <tr>
+ <td colspan="2" style="font-weight: bold;"><wicket:ommessage key="353" /></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="356" /></td>
+ <td><span wicket:id="fieldvalues.fieldvalues_id"></span></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="354" /></td>
+ <td><input type="text" wicket:id="fieldvalues.name"/></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="355" /></td>
+ <td><textarea wicket:id="value"></textarea></td>
+ </tr>
+ </table>
+ </form>
</td>
</tr>
</table>
+ <div id="addLanguage" wicket:ommessage="title:364" style="display: none;">
+ <form wicket:id="addLangForm">
+ <table>
+ <tr>
+ <td><wicket:ommessage key="365" /></td>
+ <td><input type="text" wicket:id="name" /></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="1422" /></td>
+ <td><input type="text" wicket:id="iso"/></td>
+ </tr>
+ <tr>
+ <td align="right" colspan="2"><input wicket:id="add" type="submit" /></td>
+ </tr>
+ </table>
+ </form>
+ </div>
</wicket:panel>
</html>
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=1384678&r1=1384677&r2=1384678&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 Fri Sep 14 08:07:18 2012
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.web.components.admin.labels;
+import java.util.Date;
import java.util.Iterator;
import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
@@ -25,29 +26,45 @@ import org.apache.openmeetings.data.basi
import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
import org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.components.admin.AdminBaseForm;
import org.apache.openmeetings.web.components.admin.AdminPanel;
import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
import org.apache.openmeetings.web.data.OmDataProvider;
+import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
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.RequiredTextField;
+import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
public class LangPanel extends AdminPanel {
private static final long serialVersionUID = 5904180813198016592L;
private FieldLanguage language;
+ private String newLanguageName;
+ private String newLanguageISO;
public LangPanel(String id) {
super(id);
FieldLanguageDaoImpl langDao = Application.getBean(FieldLanguageDaoImpl.class);
language = langDao.getFieldLanguageById(1L);
+ final Form<Fieldlanguagesvalues> form = new AdminBaseForm<Fieldlanguagesvalues>("form", new CompoundPropertyModel<Fieldlanguagesvalues>(new Fieldlanguagesvalues()));
+ form.add(new Label("fieldvalues.fieldvalues_id"));
+ form.add(new TextField<String>("fieldvalues.name"));
+ form.add(new TextArea<String>("value"));
+ add(form);
final DataView<Fieldlanguagesvalues> dataView = new DataView<Fieldlanguagesvalues>("langList"
, new OmDataProvider<Fieldlanguagesvalues>(FieldLanguagesValuesDAO.class){
@@ -65,16 +82,14 @@ public class LangPanel extends AdminPane
item.add(new Label("lblId", "" + flv.getFieldvalues_id()));
item.add(new Label("name", flv.getFieldvalues().getName()));
item.add(new Label("value", flv.getValue()));
- /*
item.add(new AjaxEventBehavior("onclick") {
private static final long serialVersionUID = -8069413566800571061L;
protected void onEvent(AjaxRequestTarget target) {
- //form.setModelObject(u);
- //target.add(form);
+ form.setModelObject(flv);
+ target.add(form);
}
});
- */
}
};
@@ -104,8 +119,58 @@ public class LangPanel extends AdminPane
target.add(listContainer);
}
});
- f.add(languages.setNullValid(true).setOutputMarkupId(true));
+ f.add(languages.setOutputMarkupId(true));
add(f.setOutputMarkupId(true));
-
+
+ add(new WebMarkupContainer("deleteLngBtn").add(new AjaxEventBehavior("onclick"){
+ private static final long serialVersionUID = -1650946343073068686L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ language.setDeleted(true);
+ FieldLanguageDaoImpl langDao = Application.getBean(FieldLanguageDaoImpl.class);
+ try {
+ langDao.updateLanguage(language);
+ } catch (Exception e) {
+ // TODO add feedback message
+ e.printStackTrace();
+ }
+ languages.setChoices(langDao.getLanguages());
+ target.add(languages);
+ //FIXME need to forse update list container
+ target.add(listContainer);
+ }
+ }));
+ Form<Void> addLangForm = new Form<Void>("addLangForm");
+ addLangForm.add(new AjaxButton("add", Model.of(WebSession.getString(366L)), addLangForm) {
+ 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();
+ }
+ languages.setChoices(langDao.getLanguages());
+ target.add(languages);
+ target.appendJavaScript("$('#addLanguage').dialog('close');");
+ }
+ });
+ add(addLangForm
+ .add(new RequiredTextField<String>("name", new PropertyModel<String>(this, "newLanguageName")))
+ .add(new RequiredTextField<String>("iso", new PropertyModel<String>(this, "newLanguageISO")))
+ );
}
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java?rev=1384678&r1=1384677&r2=1384678&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java Fri Sep 14 08:07:18 2012
@@ -32,10 +32,13 @@ import org.apache.wicket.markup.repeater
public class UsersPanel extends AdminPanel {
private static final long serialVersionUID = -4463107742579790120L;
- private UserForm form = null;
public UsersPanel(String id) {
super(id);
+ Users user = new Users();
+ final UserForm form = new UserForm("form", user);
+ add(form);
+
DataView<Users> dataView = new DataView<Users>("userList", new OmDataProvider<Users>(UsersDaoImpl.class)) {
private static final long serialVersionUID = 8715559628755439596L;
@@ -68,9 +71,5 @@ public class UsersPanel extends AdminPan
target.add(listContainer);
}
});
-
- Users user = new Users();
- form = new UserForm("form", user);
- add(form);
}
}