Author: sebawagner
Date: Mon Sep 10 17:49:39 2012
New Revision: 1382999
URL: http://svn.apache.org/viewvc?rev=1382999&view=rev
Log:
OPENMEETINGS-428 Add some form elements, update Wicket to 6.0.0 (Final), Beta3
had some bugs in the form processing
Added:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/arrow_refresh_small.png
(with props)
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/cancel_icon.png
(with props)
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/disk.png
(with props)
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/plus_icon.png
(with props)
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
incubator/openmeetings/trunk/singlewebapp/build.xml
incubator/openmeetings/trunk/singlewebapp/ivy.xml
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UserForm.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html
Added:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/arrow_refresh_small.png
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/arrow_refresh_small.png?rev=1382999&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/arrow_refresh_small.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/cancel_icon.png
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/cancel_icon.png?rev=1382999&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/cancel_icon.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/disk.png
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/disk.png?rev=1382999&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/disk.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/plus_icon.png
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/plus_icon.png?rev=1382999&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/images/forms/plus_icon.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
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=1382999&view=auto
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
(added)
+++
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/openmeetings-forms.css
Mon Sep 10 17:49:39 2012
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+div.formSaveBar {
+ width: 100%;
+ height: 22px;
+ background-color: #BDC0DB;
+}
+
+div.formSaveButton input {
+ background: url(images/forms/disk.png) no-repeat;
+ float: left;
+ cursor: pointer;
+ width: 18px;
+ height: 18px;
+ border: none;
+ margin-left: 2px;
+ margin-top: 2px;
+}
+
+div.formNewButton input {
+ background: url(images/forms/plus_icon.png) no-repeat;
+ float: left;
+ cursor: pointer;
+ width: 18px;
+ height: 18px;
+ border: none;
+ margin-left: 2px;
+ margin-top: 2px;
+}
+
+div.formRefreshButton input {
+ background: url(images/forms/arrow_refresh_small.png) no-repeat;
+ float: left;
+ cursor: pointer;
+ width: 18px;
+ height: 18px;
+ border: none;
+ margin-left: 2px;
+ margin-top: 2px;
+}
+
+div.formCancelButton input {
+ background: url(images/forms/cancel_icon.png) no-repeat;
+ float: left;
+ cursor: pointer;
+ width: 18px;
+ height: 18px;
+ border: none;
+ margin-left: 2px;
+ margin-top: 2px;
+}
\ No newline at end of file
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css?rev=1382999&r1=1382998&r2=1382999&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
(original)
+++
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
Mon Sep 10 17:49:39 2012
@@ -23,7 +23,7 @@
}
#menu {
- background-color: #322F32;
+ background-color: #BDC0DB;
margin-top: 10px;
}
Modified: incubator/openmeetings/trunk/singlewebapp/build.xml
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/build.xml?rev=1382999&r1=1382998&r2=1382999&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/build.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/build.xml Mon Sep 10 17:49:39 2012
@@ -1026,6 +1026,10 @@
<target name="clean.ivy" depends="-install-ivy,clean.all"
description="Clears out the Ivy cache">
<ivy:cleancache />
</target>
+
+ <target name="clean.ivy2" depends="-install-ivy" description="Clears
out the Ivy cache">
+ <ivy:cleancache />
+ </target>
<target name="prepare-eclipse" if="java6.installed" description="Layout
various files necessary for development" depends="-java6or7.check">
<antcall target="-retrieve-mainlibs" inheritAll="true"
inheritRefs="true" />
Modified: incubator/openmeetings/trunk/singlewebapp/ivy.xml
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/ivy.xml?rev=1382999&r1=1382998&r2=1382999&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/ivy.xml Mon Sep 10 17:49:39 2012
@@ -218,25 +218,25 @@
<dependency org="org.simpleframework" name="simple-xml"
rev="2.6.6" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-request"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-request"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-util"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-util"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-core"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-core"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-auth-roles"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-auth-roles"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-ioc"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-ioc"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-extensions"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-extensions"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="org.apache.wicket" name="wicket-datetime"
rev="6.0.0-beta3" conf="openmeetings->*" transitive="false">
+ <dependency org="org.apache.wicket" name="wicket-datetime"
rev="6.0.0" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UserForm.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UserForm.java?rev=1382999&r1=1382998&r2=1382999&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UserForm.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UserForm.java
Mon Sep 10 17:49:39 2012
@@ -21,6 +21,7 @@ import org.apache.openmeetings.persisten
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.form.AjaxFormValidatingBehavior;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.extensions.markup.html.form.DateTextField;
import org.apache.wicket.extensions.yui.calendar.DatePicker;
@@ -31,10 +32,16 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.form.ListMultipleChoice;
import org.apache.wicket.markup.html.form.RadioChoice;
+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.html.panel.FeedbackPanel;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.time.Duration;
+import org.apache.wicket.validation.validator.EmailAddressValidator;
+import org.apache.wicket.validation.validator.StringValidator;
public class UserForm extends Form<Users> {
@@ -83,9 +90,16 @@ public class UserForm extends Form<Users
public UserForm(String id, final Users user) {
super(id, new CompoundPropertyModel<Users>(user));
setOutputMarkupId(true);
-
- add(new TextField<String>("login"));
-
+
+ final FeedbackPanel feedback = new FeedbackPanel("feedback");
+ feedback.setOutputMarkupId(true);
+ add(feedback);
+
+ RequiredTextField<String> login = new
RequiredTextField<String>("login");
+ login.add(new StringValidator(4, null));
+ login.setLabel(new Model<String>("testname"));
+ add(login);
+
add(new DropDownChoice<Long>("salutations_id",
getSalutationsIds(),
new IChoiceRenderer<Long>() {
private static final long
serialVersionUID = 1L;
@@ -122,7 +136,10 @@ public class UserForm extends Form<Users
}));
add(new CheckBox("forceTimeZoneCheck"));
- add(new TextField<String>("adresses.email"));
+ RequiredTextField<String> email = new
RequiredTextField<String>("adresses.email");
+ email.setLabel(new Model<String>("testemail"));
+ email.add(EmailAddressValidator.getInstance());
+ add(email);
add(new TextField<String>("adresses.phone"));
add(new CheckBox("sendSMS"));
DateTextField age = new DateTextField("age");
@@ -272,21 +289,73 @@ public class UserForm extends Form<Users
add(new TextArea<String>("userOffers"));
add(new TextArea<String>("userSearchs"));
+
+ // 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);
// add a button that can be used to submit the form via ajax
- add(new AjaxButton("ajax-button", this) {
+ add(new AjaxButton("ajax-save-button", this) {
+ private static final long serialVersionUID =
839803820502260006L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target,
Form<?> form) {
+ // repaint the feedback panel so that it is
hidden
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target,
Form<?> form) {
+ // repaint the feedback panel so errors are
shown
+ target.add(feedback);
+ }
+ });
+
+ add(new AjaxButton("ajax-new-button", this) {
+ private static final long serialVersionUID =
839803820502260006L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target,
Form<?> form) {
+ // repaint the feedback panel so that it is
hidden
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target,
Form<?> form) {
+ // repaint the feedback panel so errors are
shown
+ target.add(feedback);
+ }
+ });
+
+ add(new AjaxButton("ajax-refresh-button", this) {
+ private static final long serialVersionUID =
839803820502260006L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target,
Form<?> form) {
+ // repaint the feedback panel so that it is
hidden
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target,
Form<?> form) {
+ // repaint the feedback panel so errors are
shown
+ target.add(feedback);
+ }
+ });
+
+ add(new AjaxButton("ajax-cancel-button", this) {
private static final long serialVersionUID =
839803820502260006L;
@Override
protected void onSubmit(AjaxRequestTarget target,
Form<?> form) {
// repaint the feedback panel so that it is
hidden
- // target.add(feedback);
+ target.add(feedback);
}
@Override
protected void onError(AjaxRequestTarget target,
Form<?> form) {
// repaint the feedback panel so errors are
shown
- // target.add(feedback);
+ target.add(feedback);
}
});
}
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html?rev=1382999&r1=1382998&r2=1382999&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
Mon Sep 10 17:49:39 2012
@@ -44,6 +44,22 @@
<span wicket:id="selected"></span>
<br/>
<form wicket:id="form">
+ <div class="formSaveBar">
+ <div class="formSaveButton">
+ <input type="submit" value=""
wicket:id="ajax-save-button"/>
+ </div>
+ <div class="formNewButton">
+ <input type="submit" value=""
wicket:id="ajax-new-button"/>
+ </div>
+ <div class="formRefreshButton">
+ <input type="submit" value=""
wicket:id="ajax-refresh-button"/>
+ </div>
+ <div class="formCancelButton">
+ <input type="submit" value=""
wicket:id="ajax-cancel-button"/>
+ </div>
+ </div>
+ <br/>
+ <div wicket:id="feedback">[[
feedback ]]</div>
<wicket:ommessage key="132" />: <input
type="text" wicket:id="login"/>
<br/>
<wicket:ommessage key="133" />: <input
type="password" />
@@ -96,8 +112,6 @@
<br/>
<wicket:ommessage key="1163" />: <textarea
wicket:id="userSearchs"/>
<br/>
- <br/>
- <input type="submit" value="submit via
ajax" wicket:id="ajax-button"/>
</form>
</td>
</tr>
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html?rev=1382999&r1=1382998&r2=1382999&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html
Mon Sep 10 17:49:39 2012
@@ -22,6 +22,7 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd"
lang="en">
<head>
<title><span wicket:id="pageTitle">[title]</span></title>
+ <link rel="stylesheet" type="text/css"
href="css/openmeetings-forms.css"/>
</head>
<body>
<div wicket:id="header"></div>