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 2023/02/03 16:05:26 UTC

[myfaces-tobago] branch tobago-5.x updated: fix(date): set max date to the year 9999

This is an automated email from the ASF dual-hosted git repository.

hnoeth pushed a commit to branch tobago-5.x
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git


The following commit(s) were added to refs/heads/tobago-5.x by this push:
     new e34b13b371 fix(date): set max date to the year 9999
e34b13b371 is described below

commit e34b13b3716ee322dc98cd4fce6308a756cf2da7
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Fri Feb 3 16:26:18 2023 +0100

    fix(date): set max date to the year 9999
    
    * set a default max date to the input field if type is 'date' or 'datetime-local'
    * adjust tests
    
    Issue: Tobago-2192
---
 .../myfaces/tobago/internal/renderkit/renderer/DateRenderer.java  | 8 +++++++-
 tobago-core/src/test/resources/renderer/date/dateAuto.html        | 4 ++--
 tobago-core/src/test/resources/renderer/date/dateBoth.html        | 4 ++--
 tobago-core/src/test/resources/renderer/date/dateDate.html        | 4 ++--
 tobago-core/src/test/resources/renderer/date/dateFacetAfter.html  | 2 +-
 tobago-core/src/test/resources/renderer/date/dateFacetBefore.html | 2 +-
 tobago-core/src/test/resources/renderer/date/error-message.html   | 2 +-
 tobago-core/src/test/resources/renderer/date/help.html            | 2 +-
 tobago-core/src/test/resources/renderer/date/localDateAuto.html   | 4 ++--
 .../src/test/resources/renderer/date/localDateTimeAuto.html       | 4 ++--
 tobago-core/src/test/resources/renderer/date/testLabel.html       | 4 ++--
 tobago-core/src/test/resources/renderer/date/testTodayButton.html | 4 ++--
 .../src/test/resources/renderer/date/zonedDateTimeAuto.html       | 4 ++--
 13 files changed, 27 insertions(+), 21 deletions(-)

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 3a8a171f2c..2ae6edb816 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
@@ -126,7 +126,13 @@ public class DateRenderer<T extends AbstractUIDate> extends DecorationPositionRe
     writer.writeAttribute(HtmlAttributes.DISABLED, disabled);
     writer.writeAttribute(HtmlAttributes.TABINDEX, date.getTabIndex());
     writer.writeAttribute(HtmlAttributes.MIN, convertToString(date.getMin()), true);
-    writer.writeAttribute(HtmlAttributes.MAX, convertToString(date.getMax()), true);
+    if (date.getMax() == null && DateType.DATE.equals(type)) {
+      writer.writeAttribute(HtmlAttributes.MAX, "9999-12-31", false);
+    } else if (date.getMax() == null && DateType.DATETIME_LOCAL.equals(type)) {
+      writer.writeAttribute(HtmlAttributes.MAX, "9999-12-31T23:59", false);
+    } else {
+      writer.writeAttribute(HtmlAttributes.MAX, convertToString(date.getMax()), true);
+    }
 
     writer.writeClassAttribute(
         BootstrapClass.validationColor(ComponentUtils.getMaximumSeverity(date)),
diff --git a/tobago-core/src/test/resources/renderer/date/dateAuto.html b/tobago-core/src/test/resources/renderer/date/dateAuto.html
index 792dba2119..0099f46ffa 100644
--- a/tobago-core/src/test/resources/renderer/date/dateAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/dateAuto.html
@@ -17,6 +17,6 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-04' max='9999-12-31' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/dateBoth.html b/tobago-core/src/test/resources/renderer/date/dateBoth.html
index 2b3e95e8d8..e92a6563de 100644
--- a/tobago-core/src/test/resources/renderer/date/dateBoth.html
+++ b/tobago-core/src/test/resources/renderer/date/dateBoth.html
@@ -17,6 +17,6 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='datetime-local' name='id' id='id::field' value='1957-10-04T19:28:34' class='form-control'>
+    <input type='datetime-local' name='id' id='id::field' value='1957-10-04T19:28:34' max='9999-12-31T23:59' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/dateDate.html b/tobago-core/src/test/resources/renderer/date/dateDate.html
index 792dba2119..0099f46ffa 100644
--- a/tobago-core/src/test/resources/renderer/date/dateDate.html
+++ b/tobago-core/src/test/resources/renderer/date/dateDate.html
@@ -17,6 +17,6 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-04' max='9999-12-31' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/dateFacetAfter.html b/tobago-core/src/test/resources/renderer/date/dateFacetAfter.html
index 8e01e2d704..89d064ad08 100644
--- a/tobago-core/src/test/resources/renderer/date/dateFacetAfter.html
+++ b/tobago-core/src/test/resources/renderer/date/dateFacetAfter.html
@@ -17,7 +17,7 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-04' max='9999-12-31' class='form-control'>
     <tobago-out id='out'><span class='form-control-plaintext'>after</span></tobago-out>
   </div>
 </tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/dateFacetBefore.html b/tobago-core/src/test/resources/renderer/date/dateFacetBefore.html
index 4affebe1ce..325db9f0d0 100644
--- a/tobago-core/src/test/resources/renderer/date/dateFacetBefore.html
+++ b/tobago-core/src/test/resources/renderer/date/dateFacetBefore.html
@@ -18,6 +18,6 @@
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
     <tobago-out id='out'><span class='form-control-plaintext'>before</span></tobago-out>
-    <input type='date' name='id' id='id::field' value='1957-10-04' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-04' max='9999-12-31' class='form-control'>
   </div>
 </tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/error-message.html b/tobago-core/src/test/resources/renderer/date/error-message.html
index a66c1fb999..d503811b74 100644
--- a/tobago-core/src/test/resources/renderer/date/error-message.html
+++ b/tobago-core/src/test/resources/renderer/date/error-message.html
@@ -18,7 +18,7 @@
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='tobago-messages-container tobago-button-right' data-tobago-faces-message='a test'>
     <div class='input-group'>
-      <input type='date' name='id' id='id::field' title='a test' class='is-error form-control' autofocus='autofocus'>
+      <input type='date' name='id' id='id::field' title='a test' max='9999-12-31' class='is-error form-control' autofocus='autofocus'>
     </div>
     <tobago-popover data-bs-toggle='popover' title='Error' data-bs-content='a test' data-bs-trigger='focus'>
       <a tabindex='0' role='button' class='btn btn-danger'><i class='bi-exclamation-lg'></i></a>
diff --git a/tobago-core/src/test/resources/renderer/date/help.html b/tobago-core/src/test/resources/renderer/date/help.html
index d94906c635..4c98941a81 100644
--- a/tobago-core/src/test/resources/renderer/date/help.html
+++ b/tobago-core/src/test/resources/renderer/date/help.html
@@ -18,7 +18,7 @@
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='tobago-help-container tobago-button-right' data-tobago-help='Help!'>
     <div class='input-group'>
-      <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
+      <input type='date' name='id' id='id::field' value='1957-10-05' max='9999-12-31' class='form-control'>
     </div>
     <tobago-popover data-bs-toggle='popover' title='Help' data-bs-content='Help!' data-bs-trigger='focus'>
       <a tabindex='0' role='button' class='btn btn-outline-info'><i class='bi-question-lg'></i></a>
diff --git a/tobago-core/src/test/resources/renderer/date/localDateAuto.html b/tobago-core/src/test/resources/renderer/date/localDateAuto.html
index d24765a921..49ce3ba9e8 100644
--- a/tobago-core/src/test/resources/renderer/date/localDateAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/localDateAuto.html
@@ -17,6 +17,6 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' max='9999-12-31' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html b/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html
index 7dc8ebc079..d623de883c 100644
--- a/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/localDateTimeAuto.html
@@ -17,6 +17,6 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' class='form-control'>
+    <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' max='9999-12-31T23:59' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/testLabel.html b/tobago-core/src/test/resources/renderer/date/testLabel.html
index 71152ea425..ca0fbd7ce2 100644
--- a/tobago-core/src/test/resources/renderer/date/testLabel.html
+++ b/tobago-core/src/test/resources/renderer/date/testLabel.html
@@ -18,6 +18,6 @@
 <tobago-date id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>Label</label>
   <div class='input-group'>
-    <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' max='9999-12-31' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/testTodayButton.html b/tobago-core/src/test/resources/renderer/date/testTodayButton.html
index 6cbdb6da7a..706be58a65 100644
--- a/tobago-core/src/test/resources/renderer/date/testTodayButton.html
+++ b/tobago-core/src/test/resources/renderer/date/testTodayButton.html
@@ -18,7 +18,7 @@
 <tobago-date id='id' class='tobago-label-container tobago-auto-spacing'>
   <label for='id::field' class='col-form-label'>Label</label>
   <div class='input-group'>
-    <input type='date' name='id' id='id::field' value='1957-10-05' class='form-control'>
+    <input type='date' name='id' id='id::field' value='1957-10-05' max='9999-12-31' class='form-control'>
     <button class='btn btn-secondary tobago-now' type='button' title='Today'><i class='bi-arrow-down'></i></button>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>
diff --git a/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html b/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html
index 7dc8ebc079..d623de883c 100644
--- a/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html
+++ b/tobago-core/src/test/resources/renderer/date/zonedDateTimeAuto.html
@@ -17,6 +17,6 @@
 
 <tobago-date id='id' class='tobago-auto-spacing'>
   <div class='input-group'>
-    <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' class='form-control'>
+    <input type='datetime-local' name='id' id='id::field' value='1957-10-05T00:28' max='9999-12-31T23:59' class='form-control'>
   </div>
-</tobago-date>
\ No newline at end of file
+</tobago-date>