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 2017/07/28 11:05:49 UTC
svn commit: r1803265 - in /myfaces/tobago/trunk:
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/
tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/
tobago-example/tobago-example-demo/src/main/webapp/con...
Author: hnoeth
Date: Fri Jul 28 11:05:48 2017
New Revision: 1803265
URL: http://svn.apache.org/viewvc?rev=1803265&view=rev
Log:
TOBAGO-1767 tc:date: days in the past should have an specific CSS class
* get current date from server
Modified:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.test.js
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-calendar.js
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java?rev=1803265&r1=1803264&r2=1803265&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DateRenderer.java Fri Jul 28 11:05:48 2017
@@ -39,6 +39,8 @@ import org.slf4j.LoggerFactory;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
public class DateRenderer extends InRenderer {
@@ -53,6 +55,8 @@ public class DateRenderer extends InRend
super.writeAdditionalAttributes(facesContext, writer, date);
writer.writeAttribute(DataAttributes.PATTERN, date.getPattern(), true);
+ SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
+ 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);
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java?rev=1803265&r1=1803264&r2=1803265&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/html/DataAttributes.java Fri Jul 28 11:05:48 2017
@@ -181,6 +181,8 @@ public enum DataAttributes implements Ma
TO_PAGE("data-tobago-to-page"),
+ TODAY("data-tobago-today"),
+
TOGGLE("data-toggle"),
TRANSITION("data-tobago-transition"),
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.test.js?rev=1803265&r1=1803264&r2=1803265&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.test.js (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/40-date/date.test.js Fri Jul 28 11:05:48 2017
@@ -15,25 +15,19 @@
* limitations under the License.
*/
-function getToday() {
- var now = new Date();
- var dd = now.getDate();
- var mm = now.getMonth() + 1;
- var yyyy = now.getFullYear();
- if (dd < 10) {
- dd = '0' + dd
- }
- if (mm < 10) {
- mm = '0' + mm
- }
- return dd + "." + mm + "." + yyyy;
+function getToday($dateField) {
+ var tobagoToday = $dateField.data("tobago-today");
+ var todayArray = tobagoToday.split("-");
+ return todayArray[2] + "." + todayArray[1] + "." + todayArray[0];
}
QUnit.test("date with label", function (assert) {
+ assert.expect(5);
+
var $label = jQueryFrame("#page\\:mainForm\\:dNormal > label");
var $dateField = jQueryFrame("#page\\:mainForm\\:dNormal\\:\\:field");
var $dateButton = jQueryFrame("#page\\:mainForm\\:dNormal button");
- var today = getToday();
+ var today = getToday($dateField);
assert.equal($label.text(), "Date");
assert.equal($dateField.val(), today);
@@ -42,6 +36,11 @@ QUnit.test("date with label", function (
$dateButton.click();
assert.equal($dateField.val(), today);
+
+ var $dayToday = jQueryFrame(".day.today");
+ assert.equal($dayToday.hasClass("past"), false);
+ assert.equal($dayToday.prevAll(".past").length, $dayToday.prevAll().length);
+
$dateButton.click(); // IE11: close datetimepicker for next test
});
@@ -91,7 +90,7 @@ QUnit.test("ajax", function (assert) {
var $dateField = jQueryFrame("#page\\:mainForm\\:ajaxinput\\:\\:field");
var $dateButton = jQueryFrame("#page\\:mainForm\\:ajaxinput button");
var $outField = jQueryFrame("#page\\:mainForm\\:outputfield span");
- var today = getToday();
+ var today = getToday($dateField);
assert.equal($dateField.val(), "");
assert.equal($outField.text(), "");
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-calendar.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-calendar.js?rev=1803265&r1=1803264&r2=1803265&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-calendar.js (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/META-INF/resources/tobago/standard/tobago-bootstrap/_version/js/tobago-calendar.js Fri Jul 28 11:05:48 2017
@@ -120,28 +120,33 @@ Tobago.DateTime.init = function (element
'left': left + 'px'
});
}
- Tobago.DateTime.addPastClass();
+ Tobago.DateTime.addPastClass($date);
});
- $date.parent().on('dp.update', function () {
+ $date.parent().on('dp.update', function ($date) {
Tobago.DateTime.addPastClass();
});
});
};
-Tobago.DateTime.addPastClass = function () {
- var todayTimestamp = new Date(
- new Date().getFullYear() + "-"
- + ("0" + (new Date().getMonth() + 1)).slice(-2)
- + "-" + new Date().getDate()
- ).getTime();
+Tobago.DateTime.addPastClass = function ($date) {
+ var today = $date.data("tobago-today");
+ if (today.length === 10) {
+ var todayArray = today.split("-");
+ if (todayArray.length === 3) {
+ var year = todayArray[0];
+ var month = todayArray[1];
+ var day = todayArray[2];
+ var todayTimestamp = new Date(month + "/" + day + "/" + year).getTime();
- jQuery(".bootstrap-datetimepicker-widget .datepicker-days td.day[data-day]").each(function () {
- var day = jQuery(this);
- var currentTimestamp = new Date(day.attr('data-day')).getTime();
- if (currentTimestamp < todayTimestamp) {
- day.addClass('past');
+ jQuery(".bootstrap-datetimepicker-widget .datepicker-days td.day[data-day]").each(function () {
+ var day = jQuery(this);
+ var currentTimestamp = new Date(day.attr('data-day')).getTime();
+ if (currentTimestamp < todayTimestamp) {
+ day.addClass('past');
+ }
+ });
}
- });
+ }
};
/*