You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/07/13 17:33:25 UTC
svn commit: r216175 [4/4] - in /myfaces: build/trunk/
examples/trunk/sandbox/ examples/trunk/sandbox/WEB-INF/
examples/trunk/sandbox/src/java/org/apache/myfaces/examples/schedule/
sandbox/trunk/conf/ sandbox/trunk/src/java/org/apache/myfaces/custom/sch...
Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css Wed Jul 13 08:33:22 2005
@@ -0,0 +1,291 @@
+/* PART I: Detailed Day Renderer */
+
+div.schedule-detailed {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(163,177,140);
+ position: relative;
+ width: 100%;
+ left: 0px;
+}
+
+div.schedule-detailed table.background {
+ background-color: rgb(255,255,255);
+}
+
+div.schedule-detailed td.gutter {
+ background-color: rgb(205,214,198);
+ color: rgb(0,0,0);
+ text-align: right;
+ vertical-align: top;
+}
+
+div.schedule-detailed table.background td.header, div.schedule-detailed table.foreground td.header {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.schedule-detailed table.background td.header {
+ background-color: rgb(205,214,198);
+}
+
+div.schedule-detailed td.header span.date, div.schedule-detailed td.header span.holiday {
+ text-align: center;
+}
+
+div.schedule-detailed td.header span.date {
+}
+
+div.schedule-detailed td.header span.holiday {
+}
+
+div.schedule-detailed td.gutter span.hours {
+ font-size: 26px;
+}
+
+div.schedule-detailed td.gutter span.minutes {
+ font-size: 13px;
+}
+
+div.schedule-detailed table.background td.even,
+div.schedule-detailed table.background td.uneven,
+div.schedule-detailed table.background td.free {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.schedule-detailed table.background td.uneven {
+ background-color: rgb(240,244,233);
+ color: rgb(240,244,233);
+}
+
+div.schedule-detailed table.background td.even {
+ background-color: rgb(235,239,228);
+ color: rgb(235,239,228);
+}
+
+div.schedule-detailed table.background td.free {
+ background-color: rgb(215,219,208);
+ color: rgb(215,219,208);
+}
+
+div.schedule-detailed .entry, div.schedule-detailed div.entry-selected {
+ background-color: rgb(255,255,255);
+ text-align: center;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ vertical-align: middle;
+ border-color: rgb(0,0,0);
+ text-decoration: none;
+}
+
+div.schedule-detailed a.entry:hover,
+div.schedule-detailed div.entry-selected {
+ border-color: rgb(153,204,51);
+}
+
+div.schedule-detailed div.entry-selected div.text {
+ border-left: solid rgb(153,204,51) 5.0px;
+}
+
+div.schedule-detailed .entry span.subtitle,
+div.schedule-detailed .entry-selected span.subtitle {
+ font-style: italic;
+ font-size: 9px;
+}
+
+div.schedule-detailed .entry span.title,
+div.schedule-detailed .entry-selected span.title {
+ font-size: 11px;
+}
+
+
+
+/* PART II: Compact Renderer */
+div.schedule-compact {
+ position: relative;
+ width: 100%;
+ left: 0px;
+ background-color: rgb(163,177,140);
+}
+
+div.schedule-compact table.day {
+ background-color: rgb(255,255,255);
+}
+
+div.schedule-compact table.day td.header {
+ background-color: rgb(205,214,198);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.schedule-compact td.content div {
+}
+
+div.schedule-compact td.content td {
+ background-color: rgb(255,255,255);
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ padding: 1px;
+ border-color: rgb(255,255,255);
+ border-width: 1.0px;
+ border-style: solid;
+}
+
+div.schedule-compact a {
+ text-decoration: none;
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+}
+
+div.schedule-compact td.content td.selected {
+ background-color: rgb(153,204,51);
+ border-color: rgb(153,204,51);
+}
+
+div.schedule-compact td.inactive-day td.content {
+ background-color: rgb(205,214,198);
+ visibility: visible;
+}
+
+div.schedule-compact td.inactive-day td.header {
+ background-color: rgb(205,214,198);
+ visibility: visible;
+}
+
+
+
+/* Part III: Planner renderer */
+div.planner {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(163,177,140);
+ position: relative;
+ width: 100%;
+ left: 0px;
+}
+
+div.planner table.background {
+ background-color: rgb(255,255,255);
+}
+
+div.planner div.background td.gutter, div.planner div.foreground td.gutter {
+ color: rgb(0,0,0);
+ text-align: right;
+}
+
+div.planner div.background td.gutter {
+ background-color: rgb(205,214,198);
+}
+
+
+div.planner div.background td.header, div.planner div.foreground td.header, div.planner div.background td.hours {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+ border-style: none;
+ border-width: 0px;
+}
+
+div.planner div.background td.hours {
+ border-color: rgb(255,255,255);
+ background-color: rgb(205,214,198);
+}
+
+div.planner div.foreground td.hours {
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.planner div.background td.header {
+ background-color: rgb(205,214,198);
+}
+
+div.planner div.background div.header span.date {
+ text-align: left;
+ font-weight: bold;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.holiday {
+ text-align: left;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.hours {
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.planner td.gutter span.title {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ vertical-align: middle;
+ padding: 1px;
+ font-size: 10px;
+ font-weight: bold;
+}
+
+div.planner td.even, div.planner td.uneven, div.planner td.free {
+ border-color : rgb(255,255,255);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.planner td.uneven {
+ background-color: rgb(240,244,233);
+ color: rgb(240,244,233);
+}
+
+div.planner td.even {
+ background-color: rgb(235,239,228);
+ color: rgb(235,239,228);
+}
+
+div.planner td.free {
+ background-color: rgb(215,219,208);
+ color: rgb(215,219,208);
+}
+
+div.planner table.foreground td.row {
+ border-color: rgb(255,255,255);
+}
+
+div.planner div.row div.entry {
+ background-color: rgb(0,0,255);
+ vertical-align: middle;
+ text-decoration: none;
+}
+
+
+
+/* PART IV: Tooltips */
+div.domTT {
+ border: 1px solid #333366;
+ background-color: #333366;
+}
+div.domTTCaption {
+ font-family: Verdana, Helvetica;
+ font-size: 10px;
+ font-weight: bold;
+ color: #FFFFFF;
+}
+div.domTTContent {
+ font-size: 10px;
+ font-family: Verdana, Helvetica;
+ padding: 2px;
+ background-color: #F1F1FF;
+}
Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java Wed Jul 13 08:33:22 2005
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.myfaces.custom.schedule.util;
+
+
+import java.util.Comparator;
+
+import org.apache.myfaces.custom.schedule.model.ScheduleEntry;
+
+
+/**
+ * <p>
+ * Comparator for ScheduleEntry objects. This is needed for correctly
+ * rendering the schedule.
+ * </p>
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @author Bruno Aranda (adaptation of Jurgen's code to myfaces)
+ * @version $Revision$
+ */
+public class ScheduleEntryComparator
+ implements Comparator
+{
+ //~ Methods ----------------------------------------------------------------
+
+ /**
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(
+ Object o1,
+ Object o2
+ )
+ {
+ if (o1 instanceof ScheduleEntry && o2 instanceof ScheduleEntry) {
+ ScheduleEntry entry1 = (ScheduleEntry) o1;
+ ScheduleEntry entry2 = (ScheduleEntry) o2;
+
+ int returnint = 0;
+
+ if (entry1.getStartTime().compareTo(entry2.getStartTime()) < 0)
+ {
+ returnint = -1;
+ }
+ else if (entry1.getEndTime().compareTo(entry2.getEndTime()) < 0)
+ {
+ returnint = -1;
+ }
+ else
+ {
+ return (entry1.getId().compareTo(entry2.getId()));
+ }
+
+ /*
+ new CompareToBuilder().append(
+ entry1.getStartTime(), entry2.getStartTime()
+ ).append(entry1.getEndTime(), entry2.getEndTime())
+ .append(entry1.getId(), entry2.getId())
+ .toComparison();
+ */
+
+ return returnint;
+ }
+
+ return 1;
+ }
+}
+//The End
Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java Wed Jul 13 08:33:22 2005
@@ -0,0 +1,377 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.myfaces.custom.schedule.util;
+
+import java.util.Calendar;
+import java.util.Date;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
+
+
+/**
+ * <p>
+ * Some utility methods
+ * </p>
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @author Kito Mann (some methods taken from the source code of his book 'JavaServer Faces in Action', which is also released under the Apache License
+ * @author Bruno Aranda (adaptation of Jurgen's code to myfaces)
+ * @version $Revision$
+ */
+public class ScheduleUtil
+{
+ //~ Methods ----------------------------------------------------------------
+
+ /**
+ * <p>
+ * Check if the value of a UIComponent is a value or method binding
+ * expression.
+ * </p>
+ *
+ * @param value the value to check
+ *
+ * @return whether the value is a binding expression
+ */
+ public static boolean isBindingExpression(Object value)
+ {
+ boolean returnboolean =
+ ((value != null) && value instanceof String &&
+ ((String) value).startsWith("#{") &&
+ ((String) value).endsWith("}"));
+
+ return returnboolean;
+ }
+
+ /**
+ * <p>
+ * Get the boolean value of a UIComponent, even if it is a value
+ * binding expression.
+ * </p>
+ *
+ * @param component the component
+ * @param property the property
+ * @param key the key of the value binding
+ * @param defaultValue the default value
+ *
+ * @return the boolean value
+ */
+ public static boolean getBooleanProperty(
+ UIComponent component,
+ Boolean property,
+ String key,
+ boolean defaultValue
+ )
+ {
+ if (property != null) {
+ return property.booleanValue();
+ } else {
+ ValueBinding binding =
+ (ValueBinding) component.getValueBinding(key);
+
+ if (binding != null) {
+ Boolean value =
+ (Boolean) binding.getValue(
+ FacesContext.getCurrentInstance()
+ );
+
+ if (value != null) {
+ return value.booleanValue();
+ }
+ }
+ }
+
+ return defaultValue;
+ }
+
+ /**
+ * <p>
+ * Get the boolean value of an attribute
+ * </p>
+ *
+ * @param attributeValue the attribute value
+ * @param valueIfNull the default value
+ *
+ * @return the boolean value
+ */
+ public static boolean getBooleanValue(
+ Object attributeValue,
+ boolean valueIfNull
+ )
+ {
+ if (attributeValue == null) {
+ return valueIfNull;
+ }
+
+ if (attributeValue instanceof String) {
+ return ((String) attributeValue).equalsIgnoreCase("true");
+ } else {
+ return ((Boolean) attributeValue).booleanValue();
+ }
+ }
+
+ /**
+ * <p>
+ * Get the float value of a UIComponent, even if it is a value
+ * binding expression.
+ * </p>
+ *
+ * @param component the component
+ * @param property the property
+ * @param key the key of the value binding
+ * @param defaultValue the default value
+ *
+ * @return the float value
+ */
+ public static float getFloatProperty(
+ UIComponent component,
+ Float property,
+ String key,
+ float defaultValue
+ )
+ {
+ if (property != null) {
+ return property.floatValue();
+ } else {
+ ValueBinding binding =
+ (ValueBinding) component.getValueBinding(key);
+
+ if (binding != null) {
+ Float value =
+ (Float) binding.getValue(FacesContext.getCurrentInstance());
+
+ if (value != null) {
+ return value.floatValue();
+ }
+ }
+ }
+
+ return defaultValue;
+ }
+
+ /**
+ * <p>
+ * Get the hashcode for the truncated date
+ * </p>
+ *
+ * @param date the date
+ *
+ * @return the hashCode of the truncated date
+ */
+ public static int getHashCodeForDay(Date date)
+ {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+
+ return new Integer(calendar.get(Calendar.ERA)).hashCode() ^
+ new Integer(calendar.get(Calendar.YEAR)).hashCode() ^
+ new Integer(calendar.get(Calendar.DAY_OF_YEAR)).hashCode();
+ }
+
+ /**
+ * <p>
+ * Get the int value of a UIComponent, even if it is a value
+ * binding expression.
+ * </p>
+ *
+ * @param component the component
+ * @param property the property
+ * @param key the key of the value binding
+ * @param defaultValue the default value
+ *
+ * @return the int value
+ */
+ public static int getIntegerProperty(
+ UIComponent component,
+ Integer property,
+ String key,
+ int defaultValue
+ )
+ {
+ if (property != null) {
+ return property.intValue();
+ } else {
+ ValueBinding binding =
+ (ValueBinding) component.getValueBinding(key);
+
+ if (binding != null) {
+ Integer value =
+ (Integer) binding.getValue(
+ FacesContext.getCurrentInstance()
+ );
+
+ if (value != null) {
+ return value.intValue();
+ }
+ }
+ }
+
+ return defaultValue;
+ }
+
+ /**
+ * <p>
+ * Get the object value of a UIComponent, even if it is a value
+ * binding expression.
+ * </p>
+ *
+ * @param component the component
+ * @param property the property
+ * @param key the key of the value binding
+ * @param defaultValue the default value
+ *
+ * @return the object value
+ */
+ public static Object getObjectProperty(
+ UIComponent component,
+ Object property,
+ String key,
+ Object defaultValue
+ )
+ {
+ if (property != null) {
+ return property;
+ } else {
+ ValueBinding binding =
+ (ValueBinding) component.getValueBinding(key);
+
+ if (binding != null) {
+ return binding.getValue(FacesContext.getCurrentInstance());
+ }
+ }
+
+ return defaultValue;
+ }
+
+ /**
+ * <p>
+ * Check if the 2 dates are in the same day.
+ * </p>
+ *
+ * @param date1 the first date
+ * @param date2 the second date
+ *
+ * @return whether the dates are in the same day
+ */
+ public static boolean isSameDay(
+ Date date1,
+ Date date2
+ )
+ {
+ if ((date1 == null) || (date2 == null)) {
+ return false;
+ }
+
+ Calendar calendar1 = Calendar.getInstance();
+ calendar1.setTime(date1);
+
+ Calendar calendar2 = Calendar.getInstance();
+ calendar2.setTime(date2);
+
+ return (calendar1.get(Calendar.ERA) == calendar2.get(Calendar.ERA) &&
+ calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR) &&
+ calendar1.get(Calendar.DAY_OF_YEAR) == calendar2.get(Calendar.DAY_OF_YEAR));
+ }
+
+ /**
+ * <p>
+ * Get the String value of a UIComponent, even if it is a value
+ * binding expression.
+ * </p>
+ *
+ * @param component the component
+ * @param property the property
+ * @param key the key of the value binding
+ * @param defaultValue the default value
+ *
+ * @return the String value
+ */
+ public static String getStringProperty(
+ UIComponent component,
+ String property,
+ String key,
+ String defaultValue
+ )
+ {
+ if (property != null) {
+ return property;
+ } else {
+ ValueBinding binding =
+ (ValueBinding) component.getValueBinding(key);
+
+ if (binding != null) {
+ return (String) binding.getValue(
+ FacesContext.getCurrentInstance()
+ );
+ }
+ }
+
+ return defaultValue;
+ }
+
+ /**
+ * <p>
+ * Check if the value of the given component can be modified
+ * </p>
+ *
+ * @param component the component
+ *
+ * @return whether the value can be modified
+ */
+ public static boolean canModifyValue(UIComponent component)
+ {
+ boolean returnboolean =
+ (component.isRendered() &&
+ !getBooleanValue(component.getAttributes().get("readonly"), false) &&
+ !getBooleanValue(component.getAttributes().get("disabled"), false));
+
+ return returnboolean;
+ }
+
+ /**
+ * <p>
+ * Compare 2 dates after truncating them.
+ * </p>
+ *
+ * @param date1 the first date
+ * @param date2 the second date
+ *
+ * @return the comparison
+ */
+ public static int compareDays(
+ Date date1,
+ Date date2
+ )
+ {
+ if (date1 == null) {
+ return -1;
+ }
+
+ if (date2 == null) {
+ return 1;
+ }
+
+ return date1.compareTo(date2);
+/*
+ return DateUtils.truncate(date1, Calendar.DATE).compareTo(
+ DateUtils.truncate(date2, Calendar.DATE)
+ );
+ */
+ }
+}
+//The End
Added: myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml (added)
+++ myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml Wed Jul 13 08:33:22 2005
@@ -0,0 +1,32 @@
+ <attribute>
+ <name>gutterWidthInPixels</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
+ <attribute>
+ <name>headerDateFormat</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>String</type>
+ </attribute>
+ <attribute>
+ <name>legend</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Boolean</type>
+ </attribute>
+ <!--
+ <attribute>
+ <name>tooltip</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Boolean</type>
+ </attribute>
+ -->
+ <attribute>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>String</type>
+ </attribute>
Added: myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml (added)
+++ myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml Wed Jul 13 08:33:22 2005
@@ -0,0 +1,33 @@
+ <attribute>
+ <name>compactMonthRowHeight</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
+ <attribute>
+ <name>compactWeekRowHeight</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
+ <attribute>
+ <name>headerDateFormat</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>String</type>
+ </attribute>
+ <attribute>
+ <name>readonly</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Boolean</type>
+ </attribute>
+ <!--
+ <attribute>
+ <name>tooltip</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Boolean</type>
+ </attribute>
+ -->
+
Added: myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml (added)
+++ myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml Wed Jul 13 08:33:22 2005
@@ -0,0 +1,24 @@
+ <attribute>
+ <name>visibleEndHour</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
+ <attribute>
+ <name>visibleStartHour</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
+ <attribute>
+ <name>workingEndHour</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
+ <attribute>
+ <name>workingStartHour</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>Integer</type>
+ </attribute>
Modified: myfaces/sandbox/trunk/tld/myfaces_sandbox.tld
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/myfaces_sandbox.tld?rev=216175&r1=216174&r2=216175&view=diff
==============================================================================
--- myfaces/sandbox/trunk/tld/myfaces_sandbox.tld (original)
+++ myfaces/sandbox/trunk/tld/myfaces_sandbox.tld Wed Jul 13 08:33:22 2005
@@ -89,6 +89,9 @@
===========================================================================
-->
<!ENTITY html_input_suggest_attributes SYSTEM "entities/html_input_suggest_attributes.xml">
+<!ENTITY ui_schedule_attributes SYSTEM "entities/ui_schedule_attributes.xml">
+<!ENTITY html_schedule_attributes SYSTEM "entities/html_schedule_attributes.xml">
+<!ENTITY html_planner_attributes SYSTEM "entities/html_planner_attributes.xml">
]>
<taglib>
@@ -113,6 +116,37 @@
&ext_forceId_attribute;
&alt_location_attributes;
&html_input_suggest_attributes;
+ </tag>
+
+
+ <!-- planner -->
+ <tag>
+ <name>planner</name>
+ <tag-class>org.apache.myfaces.custom.schedule.PlannerTag</tag-class>
+ <body-content>empty</body-content>
+ <display-name>Planner component</display-name>
+ <description>
+ A meeting planner component, similar to the ones found in Outlook or Evolution.
+ </description>
+ &ui_component_attributes;
+ &ui_schedule_attributes;
+ &html_planner_attributes;
+ </tag>
+
+
+ <!-- schedule -->
+ <tag>
+ <name>schedule</name>
+ <tag-class>org.apache.myfaces.custom.schedule.ScheduleTag</tag-class>
+ <body-content>empty</body-content>
+ <display-name>Schedule component</display-name>
+ <description>
+ A schedule component similar to the ones found in Outlook or Evolution
+ </description>
+ &ui_component_attributes;
+ &ui_command_attributes;
+ &ui_schedule_attributes;
+ &html_schedule_attributes;
</tag>
<!-- AjaxinputSuggest -->