From 37b5c5cfe9df70fa2a2c6c681a903b7c356aec74 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 12 Aug 2011 02:28:45 -0700 Subject: break(date): remove support for 'long', 'longtime' date formats and 'z' flag The support for the 'z' formatting flag was removed becase the timezone info can't be retrieved from the browser apis (except for en-US locale on some but not all browsers). For this reason we don't want to support this flag at all. Related to this, since the 'long' and 'longtime' datetime formats require the 'z' flag in the formatting string, we are removing support for this format as well. --- src/angular-mocks.js | 8 +------- src/filters.js | 21 +++++---------------- src/service/locale.js | 2 -- 3 files changed, 6 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 719e87b3..066ccea5 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -439,7 +439,7 @@ function MockLogFactory() { * * */ -function TzDate(offset, timestamp, toStringVal) { +function TzDate(offset, timestamp) { if (angular.isString(timestamp)) { var tsStr = timestamp; @@ -463,10 +463,6 @@ function TzDate(offset, timestamp, toStringVal) { return this.date.getTime() - this.offsetDiff; }; - this.toString = function() { - return toStringVal; - }; - this.toLocaleDateString = function() { return this.date.toLocaleDateString(); }; @@ -537,8 +533,6 @@ function TzDate(offset, timestamp, toStringVal) { 'toLocaleTimeString', 'toSource', 'toString', 'toTimeString', 'toUTCString', 'valueOf']; angular.forEach(unimplementedMethods, function(methodName) { - if (methodName == 'toString' && toStringVal) return; - self[methodName] = function() { throw { name: "MethodNotImplemented", diff --git a/src/filters.js b/src/filters.js index b3d4c437..f636b242 100644 --- a/src/filters.js +++ b/src/filters.js @@ -215,16 +215,10 @@ function dateStrGetter(name, shortForm) { }; } -function timeZoneGetter(numFormat) { - return function(date) { - var timeZone; - if (numFormat || !(timeZone = GET_TIME_ZONE.exec(date.toString()))) { - var offset = date.getTimezoneOffset(); - return padNumber(offset / 60, 2) + padNumber(Math.abs(offset % 60), 2); - } - return timeZone[0]; - }; -} +function timeZoneGetter(date) { + var offset = date.getTimezoneOffset(); + return padNumber(offset / 60, 2) + padNumber(Math.abs(offset % 60), 2); +}; function ampmGetter(date, formats) { return date.getHours() < 12 ? formats.AMPMS[0] : formats.AMPMS[1]; @@ -251,8 +245,7 @@ var DATE_FORMATS = { EEEE: dateStrGetter('Day'), EEE: dateStrGetter('Day', true), a: ampmGetter, - z: timeZoneGetter(false), - Z: timeZoneGetter(true) + Z: timeZoneGetter }; var GET_TIME_ZONE = /[A-Z]{3}(?![+\-])/; @@ -293,13 +286,10 @@ var NUMBER_STRING = /^\d+$/; * * `'s'`: Second in minute (0-59) * * `'a'`: am/pm marker * * `'Z'`: 4 digit (+sign) representation of the timezone offset (-1200-1200) - * * `'z'`: short form of current timezone name (e.g. PDT) * * `format` string can also be one of the following predefined * {@link guide/dev_guide.i18n localizable formats}: * - * * `'long'`: equivalent to `'MMMM d, y h:mm:ss a z'` for en_US locale - * (e.g. September 3, 2010 12:05:08 pm PDT) * * `'medium'`: equivalent to `'MMM d, y h:mm:ss a'` for en_US locale * (e.g. Sep 3, 2010 12:05:08 pm) * * `'short'`: equivalent to `'M/d/yy h:mm a'` for en_US locale (e.g. 9/3/10 12:05 pm) @@ -308,7 +298,6 @@ var NUMBER_STRING = /^\d+$/; * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale (e.g. September 3, 2010 * * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US locale (e.g. Sep 3, 2010) * * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale (e.g. 9/3/10) - * * `'longTime'`: equivalent to `'h:mm:ss a z'` for en_US locale (e.g. 12:05:08 pm PDT) * * `'mediumTime'`: equivalent to `'h:mm:ss a'` for en_US locale (e.g. 12:05:08 pm) * * `'shortTime'`: equivalent to `'h:mm a'` for en_US locale (e.g. 12:05 pm) * diff --git a/src/service/locale.js b/src/service/locale.js index 0e8c3b42..e94c2100 100644 --- a/src/service/locale.js +++ b/src/service/locale.js @@ -50,14 +50,12 @@ angularServiceInject('$locale', function() { DAY: 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','), SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','), AMPMS: ['AM','PM'], - long: 'MMMM d, y h:mm:ss a z', medium: 'MMM d, y h:mm:ss a', short: 'M/d/yy h:mm a', fullDate: 'EEEE, MMMM d, y', longDate: 'MMMM d, y', mediumDate: 'MMM d, y', shortDate: 'M/d/yy', - longTime: 'h:mm:ss a z', mediumTime: 'h:mm:ss a', shortTime: 'h:mm a' } -- cgit v1.2.3