JBoss Rich Faces SVN: r14723 - in branches/community/3.3.X/examples/photoalbum/source: web/src/main/java/org/richfaces/photoalbum/manager and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: amarkhel
Date: 2009-06-25 10:08:27 -0400 (Thu, 25 Jun 2009)
New Revision: 14723
Modified:
branches/community/3.3.X/examples/photoalbum/source/ejb/src/main/java/org/richfaces/photoalbum/domain/User.java
branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java
branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java
branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/UserManager.java
Log:
Modified: branches/community/3.3.X/examples/photoalbum/source/ejb/src/main/java/org/richfaces/photoalbum/domain/User.java
===================================================================
--- branches/community/3.3.X/examples/photoalbum/source/ejb/src/main/java/org/richfaces/photoalbum/domain/User.java 2009-06-25 11:50:05 UTC (rev 14722)
+++ branches/community/3.3.X/examples/photoalbum/source/ejb/src/main/java/org/richfaces/photoalbum/domain/User.java 2009-06-25 14:08:27 UTC (rev 14723)
@@ -127,15 +127,9 @@
private String login;
@Transient
- @NotNull
- @NotEmpty
- @Length(min = 3)
private String password;
@Transient
- @NotNull
- @NotEmpty
- @Length(min = 3)
private String confirmPassword;
@Temporal(TemporalType.TIMESTAMP)
Modified: branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java
===================================================================
--- branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java 2009-06-25 11:50:05 UTC (rev 14722)
+++ branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/AlbumManager.java 2009-06-25 14:08:27 UTC (rev 14723)
@@ -58,7 +58,7 @@
@In private IAlbumAction albumAction;
@In private User user;
-
+ @In Model model;
@In FacesMessages facesMessages;
/**
@@ -105,7 +105,10 @@
public void createAlbum(Shelf shelf, boolean isShowAlbumAfterCreate){
Album album = new Album();
if(shelf == null){
- if(user.getShelves().size() > 0){
+ if(model.getSelectedShelf() != null){
+ shelf = model.getSelectedShelf();
+ }
+ else if(user.getShelves().size() > 0){
shelf = user.getShelves().get(0);
}
if(shelf == null){
Modified: branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java
===================================================================
--- branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java 2009-06-25 11:50:05 UTC (rev 14722)
+++ branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/Controller.java 2009-06-25 14:08:27 UTC (rev 14723)
@@ -22,6 +22,10 @@
import java.io.Serializable;
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
Modified: branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/UserManager.java
===================================================================
--- branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/UserManager.java 2009-06-25 11:50:05 UTC (rev 14722)
+++ branches/community/3.3.X/examples/photoalbum/source/web/src/main/java/org/richfaces/photoalbum/manager/UserManager.java 2009-06-25 14:08:27 UTC (rev 14723)
@@ -75,7 +75,7 @@
//This check is actual only on livedemo server to prevent hacks.
//Prevent hackers to mark user as pre-defined
user.setPreDefined(false);
- user.setPasswordHash(HashUtils.hash(user.getPassword()));
+ //user.setPasswordHash(HashUtils.hash(user.getPassword()));
user = userAction.updateUser();
}catch(Exception e){
Events.instance().raiseEvent(Constants.ADD_ERROR_EVENT, Constants.UPDATE_USER_ERROR);
15 years, 6 months
JBoss Rich Faces SVN: r14722 - branches/community/3.3.X/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2009-06-25 07:50:05 -0400 (Thu, 25 Jun 2009)
New Revision: 14722
Modified:
branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.desc.xml
branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.xml
Log:
RF-7421: a4j:log component description review
Modified: branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.desc.xml
===================================================================
--- branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.desc.xml 2009-06-25 11:29:12 UTC (rev 14721)
+++ branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.desc.xml 2009-06-25 11:50:05 UTC (rev 14722)
@@ -8,8 +8,6 @@
</keywordset>
</sectioninfo>
<title>Description</title>
- <para>The <emphasis role="bold">
- <property><a4j:log ></property>
- </emphasis> component generates JavaScript for opening of the window with client-side debug information on an Ajax request.</para>
+ <para>The <emphasis role="bold"><property><a4j:log ></property></emphasis> component generates JavaScript that opens a debug window with useful debug information.</para>
</section>
</root>
\ No newline at end of file
Modified: branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.xml
===================================================================
--- branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.xml 2009-06-25 11:29:12 UTC (rev 14721)
+++ branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/log.xml 2009-06-25 11:50:05 UTC (rev 14722)
@@ -51,36 +51,40 @@
AjaxLog myLog = new AjaxLog();
...]]></programlisting>
</section>
- <section>
- <title>Key attributes and ways of usage</title>
- <para>Usage of the appropriate component attributes could change a representation level of debug information as well as the hot key for a window opening.</para>
- <para>The hot key could be changed with the <emphasis >
- <property>"hotkey"</property>
- </emphasis>
-attribute, where it's necessary to define one letter that together with "CTRL+SHIFT" opens a window.</para>
- <para>The <emphasis >
- <property>"level"</property>
- </emphasis>
-attribute with several possible values ("FATAL", "ERROR", "WARN", "INFO", "ALL") could change a logging level.</para>
- <para>The log could be generated not only in a new window, but also on the current page in a separate <emphasis role="bold"><property><div></property></emphasis>, this is also controlled with the <emphasis >
- <property>"popup"</property>
- </emphasis>
-attribute on the component. </para>
- <para><emphasis role="bold">Example:</emphasis>
+
+ <section>
+ <title>Details of usage</title>
+ <para>
+ The <emphasis role="bold"><property><a4j:log ></property></emphasis> component generates JavaScript that opens a log window with useful debug information,
+ which contains data on requests and responses, DOM tree changes et al.
+ The log could be generated not only in a new window, but also on the current page in a separate <emphasis role="bold"><property><div></property></emphasis> element.
+ This feature is controlled with the component <emphasis><property>"popup"</property></emphasis> attribute.
+ The window is opened on pressing of "CTRL+SHIFT+L", which is default registered key.
+ The hot key could be changed with the <emphasis><property>"hotkey"</property></emphasis> attribute, where it's necessary to define one letter that together with "CTRL+SHIFT" opens a window.
+ </para>
+
+
+ <para>
+ The <emphasis><property>"level"</property></emphasis> attribute has several possible values "FATAL", "ERROR", "WARN", "INFO", "ALL" and is used when it is necessary to change a logging level.
</para>
- <programlisting role="XML"><![CDATA[<a4j:log level="ALL" popup="false" width="400" height="200"/>]]></programlisting>
- <para>The component defined this way is decoded on a page as <emphasis role="bold"><property><div></property></emphasis> inside a page, where all the information beginning with informational message is generated.</para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:log level="ALL" popup="false" width="400" height="200"/>]]></programlisting>
+
+ <para>
+ The component defined this way is decoded on a page as <emphasis role="bold"><property><div></property></emphasis> inside a page, where all the information beginning with informational message is generated.</para>
<note>
<title>Note:</title>
- <para><emphasis role="bold"><property><a4j:log></property></emphasis> is getting renewed automatically after execution of Ajax requests. Don't renew <emphasis role="bold"><property><a4j:log></property></emphasis> by using reRender!</para>
+ <para><emphasis role="bold"><property><a4j:log></property></emphasis> is getting renewed automatically after execution of Ajax requests. Do not renew <emphasis role="bold"><property><a4j:log></property></emphasis> by using reRender!</para>
</note>
</section>
-
- <section>
+
+ <section>
<title>Relevant resources links</title>
<para>
- <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/log.jsf?c=log">On the component LiveDemo page</ulink> you can see the example of <emphasis role="bold"
- ><property><a4j:log></property></emphasis> usage and sources for the given example.
+ Vizit the <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/log.jsf?c=log">Log page</ulink> at RichFaces LiveDemo for example of component usage and their sources.
</para>
</section>
</chapter>
15 years, 6 months
JBoss Rich Faces SVN: r14721 - in branches/community/3.3.X: ui/calendar/src/main/java/org/richfaces/renderkit and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2009-06-25 07:29:12 -0400 (Thu, 25 Jun 2009)
New Revision: 14721
Modified:
branches/community/3.3.X/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java
branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
branches/community/3.3.X/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
branches/community/3.3.X/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
branches/community/3.3.X/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java
Log:
https://jira.jboss.org/jira/browse/RF-7332
Modified: branches/community/3.3.X/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java
===================================================================
--- branches/community/3.3.X/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java 2009-06-24 18:25:27 UTC (rev 14720)
+++ branches/community/3.3.X/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java 2009-06-25 11:29:12 UTC (rev 14721)
@@ -416,7 +416,7 @@
for (String weekday : WEEK_DAYS_RU) {
if (!weekDays.contains(weekday)) {
- Assert.fail("Internationalization failed. Weekdays should contain ["+weekday+"] in case of RU locale. But was: " + weekDays.toArray());
+ Assert.fail("Internationalization failed. Weekdays should contain ["+weekday+"] in case of RU locale. But was: " + weekDays.toString());
}
}
}
@@ -1808,7 +1808,7 @@
//top-left direction
selenium.select(directionId, "top-left");
- showPopup();
+ showPopup();
assertTrue(calendarLeft, "<", jointPointLeft);
assertTrue(calendarTop, "<", jointPointTop);
Modified: branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2009-06-24 18:25:27 UTC (rev 14720)
+++ branches/community/3.3.X/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2009-06-25 11:29:12 UTC (rev 14721)
@@ -29,6 +29,7 @@
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import java.util.MissingResourceException;
@@ -53,6 +54,7 @@
import org.ajax4jsf.javascript.JSReference;
import org.ajax4jsf.javascript.ScriptUtils;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.richfaces.component.UICalendar;
@@ -330,41 +332,28 @@
}
- public void writeClass(FacesContext context, UIComponent component)
- throws IOException {
-
+ public JSFunction getIsDayEnabled(FacesContext context, UIComponent component) {
UICalendar calendar = (UICalendar) component;
- String styleClass = (String) calendar.getAttributes().get("styleClass");
- if (styleClass != null && styleClass.length() != 0) {
- ResponseWriter writer = context.getResponseWriter();
- writer.writeText(",\n className: '" + styleClass + "'", null);
+ String isDayEnabled = (String) calendar.getAttributes().get(
+ "isDayEnabled");
+ if (isDayEnabled != null && isDayEnabled.length() != 0) {
+ return new JSFunction(isDayEnabled);
}
+
+ return null;
}
-
- public void writeDayStyleClass(FacesContext context, UIComponent component)
- throws IOException {
-
+
+ public JSFunction getDayStyleClass(FacesContext context, UIComponent component) {
UICalendar calendar = (UICalendar) component;
String dayStyleClass = (String) calendar.getAttributes().get(
"dayStyleClass");
if (dayStyleClass != null && dayStyleClass.length() != 0) {
- ResponseWriter writer = context.getResponseWriter();
- writer.writeText(",\n dayStyleClass: " + dayStyleClass, null);
+ return new JSFunction(dayStyleClass);
}
+
+ return null;
+ }
- }
-
- public void writeIsDayEnabled(FacesContext context, UIComponent component)
- throws IOException {
- UICalendar calendar = (UICalendar) component;
- String isDayEnabled = (String) calendar.getAttributes().get(
- "isDayEnabled");
- if (isDayEnabled != null && isDayEnabled.length() != 0) {
- ResponseWriter writer = context.getResponseWriter();
- writer.writeText(",\n isDayEnabled: " + isDayEnabled, null);
- }
- }
-
public void writeMarkupScriptBody(FacesContext context,
UIComponent component, boolean children) throws IOException {
writeScriptBody(context, component, children);
@@ -414,19 +403,18 @@
}
}
- public void writeDayCellClass(FacesContext context, UIComponent component)
- throws IOException {
+ public String getDayCellClass(FacesContext context, UIComponent component) {
String cellwidth = (String) component.getAttributes().get("cellWidth");
- String cellheight = (String) component.getAttributes()
- .get("cellHeight");
- ResponseWriter writer = context.getResponseWriter();
+ String cellheight = (String) component.getAttributes().get("cellHeight");
if (cellwidth != null && cellwidth.length() != 0 || cellheight != null
&& cellheight.length() != 0) {
String clientId = component.getClientId(context);
- writer.writeText(",\n dayCellClass: '" + clientId.replace(':', '_')
- + "DayCell'", null);
+ String value = clientId.replace(':', '_') + "DayCell";
+ return value;
}
+
+ return null;
}
public void writeFacetMarkupScriptBody(FacesContext context,
@@ -449,9 +437,10 @@
}
}
- public void writeSubmitFunction(FacesContext context, UICalendar calendar)
+ public Object getSubmitFunction(FacesContext context, UICalendar calendar)
throws IOException {
- ResponseWriter writer = context.getResponseWriter();
+
+ if (!UICalendar.AJAX_MODE.equals(calendar.getAttributes().get("mode"))) return null;
JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(calendar,
context, AjaxRendererUtils.AJAX_FUNCTION_NAME);
@@ -479,23 +468,9 @@
JSFunctionDefinition definition = new JSFunctionDefinition();
definition.addParameter(requestValue);
definition.addToBody(ajaxFunction);
- writer.write(definition.toScript());
+ return definition;
}
- public void writeEventHandlerFunction(FacesContext context,
- UIComponent component, String eventName) throws IOException {
-
- ResponseWriter writer = context.getResponseWriter();
- Object script = component.getAttributes().get(eventName);
- if (script != null && !script.equals("")) {
- JSFunctionDefinition onEventDefinition = new JSFunctionDefinition();
- onEventDefinition.addParameter("event");
- onEventDefinition.addToBody(script);
- writer.writeText(",\n" + eventName + ": "
- + onEventDefinition.toScript(), null);
- }
- }
-
public String getInputValue(FacesContext context, UIComponent component) {
UICalendar calendar = (UICalendar) component;
// Fix for myFaces 1.1.x RF-997
@@ -522,16 +497,16 @@
ResponseWriter writer = facesContext.getResponseWriter();
Map<String, String[]> symbolsMap = getSymbolsMap(facesContext, calendar);
Iterator<Map.Entry<String, String[]>> entryIterator = symbolsMap.entrySet().iterator();
- writer.writeText(", \n", null);
+ writer.writeText(",\n", null);
while (entryIterator.hasNext()) {
Map.Entry<String, String[]> entry = (Map.Entry<String, String[]>) entryIterator.next();
- writer.writeText(ScriptUtils.toScript(entry.getKey()), null);
- writer.writeText(": ", null);
+ /*writer.writeText(ScriptUtils.toScript(entry.getKey()), null);
+ writer.writeText(": ", null);*/
writer.writeText(ScriptUtils.toScript(entry.getValue()), null);
if (entryIterator.hasNext()) {
- writer.writeText(", \n", null);
+ writer.writeText(",\n", null);
}
}
}
@@ -549,7 +524,7 @@
}
protected Map<String, String[]> getSymbolsMap(FacesContext facesContext, UICalendar calendar) {
- Map<String, String[]> map = new HashMap<String, String[]>();
+ Map<String, String[]> map = new LinkedHashMap<String, String[]>();
Locale locale = calendar.getAsLocale(calendar.getLocale());
Calendar cal = calendar.getCalendar();
@@ -613,12 +588,12 @@
return formatter.format(date);
}
- public String getCurrentDate(FacesContext context, UICalendar calendar,
+ public Object getCurrentDate(FacesContext context, UICalendar calendar,
Date date) throws IOException {
- return ScriptUtils.toScript(formatDate(date));
+ return formatDate(date);
}
- public String getSelectedDate(FacesContext context, UICalendar calendar)
+ public Object getSelectedDate(FacesContext context, UICalendar calendar)
throws IOException {
Object returnValue = null;
@@ -630,7 +605,7 @@
returnValue = formatSelectedDate(calendar.getTimeZone(), date);
}
}
- return ScriptUtils.toScript(returnValue);
+ return returnValue;
}
public static Object formatDate(Date date) {
@@ -660,61 +635,8 @@
return result;
}
- /**
- * Write labels used in the Calendar component, taken from message bundles.
- * Try to use bundle1 at first. If the 1st bundle is null or it doesn't
- * contain requested message key, use the bundle2.
- * @param bundle1 - 1st bundle to be used as a source for messages
- * @param bundle2 - 2nd bundle to be used as a source for messages
- * @param name - name of the requested label
- * @param writer - response writer
- * @throws IOException
- */
- public void writeStringsFromBundle(ResourceBundle bundle1, ResourceBundle bundle2, String name,
- ResponseWriter writer) throws IOException {
- String label = null;
- String bundleKey = "RICH_CALENDAR_" + name.toUpperCase() + "_LABEL";
-
- if (bundle1 != null) {
- try {
- label = bundle1.getString(bundleKey);
- } catch (MissingResourceException mre) {
- // Current key was not found, ignore this exception;
- }
- }
- // Current key wasn't found in application bundle, use CALENDAR_BUNDLE,
- // if it is not null
- if((label == null) && (bundle2 != null)) {
- try {
- label = bundle2.getString(bundleKey);
- } catch (MissingResourceException mre) {
- // Current key was not found, ignore this exception;
- }
- }
-
- writeStringFoundInBundle(name, label, writer);
- }
-
- public void writeStringFoundInBundle(String name, String value, ResponseWriter writer) throws IOException {
- if(null!=value){
- if (!("close").equals(name.toLowerCase())) {
- writer.writeText(name.toLowerCase() + ":'" + value + "', ",null);
- } else {
- writer.writeText("close:'" + value + "'", null);
- }
- }else{
- if (!("close").equals(name.toLowerCase())) {
- writer.writeText(name.toLowerCase() + ":'" + name + "', ",null);
- } else {
- writer.writeText("close:'x'", null);
- }
- }
-
- }
+ public Map<String, Object> getLabels(FacesContext context, UICalendar calendar) {
- public void writeLabels(FacesContext context, UICalendar calendar)
- throws IOException {
-
ResourceBundle bundle1 = null;
ResourceBundle bundle2 = null;
ClassLoader loader = Thread.currentThread().getContextClassLoader();
@@ -730,20 +652,37 @@
//No external bundle was found, ignore this exception.
}
- ResponseWriter writer = context.getResponseWriter();
- writer.writeText(",\n labels:{", null);
+ Map<String, Object> labels = new HashMap<String, Object>();
+
if (null != bundle1 || null != bundle2) {
- writeStringsFromBundle(bundle1, bundle2, "Apply", writer);
- writeStringsFromBundle(bundle1, bundle2, "Today", writer);
- writeStringsFromBundle(bundle1, bundle2, "Clean", writer);
- writeStringsFromBundle(bundle1, bundle2, "Cancel", writer);
- writeStringsFromBundle(bundle1, bundle2, "OK", writer);
- writeStringsFromBundle(bundle1, bundle2, "Close", writer);
- }else{
- // No bundles were found, use default labels.
- writer.writeText("apply:'Apply', today:'Today', clean:'Clean', ok:'OK', cancel:'Cancel', close:'x'", null);
+ // TODO: make one function call
+ String[] names = {"apply", "today", "clean", "cancel", "ok", "close"};
+ RendererUtils utils= getUtils();
+
+ for (String name : names) {
+ String label = null;
+ String bundleKey = "RICH_CALENDAR_" + name.toUpperCase() + "_LABEL";
+
+ if (bundle1 != null) {
+ try {
+ label = bundle1.getString(bundleKey);
+ } catch (MissingResourceException mre) {
+ // Current key was not found, ignore this exception;
+ }
+ }
+
+ // Current key wasn't found in application bundle, use CALENDAR_BUNDLE,
+ // if it is not null
+ if((label == null) && (bundle2 != null)) {
+ try {
+ label = bundle2.getString(bundleKey);
+ } catch (MissingResourceException mre) {
+ // Current key was not found, ignore this exception;
+ }
+ }
+ utils.addToScriptHash(labels, name, label);
+ }
}
- writer.writeText("}", null);
-
+ return labels;
}
}
Modified: branches/community/3.3.X/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
--- branches/community/3.3.X/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2009-06-24 18:25:27 UTC (rev 14720)
+++ branches/community/3.3.X/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2009-06-25 11:29:12 UTC (rev 14721)
@@ -333,6 +333,13 @@
: ['January','February','March','April','May','June','July','August','September','October','November','December']);
};
+/*Richfaces.Calendar.getDefaultWeekDayNames = function(shortNames)
+{
+ return (shortNames
+ ? ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
+ : ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']);
+};*/
+
Richfaces.Calendar.parseDate = function(dateString, pattern, monthNames, monthNamesShort)
{
var re = /([.*+?^<>=!:${}()[\]\/\\])/g;
@@ -522,9 +529,7 @@
Calendar = Class.create();
Object.extend(Calendar.prototype, {
- initialize: function(id,parameters) {
- // dayListTableId, weekNumberBarId, weekDayBarId - 3 tables ids',
-
+ initialize: function(id, defaultTime, minDaysInFirstWeek, firstWeekDay, weekDayLabels, weekDayLabelsShort, monthLabels, monthLabelsShort, options, markups) {
// dayListMarkup - day cell markup
// context: {day, date, weekNumber, weekDayNumber, isWeekend, isCurrentMonth, elementId, component}
// weekNumberMarkup - week number cell markup
@@ -570,7 +575,7 @@
// dayCellClass - add div to day cell with class 'rich-calendar-cell-div' and add this class to TD if defined
// style - table style
- // className - table class
+ // styleClass - table class
// disabled
// readonly
@@ -578,45 +583,43 @@
//var _d = new Date();
this.id = id;
- this.params = parameters;
+
+ this.params = Object.clone(Richfaces.Calendar.defaultOptions);
+ Object.extend(this.params, options);
+ Object.extend(this.params, markups);
+ // labels
+ var value = options.labels || {};
+ var defaultLabels = {apply:'Apply', today:'Today', clean:'Clean', ok:'OK', cancel:'Cancel', close:'x'};
- this.showApplyButton = (!this.params.popup) ? false : this.params.showApplyButton;
-
- if (this.params.showWeekDaysBar==undefined) this.params.showWeekDaysBar = true;
- if (this.params.showWeeksBar==undefined) this.params.showWeeksBar = true;
-
- if (!this.params.datePattern) this.params.datePattern = "MMM d, y";
+ for (name in defaultLabels) {
+ if (!value[name]) value[name] = defaultLabels[name];
+ }
+ this.params.labels = value;
+ this.params.firstWeekDay = firstWeekDay;
+ this.params.minDaysInFirstWeek = minDaysInFirstWeek;
+ this.params.defaultTime = defaultTime;
+ this.params.weekDayLabels = weekDayLabels;
+ this.params.weekDayLabelsShort = weekDayLabelsShort;
+ this.params.monthLabels = monthLabels;
+ this.params.monthLabelsShort = monthLabelsShort;
+ this.popupOffset = {dx:this.params.horizontalOffset, dy:this.params.verticalOffset};
+
+ //
+ if (!this.params.popup) this.params.showApplyButton = false;
+
+ //
+ this.params.boundaryDatesMode = this.params.boundaryDatesMode.toLowerCase();
+ this.params.todayControlMode = this.params.todayControlMode.toLowerCase();
+
// time
this.setTimeProperties();
- // markups initialization
- if (!this.params.dayListMarkup)
- {
- this.params.dayListMarkup = CalendarView.dayList;
- this.customDayListMarkup = false;
- }
- else
- {
- this.customDayListMarkup = true;
- }
- if (!this.params.weekNumberMarkup) this.params.weekNumberMarkup = CalendarView.weekNumber;
- if (!this.params.weekDayMarkup) this.params.weekDayMarkup = CalendarView.weekDay;
- if (!this.params.headerMarkup) this.params.headerMarkup = CalendarView.header;
- if (!this.params.footerMarkup) this.params.footerMarkup = CalendarView.footer;
+ this.customDayListMarkup = (this.params.dayListMarkup!=CalendarView.dayList);
- // popup offset
- this.popupOffset = {dx: (isNaN(this.params.horizontalOffset) ? 0 : parseInt(this.params.horizontalOffset,10)), dy: (isNaN(this.params.verticalOffset) ? 0 : parseInt(this.params.verticalOffset,10))};
-
this.currentDate = this.params.currentDate ? this.params.currentDate : (this.params.selectedDate ? this.params.selectedDate : new Date());
this.currentDate.setDate(1);
this.selectedDate = this.params.selectedDate;
-
- if (typeof this.params.boundaryDatesMode=="string") this.params.boundaryDatesMode = this.params.boundaryDatesMode.toLowerCase();
- if (typeof this.params.todayControlMode=="string") this.todayControlMode = this.params.todayControlMode.toLowerCase();
-
- if (typeof this.params.isDayEnabled != "function") this.params.isDayEnabled = function (context) {return true;};
- if (typeof this.params.dayStyleClass != "function") this.params.dayStyleClass = function (context) {return "";};
this.todayDate = new Date();
@@ -625,9 +628,11 @@
this.calendarContext = new CalendarContext(this);
- this.DATE_ELEMENT_ID = this.params.dayListTableId+'Cell';
- this.WEEKNUMBER_ELEMENT_ID = this.params.weekNumberBarId+'Cell';
- this.WEEKDAY_ELEMENT_ID = this.params.weekDayBarId+'Cell';
+ this.DATE_ELEMENT_ID = this.id+'DayCell';
+ this.WEEKNUMBER_BAR_ID = this.id+"WeekNum";
+ this.WEEKNUMBER_ELEMENT_ID = this.WEEKNUMBER_BAR_ID+'Cell';
+ this.WEEKDAY_BAR_ID = this.id+"WeekDay";
+ this.WEEKDAY_ELEMENT_ID = this.WEEKDAY_BAR_ID+'Cell';
this.POPUP_ID = this.id+'Popup';
this.POPUP_BUTTON_ID = this.id+'PopupButton';
this.INPUT_DATE_ID = this.id+'InputDate';
@@ -667,7 +672,7 @@
var tempStr = "$('"+this.id+"').component.";
- var htmlTextHeader = '<table id="'+this.id+'" border="0" cellpadding="0" cellspacing="0" class="rich-calendar-exterior rich-calendar-popup'+(this.params.className ? ' '+this.params.className : '')+'" style="'+popupStyles+this.params.style+'" onclick="'+tempStr+'skipEventOnCollapse=true;"><tbody>';
+ var htmlTextHeader = '<table id="'+this.id+'" border="0" cellpadding="0" cellspacing="0" class="rich-calendar-exterior rich-calendar-popup '+this.params.styleClass+'" style="'+popupStyles+this.params.style+'" onclick="'+tempStr+'skipEventOnCollapse=true;"><tbody>';
var colspan = (this.params.showWeeksBar ? "8" : "7");
var htmlHeaderOptional = (this.params.optionalHeaderMarkup) ? '<tr><td class="rich-calendar-header-optional" colspan="'+colspan+'" id="'+this.id+'HeaderOptional"></td></tr>' : '';
var htmlFooterOptional = (this.params.optionalFooterMarkup) ? '<tr><td class="rich-calendar-footer-optional" colspan="'+colspan+'" id="'+this.id+'FooterOptional"></td></tr>' : '';
@@ -685,7 +690,7 @@
var eventsStr = this.params.disabled || this.params.readonly ? '' : 'onclick="'+tempStr+'eventCellOnClick(event, this);" onmouseover="'+tempStr+'eventCellOnMouseOver(event, this);" onmouseout="'+tempStr+'eventCellOnMouseOut(event, this);"';
if (this.params.showWeekDaysBar)
{
- htmlTextWeekDayBar.push('<tr id="'+this.params.weekDayBarId+'">');
+ htmlTextWeekDayBar.push('<tr id="'+this.WEEKDAY_BAR_ID+'">');
if (this.params.showWeeksBar) htmlTextWeekDayBar.push('<td class="rich-calendar-days"><br/></td>');
var weekDayCounter = this.params.firstWeekDay;
for (var i=0;i<7;i++)
@@ -713,7 +718,7 @@
for (k=1;k<7;k++)
{
bottomStyleClass = (k==6 ? "rich-bottom-cell " : "");
- htmlTextWeek.push('<tr id="'+this.params.weekNumberBarId+k+'">');
+ htmlTextWeek.push('<tr id="'+this.WEEKNUMBER_BAR_ID+k+'">');
if (this.params.showWeeksBar)
{
context = {weekNumber: k, elementId:this.WEEKNUMBER_ELEMENT_ID+k, component:this};
@@ -1379,7 +1384,7 @@
this.setupTimeForDate(date);
}
- if (this.selectDate(date,true, {event:e, element:obj}) && !this.showApplyButton)
+ if (this.selectDate(date,true, {event:e, element:obj}) && !this.params.showApplyButton)
{
this.doCollapse();
}
@@ -1395,7 +1400,7 @@
this.setupTimeForDate(date);
}
- if (this.selectDate(date, false, {event:e, element:obj}) && !this.showApplyButton)
+ if (this.selectDate(date, false, {event:e, element:obj}) && !this.params.showApplyButton)
{
this.doCollapse();
}
@@ -1609,7 +1614,7 @@
this.selectedDateCellId = this.clearEffect(this.selectedDateCellId, this.highlightEffect2);
//var _d=new Date();
- var obj = $(this.params.weekNumberBarId+"1");
+ var obj = $(this.WEEKNUMBER_BAR_ID+"1");
for (var k=1;k<7;k++)
{
//
@@ -1621,6 +1626,7 @@
// week number update
if (this.params.showWeeksBar)
{
+ // TODO: fix: there is no weekNumber in dataobj if showWeeksBar == false;
if (weekflag && currentMonth==11 &&
(k==5||k==6) &&
(dataobj._month==1 || (currentMonthDays-dataobj.day+1)<this.params.minDaysInFirstWeek) )
@@ -1833,7 +1839,7 @@
this.currentDate = new Date(nowyear, nowmonth, 1);
}
- if (this.todayControlMode=='select')
+ if (this.params.todayControlMode=='select')
{
noHighlight=true;
}
@@ -1858,7 +1864,7 @@
}
// todayControl select mode
- if (this.todayControlMode=='select' && !this.params.disabled && !this.params.readonly)
+ if (this.params.todayControlMode=='select' && !this.params.disabled && !this.params.readonly)
if (updateflag && !noUpdate && this.submitFunction)
{
this.afterLoad = this.selectToday;
@@ -1878,7 +1884,7 @@
{
this.setupTimeForDate(date);
}
- if (daydata.enabled && this.selectDate(date,true) && !this.showApplyButton)
+ if (daydata.enabled && this.selectDate(date,true) && !this.params.showApplyButton)
{
this.doCollapse();
}
@@ -1978,17 +1984,17 @@
this.renderHF();
}
- var todayControlMode = this.todayControlMode;
- this.todayControlMode = '';
+ var todayControlMode = this.params.todayControlMode;
+ this.params.todayControlMode = '';
this.today(noUpdate, true);
- this.todayControlMode = todayControlMode;
+ this.params.todayControlMode = todayControlMode;
}
// call user event
if (isDateChange)
{
this.invokeEvent("dateselected", eventData.element, eventData.event, this.selectedDate);
- if (!this.showApplyButton)
+ if (!this.params.showApplyButton)
{
this.setInputField(this.selectedDate!=null ? this.getSelectedDateString(this.params.datePattern) : "", eventData.event);
}
@@ -2009,7 +2015,7 @@
this.selectedDateCellId = this.clearEffect(this.selectedDateCellId, this.highlightEffect2, "rich-calendar-select", (this.params.disabled || this.params.readonly ? null : "rich-calendar-btn"));
this.renderHF();
- if (!this.showApplyButton)
+ if (!this.params.showApplyButton)
{
this.setInputField("", null);
this.doCollapse();
@@ -2117,11 +2123,11 @@
{
this.selectedDate = date;
this.renderHF();
- if (!this.params.popup || !this.showApplyButton) this.setInputField(this.getSelectedDateString(this.params.datePattern), null);
+ if (!this.params.popup || !this.params.showApplyButton) this.setInputField(this.getSelectedDateString(this.params.datePattern), null);
this.invokeEvent("timeselected",null, null, this.selectedDate);
}
}
- if (this.params.popup && !this.showApplyButton) this.close(false);
+ if (this.params.popup && !this.params.showApplyButton) this.close(false);
},
showDateEditor: function()
@@ -2217,13 +2223,13 @@
return markup;
};
CalendarView.todayControl = function (context) {
- return (!context.calendar.params.disabled && context.calendar.todayControlMode!='hidden' ? CalendarView.getControl(context.controlLabels.today, CalendarView.toolButtonAttributes, "today") : "");
+ return (!context.calendar.params.disabled && context.calendar.params.todayControlMode!='hidden' ? CalendarView.getControl(context.controlLabels.today, CalendarView.toolButtonAttributes, "today") : "");
};
CalendarView.closeControl = function (context) {
return (context.calendar.params.popup ? CalendarView.getControl(context.controlLabels.close, CalendarView.toolButtonAttributes, "close", "false") : "");
};
CalendarView.applyControl = function (context) {
- return (!context.calendar.params.disabled && !context.calendar.params.readonly && context.calendar.showApplyButton ? CalendarView.getControl(context.controlLabels.apply, CalendarView.toolButtonAttributes, "close", "true") : "");
+ return (!context.calendar.params.disabled && !context.calendar.params.readonly && context.calendar.params.showApplyButton ? CalendarView.getControl(context.controlLabels.apply, CalendarView.toolButtonAttributes, "close", "true") : "");
};
CalendarView.cleanControl = function (context) {
return (!context.calendar.params.disabled && !context.calendar.params.readonly && context.calendar.selectedDate ? CalendarView.getControl(context.controlLabels.clean, CalendarView.toolButtonAttributes, "resetSelectedDate") : "");
@@ -2289,7 +2295,7 @@
new ET(function (context) { return Richfaces.evalMacro("timeControl", context)})
]),
new E('td',{'class': 'rich-calendar-toolfooter', 'style': 'background-image:none;', 'width': '100%'}, []),
- new E('td',{'class': 'rich-calendar-toolfooter', 'style':function(context){return (this.isEmpty ? 'display:none;' : '')+(context.calendar.params.disabled || context.calendar.params.readonly || !context.calendar.showApplyButton ? 'background-image:none;' : '');}},
+ new E('td',{'class': 'rich-calendar-toolfooter', 'style':function(context){return (this.isEmpty ? 'display:none;' : '')+(context.calendar.params.disabled || context.calendar.params.readonly || !context.calendar.params.showApplyButton ? 'background-image:none;' : '');}},
[
new ET(function (context) { return Richfaces.evalMacro("todayControl", context)})
]),
@@ -2371,3 +2377,38 @@
timeEditorFields: CalendarView.timeEditorFields,
timeEditorLayout: CalendarView.timeEditorLayout
});
+
+Richfaces.Calendar.defaultOptions = {
+ showWeekDaysBar: true,
+ showWeeksBar: true,
+ datePattern: "MMM d, yyyy",
+ horizontalOffset: 0,
+ verticalOffset: 0,
+ dayListMarkup: CalendarView.dayList,
+ weekNumberMarkup: CalendarView.weekNumber,
+ weekDayMarkup: CalendarView.weekDay,
+ headerMarkup: CalendarView.header,
+ footerMarkup: CalendarView.footer,
+ isDayEnabled: function (context) {return true;},
+ dayStyleClass: function (context) {return "";},
+ showHeader: true,
+ showFooter: true,
+ direction: "bottom-right",
+ jointPoint: "bottom-left",
+ popup: true,
+ boundaryDatesMode: "inactive",
+ todayControlMode: "select",
+ style: "",
+ className: "",
+ disabled: false,
+ readonly: false,
+ enableManualInput: false,
+ showInput: true,
+ resetTimeOnDateSelect: false,
+ style: "z-index: 3;",
+ showApplyButton: false,
+ selectedDate: null,
+ currentDate: null
+};
+
+// must be :defaultTime, minDaysInFirstWeek, firstWeekday, weekDayLabels, weekDayLabelsShort, monthLabels, monthLabelsShort
\ No newline at end of file
Modified: branches/community/3.3.X/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
--- branches/community/3.3.X/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2009-06-24 18:25:27 UTC (rev 14720)
+++ branches/community/3.3.X/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2009-06-25 11:29:12 UTC (rev 14721)
@@ -154,86 +154,64 @@
<div style="display: none;" id="#{clientId}">
</div>
<div style="display: none;" id="#{clientId}Script">
- <script type="text/javascript">
- new Calendar('#{clientId}', {
+
+ <c:scriptObject var="options">
+ <c:scriptOption attributes="enableManualInput, disabled, readonly, resetTimeOnDateSelect, showApplyButton, styleClass" />
+ <c:scriptOption attributes="popup" defaultValue="true" />
+ <c:scriptOption attributes="showInput" defaultValue="true" />
+ <c:scriptOption attributes="ajaxSingle" defaultValue="true" />
+ <c:scriptOption attributes="showHeader" defaultValue="true" />
+ <c:scriptOption attributes="showFooter" defaultValue="true" />
+ <c:scriptOption attributes="showWeeksBar" defaultValue="true" />
+ <c:scriptOption attributes="showWeekDaysBar" defaultValue="true" />
+ <c:scriptOption attributes="todayControlMode" defaultValue="select" />
+ <c:scriptOption attributes="datePattern" defaultValue="MMM d, yyyy" />
+ <c:scriptOption attributes="jointPoint" defaultValue="bottom-left" />
+ <c:scriptOption attributes="direction" defaultValue="bottom-right" />
+ <c:scriptOption attributes="boundaryDatesMode" defaultValue="inactive" />
+ <c:scriptOption attributes="horizontalOffset" defaultValue="0" />
+ <c:scriptOption attributes="verticalOffset" defaultValue="0" />
- <jsp:scriptlet>/*<![CDATA[*/
- String mode = (String) component.getAttributes().get("mode");
- if(org.richfaces.component.UICalendar.AJAX_MODE.equals(mode)){
- /*]]>*/</jsp:scriptlet>
-
- submitFunction: <jsp:scriptlet>/*<![CDATA[*/writeSubmitFunction(context, component);/*]]>*/</jsp:scriptlet>,
-
- <jsp:scriptlet>/*<![CDATA[*/
- }
- /*]]>*/</jsp:scriptlet>
+ <c:scriptOption name="currentDate" value="#{this:getCurrentDate(context, component, currentDate)}" />
+ <c:scriptOption name="selectedDate" value="#{this:getSelectedDate(context, component)}" />
+ <c:scriptOption name="style" value="z-index: #{component.attributes['zindex']}; #{component.attributes['style']}" defaultValue="z-index: 3; "/>
+ <c:scriptOption name="submitFunction" value="#{this:getSubmitFunction(context, component)}" />
+ <c:scriptOption name="dayCellClass" value="#{this:getDayCellClass(context, component)}" />
+ <c:scriptOption name="dayStyleClass" value="#{this:getDayStyleClass(context, component)}" />
+ <c:scriptOption name="isDayEnabled" value="#{this:getIsDayEnabled(context, component)}" />
- dayListTableId: '#{clientId}Day',
- weekNumberBarId: '#{clientId}WeekNum',
- weekDayBarId: '#{clientId}WeekDay',
- currentDate: #{this:getCurrentDate(context, component, currentDate)},
- selectedDate: #{this:getSelectedDate(context, component)},
- datePattern: '#{component.datePattern}',
- jointPoint: '#{component.jointPoint}',
- direction: '#{component.direction}',
- boundaryDatesMode:'#{component.boundaryDatesMode}',
- popup: #{component.popup},
- enableManualInput: #{component.attributes['enableManualInput']},
- showInput: #{component.attributes['showInput']},
- disabled: #{component.disabled},
- readonly: #{component.attributes['readonly']},
- ajaxSingle: #{component.attributes['ajaxSingle']},
- verticalOffset:#{component.verticalOffset},
- horizontalOffset: #{component.horizontalOffset},
- style:'z-index: #{component.attributes["zindex"]}; #{component.attributes["style"]}',
- firstWeekDay: #{this:getFirstWeekDay(context, component)},
- minDaysInFirstWeek: #{this:getMinDaysInFirstWeek(context, component)},
- todayControlMode:'#{component.attributes["todayControlMode"]}',
- showHeader:#{component.attributes['showHeader']},
- showFooter:#{component.attributes['showFooter']},
- showWeeksBar:#{component.attributes['showWeeksBar']},
- showWeekDaysBar:#{component.attributes['showWeekDaysBar']},
- showApplyButton:#{component.attributes['showApplyButton']},
- resetTimeOnDateSelect:#{component.attributes['resetTimeOnDateSelect']},
- defaultTime:#{this:getPreparedDefaultTime(component)}
+ <c:scriptOption attributes="ondateselected, ondateselect, ontimeselect, ontimeselected, onchanged, ondatemouseover, ondatemouseout, onexpand, oncollapse, oncurrentdateselect, oncurrentdateselected" wrapper="eventHandler" />
+ <c:scriptOption name="labels" value="#{this:getLabels(context, component)}" />
+ </c:scriptObject>
+ <script type="text/javascript">
+ new Calendar('#{clientId}',
+ #{this:getPreparedDefaultTime(component)},
+ #{this:getMinDaysInFirstWeek(context, component)},
+ #{this:getFirstWeekDay(context, component)}
+ <f:call name="writeSymbols" />,
- <f:call name="writeLabels" />
-
- <f:call name="writeClass"/>
- <f:call name="writeDayCellClass"/>
- <f:call name="writeDayStyleClass"/>
- <f:call name="writeIsDayEnabled"/>
- <f:call name="writeSymbols" />
-
- <f:call name="writeEventHandlerFunction"><f:parameter value="ondateselected" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="ondateselect" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="ontimeselect" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="ontimeselected" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="onchanged" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="ondatemouseover" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="ondatemouseout" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="onexpand" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="oncollapse" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="oncurrentdateselect" /></f:call>
- <f:call name="writeEventHandlerFunction"><f:parameter value="oncurrentdateselected" /></f:call>
-
- <jsp:scriptlet>/*<![CDATA[*/
- if (component.getChildCount() != 0) {
- /*]]>*/</jsp:scriptlet>
- ,\n dayListMarkup:
- <jsp:scriptlet>/*<![CDATA[*/
- writeMarkupScriptBody(context, component, true);
- }
- /*]]>*/</jsp:scriptlet>
-
- <f:call name="writeOptionalFacetMarkupScriptBody"><f:parameter value="optionalHeader" /></f:call>
- <f:call name="writeOptionalFacetMarkupScriptBody"><f:parameter value="optionalFooter" /></f:call>
-
- <f:call name="writeFacetMarkupScriptBody"><f:parameter value="weekDay" /></f:call>
- <f:call name="writeFacetMarkupScriptBody"><f:parameter value="weekNumber" /></f:call>
- <f:call name="writeFacetMarkupScriptBody"><f:parameter value="header" /></f:call>
- <f:call name="writeFacetMarkupScriptBody"><f:parameter value="footer" /></f:call>
-
+ <c:if test="#{not empty options}">
+ <f:writeAsScript value="#{options}" />
+ </c:if>
+ <c:if test="#{empty options}">
+ {}
+ </c:if>, {
+ <jsp:scriptlet>/*<![CDATA[*/
+ if (component.getChildCount() != 0) {
+ /*]]>*/</jsp:scriptlet>
+ \n dayListMarkup:
+ <jsp:scriptlet>/*<![CDATA[*/
+ writeMarkupScriptBody(context, component, true);
+ }
+ /*]]>*/</jsp:scriptlet>
+
+ <f:call name="writeOptionalFacetMarkupScriptBody"><f:parameter value="optionalHeader" /></f:call>
+ <f:call name="writeOptionalFacetMarkupScriptBody"><f:parameter value="optionalFooter" /></f:call>
+
+ <f:call name="writeFacetMarkupScriptBody"><f:parameter value="weekDay" /></f:call>
+ <f:call name="writeFacetMarkupScriptBody"><f:parameter value="weekNumber" /></f:call>
+ <f:call name="writeFacetMarkupScriptBody"><f:parameter value="header" /></f:call>
+ <f:call name="writeFacetMarkupScriptBody"><f:parameter value="footer" /></f:call>
}).load(
<jsp:scriptlet>/*<![CDATA[*/
writePreloadBody(context, component);
Modified: branches/community/3.3.X/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java
===================================================================
--- branches/community/3.3.X/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java 2009-06-24 18:25:27 UTC (rev 14720)
+++ branches/community/3.3.X/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java 2009-06-25 11:29:12 UTC (rev 14721)
@@ -290,13 +290,11 @@
assertTrue(scriptBodyString.contains("datePattern"));
assertTrue(scriptBodyString.contains("d/MM/yyyy"));
+ assertTrue(scriptBodyString.contains("currentDate"));
assertTrue(scriptBodyString.contains("selectedDate"));
- assertTrue(scriptBodyString.contains("popup: true"));
- assertTrue(scriptBodyString.contains("currentDate:"));
- assertTrue(scriptBodyString.contains("selectedDate:"));
}else if(scriptBodyString.contains("form:timecalendar")){
- assertTrue(scriptBodyString.contains("selectedDate: new Date(2001,8,11,13,36,0)"));
+ assertTrue(scriptBodyString.contains("'selectedDate':new Date(2001,8,11,13,36,0)"));
}
}
15 years, 6 months
JBoss Rich Faces SVN: r14720 - branches/community/3.3.X/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: smukhina
Date: 2009-06-24 14:25:27 -0400 (Wed, 24 Jun 2009)
New Revision: 14720
Modified:
branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/componentControl.xml
Log:
https://jira.jboss.org/jira/browse/RF-927 Bugs in code highlighting are fixed
Modified: branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/componentControl.xml
===================================================================
--- branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/componentControl.xml 2009-06-24 17:37:02 UTC (rev 14719)
+++ branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/componentControl.xml 2009-06-24 18:25:27 UTC (rev 14720)
@@ -129,7 +129,7 @@
<para>
The generated JavaScript function will look as shown below:
</para>
- <programlisting role="XML"><![CDATA[function func (event) {
+ <programlisting role="text/javascript"><![CDATA[function func (event) {
}]]></programlisting>
<para>
An important <emphasis role="bold"><property><rich:componentControl></property></emphasis> feature,
15 years, 6 months
JBoss Rich Faces SVN: r14719 - branches/community/3.3.X/docs/userguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: smukhina
Date: 2009-06-24 13:37:02 -0400 (Wed, 24 Jun 2009)
New Revision: 14719
Modified:
branches/community/3.3.X/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
Log:
https://jira.jboss.org/jira/browse/RF-927 Bugs in code highlighting are fixed
Modified: branches/community/3.3.X/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
===================================================================
--- branches/community/3.3.X/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2009-06-24 17:28:18 UTC (rev 14718)
+++ branches/community/3.3.X/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2009-06-24 17:37:02 UTC (rev 14719)
@@ -3231,13 +3231,7 @@
url="http://wiki.jboss.org/wiki/HowToConfigureMavenForRichFaces"> JBoss wiki article </ulink>
. You can copy and paste these Maven instructions to command line and execute them. </para>
<programlisting role="XML"><![CDATA[...
-mvn archetype:create
--DarchetypeGroupId=org.richfaces.cdk
--DarchetypeArtifactId=maven-archetype-plug-n-skin
--DarchetypeVersion=RF-VERSION
--DartifactId=ARTIFACT-ID
--DgroupId=GROUP-ID
--Dversion=VERSION
+mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-plug-n-skin -DarchetypeVersion=RF-VERSION -DartifactId=ARTIFACT-ID -DgroupId=GROUP-ID -Dversion=VERSION
...]]></programlisting>
<para>Primary keys for the command:</para>
<itemizedlist>
@@ -3403,7 +3397,7 @@
<code><f:verbatim> <![CDATA[ ...]]>
</f:verbatim></code> tags.</para>
<para>For example </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="CSS"><![CDATA[...
.rich-calendar-cell {
background: #537df8;
}
@@ -3485,13 +3479,7 @@
follow the steps described in the previous section.</para>
<para>This command will be used to create a template of the new skin project. </para>
<programlisting role="XML"><![CDATA[
-mvn archetype:create
--DarchetypeGroupId=org.richfaces.cdk
--DarchetypeArtifactId=maven-archetype-plug-n-skin
--DarchetypeVersion=3.3.2-SNAPSHOT
--DartifactId=P-n-S
--DgroupId=GROUPID
--Dversion=1.0.-SNAPSHOT
+mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-plug-n-skin -DarchetypeVersion=3.3.2-SNAPSHOT -DartifactId=P-n-S -DgroupId=GROUPID -Dversion=1.0.-SNAPSHOT
]]></programlisting>
<para> Now you can browse the "P-n-S" folder to view what files and
folders were created there. </para>
@@ -3539,7 +3527,7 @@
input[type="reset"], input[type="submit"],
input[type="button"]</code>. So, the CSS code should look like
this. </para>
- <programlisting role="XML"><![CDATA[
+ <programlisting role="CSS"><![CDATA[
button[type="button"], button[type="reset"], button[type="submit"], input[type="reset"], input[type="submit"], input[type="button"] {
font-weight: bold;
}]]></programlisting>
15 years, 6 months
JBoss Rich Faces SVN: r14718 - in branches/community/3.3.X/ui/combobox/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2009-06-24 13:28:18 -0400 (Wed, 24 Jun 2009)
New Revision: 14718
Modified:
branches/community/3.3.X/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java
branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js
branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js
branches/community/3.3.X/ui/combobox/src/main/templates/combobox.jspx
Log:
RF-7398
Modified: branches/community/3.3.X/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java
===================================================================
--- branches/community/3.3.X/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java 2009-06-24 17:12:01 UTC (rev 14717)
+++ branches/community/3.3.X/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java 2009-06-24 17:28:18 UTC (rev 14718)
@@ -87,7 +87,7 @@
}
}
- public List<Object> encodeItems(FacesContext context, UIComponent component) throws IOException, IllegalArgumentException {
+ public List<Object> getItems(FacesContext context, UIComponent component) throws IOException, IllegalArgumentException {
List <Object>values = new ArrayList<Object>();
if (isAcceptableComponent(component)) {
UIComboBox comboBox = (UIComboBox) component;
@@ -95,7 +95,6 @@
List<SelectItem> selectItems = SelectUtils.getSelectItems(context, component);
for (SelectItem selectItem : selectItems) {
String convertedValue = getConvertedStringValue(context, component, selectItem.getValue());
- encodeSuggestion(context, comboBox, convertedValue, RICH_COMBOBOX_ITEM_CLASSES);
values.add(convertedValue);
}
}
@@ -111,14 +110,12 @@
Collection collection = (Collection) suggestionValues;
for (Object suggestionValue : collection) {
String convertedValue = getConvertedStringValue(context, combobox, suggestionValue);
- encodeSuggestion(context, combobox, convertedValue, RICH_COMBOBOX_ITEM_CLASSES);
values.add(convertedValue);
}
} else if (suggestionValues.getClass().isArray()) {
Object[] suggestions = (Object[]) suggestionValues;
for (Object suggestionValue: suggestions) {
String convertedValue = getConvertedStringValue(context, combobox, suggestionValue);
- encodeSuggestion(context, combobox, convertedValue, RICH_COMBOBOX_ITEM_CLASSES);
values.add(convertedValue);
}
} else {
@@ -137,30 +134,7 @@
return InputUtils.getConvertedStringValue(context, component, value);
}
- protected void encodeSuggestion(FacesContext context, UIComponent component, String value, String classes) throws IOException {
- ResponseWriter writer = context.getResponseWriter();
- if(writer != null) {
- writer.startElement(HTML.SPAN_ELEM, component);
- writer.writeAttribute(HTML.class_ATTRIBUTE, classes, null);
- writer.writeText(value, null);
- writer.endElement(HTML.SPAN_ELEM);
- }
- }
-
protected boolean isAcceptableComponent(UIComponent component) {
return component != null && this.getComponentClass().isAssignableFrom(component.getClass());
}
-
- public String getItemsTextAsJSArray(FacesContext context, UIComponent component, List items) {
- return ScriptUtils.toScript(items);
- }
-
- public String getAsEventHandler(FacesContext context, UIComponent component, String attributeName) {
- JSFunctionDefinition script = getUtils().getAsEventHandler(context, component, attributeName, null);
- return ScriptUtils.toScript(script);
- }
-
- public String encodeValue(String value){
- return ScriptUtils.toScript(value);
- }
}
Modified: branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js
===================================================================
--- branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js 2009-06-24 17:12:01 UTC (rev 14717)
+++ branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js 2009-06-24 17:28:18 UTC (rev 14718)
@@ -4,62 +4,53 @@
Richfaces.ComboBox.prototype = {
- initialize: function(combobox, listId, parentListId, valueFieldId, fieldId, buttonId, buttonBGId, shadowId, commonStyles, userStyles,
- listWidth, listHeight, itemsText, directInputSuggestions, filterNewValue,
- selectFirstOnUpdate, onlistcall, onlistclose, onselected, defaultMessage, isDisabled, value,
- showDelay, hideDelay, onchange) {
-
- this.directInputSuggestions = directInputSuggestions;
- this.filterNewValue = filterNewValue;
- this.combobox = $(combobox);
- this.comboValue = document.getElementById(valueFieldId);
- this.field = document.getElementById(fieldId);
+ //default values
+ filterNewValues : true,
+ defaultLabel : "",
+
+ initialize: function(id, options) {
+ options = options || {};
+ Object.extend(this, options.fields);
+ this.combobox = $(id);
+ this.comboValue = document.getElementById(id + "comboboxValue");
+ this.field = document.getElementById(id + "comboboxField");
this.tempItem;
- this.onchange = onchange;
this.BUTTON_WIDTH = 17; //px
- this.classes = Richfaces.mergeStyles(userStyles,commonStyles.getCommonStyles());
+ this.classes = Richfaces.mergeStyles(options.userStyles,new Richfaces.ComboBoxStyles().getCommonStyles());
- this.button = document.getElementById(buttonId);
- this.buttonBG = document.getElementById(buttonBGId);
+ this.button = document.getElementById(id + "comboboxButton");
+ this.buttonBG = document.getElementById(id + "comboBoxButtonBG");
this.setInputWidth();
- listWidth = (!listWidth) ? this.getCurrentWidth() : listWidth;
+ var listOptions = options.listOptions || {};
+ listOptions.listWidth = listOptions.listWidth || this.getCurrentWidth();
+ this.comboList = new Richfaces.ComboBoxList(id, this.filterNewValues, this.classes.combolist, listOptions);
- this.comboList = new Richfaces.ComboBoxList(listId, parentListId, selectFirstOnUpdate, filterNewValue, this.classes.combolist, listWidth,
- listHeight, itemsText, onlistcall, onlistclose, fieldId, shadowId, showDelay, hideDelay);
- this.defaultMessage = defaultMessage;
-
- if (value) {
- var item = this.comboList.findItemBySubstr(value);
+ if (options.value) {
+ var item = this.comboList.findItemBySubstr(options.value);
if (item) {
this.comboList.doSelectItem(item);
}
// RF-5056
- this.comboValue.value = value;
+ this.comboValue.value = options.value;
} else {
- if (this.defaultMessage) {
+ if (this.defaultLabel) {
this.applyDefaultText();
}
}
- this.onselected = onselected;
this.isSelection = true;
- this.isDisabled = isDisabled;
if (this.onselected) {
this.combobox.observe("rich:onselect", this.onselected);
}
- if (this.isDisabled) {
+ if (this.disabled) {
this.disable(); //TODO rename to 'disable'
}
- if (Richfaces.browser.isIE6) {
- this.comboList.createIframe(this.comboList.listParent.parentNode, listWidth, this.combobox.id,
- "rich-combobox-list-width rich-combobox-list-scroll rich-combobox-list-position");
- }
this.combobox.component = this;
this.initHandlers();
this["rich:destructor"] = "destroy";
@@ -274,7 +265,7 @@
fieldFocusHandler : function() {
this.doActive();
- if ((this.field.value == this.defaultMessage) && (this.comboValue.value == "")) {
+ if ((this.field.value == this.defaultLabel) && (this.comboValue.value == "")) {
this.field.value = "";
} else {
if (this.isSelection) {
@@ -311,7 +302,7 @@
dataUpdating : function(event) {
if (Richfaces.ComboBox.SPECIAL_KEYS.indexOf(event.keyCode) == -1) {
- if (this.filterNewValue) {
+ if (this.filterNewValues) {
this.comboList.hideWithDelay();
this.comboList.dataFilter(this.field.value);
if (this.comboList.getItems() && this.comboList.getItems().length != 0) {
@@ -401,7 +392,7 @@
applyDefaultText : function() {
this.field.className = this.classes.field.classes.disabled;
- this.field.value = this.defaultMessage;
+ this.field.value = this.defaultLabel;
this.comboValue.value = "";
},
@@ -424,7 +415,7 @@
this.field.className = this.classes.field.classes.active;
Element.setStyle(this.field, this.classes.field.style.active);
- this.isDisabled = false;
+ this.disabled = false;
},
disable : function() {
@@ -446,7 +437,7 @@
this.button.disabled = true;
this.field.disabled = true;
- this.isDisabled = true;
+ this.disabled = true;
},
enable : function() {
@@ -468,7 +459,7 @@
this.button.disabled = false;
this.field.disabled = false;
- this.isDisabled = false;
+ this.disabled = false;
},
doDisable : function() {
@@ -487,7 +478,7 @@
* user's JavaScript API
*/
showList : function() {
- if (this.isDisabled) {
+ if (this.disabled) {
return;
}
this.field.focus();
Modified: branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js
===================================================================
--- branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js 2009-06-24 17:12:01 UTC (rev 14717)
+++ branches/community/3.3.X/ui/combobox/src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js 2009-06-24 17:28:18 UTC (rev 14718)
@@ -1,19 +1,26 @@
if(!window.Richfaces) window.Richfaces = {};
Richfaces.ComboBoxList = Class.create();
Richfaces.ComboBoxList.prototype = {
-
- initialize: function(listId, parentListId, selectFirstOnUpdate, filterNewValues, classes, width, height, itemsText, onlistcall, onlistclose, fieldId, shadowId,decorationId,
- showDelay, hideDelay) {
-
- this.list = document.getElementById(listId);
- this.listParent = $(parentListId);
+
+ //default values
+ selectFirstOnUpdate : true,
+ listHeight : "200px",
+ itemsText : [],
+ showDelay : 0,
+ hideDelay : 0,
+
+ initialize: function(id, filterNewValues, classes, options) {
+
+ Object.extend(this, options);
+ this.list = document.getElementById(id + "list");
+ this.listParent = $(id + "listParent");
this.listParentContainer = this.listParent.parentNode;
this.iframe = null;
- this.fieldElem = document.getElementById(fieldId);
- this.itemsText = itemsText;
- this.shadowElem = document.getElementById(shadowId);
- this.onlistcall = onlistcall;
- this.onlistclose = onlistclose;
+ this.fieldElem = document.getElementById(id + "comboboxField");
+ //this.itemsText = itemsText || [];
+ this.shadowElem = document.getElementById(id + "shadow");
+ //this.onlistcall = onlistcall;
+ //this.onlistclose = onlistclose;
if (this.onlistcall) {
this.listParent.observe("rich:onlistcall", this.onlistcall);
@@ -23,7 +30,7 @@
this.listParent.observe("rich:onlistclose", this.onlistclose);
}
- this.selectFirstOnUpdate = selectFirstOnUpdate;
+ //this.selectFirstOnUpdate = selectFirstOnUpdate;
this.filterNewValues = filterNewValues;
this.isList = false;
@@ -33,15 +40,19 @@
this.selectedItem = null;
this.activeItem = null;
- this.showDelay = showDelay;
- this.hideDelay = hideDelay;
+ //this.showDelay = showDelay;
+ //this.hideDelay = hideDelay;
this.classes = classes;
- this.width = width;
- this.height = height;
+ //this.listWidth = width;
+ //this.listHeight = height;
this.initDimensions();
this.scrollElements = null;
this.eventOnScroll = this.eventOnScroll.bindAsEventListener(this);
+ if (Richfaces.browser.isIE6) {
+ this.createIframe(this.listParent.parentNode, this.listWidth, id,
+ "rich-combobox-list-width rich-combobox-list-scroll rich-combobox-list-position");
+ }
},
initDimensions : function() {
@@ -177,7 +188,7 @@
},
setSize : function() {
- var height = this.height;
+ var height = this.listHeight;
var currentItemsHeight;
var rowsAmount;
@@ -188,8 +199,8 @@
rowsAmount = this.getItems().length;
currentItemsHeight = itemHeight * rowsAmount;
- if (this.height) {
- if (parseInt(this.height) > currentItemsHeight) {
+ if (this.listHeight) {
+ if (parseInt(this.listHeight) > currentItemsHeight) {
height = currentItemsHeight;
}
} else {
@@ -207,7 +218,7 @@
if (this.shadowElem) {
if (!Richfaces.browser.isIE6) {
// shadow offset
- this.shadowElem.style.width = (parseInt(this.width) + 7) + "px";
+ this.shadowElem.style.width = (parseInt(this.listWidth) + 7) + "px";
this.shadowElem.style.height = (parseInt(height) + 9)+ "px";
} else {
this.shadowElem.style.visibility = "hidden";
@@ -216,7 +227,7 @@
if (this.iframe) {
this.iframe.style.height = height;
}
- this.setWidth(this.width);
+ this.setWidth(this.listWidth);
}
},
Modified: branches/community/3.3.X/ui/combobox/src/main/templates/combobox.jspx
===================================================================
--- branches/community/3.3.X/ui/combobox/src/main/templates/combobox.jspx 2009-06-24 17:12:01 UTC (rev 14717)
+++ branches/community/3.3.X/ui/combobox/src/main/templates/combobox.jspx 2009-06-24 17:28:18 UTC (rev 14718)
@@ -29,12 +29,6 @@
<jsp:scriptlet>
<![CDATA[
- Boolean directInputSuggestions = (Boolean) component.getAttributes().get("directInputSuggestions");
- variables.setVariable("directInputSuggestions", directInputSuggestions);
-
- Boolean filterNewValues = (Boolean) component.getAttributes().get("filterNewValues");
- variables.setVariable("filterNewValues", filterNewValues);
-
Boolean disabled = (Boolean) component.getAttributes().get("disabled");
variables.setVariable("disabled", disabled);
@@ -65,8 +59,6 @@
String listWidth = (String) component.getAttributes().get("listWidth");
if (listWidth == null || listWidth.length() == 0 || listWidth.trim().startsWith("0")) {
- // String listCorrection = width.substring(0,width.indexOf("px"));
- // listCorrection = (Integer.parseInt(listCorrection) - 2) + "px";
listWidth = width;
} else {
listWidth = HtmlUtil.qualifySize(listWidth);
@@ -77,12 +69,6 @@
String inputSize = (String) component.getAttributes().get("inputSize");
variables.setVariable("inputSize", inputSize);
- String defaultLabel = (String) component.getAttributes().get("defaultLabel");
- variables.setVariable("defaultLabel", defaultLabel);
-
- Boolean selectFirstOnUpdate = (Boolean) component.getAttributes().get("selectFirstOnUpdate");
- variables.setVariable("selectFirstOnUpdate", selectFirstOnUpdate);
-
Object value = component.getSubmittedValue();
if (value == null) {
value = component.getAttributes().get("value");
@@ -92,96 +78,17 @@
value = getConvertedStringValue(context, component,value);
if ("".equals(value)) {
valueStyle = "rich-combobox-font-disabled";
- //value = defaultLabel;
}
variables.setVariable("value", value);
- String convertedValue = encodeValue((String)value);
- variables.setVariable("convertedValue", convertedValue);
variables.setVariable("valueStyle", valueStyle);
- Object inputStyle = component.getAttributes().get("inputStyle");
- variables.setVariable("inputStyle", inputStyle);
-
- Object inputClass = component.getAttributes().get("inputClass");
- if("".equals(inputClass)) {
- inputClass = null;
- }
- variables.setVariable("inputClass", inputClass);
-
- Object inputDisabledStyle = component.getAttributes().get("inputDisabledStyle");
- variables.setVariable("inputDisabledStyle", inputDisabledStyle);
-
- Object inputDisabledClass = component.getAttributes().get("inputDisabledClass");
- if("".equals(inputDisabledClass)) {
- inputDisabledClass = null;
- }
- variables.setVariable("inputDisabledClass", inputDisabledClass);
-
- Object inputInactiveStyle = component.getAttributes().get("inputInactiveStyle");
- variables.setVariable("inputInactiveStyle", inputInactiveStyle);
-
- Object inputInactiveClass = component.getAttributes().get("inputInactiveClass");
- if("".equals(inputInactiveClass)) {
- inputInactiveClass = null;
- }
- variables.setVariable("inputInactiveClass", inputInactiveClass);
-
-
- Object buttonInactiveClass = component.getAttributes().get("buttonInactiveClass");
- if("".equals(buttonInactiveClass)) {
- buttonInactiveClass = null;
- }
- variables.setVariable("buttonInactiveClass", buttonInactiveClass);
-
- Object buttonInactiveStyle = component.getAttributes().get("buttonInactiveStyle");
- variables.setVariable("buttonInactiveStyle", buttonInactiveStyle);
-
- Object buttonDisabledClass = component.getAttributes().get("buttonDisabledClass");
- if("".equals(buttonDisabledClass)) {
- buttonDisabledClass = null;
- }
- variables.setVariable("buttonDisabledClass", buttonDisabledClass);
-
- Object buttonDisabledStyle = component.getAttributes().get("buttonDisabledStyle");
- variables.setVariable("buttonDisabledStyle", buttonDisabledStyle);
-
- Object buttonClass = component.getAttributes().get("buttonClass");
- if("".equals(buttonClass)) {
- buttonClass = null;
- }
- variables.setVariable("buttonClass", buttonClass);
-
- Object buttonStyle = component.getAttributes().get("buttonStyle");
- variables.setVariable("buttonStyle", buttonStyle);
-
- Object listStyle = component.getAttributes().get("listStyle");
- variables.setVariable("listStyle", listStyle);
-
- Object listClass = component.getAttributes().get("listClass");
- if("".equals(listClass)) {
- listClass = null;
- }
- variables.setVariable("listClass", listClass);
-
Object styleClass = component.getAttributes().get("styleClass");
variables.setVariable("styleClass", styleClass);
Object style = component.getAttributes().get("style");
variables.setVariable("style", style);
-
- Object itemClass = component.getAttributes().get("itemClass");
- if("".equals(itemClass)) {
- itemClass = null;
- }
- variables.setVariable("itemClass", itemClass);
-
- Object itemSelectedClass = component.getAttributes().get("itemSelectedClass");
- if("".equals(itemSelectedClass)) {
- itemSelectedClass = null;
- }
- variables.setVariable("itemSelectedClass", itemSelectedClass);
-
+
String buttonIcon = (String)component.getAttributes().get("buttonIcon");
if (!"".equals(buttonIcon)) {
buttonIcon = "url('" + getResource(buttonIcon).getUri(context, component) + "')";
@@ -212,12 +119,12 @@
<input id="#{clientId}comboboxField"
name="#{clientId}comboboxField"
disabled="#{disabled}"
- class="#{valueStyle} rich-combobox-input-inactive #{inputInactiveClass}" type="text"
+ class="#{valueStyle} rich-combobox-input-inactive #{component.attributes['inputInactiveClass']}" type="text"
readonly="#{enableManualInput}"
value="#{value}"
x:onblur="#{component.attributes['onblur']}"
onfocus = "#{component.attributes['onfocus']}"
- style="width:#{correction}; #{inputInactiveStyle}"
+ style="width:#{correction}; #{component.attributes['inputInactiveStyle']}"
autocomplete="off"
tabindex="#{component.attributes['tabindex']}"
/>
@@ -233,12 +140,12 @@
disabled="#{disabled}"
type="text"
value=""
- style="#{buttonStyle}; background-image: #{buttonIconInactive};"
+ style="#{component.attributes['buttonStyle']}; background-image: #{buttonIconInactive};"
class="rich-combobox-font-inactive rich-combobox-button-icon-inactive rich-combobox-button-inactive #{buttonInactiveClass}"/>
<div class="rich-combobox-strut rich-combobox-font" style="width:#{correction}">Strut</div>
</div>
- <div id="#{clientId}listParent" class="rich-combobox-list-cord #{listClass}" style="display:none; #{listStyle}; position:absolute;z-index:1000;">
+ <div id="#{clientId}listParent" class="rich-combobox-list-cord #{component.attributes['listClass']}" style="display:none; #{component.attributes['listStyle']}; position:absolute;z-index:1000;">
<div class="rich-combobox-shadow">
<table id="#{clientId}shadow" cellpadding="0" cellspacing="0" border="0">
<tr>
@@ -262,8 +169,6 @@
<div id="#{clientId}listPosition" class="rich-combobox-list-position">
<div id="#{clientId}listDecoration" class="rich-combobox-list-decoration">
<div id="#{clientId}list" class="rich-combobox-list-scroll">
- <c:object type="java.util.List" var="items" value="#{this:encodeItems(context,component)}">
- </c:object>
</div>
</div>
</div>
@@ -277,89 +182,84 @@
</div>
-
+ <c:scriptObject var="classes">
+ <c:scriptOption name="normal" value="#{component.attributes['buttonInactiveClass']}" />
+ <c:scriptOption name="active" value="#{component.attributes['buttonClass']}" />
+ <c:scriptOption name="disabled" value="#{component.attributes['buttonDisabledClass']}" />
+ </c:scriptObject>
+ <c:scriptObject var="style1">
+ <c:scriptOption name="normal" value="#{component.attributes['buttonInactiveStyle']}" />
+ <c:scriptOption name="active" value="#{component.attributes['buttonStyle']}" />
+ <c:scriptOption name="disabled" value="#{component.attributes['buttonDisabledStyle']}" />
+ </c:scriptObject>
+ <c:scriptObject var="button">
+ <c:scriptOption variables="classes" />
+ <c:scriptOption name="style" value="#{style1}" />
+ </c:scriptObject>
+ <c:scriptObject var="style2">
+ <c:scriptOption name="normal" value="#{buttonIconInactive}" />
+ <c:scriptOption name="active" value="#{buttonIcon}" />
+ <c:scriptOption name="disabled" value="#{buttonIconDisabled}" />
+ </c:scriptObject>
+ <c:scriptObject var="buttonicon">
+ <c:scriptOption name="style" value="#{style2}" />
+ </c:scriptObject>
+ <c:scriptObject var="classes2">
+ <c:scriptOption name="normal" value="#{component.attributes['inputInactiveClass']}" />
+ <c:scriptOption name="active" value="#{component.attributes['inputClass']}" />
+ <c:scriptOption name="disabled" value="#{component.attributes['inputDisabledClass']}" />
+ </c:scriptObject>
+ <c:scriptObject var="style3">
+ <c:scriptOption name="normal" value="#{component.attributes['inputInactiveStyle']}" />
+ <c:scriptOption name="active" value="#{component.attributes['inputStyle']}" />
+ <c:scriptOption name="disabled" value="#{component.attributes['inputDisabledStyle']}" />
+ </c:scriptObject>
+ <c:scriptObject var="field">
+ <c:scriptOption name="classes" value="#{classes2}" />
+ <c:scriptOption name="style" value="#{style3}" />
+ </c:scriptObject>
+ <c:scriptObject var="classes3">
+ <c:scriptOption name="active" value="#{component.attributes['listClass']}" />
+ </c:scriptObject>
+ <c:scriptObject var="style4">
+ <c:scriptOption name="active" value="#{component.attributes['listStyle']}" />
+ </c:scriptObject>
+ <c:scriptObject var="list">
+ <c:scriptOption name="classes" value="#{classes3}" />
+ <c:scriptOption name="style" value="#{style4}" />
+ </c:scriptObject>
+ <c:scriptObject var="item">
+ <c:scriptOption name="normal" value="#{component.attributes['itemClass']}" />
+ <c:scriptOption name="selected" value="#{component.attributes['itemSelectedClass']}" />
+ </c:scriptObject>
+ <c:scriptObject var="combolist">
+ <c:scriptOption variables="list, item" />
+ </c:scriptObject>
+ <c:scriptObject var="userStyles">
+ <c:scriptOption variables="button, buttonicon, field, combolist" />
+ </c:scriptObject>
+ <c:scriptObject var="listOptions">
+ <c:scriptOption variables="listWidth" />
+ <c:scriptOption variables="listHeight" defaultValue="200px"/>
+ <c:scriptOption name="itemsText" value="#{this:getItems(context,component)}" />
+ <c:scriptOption attributes="onlistcall, onlistclose" wrapper="eventHandler"/>
+ <c:scriptOption attributes="selectFirstOnUpdate" defaultValue="true"/>
+ <c:scriptOption attributes="showDelay, hideDelay" defaultValue="0"/>
+ </c:scriptObject>
+ <c:scriptObject var="fields">
+ <c:scriptOption attributes="directInputSuggestions, defaultLabel" variables="disabled" />
+ <c:scriptOption attributes="filterNewValues" defaultValue="true"/>
+ <c:scriptOption attributes="onselect, onchange" wrapper="eventHandler"/>
+ </c:scriptObject>
+ <c:scriptObject var="options">
+ <c:scriptOption variables="userStyles, listOptions, fields, value" />
+ </c:scriptObject>
<script type="text/javascript">
-
- var clientId = '#{clientId}';
-
-
- var comboboxUserStyles = {
- button : {
- classes :
- {
- normal: "#{buttonInactiveClass}",
- active: "#{buttonClass}",
- disabled: "#{buttonDisabledClass}"
- },
- style :
- {
- normal: "#{buttonInactiveStyle}",
- active: "#{buttonStyle}",
- disabled: "#{buttonDisabledStyle}"
- }
- },
- buttonicon : {
- style :
- {
- normal: "#{buttonIconInactive}",
- active: "#{buttonIcon}",
- disabled: "#{buttonIconDisabled}"
- }
- },
- field : {
- classes :
- {
- normal: "#{inputInactiveClass}",
- active: "#{inputClass}",
- disabled: "#{inputDisabledClass}"
- },
- style :
- {
- normal : "#{inputInactiveStyle}",
- active : "#{inputStyle}",
- disabled : "#{inputDisabledStyle}"
- }
- },
- combolist : {
- list: {
- classes:
- {
- active: "#{listClass}"
- },
- style:
- {
- active: "'#{listStyle}"
- }
- },
- item: {
- normal : "#{itemClass}",
- selected: "#{itemSelectedClass}"
- }
- }
- };
-
-
- var combobox = new Richfaces.ComboBox( "#{clientId}",
- "#{clientId}list",
- "#{clientId}listParent",
- "#{clientId}comboboxValue",
- "#{clientId}comboboxField",
- "#{clientId}comboboxButton",
- "#{clientId}comboBoxButtonBG",
- "#{clientId}shadow",
- new Richfaces.ComboBoxStyles(),
- comboboxUserStyles,
- "#{listWidth}", "#{listHeight}",
- #{this:getItemsTextAsJSArray(context, component,items)},
- #{directInputSuggestions},
- #{filterNewValues},
- #{selectFirstOnUpdate},
- #{this:getAsEventHandler(context, component, "onlistcall")},
- #{this:getAsEventHandler(context, component, "onlistclose")},
- #{this:getAsEventHandler(context, component, "onselect")},
- "#{defaultLabel}",
- #{disabled}, #{convertedValue},
- #{component.attributes["showDelay"]}, #{component.attributes["hideDelay"]}, #{this:getAsEventHandler(context, component, "onchange")});
+ new Richfaces.ComboBox("#{clientId}"
+ <c:if test="#{not empty options}">
+ , <f:writeAsScript value="#{options}" />
+ </c:if>
+ );
</script>
</div>
</f:root>
15 years, 6 months
JBoss Rich Faces SVN: r14717 - branches/sandbox/rf4_build/ui/trunk/components/tree.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2009-06-24 13:12:01 -0400 (Wed, 24 Jun 2009)
New Revision: 14717
Modified:
branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml
Log:
remove 'shared' module dependency
Modified: branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml
===================================================================
--- branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
+++ branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml 2009-06-24 17:12:01 UTC (rev 14717)
@@ -20,8 +20,6 @@
<module>tree/ui</module>
<module>treeModel/api</module>
<module>treeModel/ui</module>
- <module>treeShared/api</module>
- <module>treeShared/ui</module>
</modules>
</project>
\ No newline at end of file
15 years, 6 months
JBoss Rich Faces SVN: r14716 - in branches/sandbox/rf4_build: examples/trunk and 5 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2009-06-24 12:59:20 -0400 (Wed, 24 Jun 2009)
New Revision: 14716
Removed:
branches/sandbox/rf4_build/ui/trunk/components/tree/shared/
Modified:
branches/sandbox/rf4_build/docs/trunk/pom.xml
branches/sandbox/rf4_build/examples/trunk/components/pom.xml
branches/sandbox/rf4_build/examples/trunk/pom.xml
branches/sandbox/rf4_build/ui/trunk/components/calendar/pom.xml
branches/sandbox/rf4_build/ui/trunk/components/pom.xml
branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml
branches/sandbox/rf4_build/version-matrix/trunk/pom.xml
Log:
new build system
Modified: branches/sandbox/rf4_build/docs/trunk/pom.xml
===================================================================
--- branches/sandbox/rf4_build/docs/trunk/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/docs/trunk/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -4,17 +4,230 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <groupId>org.richfaces</groupId>
- <artifactId>version-matrix</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- </parent>
-
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces</groupId>
<artifactId>docs</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
+ <properties>
+ <docs.version>${project.version}</docs.version>
+ <docs.translation>en</docs.translation>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ <url>http://snapshots.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>repository.jboss.org</id>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <url>http://repository.jboss.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>snapshots.jboss.org</id>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ <url>http://snapshots.jboss.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.docs.guides.testguide</groupId>
+ <artifactId>${docs.translation}</artifactId>
+ <version>${docs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.docs.commons</groupId>
+ <artifactId>highlight</artifactId>
+ <version>${docs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.docs.commons.resources</groupId>
+ <artifactId>${docs.translation}</artifactId>
+ <version>${docs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.saxon</groupId>
+ <artifactId>saxon</artifactId>
+ <version>8.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.wst.sse</groupId>
+ <artifactId>core</artifactId>
+ <version>1.1.202-v200709061102</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>xerces</artifactId>
+ <groupId>org.apache</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>bundle</artifactId>
+ <groupId>system</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>core</artifactId>
+ <groupId>org.eclipse.wst.xml</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>runtime</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>resources</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>filebuffers</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>text</artifactId>
+ <groupId>org.eclipse</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commands</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>common</artifactId>
+ <groupId>org.eclipse.emf</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>icu</artifactId>
+ <groupId>com.ibm</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.wst.css</groupId>
+ <artifactId>core</artifactId>
+ <version>1.1.101-v200705302225</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>xerces</artifactId>
+ <groupId>org.apache</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>bundle</artifactId>
+ <groupId>system</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>core</artifactId>
+ <groupId>org.eclipse.wst.xml</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>runtime</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>resources</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>filebuffers</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>text</artifactId>
+ <groupId>org.eclipse</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commands</artifactId>
+ <groupId>org.eclipse.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>common</artifactId>
+ <groupId>org.eclipse.emf</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>icu</artifactId>
+ <groupId>com.ibm</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.uwyn</groupId>
+ <artifactId>jhighlight</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>fop</artifactId>
+ <version>0.95</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.1.2</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.docs.commons.resources</groupId>
+ <artifactId>${docs.translation}</artifactId>
+ <version>${docs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.saxon</groupId>
+ <artifactId>saxon</artifactId>
+ <version>8.7</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
<modules>
<module>commons</module>
<module>guides</module>
Modified: branches/sandbox/rf4_build/examples/trunk/components/pom.xml
===================================================================
--- branches/sandbox/rf4_build/examples/trunk/components/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/examples/trunk/components/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -20,5 +20,15 @@
<module>panel-demo</module>
<module>tree-demo</module>
</modules>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui.components</groupId>
+ <artifactId>${example.componentName}-ui</artifactId>
+ <version>${ui.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
</project>
\ No newline at end of file
Modified: branches/sandbox/rf4_build/examples/trunk/pom.xml
===================================================================
--- branches/sandbox/rf4_build/examples/trunk/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/examples/trunk/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -32,11 +32,13 @@
<artifactId>richfaces-impl</artifactId>
<version>${framework.version}</version>
</dependency>
- <dependency>
+
+ <!-- TODO: uncomment when assembly will be ready -->
+ <!--dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
<version>${ui.version}</version>
- </dependency>
+ </dependency-->
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
@@ -73,17 +75,7 @@
<version>1.2</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.richfaces.framework</groupId>
- <artifactId>richfaces-impl</artifactId>
- </dependency>
-
- <!-- TODO: uncomment when assembly will be ready -->
- <!-- dependency>
- <groupId>org.richfaces.ui</groupId>
- <artifactId>richfaces-ui</artifactId>
- </dependency -->
- </dependencies>
+ </dependencies>
<modules>
<module>components</module>
Modified: branches/sandbox/rf4_build/ui/trunk/components/calendar/pom.xml
===================================================================
--- branches/sandbox/rf4_build/ui/trunk/components/calendar/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/ui/trunk/components/calendar/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -16,8 +16,9 @@
<packaging>pom</packaging>
<modules>
- <module>calendar-api</module>
- <module>calendarf-ui</module>
+ <module>api</module>
+ <module>ui</module>
+ <module>impl</module>
</modules>
</project>
\ No newline at end of file
Modified: branches/sandbox/rf4_build/ui/trunk/components/pom.xml
===================================================================
--- branches/sandbox/rf4_build/ui/trunk/components/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/ui/trunk/components/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -12,7 +12,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.ui</groupId>
- <artifactId>components</artifactId>
+ <artifactId>richfaces-ui</artifactId>
<packaging>pom</packaging>
<modules>
Modified: branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml
===================================================================
--- branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/ui/trunk/components/tree/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -16,8 +16,12 @@
<packaging>pom</packaging>
<modules>
- <module>tree-api</module>
- <module>tree-ui</module>
+ <module>tree/api</module>
+ <module>tree/ui</module>
+ <module>treeModel/api</module>
+ <module>treeModel/ui</module>
+ <module>treeShared/api</module>
+ <module>treeShared/ui</module>
</modules>
</project>
\ No newline at end of file
Modified: branches/sandbox/rf4_build/version-matrix/trunk/pom.xml
===================================================================
--- branches/sandbox/rf4_build/version-matrix/trunk/pom.xml 2009-06-24 16:33:49 UTC (rev 14715)
+++ branches/sandbox/rf4_build/version-matrix/trunk/pom.xml 2009-06-24 16:59:20 UTC (rev 14716)
@@ -21,15 +21,8 @@
<framework.version>${project.version}</framework.version>
<ui.version>${project.version}</ui.version>
<cdk.version>${project.version}</cdk.version>
- <docs.version>${project.version}</docs.version>
- <docs.translation>en</docs.translation>
+ </properties>
- <!--
- Referenced property: example.componentName - is redefined by
- downstream example project
- -->
- </properties>
-
<repositories>
<repository>
<id>repository.jboss.org</id>
@@ -103,36 +96,7 @@
<version>${framework.version}</version>
<scope>test</scope>
</dependency>
-
- <!-- TODO: we may remove this now -->
- <dependency>
- <groupId>org.richfaces.ui.components</groupId>
- <artifactId>${example.componentName}-ui</artifactId>
- <version>${ui.version}</version>
- </dependency>
- <dependency>
- <groupId>org.richfaces.ui</groupId>
- <artifactId>richfaces-ui</artifactId>
- <version>${ui.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.richfaces.docs.guides.testguide</groupId>
- <artifactId>${docs.translation}</artifactId>
- <version>${docs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.richfaces.docs.commons</groupId>
- <artifactId>highlight</artifactId>
- <version>${docs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.richfaces.docs.commons.resources</groupId>
- <artifactId>${docs.translation}</artifactId>
- <version>${docs.version}</version>
- </dependency>
-
- <dependency>
+ <dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${jsf.version}</version>
@@ -171,121 +135,6 @@
<version>1.2</version>
<scope>provided</scope>
</dependency>
- <!-- -->
-
- <!-- TODO: move to separate version matrix -->
- <!-- Documentation dependencies -->
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon</artifactId>
- <version>8.7</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.wst.sse</groupId>
- <artifactId>core</artifactId>
- <version>1.1.202-v200709061102</version>
- <exclusions>
- <exclusion>
- <artifactId>xerces</artifactId>
- <groupId>org.apache</groupId>
- </exclusion>
- <exclusion>
- <artifactId>bundle</artifactId>
- <groupId>system</groupId>
- </exclusion>
- <exclusion>
- <artifactId>core</artifactId>
- <groupId>org.eclipse.wst.xml</groupId>
- </exclusion>
- <exclusion>
- <artifactId>runtime</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>resources</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>filebuffers</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>text</artifactId>
- <groupId>org.eclipse</groupId>
- </exclusion>
- <exclusion>
- <artifactId>commands</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>common</artifactId>
- <groupId>org.eclipse.emf</groupId>
- </exclusion>
- <exclusion>
- <artifactId>icu</artifactId>
- <groupId>com.ibm</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.eclipse.wst.css</groupId>
- <artifactId>core</artifactId>
- <version>1.1.101-v200705302225</version>
- <exclusions>
- <exclusion>
- <artifactId>xerces</artifactId>
- <groupId>org.apache</groupId>
- </exclusion>
- <exclusion>
- <artifactId>bundle</artifactId>
- <groupId>system</groupId>
- </exclusion>
- <exclusion>
- <artifactId>core</artifactId>
- <groupId>org.eclipse.wst.xml</groupId>
- </exclusion>
- <exclusion>
- <artifactId>runtime</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>resources</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>filebuffers</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>text</artifactId>
- <groupId>org.eclipse</groupId>
- </exclusion>
- <exclusion>
- <artifactId>commands</artifactId>
- <groupId>org.eclipse.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>common</artifactId>
- <groupId>org.eclipse.emf</groupId>
- </exclusion>
- <exclusion>
- <artifactId>icu</artifactId>
- <groupId>com.ibm</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.uwyn</groupId>
- <artifactId>jhighlight</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>fop</artifactId>
- <version>0.95</version>
- </dependency>
- <!-- -->
-
<!-- Archetypes dependency -->
<dependency>
<groupId>org.apache.maven.archetype</groupId>
@@ -316,37 +165,6 @@
<version>2.0-alpha-4</version>
<extensions>true</extensions>
</plugin>
-
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.1.2</version>
- <extensions>true</extensions>
-
- <dependencies>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-docbook-xslt</artifactId>
- <version>1.1.0</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-jdocbook-style</artifactId>
- <version>1.1.0</version>
- <type>jdocbook-style</type>
- </dependency>
- <dependency>
- <groupId>org.richfaces.docs.commons.resources</groupId>
- <artifactId>${docs.translation}</artifactId>
- <version>${docs.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon</artifactId>
- <version>8.7</version>
- </dependency>
- </dependencies>
- </plugin>
</plugins>
</pluginManagement>
15 years, 6 months
JBoss Rich Faces SVN: r14715 - in branches/community/3.3.X/docs/common-resources/en/src/main: images and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: artdaw
Date: 2009-06-24 12:33:49 -0400 (Wed, 24 Jun 2009)
New Revision: 14715
Added:
branches/community/3.3.X/docs/common-resources/en/src/main/images/arrowsCollapse.png
branches/community/3.3.X/docs/common-resources/en/src/main/images/arrowsExpand.png
branches/community/3.3.X/docs/common-resources/en/src/main/images/minus.gif
branches/community/3.3.X/docs/common-resources/en/src/main/images/plus.gif
branches/community/3.3.X/docs/common-resources/en/src/main/script/jquery.js
Modified:
branches/community/3.3.X/docs/common-resources/en/src/main/css/html-common.css
branches/community/3.3.X/docs/common-resources/en/src/main/script/toggle.js
branches/community/3.3.X/docs/common-resources/en/src/main/xslt/collapsing-navigation.xsl
branches/community/3.3.X/docs/common-resources/en/src/main/xslt/f.xsl
branches/community/3.3.X/docs/common-resources/en/src/main/xslt/xhtml-common.xsl
Log:
https://jira.jboss.org/jira/browse/RF-1146 - table collapsing was added
https://jira.jboss.org/jira/browse/RF-7369 - expand all/collapse all feature was added to TOC
Modified: branches/community/3.3.X/docs/common-resources/en/src/main/css/html-common.css
===================================================================
--- branches/community/3.3.X/docs/common-resources/en/src/main/css/html-common.css 2009-06-24 13:35:20 UTC (rev 14714)
+++ branches/community/3.3.X/docs/common-resources/en/src/main/css/html-common.css 2009-06-24 16:33:49 UTC (rev 14715)
@@ -6,12 +6,66 @@
color:#6699CC;
cursor:pointer;
}
+a {
+ outline-style:none;
+}
+a#expand_collapse{
+ background:transparent url(../images/arrowsCollapse.png) no-repeat scroll 0 4px;
+ color:#666666;
+ display:block;
+ font-size:14px;
+ text-align:right;
+ text-decoration:none;
+ width:88px;
+}
+a#expand_collapse:hover{
+ color: #F2A23D;
+}
+.descriptionWrapper{
+ display:block;
+ float: left;
+ margin-top:5px;
+}
+.arrowWrapper{
+ display:block;
+ float: right;
+}
+.arrowWrapper a img{
+ border:none;
+ width: 30px;
+ height: 30px;
+ margin:0;
+}
+
+.table_expand_collapse{
+ background:transparent url(../images/minus.gif) no-repeat scroll 0 4px;
+ margin: 0px;
+ width: 30px;
+ height: 30px
+ display: block;
+ float: right;
+}
+
+
+span.since sup {
+ color:#6e6e6e;
+ font-size:0.7em;
+ font-weight:100;
+}
+
+span.section a span.since {
+ display:none;
+}
.toc dl dt span.chapter{
margin: 0px 0px 0px 20px;
padding: 0px;
}
+h2.subtitle{
+ font-size:1.3em;
+}
+
h2.title a, h3.title a, h4.title a, h5.title a, h6.title a, p.title a {
text-decoration:none;
color: #334D69;
@@ -326,4 +380,4 @@
#feedback-link img{
width: 47px;
height:315px;
-}
\ No newline at end of file
+}
Added: branches/community/3.3.X/docs/common-resources/en/src/main/images/arrowsCollapse.png
===================================================================
(Binary files differ)
Property changes on: branches/community/3.3.X/docs/common-resources/en/src/main/images/arrowsCollapse.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/community/3.3.X/docs/common-resources/en/src/main/images/arrowsExpand.png
===================================================================
(Binary files differ)
Property changes on: branches/community/3.3.X/docs/common-resources/en/src/main/images/arrowsExpand.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/community/3.3.X/docs/common-resources/en/src/main/images/minus.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/3.3.X/docs/common-resources/en/src/main/images/minus.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/community/3.3.X/docs/common-resources/en/src/main/images/plus.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/3.3.X/docs/common-resources/en/src/main/images/plus.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/community/3.3.X/docs/common-resources/en/src/main/script/jquery.js
===================================================================
--- branches/community/3.3.X/docs/common-resources/en/src/main/script/jquery.js (rev 0)
+++ branches/community/3.3.X/docs/common-resources/en/src/main/script/jquery.js 2009-06-24 16:33:49 UTC (rev 14715)
@@ -0,0 +1,19 @@
+/*
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(!
H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(fun!
ction(){var G=this;while(G.firstChild){G=G.firstChild}return G}).appen
d(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.no!
CloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pu!
shStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,thi
s)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.!
makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;functi!
on K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getEl
ementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"}!
,isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?!
I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),fun
ction(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}ret!
urn o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("di!
v");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return
}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.le!
ngth){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}!
if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.spe
cified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}!
return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){retu!
rn o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"n
extSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeo!
f E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"q!
ueue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(
H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.3
+ * Copyright 2009, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)!
}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){!
if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if
(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{!
"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementByI!
d!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NA
ME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}ret!
urn X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"sub!
mit"===T.type},image:function(T){return"image"===T.type},reset:functio
n(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}!
}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var !
M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].sourc
e+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplic!
ate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undef!
ined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=func
tion(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;f!
or(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.!
match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.rela
tive[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);!
H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort(!
).join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for
(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)!
}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaK!
ey newValue originalTarget pageX pageY prevValue relatedNode relatedTa
rget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},s!
pecial:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagatio!
nStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.
relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}r!
eturn this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/!
\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyLi
st:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,e!
rror").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.st!
yle.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noClo
neEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.s!
lice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o!
.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:fu
nction(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.dat!
a=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.h!
ost)){var H=document.getElementsByTagName("head")[0];var T=document.cr
eateElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState!
==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxSt!
op")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,
G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunctio!
n(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G]!
,"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F
;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cu!
r(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};retur!
n E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H
,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n)!
;n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.e!
lem)}return false}else{var J=G-this.startTime;this.state=J/this.option
s.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this!
[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{to!
p:N,left:I}}}o.offset={initialize:function(){if(this.initialized){retu
rn}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:functi!
on(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||th!
is[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&docum
ent.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
\ No newline at end of file
Modified: branches/community/3.3.X/docs/common-resources/en/src/main/script/toggle.js
===================================================================
--- branches/community/3.3.X/docs/common-resources/en/src/main/script/toggle.js 2009-06-24 13:35:20 UTC (rev 14714)
+++ branches/community/3.3.X/docs/common-resources/en/src/main/script/toggle.js 2009-06-24 16:33:49 UTC (rev 14715)
@@ -103,7 +103,75 @@
countLeft(input, "left", 255);
countLeft(textarea, "none", 500);
}
-
+
+$(document).ready(function () {
+ var togglers = $("span.expand_collapse_toc:contains('+')");
+ if(togglers.length != 0){
+ $("#expand_collapse").toggle(
+ function () {
+ $("span.expand_collapse_toc:contains('+')").each(function (i, node) {
+ toc.expand($(node)[0]);
+ });
+ $(this).html('collapse all');
+ $(this).css('background', 'url(images/arrowsExpand.png) no-repeat scroll 0 4px');
+ },
+ function () {
+ $("span.expand_collapse_toc:contains('-')").each(function (i, node) {
+ toc.collapse($(node)[0]);
+ });
+ $(this).html('expand all');
+ $(this).css('background', 'transparent url(images/arrowsCollapse.png) no-repeat scroll 0 4px');
+ });
+ }else{
+ $("#expand_collapse").css('display', 'none');
+ }
+
+ $(".arrowWrapper a").toggle(
+ function () {
+ var table = $(this).parents().get(4);
+ $(table).children('tbody').hide();
+ $(this).children('img').attr('src', 'images/plus.gif');
+ },
+ function () {
+ var table = $(this).parents().get(4);
+ $(table).children('tbody').show();
+ $(this).children('img').attr('src', 'images/minus.gif');
+ });
+
+});
+/*
+$(document).ready(function () {
+ $("#search").focus(function () {
+ $("#search").val('');
+ });
+ $("#search_button").click(function () {
+ $("div.time_out_div").css('display','block');
+ $("div.time_out_div").text('Please, wait...');
+ setTimeout(searchElements,0);
+ });
+});
+
+function searchElements(){
+ var patt=new RegExp($("#search").val().toString(),"i", "g");
+ $("div.toc a").each(function (i, el) {
+ var tocEl = $(el).text();
+ var dt = $(el).parents().get(1);
+ if(patt.test(tocEl)==true){
+ $(el).css('background-color','#B6CBE7');
+ $("span.expand_collapse_toc:contains('+')").each(function (i, node) {
+ toc.expand($(node)[0]);
+ });
+ }else{
+ $(el).css('background','none');
+ //$(dt).children("span.expand_collapse_toc:contains('-')").each(function (i, node) {
+ // toc.collapse($(node)[0]);
+ //});
+ }
+ });
+ $("div.time_out_div").css('display','none');
+ $("div.time_out_div").text('');
+}
+*/
function dbToggle(node, expandText, collapseText) {
var dt = node.parentNode;
if (dt.nodeName.toLowerCase() == 'dt') {
Modified: branches/community/3.3.X/docs/common-resources/en/src/main/xslt/collapsing-navigation.xsl
===================================================================
--- branches/community/3.3.X/docs/common-resources/en/src/main/xslt/collapsing-navigation.xsl 2009-06-24 13:35:20 UTC (rev 14714)
+++ branches/community/3.3.X/docs/common-resources/en/src/main/xslt/collapsing-navigation.xsl 2009-06-24 16:33:49 UTC (rev 14715)
@@ -1,4 +1,4 @@
-<!DOCTYPE xsl:stylesheet>
+ <!DOCTYPE xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0" xmlns="http://www.w3.org/TR/xhtml1/transitional"
exclude-result-prefixes="#default">
@@ -165,6 +165,7 @@
<xsl:template name="user.head.content">
<xsl:param name="node" select="." />
+ <script type="text/javascript" src="script/jquery.js"><xsl:comment>If you see this message, your web browser doesn't support JavaScript or JavaScript is disabled.</xsl:comment></script>
<script type="text/javascript" src="script/toggle.js"><xsl:comment>If you see this message, your web browser doesn't support JavaScript or JavaScript is disabled.</xsl:comment></script>
</xsl:template>
Modified: branches/community/3.3.X/docs/common-resources/en/src/main/xslt/f.xsl
===================================================================
--- branches/community/3.3.X/docs/common-resources/en/src/main/xslt/f.xsl 2009-06-24 13:35:20 UTC (rev 14714)
+++ branches/community/3.3.X/docs/common-resources/en/src/main/xslt/f.xsl 2009-06-24 16:33:49 UTC (rev 14715)
@@ -98,6 +98,30 @@
<
<xsl:value-of select="concat($prefix,':', $tag_name)" />
>
+ <emphasis role="since">
+ <superscript>
+ <xsl:choose>
+ <xsl:when test="document(concat($lang, $separator, 'included', $separator, $prefix, '_', $tag_name, '.desc.xml'))/node()/section/sectioninfo/releaseinfo">
+ <xsl:text> available since </xsl:text>
+ <emphasis role="version">
+ <xsl:value-of select="."/>
+ </emphasis>
+ </xsl:when>
+ <xsl:when test="document(concat($lang, $separator,'included',$separator,$tag_name, '.desc.xml'))/root/section/sectioninfo/releaseinfo">
+ <xsl:text> available since </xsl:text>
+ <emphasis role="version">
+ <xsl:value-of select="."/>
+ </emphasis>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text> available since </xsl:text>
+ <emphasis role="version">
+ <xsl:text>3.0.0</xsl:text>
+ </emphasis>
+ </xsl:otherwise>
+ </xsl:choose>
+ </superscript>
+ </emphasis>
</title>
<xsl:call-template name="fileMerge">
<xsl:with-param name="tag_name" select="$tag_name" />
@@ -129,7 +153,14 @@
<thead>
<row>
<entry>Attribute Name</entry>
- <entry>Description</entry>
+ <entry>
+ <emphasis role="descriptionWrapper">Description</emphasis>
+ <emphasis role="arrowWrapper">
+ <ulink url="javascript:void(0);" role="html">
+ <inlinegraphic fileref="images/minus.gif" />
+ </ulink>
+ </emphasis>
+ </entry>
</row>
</thead>
<tbody>
Modified: branches/community/3.3.X/docs/common-resources/en/src/main/xslt/xhtml-common.xsl
===================================================================
--- branches/community/3.3.X/docs/common-resources/en/src/main/xslt/xhtml-common.xsl 2009-06-24 13:35:20 UTC (rev 14714)
+++ branches/community/3.3.X/docs/common-resources/en/src/main/xslt/xhtml-common.xsl 2009-06-24 16:33:49 UTC (rev 14715)
@@ -24,13 +24,153 @@
sect5 toc
section toc
</xsl:param>
-
+
+
+<xsl:template name="make.toc">
+ <xsl:param name="toc-context" select="."/>
+ <xsl:param name="toc.title.p" select="true()"/>
+ <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
+
+ <xsl:variable name="nodes.plus" select="$nodes | qandaset"/>
+
+ <xsl:variable name="toc.title">
+ <xsl:if test="$toc.title.p">
+ <p>
+ <b>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </b>
+ </p>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$manual.toc != ''">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="toc" select="document($manual.toc, .)"/>
+ <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/>
+ <xsl:if test="$tocentry and $tocentry/*">
+ <a href="javascript:void(0);" id="expand_collapse">expand all</a>
+ <div class="toc">
+ <xsl:copy-of select="$toc.title"/>
+ <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
+ <xsl:call-template name="manual-toc">
+ <xsl:with-param name="tocentry" select="$tocentry/*[1]"/>
+ </xsl:call-template>
+ </xsl:element>
+ </div>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$qanda.in.toc != 0">
+ <xsl:if test="$nodes.plus">
+ <a href="javascript:void(0);" id="expand_collapse">expand all</a>
+ <div class="toc">
+ <xsl:copy-of select="$toc.title"/>
+ <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
+ <xsl:apply-templates select="$nodes.plus" mode="toc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </div>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$nodes">
+ <a href="javascript:void(0);" id="expand_collapse">expand all</a>
+ <div class="toc">
+ <xsl:copy-of select="$toc.title"/>
+ <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
+ <xsl:apply-templates select="$nodes" mode="toc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </div>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
- <!--
-From: xhtml/docbook.xsl
-Reason: Remove inline style for draft mode
-Version: 1.72.0
--->
+<xsl:template name="toc.line">
+ <xsl:param name="toc-context" select="."/>
+ <xsl:param name="depth" select="1"/>
+ <xsl:param name="depth.from.context" select="8"/>
+ <xsl:param name="autotoc.label.in.hyperlink" select="1" />
+
+ <span>
+ <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute>
+
+ <!-- * if $autotoc.label.in.hyperlink is zero, then output the label -->
+ <!-- * before the hyperlinked title (as the DSSSL stylesheet does) -->
+ <xsl:if test="$autotoc.label.in.hyperlink = 0">
+ <xsl:variable name="label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </xsl:variable>
+ <xsl:copy-of select="$label"/>
+ <xsl:if test="$label != ''">
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ </xsl:if>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="context" select="$toc-context"/>
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+<!--xsl:choose>
+<xsl:when test="@role='new'">
+<xsl:attribute name="class">
+<xsl:value-of select="@role"/>
+</xsl:attribute>
+</xsl:when>
+<xsl:when test="@role='updated'">
+<xsl:attribute name="class">
+<xsl:value-of select="@role"/>
+</xsl:attribute>
+</xsl:when>
+</xsl:choose-->
+
+ <!-- * if $autotoc.label.in.hyperlink is non-zero, then output the label -->
+ <!-- * as part of the hyperlinked title -->
+ <xsl:if test="not($autotoc.label.in.hyperlink = 0)">
+ <xsl:variable name="label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </xsl:variable>
+ <xsl:copy-of select="$label"/>
+ <xsl:if test="$label != ''">
+ <xsl:value-of select="$autotoc.label.separator"/>
+ </xsl:if>
+ </xsl:if>
+
+
+ <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+
+ </a>
+ </span>
+</xsl:template>
+
+<!--xsl:template match="book" mode="toc">
+ <xsl:param name="toc-context" select="."/>
+
+ <xsl:call-template name="subtoc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ <xsl:with-param name="nodes" select="part|reference |preface|chapter|appendix |article |bibliography|glossary|index |refentry |bridgehead[$bridgehead.in.toc != 0]"/>
+ </xsl:call-template>
+</xsl:template-->
+
+
+<!--xsl:template name="since" match="//emphasis[@role='since']" /-->
+
<xsl:template name="head.content">
<xsl:param name="node" select="."/>
@@ -94,7 +234,7 @@
<div>
<xsl:apply-templates select="." mode="class.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
- </div>
+ </div>
</xsl:template>
<xsl:template name="feedback">
<!--[if IE 6]><iframe frameborder="0" class="problemLayer" id="place"><xsl:text> </xsl:text></iframe><![endif]-->
15 years, 6 months
JBoss Rich Faces SVN: r14714 - branches/community/3.3.X/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2009-06-24 09:35:20 -0400 (Wed, 24 Jun 2009)
New Revision: 14714
Modified:
branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/outputPanel.xml
Log:
RF-7412: a4j:outputPanel component description review
Modified: branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/outputPanel.xml
===================================================================
--- branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/outputPanel.xml 2009-06-24 11:58:11 UTC (rev 14713)
+++ branches/community/3.3.X/docs/userguide/en/src/main/docbook/included/outputPanel.xml 2009-06-24 13:35:20 UTC (rev 14714)
@@ -40,125 +40,107 @@
</table>
<section>
- <title>Creating on a page</title>
- <para> Here is the simplest way for a component creation on a page. </para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<a4j:outputPanel>
- <h:form>
- <h:outputText value="Some text"/>
- <h:inputText id="text1" label="text1" value="#{rsBean.text1}"/>
- </h:form>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following syntax:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:outputPanel>
+ <h:form>
+ <h:outputText value="Some text"/>
+ <h:inputText id="text1" label="text1" value="#{rsBean.text1}"/>
+ </h:form>
</a4j:outputPanel>]]></programlisting>
</section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import org.ajax4jsf.component.html.HtmlAjaxOutputPanel;
+
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import org.ajax4jsf.component.html.HtmlAjaxOutputPanel;
...
HtmlAjaxOutputPanel myPanel = new HtmlAjaxOutputPanel();]]></programlisting>
- </section>
- <section>
- <title>Key attributes and ways of usage</title>
- <para>
- <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> allows marking of a page area, which is updated on Ajax response. Anyway,
- <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> usage is optional, as in RichFaces it's possible to indicate any
- existing component id on a component view in order to define updating areas. To speed up
- the performance, RichFaces updates only a component tree. <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> usage is recommended for wrapping components that aren't rendered
- during the primary non-ajax response, as the components don't present in a
- component tree. </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<a4j:support ... reRender="mypanel"/>
+ </section>
+
+ <section>
+ <title>Details of usage</title>
+ <para>
+ The <emphasis role="bold"><property><a4j:outputPanel></property></emphasis> component is used when one or more components should be always updated.
+ The component job is similar to that the <emphasis><property>"reRender"</property></emphasis> attribute does, but instead of specifying a comma separated list of components it wraps the components to be updated.
+ This could be useful in cases when some components aren't rendered during the primary non-ajax response.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[<a4j:support reRender="mypanel"/>
...
<a4j:outputPanel id="mypanel">
- <h:panelGrid rendered="#{not empty foo.bar}">
- ...
- </h:panelGrid>
+ <h:panelGrid rendered="#{not empty foo.bar}">
+ ...
+ </h:panelGrid>
</a4j:outputPanel>]]></programlisting>
- <para> In addition to the areas directly indicated in <emphasis>
- <property>"reRender"</property>
- </emphasis> attribute of Ajax components, <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> allows to update a part of a page basing on its own flag. The flag is
- defined by the <emphasis>
- <property>"ajaxRendered"</property>
- </emphasis> attribute. The flag is commonly used when a part of a page must be updated
- or can be updated on any response. </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<a4j:outputPanel ajaxRendered="true">
- <h:messages/>
-</a4j:outputPanel>]]></programlisting>
- <para> On default <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> is output as a pair of opening and closing html <emphasis role="bold">
- <property><span></property>
- </emphasis> tag, but with the help of the layout attribute this output way could be
- changed. There are three variants for this component value: </para>
- <itemizedlist>
- <listitem>
- <para>"inline" (default)</para>
- </listitem>
- <listitem>
- <para>"block"</para>
- </listitem>
- <listitem>
- <para>"none"</para>
- </listitem>
- </itemizedlist>
- <para> If <code>layout="block"</code> is chosen, the component is rendered
- as a pair of opening and closing <emphasis role="bold">
- <property><div></property>
- </emphasis> tag, to which it's possible to apply any available style attributes
- available for block tags. </para>
- <para>
- <code>layout ="none"</code> helps to avoid an unnecessary tag round a
- context that could or couldn't be rendered according to the defined <emphasis>
- <property>"rendered"</property>
- </emphasis> attribute conditions. If an inner context isn't rendered, <emphasis
- role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> is rendered as a <emphasis role="bold">
- <property><span></property>
- </emphasis> tag with the id equal to an id of a child component and
- <code>display:none</code> style. If a child component is rendered, <emphasis
- role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> doesn't present at all in a final code. </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<a4j:support .... reRender="mypanel"/>
-...
+
+ <para>
+ By default the <emphasis role="bold"><property><a4j:outputPanel></property></emphasis> is rendered as opening and closing HTML <emphasis role="bold"><property><span></property></emphasis> tags and functions as container.
+ With the help of the <emphasis><property>"layout"</property></emphasis> attribute this output way could be set to any of three variants:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>"inline" (default)</para>
+ </listitem>
+ <listitem>
+ <para>"block"</para>
+ </listitem>
+ <listitem>
+ <para>"none"</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If <code>layout="block"</code> is set, the component is rendered as a pair of opening and closing <emphasis role="bold"><property><div></property></emphasis> tags.
+ In this case it is possible to apply available for <emphasis role="bold"><property><div></property></emphasis> elements style attributes.
+ <code>layout ="none"</code> helps to avoid an unnecessary tag around a context that is rendered or not according to the <emphasis><property>"rendered"</property></emphasis> attribute value.
+ In case an inner context isn't rendered the <emphasis role="bold"><property><a4j:outputPanel></property></emphasis> is rendered in a <emphasis role="bold"><property><span></property></emphasis> tags with ID equal to ID of a child component and <code>display:none</code> style.
+ If a child component is rendered, <emphasis role="bold"><property><a4j:outputPanel></property></emphasis> doesn't present at all in a final code.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:support reRender="mypanel"/>
+ ...
<a4j:outputPanel layout="none">
- <h:panelGrid id="mypanel" rendered="#{not empty foo.bar}">
- ...
- </h:panelGrid>
+ <h:panelGrid id="mypanel" rendered="#{not empty foo.bar}">
+ ...
+ </h:panelGrid>
</a4j:outputPanel>]]></programlisting>
- <para> As you see, the code is very similar to the one shown above, but <emphasis>
- <property>"reRender "</property>
- </emphasis> attribute refers directly to the updating panelGrid and not to the framing
- outputPanel, and it's more semantically correct. </para>
+
+ <para>
+ As you see, the code is very similar to the one shown above, but <emphasis><property>"reRender "</property></emphasis> attribute refers directly to the updating panelGrid and not to the framing outputPanel,
+ and it's more semantically correct.
+ </para>
+
+ <para>
+ The <emphasis role="bold"><property><a4j:outputPanel></property></emphasis> allows to update a part of a page basing on its own flag.
+ The flag is defined by the <emphasis><property>"ajaxRendered"</property></emphasis> attribute.
+ The flag is commonly used when a part of a page must be updated or can be updated on any response.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:outputPanel ajaxRendered="true">
+ <h:messages/>
+</a4j:outputPanel>]]></programlisting>
+
<para>
- <emphasis role="bold">
- <property><a4j:outPanel></property>
- </emphasis> should be used for non-JSF component part framing, which is to be updated on
- Ajax response, as RichFaces specifies the list of updating areas as a list of an
- existing JSF component. </para>
+ The <emphasis role="bold"><property><a4j:outPanel></property></emphasis> should be used for non-JSF component part framing, which is to be updated on Ajax response, as RichFaces specifies the list of updating areas as a list of an existing JSF component.
+ </para>
<para> On default non-JSF context isn't saved in a component tree, but is rendered
anew every time. To accelerate the processing speed and Ajax response input speed,
RichFaces saves non-JSF context in a component tree on default. This option could be
@@ -191,21 +173,23 @@
</section>
<section>
<title>Relevant resources links</title>
- <para>On
- <ulink
- url="http://livedemo.exadel.com/richfaces-demo/richfaces/outputPanel.jsf?c=out..."
- > RichFaces Live Demo page </ulink> you can see the example of <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> usage and sources for the given example. </para>
- <para> Some additional information about usage of component can be found on the <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4052203#..."
- > Ajax4JSF Users Forum </ulink>
- </para>
- <para> See how the <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> component can be used in the <ulink
- url="http://www.jboss.org/auth/wiki//RichFacesCookbook/FormOldNew">Ajax Input form with detection of Old/New
- Values</ulink> example in the RichFaces cookbook.
- </para>
+ <para>
+ Vizit <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/outputPanel.jsf?c=out...">OutputPanel page</ulink> at RichFaces Livedemo for examples of component usage and their sources.
+ </para>
+
+ <para>
+ Useful articles:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ search the <ulink url="http://www.jboss.org/index.html?module=bb&op=viewforum&f=26">RichFaces Users Forum</ulink> for some additional information on component usage;
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+
+
</section>
</chapter>
15 years, 6 months