You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2019/03/11 16:08:38 UTC
[myfaces-tobago] branch master updated: TOBAGO-1957 go to today
button for tc:date
This is an automated email from the ASF dual-hosted git repository.
hnoeth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
The following commit(s) were added to refs/heads/master by this push:
new 2a5feaf TOBAGO-1957 go to today button for tc:date
2a5feaf is described below
commit 2a5feafa6592d2fdcbde612812b67142eaf04e75
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Mon Mar 11 17:08:14 2019 +0100
TOBAGO-1957 go to today button for tc:date
* implement todayButton attribute
* improve demo
* add feature to new-in-*.xhtml files
---
.../main/java/org/apache/myfaces/tobago/component/Attributes.java | 1 +
.../apache/myfaces/tobago/internal/component/AbstractUIDate.java | 2 ++
.../myfaces/tobago/internal/renderkit/renderer/DateRenderer.java | 1 +
.../tobago/internal/taglib/component/DateTagDeclaration.java | 8 ++++++++
.../org/apache/myfaces/tobago/renderkit/html/DataAttributes.java | 2 ++
.../content/10-intro/30-whats-new/60-new-in-5-0/Tobago_5.0.xhtml | 2 ++
.../content/10-intro/30-whats-new/66-new-in-4-4/Tobago_4.4.xhtml | 2 ++
.../main/webapp/content/20-component/010-input/40-date/Date.xhtml | 6 ++++++
.../tobago-theme-standard/src/main/npm/ts/tobago-calendar.ts | 1 +
9 files changed, 25 insertions(+)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java
index f82355c..61cdce6 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java
@@ -405,6 +405,7 @@ public enum Attributes {
timezone,
title,
tip,
+ todayButton,
top,
totalCount,
transition,
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIDate.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIDate.java
index 6ccdfaf..0683da7 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIDate.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIDate.java
@@ -50,4 +50,6 @@ public abstract class AbstractUIDate extends AbstractUIInput {
}
return DateFormatUtils.findPattern((DateTimeConverter) converter);
}
+
+ public abstract boolean isTodayButton();
}
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
index 91809fd..d46baba 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
@@ -60,6 +60,7 @@ public class DateRenderer extends InRenderer {
writer.writeAttribute(DataAttributes.TODAY, sdf.format(new Date()), true);
final DateTimeI18n dateTimeI18n = DateTimeI18n.valueOf(facesContext.getViewRoot().getLocale());
writer.writeAttribute(DataAttributes.DATE_TIME_I18N, JsonUtils.encode(dateTimeI18n), true);
+ writer.writeAttribute(DataAttributes.TODAY_BUTTON, date.isTodayButton());
}
@Override
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/DateTagDeclaration.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/DateTagDeclaration.java
index cfb280b..4901a69 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/DateTagDeclaration.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/DateTagDeclaration.java
@@ -21,7 +21,9 @@ package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Behavior;
import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
+import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
import org.apache.myfaces.tobago.component.ClientBehaviors;
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasAccessKey;
@@ -80,4 +82,10 @@ public interface DateTagDeclaration
IsDisabled, HasConverter, HasLabel, HasHelp, HasLabelLayout,
HasTip, IsRequired, HasPlaceholder {
+ /**
+ * If true, a today button is displayed on the datetimepicker.
+ */
+ @TagAttribute
+ @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
+ void setTodayButton(String required);
}
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
index b1cd0a7..b78c536 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
@@ -206,6 +206,8 @@ public enum DataAttributes implements MarkupLanguageAttributes {
TODAY("data-tobago-today"),
+ TODAY_BUTTON("data-tobago-today-button"),
+
TOGGLE("data-toggle"),
TRANSITION("data-tobago-transition"),
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/60-new-in-5-0/Tobago_5.0.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/60-new-in-5-0/Tobago_5.0.xhtml
index 5110dca..692e334 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/60-new-in-5-0/Tobago_5.0.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/60-new-in-5-0/Tobago_5.0.xhtml
@@ -35,6 +35,8 @@
<li>Refactoring: JavaScript -> TypeScript</li>
<li>Refactoring: ResourceBunde and MessageBundle</li>
<li>A context message can now be added to form-component.</li>
+ <li>Update to Bootstrap 4.3.1</li>
+ <li>tc:date todayButton</li>
<li>...</li>
<li>Bugfixes</li>
</ul>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/66-new-in-4-4/Tobago_4.4.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/66-new-in-4-4/Tobago_4.4.xhtml
index 875e677..e837ba4 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/66-new-in-4-4/Tobago_4.4.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/30-whats-new/66-new-in-4-4/Tobago_4.4.xhtml
@@ -33,6 +33,8 @@
<ul>
<li>A context message can now be added to form-component.</li>
+ <li>Update to Bootstrap 4.3.1</li>
+ <li>tc:date todayButton</li>
<li>...</li>
<li>Bugfixes</li>
</ul>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/Date.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/Date.xhtml
index 9b4f05b..6805b45 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/Date.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/Date.xhtml
@@ -150,6 +150,12 @@
<f:convertDateTime pattern="dd.MM. - HH:mm" type="both"/>
</tc:date>
</tc:section>
+ <tc:section label="Today Button">
+ <p>Display a today button on the datepicker with the attribute <code>todayButton=true</code>.</p>
+ <tc:date id="dateTodayButton" label="Today Button" value="#{dateController.now}" todayButton="true">
+ <f:convertDateTime pattern="dd.MM.yyyy"/>
+ </tc:date>
+ </tc:section>
</tc:section>
<tc:section label="Styles">
<p>Styles can be set with the attributes <code>dateStyle</code> and <code>timeStyle</code>.
diff --git a/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-calendar.ts b/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-calendar.ts
index 01ae725..04a40e3 100644
--- a/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-calendar.ts
+++ b/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-calendar.ts
@@ -28,6 +28,7 @@ Tobago4.DateTime.init = function (elements) {
var analyzed = Tobago4.DateTime.analyzePattern($date.data("tobago-pattern"));
var options = {
format: analyzed,
+ showTodayButton: $date.data("tobago-today-button") === "data-tobago-today-button",
icons: {
time: 'fa fa-clock-o',
date: 'fa fa-calendar',