From 356cab8e856dc0e1cb74c22358276261ed564b79 Mon Sep 17 00:00:00 2001 From: Volodymyr Tartynskyi Date: Thu, 8 Jan 2015 18:16:35 +0200 Subject: [PATCH 1/5] Update angular-moment.js updated changeLocale method in amMoment service so that it can accept Calendar strings customizations http://momentjs.com/docs/#/customization/calendar/ --- angular-moment.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/angular-moment.js b/angular-moment.js index d0d96c3..1c49fc4 100644 --- a/angular-moment.js +++ b/angular-moment.js @@ -297,9 +297,14 @@ * with the new locale. Also broadcasts a `amMoment:localeChanged` event on $rootScope. * * @param {string} locale 2-letter language code (e.g. en, es, ru, etc.) + * @param {object} values object of locale settings */ - this.changeLocale = function (locale) { - var result = (moment.locale || moment.lang)(locale); + this.changeLocale = function (locale, values) { + if (typeof(values) !== 'undefined') { + var result = (moment.locale || moment.lang)(locale, values); + } else { + var result = (moment.locale || moment.lang)(locale); + } if (angular.isDefined(locale)) { $rootScope.$broadcast('amMoment:localeChanged'); From 1ea0c77bc84c9c35409a09c3998707a9935d9f72 Mon Sep 17 00:00:00 2001 From: Volodymyr Tartynskyi Date: Thu, 8 Jan 2015 18:20:47 +0200 Subject: [PATCH 2/5] Update angular-moment.js fixed var declaration --- angular-moment.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/angular-moment.js b/angular-moment.js index 1c49fc4..21194be 100644 --- a/angular-moment.js +++ b/angular-moment.js @@ -300,10 +300,11 @@ * @param {object} values object of locale settings */ this.changeLocale = function (locale, values) { + var result; if (typeof(values) !== 'undefined') { - var result = (moment.locale || moment.lang)(locale, values); + result = (moment.locale || moment.lang)(locale, values); } else { - var result = (moment.locale || moment.lang)(locale); + result = (moment.locale || moment.lang)(locale); } if (angular.isDefined(locale)) { $rootScope.$broadcast('amMoment:localeChanged'); From 617d0b928a4e5b5ec678432986be97e9909a7eec Mon Sep 17 00:00:00 2001 From: Volodymyr Tartynskyi Date: Thu, 8 Jan 2015 18:36:14 +0200 Subject: [PATCH 3/5] Update tests.js Test addedd --- tests.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests.js b/tests.js index 3553578..29eccc8 100644 --- a/tests.js +++ b/tests.js @@ -533,7 +533,14 @@ describe('module angularMoment', function () { }); describe('amMoment service', function () { - describe('#changeLocale', function () { + it('should convert today date to custom calendar form', function () { + var today = new Date(); + amMoment.changeLocale('en', {calendar: {sameDay : '[Today]'}}); + var amCalendar = $filter('amCalendar'); + var testDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 13, 33, 33); + expect(amCalendar(testDate)).toBe('Today'); + }); + it('should return the current locale', function () { expect(amMoment.changeLocale()).toBe('en'); }); From d80936c8154c6dd403fa94ddf784736031b7decf Mon Sep 17 00:00:00 2001 From: Volodymyr Tartynskyi Date: Thu, 8 Jan 2015 18:56:30 +0200 Subject: [PATCH 4/5] Update tests.js Web editor is evil --- tests.js | 1 + 1 file changed, 1 insertion(+) diff --git a/tests.js b/tests.js index 29eccc8..bdb1c04 100644 --- a/tests.js +++ b/tests.js @@ -533,6 +533,7 @@ describe('module angularMoment', function () { }); describe('amMoment service', function () { + describe('#changeLocale', function () { it('should convert today date to custom calendar form', function () { var today = new Date(); amMoment.changeLocale('en', {calendar: {sameDay : '[Today]'}}); From 479750231a167fc650d71c04880d34458e57bb8d Mon Sep 17 00:00:00 2001 From: Uri Shaked Date: Wed, 14 Jan 2015 00:52:46 +0200 Subject: [PATCH 5/5] Merge branch 'patch-1' of https://github.com/vosi/angular-moment into vosi-patch-1 Conflicts: angular-moment.js close #102 --- angular-moment.js | 6 +++--- angular-moment.min.js | 2 +- angular-moment.min.js.map | 2 +- tests.js | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/angular-moment.js b/angular-moment.js index b909541..b9ba66f 100644 --- a/angular-moment.js +++ b/angular-moment.js @@ -296,10 +296,10 @@ * with the new locale. Also broadcasts a `amMoment:localeChanged` event on $rootScope. * * @param {string} locale Locale code (e.g. en, es, ru, pt-br, etc.) - * @param {object} values object of locale settings + * @param {object} customization object of locale strings to override */ - this.changeLocale = function (locale, values) { - var result = moment.locale(locale, values); + this.changeLocale = function (locale, customization) { + var result = moment.locale(locale, customization); if (angular.isDefined(locale)) { $rootScope.$broadcast('amMoment:localeChanged'); diff --git a/angular-moment.min.js b/angular-moment.min.js index 63a1f53..5d90e6b 100644 --- a/angular-moment.min.js +++ b/angular-moment.min.js @@ -1,2 +1,2 @@ -"format global";"deps angular";"deps moment";!function(){"use strict";function a(a,b){return a.module("angularMoment",[]).constant("angularMomentConfig",{preprocess:null,timezone:"",format:null,statefulFilters:!0}).constant("moment",b).constant("amTimeAgoConfig",{withoutSuffix:!1,serverTime:null,titleFormat:null}).directive("amTimeAgo",["$window","moment","amMoment","amTimeAgoConfig","angularMomentConfig",function(b,c,d,e,f){return function(g,h,i){function j(){var a;if(e.serverTime){var b=(new Date).getTime(),d=b-u+e.serverTime;a=c(d)}else a=c();return a}function k(){q&&(b.clearTimeout(q),q=null)}function l(a){if(h.text(a.from(j(),s)),t&&!h.attr("title")&&h.attr("title",a.local().format(t)),!x){var c=Math.abs(j().diff(a,"minute")),d=3600;1>c?d=1:60>c?d=30:180>c&&(d=300),q=b.setTimeout(function(){l(a)},1e3*d)}}function m(a){y&&h.attr("datetime",a)}function n(){if(k(),o){var a=d.preprocessDate(o,v,r);l(a),m(a.toISOString())}}var o,p,q=null,r=f.format,s=e.withoutSuffix,t=e.titleFormat,u=(new Date).getTime(),v=f.preprocess,w=i.amTimeAgo.replace(/^::/,""),x=0===i.amTimeAgo.indexOf("::"),y="TIME"===h[0].nodeName.toUpperCase();p=g.$watch(w,function(a){return"undefined"==typeof a||null===a||""===a?(k(),void(o&&(h.text(""),m(""),o=null))):(o=a,n(),void(void 0!==a&&x&&p()))}),a.isDefined(i.amWithoutSuffix)&&g.$watch(i.amWithoutSuffix,function(a){"boolean"==typeof a?(s=a,n()):s=e.withoutSuffix}),i.$observe("amFormat",function(a){"undefined"!=typeof a&&(r=a,n())}),i.$observe("amPreprocess",function(a){v=a,n()}),g.$on("$destroy",function(){k()}),g.$on("amMoment:localeChanged",function(){n()})}}]).service("amMoment",["moment","$rootScope","$log","angularMomentConfig",function(b,c,d,e){this.preprocessors={utc:b.utc,unix:b.unix},this.changeLocale=function(d){var e=b.locale(d);return a.isDefined(d)&&c.$broadcast("amMoment:localeChanged"),e},this.preprocessDate=function(c,f,g){return a.isUndefined(f)&&(f=e.preprocess),this.preprocessors[f]?this.preprocessors[f](c,g):(f&&d.warn("angular-moment: Ignoring unsupported value for preprocess: "+f),!isNaN(parseFloat(c))&&isFinite(c)?b(parseInt(c,10)):b(c,g))},this.applyTimezone=function(a){var b=e.timezone;return a&&b&&(a.tz?a=a.tz(b):d.warn("angular-moment: timezone specified but moment.tz() is undefined. Did you forget to include moment-timezone.js?")),a}}]).filter("amCalendar",["moment","amMoment","angularMomentConfig",function(a,b,c){function d(c,d){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,d);var e=a(c);return e.isValid()?b.applyTimezone(e).calendar():""}return d.$stateful=c.statefulFilters,d}]).filter("amDateFormat",["moment","amMoment","angularMomentConfig",function(a,b,c){function d(c,d,e){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,e);var f=a(c);return f.isValid()?b.applyTimezone(f).format(d):""}return d.$stateful=c.statefulFilters,d}]).filter("amDurationFormat",["moment","angularMomentConfig",function(a,b){function c(b,c,d){return"undefined"==typeof b||null===b?"":a.duration(b,c).humanize(d)}return c.$stateful=b.statefulFilters,c}]).filter("amTimeAgo",["moment","amMoment","angularMomentConfig",function(a,b,c){function d(c,d,e){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,d);var f=a(c);return f.isValid()?b.applyTimezone(f).fromNow(e):""}return d.$stateful=c.statefulFilters,d}])}"function"==typeof define&&define.amd?define("angular-moment",["angular","moment"],a):"undefined"!=typeof module&&module&&module.exports?a(angular,require("moment")):a(angular,window.moment)}(); +"format global";"deps angular";"deps moment";!function(){"use strict";function a(a,b){return a.module("angularMoment",[]).constant("angularMomentConfig",{preprocess:null,timezone:"",format:null,statefulFilters:!0}).constant("moment",b).constant("amTimeAgoConfig",{withoutSuffix:!1,serverTime:null,titleFormat:null}).directive("amTimeAgo",["$window","moment","amMoment","amTimeAgoConfig","angularMomentConfig",function(b,c,d,e,f){return function(g,h,i){function j(){var a;if(e.serverTime){var b=(new Date).getTime(),d=b-u+e.serverTime;a=c(d)}else a=c();return a}function k(){q&&(b.clearTimeout(q),q=null)}function l(a){if(h.text(a.from(j(),s)),t&&!h.attr("title")&&h.attr("title",a.local().format(t)),!x){var c=Math.abs(j().diff(a,"minute")),d=3600;1>c?d=1:60>c?d=30:180>c&&(d=300),q=b.setTimeout(function(){l(a)},1e3*d)}}function m(a){y&&h.attr("datetime",a)}function n(){if(k(),o){var a=d.preprocessDate(o,v,r);l(a),m(a.toISOString())}}var o,p,q=null,r=f.format,s=e.withoutSuffix,t=e.titleFormat,u=(new Date).getTime(),v=f.preprocess,w=i.amTimeAgo.replace(/^::/,""),x=0===i.amTimeAgo.indexOf("::"),y="TIME"===h[0].nodeName.toUpperCase();p=g.$watch(w,function(a){return"undefined"==typeof a||null===a||""===a?(k(),void(o&&(h.text(""),m(""),o=null))):(o=a,n(),void(void 0!==a&&x&&p()))}),a.isDefined(i.amWithoutSuffix)&&g.$watch(i.amWithoutSuffix,function(a){"boolean"==typeof a?(s=a,n()):s=e.withoutSuffix}),i.$observe("amFormat",function(a){"undefined"!=typeof a&&(r=a,n())}),i.$observe("amPreprocess",function(a){v=a,n()}),g.$on("$destroy",function(){k()}),g.$on("amMoment:localeChanged",function(){n()})}}]).service("amMoment",["moment","$rootScope","$log","angularMomentConfig",function(b,c,d,e){this.preprocessors={utc:b.utc,unix:b.unix},this.changeLocale=function(d,e){var f=b.locale(d,e);return a.isDefined(d)&&c.$broadcast("amMoment:localeChanged"),f},this.preprocessDate=function(c,f,g){return a.isUndefined(f)&&(f=e.preprocess),this.preprocessors[f]?this.preprocessors[f](c,g):(f&&d.warn("angular-moment: Ignoring unsupported value for preprocess: "+f),!isNaN(parseFloat(c))&&isFinite(c)?b(parseInt(c,10)):b(c,g))},this.applyTimezone=function(a){var b=e.timezone;return a&&b&&(a.tz?a=a.tz(b):d.warn("angular-moment: timezone specified but moment.tz() is undefined. Did you forget to include moment-timezone.js?")),a}}]).filter("amCalendar",["moment","amMoment","angularMomentConfig",function(a,b,c){function d(c,d){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,d);var e=a(c);return e.isValid()?b.applyTimezone(e).calendar():""}return d.$stateful=c.statefulFilters,d}]).filter("amDateFormat",["moment","amMoment","angularMomentConfig",function(a,b,c){function d(c,d,e){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,e);var f=a(c);return f.isValid()?b.applyTimezone(f).format(d):""}return d.$stateful=c.statefulFilters,d}]).filter("amDurationFormat",["moment","angularMomentConfig",function(a,b){function c(b,c,d){return"undefined"==typeof b||null===b?"":a.duration(b,c).humanize(d)}return c.$stateful=b.statefulFilters,c}]).filter("amTimeAgo",["moment","amMoment","angularMomentConfig",function(a,b,c){function d(c,d,e){if("undefined"==typeof c||null===c)return"";c=b.preprocessDate(c,d);var f=a(c);return f.isValid()?b.applyTimezone(f).fromNow(e):""}return d.$stateful=c.statefulFilters,d}])}"function"==typeof define&&define.amd?define("angular-moment",["angular","moment"],a):"undefined"!=typeof module&&module&&module.exports?a(angular,require("moment")):a(angular,window.moment)}(); //# sourceMappingURL=angular-moment.min.js.map \ No newline at end of file diff --git a/angular-moment.min.js.map b/angular-moment.min.js.map index 06ee457..04efdf2 100644 --- a/angular-moment.min.js.map +++ b/angular-moment.min.js.map @@ -1 +1 @@ -{"version":3,"file":"angular-moment.min.js","sources":["angular-moment.js"],"names":["angularMoment","angular","moment","module","constant","preprocess","timezone","format","statefulFilters","withoutSuffix","serverTime","titleFormat","directive","$window","amMoment","amTimeAgoConfig","angularMomentConfig","scope","element","attr","getNow","now","localNow","Date","getTime","nowMillis","localDate","cancelTimer","activeTimeout","clearTimeout","updateTime","momentInstance","text","from","local","isBindOnce","howOld","Math","abs","diff","secondsUntilUpdate","setTimeout","updateDateTimeAttr","value","isTimeElement","updateMoment","currentValue","momentValue","preprocessDate","currentFormat","toISOString","unwatchChanges","modelName","amTimeAgo","replace","indexOf","nodeName","toUpperCase","$watch","undefined","isDefined","amWithoutSuffix","$observe","newValue","$on","service","$rootScope","$log","this","preprocessors","utc","unix","changeLocale","locale","result","$broadcast","isUndefined","warn","isNaN","parseFloat","isFinite","parseInt","applyTimezone","aMoment","tz","filter","amCalendarFilter","date","isValid","calendar","$stateful","amDateFormatFilter","amDurationFormatFilter","suffix","duration","humanize","amTimeAgoFilter","fromNow","define","amd","exports","require","window"],"mappings":"AAEA,eAEA,eACA,gBAEA,WACC,YAEA,SAASA,GAAcC,EAASC,GAS/B,MAAOD,GAAQE,OAAO,oBASpBC,SAAS,uBAWTC,WAAY,KAYZC,SAAU,GAaVC,OAAQ,KAaRC,iBAAiB,IAUjBJ,SAAS,SAAUF,GAUnBE,SAAS,mBAUTK,eAAe,EAYfC,WAAY,KAYZC,YAAa,OAUbC,UAAU,aAAc,UAAW,SAAU,WAAY,kBAAmB,sBAAuB,SAAUC,EAASX,EAAQY,EAAUC,EAAiBC,GAEzJ,MAAO,UAAUC,EAAOC,EAASC,GAahC,QAASC,KACR,GAAIC,EACJ,IAAIN,EAAgBL,WAAY,CAC/B,GAAIY,IAAW,GAAIC,OAAOC,UACtBC,EAAYH,EAAWI,EAAYX,EAAgBL,UACvDW,GAAMnB,EAAOuB,OAGbJ,GAAMnB,GAEP,OAAOmB,GAGR,QAASM,KACJC,IACHf,EAAQgB,aAAaD,GACrBA,EAAgB,MAIlB,QAASE,GAAWC,GAOnB,GANAb,EAAQc,KAAKD,EAAeE,KAAKb,IAAUX,IAEvCE,IAAgBO,EAAQC,KAAK,UAChCD,EAAQC,KAAK,QAASY,EAAeG,QAAQ3B,OAAOI,KAGhDwB,EAAY,CAEhB,GAAIC,GAASC,KAAKC,IAAIlB,IAASmB,KAAKR,EAAgB,WAChDS,EAAqB,IACZ,GAATJ,EACHI,EAAqB,EACF,GAATJ,EACVI,EAAqB,GACF,IAATJ,IACVI,EAAqB,KAGtBZ,EAAgBf,EAAQ4B,WAAW,WAClCX,EAAWC,IACY,IAArBS,IAIL,QAASE,GAAmBC,GACvBC,GACH1B,EAAQC,KAAK,WAAYwB,GAI3B,QAASE,KAER,GADAlB,IACImB,EAAc,CACjB,GAAIC,GAAcjC,EAASkC,eAAeF,EAAczC,EAAY4C,EACpEnB,GAAWiB,GACXL,EAAmBK,EAAYG,gBApEjC,GACIJ,GASAK,EAVAvB,EAAgB,KAEhBqB,EAAgBjC,EAAoBT,OACpCE,EAAgBM,EAAgBN,cAChCE,EAAcI,EAAgBJ,YAC9Be,GAAY,GAAIH,OAAOC,UACvBnB,EAAaW,EAAoBX,WACjC+C,EAAYjC,EAAKkC,UAAUC,QAAQ,MAAO,IAC1CnB,EAA+C,IAAjChB,EAAKkC,UAAUE,QAAQ,MACrCX,EAAiB,SAAW1B,EAAQ,GAAGsC,SAASC,aA+DpDN,GAAiBlC,EAAMyC,OAAON,EAAW,SAAUT,GAClD,MAAsB,mBAAVA,IAAqC,OAAVA,GAA8B,KAAVA,GAC1DhB,SACImB,IACH5B,EAAQc,KAAK,IACbU,EAAmB,IACnBI,EAAe,SAKjBA,EAAeH,EACfE,SAEcc,SAAVhB,GAAuBR,GAC1BgB,QAIElD,EAAQ2D,UAAUzC,EAAK0C,kBAC1B5C,EAAMyC,OAAOvC,EAAK0C,gBAAiB,SAAUlB,GACvB,iBAAVA,IACVlC,EAAgBkC,EAChBE,KAEApC,EAAgBM,EAAgBN,gBAKnCU,EAAK2C,SAAS,WAAY,SAAUvD,GACb,mBAAXA,KACV0C,EAAgB1C,EAChBsC,OAIF1B,EAAK2C,SAAS,eAAgB,SAAUC,GACvC1D,EAAa0D,EACblB,MAGD5B,EAAM+C,IAAI,WAAY,WACrBrC,MAGDV,EAAM+C,IAAI,yBAA0B,WACnCnB,UAUFoB,QAAQ,YAAa,SAAU,aAAc,OAAQ,sBAAuB,SAAU/D,EAAQgE,EAAYC,EAAMnD,GAUhHoD,KAAKC,eACJC,IAAKpE,EAAOoE,IACZC,KAAMrE,EAAOqE,MAcdH,KAAKI,aAAe,SAAUC,GAC7B,GAAIC,GAASxE,EAAOuE,OAAOA,EAK3B,OAJIxE,GAAQ2D,UAAUa,IACrBP,EAAWS,WAAW,0BAGhBD,GAiBRN,KAAKpB,eAAiB,SAAUL,EAAOtC,EAAYE,GAIlD,MAHIN,GAAQ2E,YAAYvE,KACvBA,EAAaW,EAAoBX,YAE9B+D,KAAKC,cAAchE,GACf+D,KAAKC,cAAchE,GAAYsC,EAAOpC,IAE1CF,GACH8D,EAAKU,KAAK,8DAAgExE,IAEtEyE,MAAMC,WAAWpC,KAAWqC,SAASrC,GAElCzC,EAAO+E,SAAStC,EAAO,KAGxBzC,EAAOyC,EAAOpC,KAetB6D,KAAKc,cAAgB,SAAUC,GAC9B,GAAI7E,GAAWU,EAAoBV,QAQnC,OAPI6E,IAAW7E,IACV6E,EAAQC,GACXD,EAAUA,EAAQC,GAAG9E,GAErB6D,EAAKU,KAAK,mHAGLM,MASRE,OAAO,cAAe,SAAU,WAAY,sBAAuB,SAAUnF,EAAQY,EAAUE,GAC/F,QAASsE,GAAiB3C,EAAOtC,GAChC,GAAqB,mBAAVsC,IAAmC,OAAVA,EACnC,MAAO,EAGRA,GAAQ7B,EAASkC,eAAeL,EAAOtC,EACvC,IAAIkF,GAAOrF,EAAOyC,EAClB,OAAK4C,GAAKC,UAIH1E,EAASoE,cAAcK,GAAME,WAH5B,GAUT,MAFAH,GAAiBI,UAAY1E,EAAoBR,gBAE1C8E,KASPD,OAAO,gBAAiB,SAAU,WAAY,sBAAuB,SAAUnF,EAAQY,EAAUE,GACjG,QAAS2E,GAAmBhD,EAAOpC,EAAQF,GAC1C,GAAqB,mBAAVsC,IAAmC,OAAVA,EACnC,MAAO,EAGRA,GAAQ7B,EAASkC,eAAeL,EAAOtC,EACvC,IAAIkF,GAAOrF,EAAOyC,EAClB,OAAK4C,GAAKC,UAIH1E,EAASoE,cAAcK,GAAMhF,OAAOA,GAHnC,GAQT,MAFAoF,GAAmBD,UAAY1E,EAAoBR,gBAE5CmF,KASPN,OAAO,oBAAqB,SAAU,sBAAuB,SAAUnF,EAAQc,GAC/E,QAAS4E,GAAuBjD,EAAOpC,EAAQsF,GAC9C,MAAqB,mBAAVlD,IAAmC,OAAVA,EAC5B,GAGDzC,EAAO4F,SAASnD,EAAOpC,GAAQwF,SAASF,GAKhD,MAFAD,GAAuBF,UAAY1E,EAAoBR,gBAEhDoF,KASPP,OAAO,aAAc,SAAU,WAAY,sBAAuB,SAAUnF,EAAQY,EAAUE,GAC9F,QAASgF,GAAgBrD,EAAOtC,EAAYwF,GAC3C,GAAqB,mBAAVlD,IAAmC,OAAVA,EACnC,MAAO,EAGRA,GAAQ7B,EAASkC,eAAeL,EAAOtC,EACvC,IAAIkF,GAAOrF,EAAOyC,EAClB,OAAK4C,GAAKC,UAIH1E,EAASoE,cAAcK,GAAMU,QAAQJ,GAHpC,GAQT,MAFAG,GAAgBN,UAAY1E,EAAoBR,gBAEzCwF,KAIY,kBAAXE,SAAyBA,OAAOC,IAC1CD,OAAO,kBAAmB,UAAW,UAAWlG,GACpB,mBAAXG,SAA0BA,QAAUA,OAAOiG,QAC5DpG,EAAcC,QAASoG,QAAQ,WAE/BrG,EAAcC,QAASqG,OAAOpG"} \ No newline at end of file +{"version":3,"file":"angular-moment.min.js","sources":["angular-moment.js"],"names":["angularMoment","angular","moment","module","constant","preprocess","timezone","format","statefulFilters","withoutSuffix","serverTime","titleFormat","directive","$window","amMoment","amTimeAgoConfig","angularMomentConfig","scope","element","attr","getNow","now","localNow","Date","getTime","nowMillis","localDate","cancelTimer","activeTimeout","clearTimeout","updateTime","momentInstance","text","from","local","isBindOnce","howOld","Math","abs","diff","secondsUntilUpdate","setTimeout","updateDateTimeAttr","value","isTimeElement","updateMoment","currentValue","momentValue","preprocessDate","currentFormat","toISOString","unwatchChanges","modelName","amTimeAgo","replace","indexOf","nodeName","toUpperCase","$watch","undefined","isDefined","amWithoutSuffix","$observe","newValue","$on","service","$rootScope","$log","this","preprocessors","utc","unix","changeLocale","locale","customization","result","$broadcast","isUndefined","warn","isNaN","parseFloat","isFinite","parseInt","applyTimezone","aMoment","tz","filter","amCalendarFilter","date","isValid","calendar","$stateful","amDateFormatFilter","amDurationFormatFilter","suffix","duration","humanize","amTimeAgoFilter","fromNow","define","amd","exports","require","window"],"mappings":"AAEA,eAEA,eACA,gBAEA,WACC,YAEA,SAASA,GAAcC,EAASC,GAS/B,MAAOD,GAAQE,OAAO,oBASpBC,SAAS,uBAWTC,WAAY,KAYZC,SAAU,GAaVC,OAAQ,KAaRC,iBAAiB,IAUjBJ,SAAS,SAAUF,GAUnBE,SAAS,mBAUTK,eAAe,EAYfC,WAAY,KAYZC,YAAa,OAUbC,UAAU,aAAc,UAAW,SAAU,WAAY,kBAAmB,sBAAuB,SAAUC,EAASX,EAAQY,EAAUC,EAAiBC,GAEzJ,MAAO,UAAUC,EAAOC,EAASC,GAahC,QAASC,KACR,GAAIC,EACJ,IAAIN,EAAgBL,WAAY,CAC/B,GAAIY,IAAW,GAAIC,OAAOC,UACtBC,EAAYH,EAAWI,EAAYX,EAAgBL,UACvDW,GAAMnB,EAAOuB,OAGbJ,GAAMnB,GAEP,OAAOmB,GAGR,QAASM,KACJC,IACHf,EAAQgB,aAAaD,GACrBA,EAAgB,MAIlB,QAASE,GAAWC,GAOnB,GANAb,EAAQc,KAAKD,EAAeE,KAAKb,IAAUX,IAEvCE,IAAgBO,EAAQC,KAAK,UAChCD,EAAQC,KAAK,QAASY,EAAeG,QAAQ3B,OAAOI,KAGhDwB,EAAY,CAEhB,GAAIC,GAASC,KAAKC,IAAIlB,IAASmB,KAAKR,EAAgB,WAChDS,EAAqB,IACZ,GAATJ,EACHI,EAAqB,EACF,GAATJ,EACVI,EAAqB,GACF,IAATJ,IACVI,EAAqB,KAGtBZ,EAAgBf,EAAQ4B,WAAW,WAClCX,EAAWC,IACY,IAArBS,IAIL,QAASE,GAAmBC,GACvBC,GACH1B,EAAQC,KAAK,WAAYwB,GAI3B,QAASE,KAER,GADAlB,IACImB,EAAc,CACjB,GAAIC,GAAcjC,EAASkC,eAAeF,EAAczC,EAAY4C,EACpEnB,GAAWiB,GACXL,EAAmBK,EAAYG,gBApEjC,GACIJ,GASAK,EAVAvB,EAAgB,KAEhBqB,EAAgBjC,EAAoBT,OACpCE,EAAgBM,EAAgBN,cAChCE,EAAcI,EAAgBJ,YAC9Be,GAAY,GAAIH,OAAOC,UACvBnB,EAAaW,EAAoBX,WACjC+C,EAAYjC,EAAKkC,UAAUC,QAAQ,MAAO,IAC1CnB,EAA+C,IAAjChB,EAAKkC,UAAUE,QAAQ,MACrCX,EAAiB,SAAW1B,EAAQ,GAAGsC,SAASC,aA+DpDN,GAAiBlC,EAAMyC,OAAON,EAAW,SAAUT,GAClD,MAAsB,mBAAVA,IAAqC,OAAVA,GAA8B,KAAVA,GAC1DhB,SACImB,IACH5B,EAAQc,KAAK,IACbU,EAAmB,IACnBI,EAAe,SAKjBA,EAAeH,EACfE,SAEcc,SAAVhB,GAAuBR,GAC1BgB,QAIElD,EAAQ2D,UAAUzC,EAAK0C,kBAC1B5C,EAAMyC,OAAOvC,EAAK0C,gBAAiB,SAAUlB,GACvB,iBAAVA,IACVlC,EAAgBkC,EAChBE,KAEApC,EAAgBM,EAAgBN,gBAKnCU,EAAK2C,SAAS,WAAY,SAAUvD,GACb,mBAAXA,KACV0C,EAAgB1C,EAChBsC,OAIF1B,EAAK2C,SAAS,eAAgB,SAAUC,GACvC1D,EAAa0D,EACblB,MAGD5B,EAAM+C,IAAI,WAAY,WACrBrC,MAGDV,EAAM+C,IAAI,yBAA0B,WACnCnB,UAUFoB,QAAQ,YAAa,SAAU,aAAc,OAAQ,sBAAuB,SAAU/D,EAAQgE,EAAYC,EAAMnD,GAUhHoD,KAAKC,eACJC,IAAKpE,EAAOoE,IACZC,KAAMrE,EAAOqE,MAedH,KAAKI,aAAe,SAAUC,EAAQC,GACrC,GAAIC,GAASzE,EAAOuE,OAAOA,EAAQC,EAKnC,OAJIzE,GAAQ2D,UAAUa,IACrBP,EAAWU,WAAW,0BAGhBD,GAiBRP,KAAKpB,eAAiB,SAAUL,EAAOtC,EAAYE,GAIlD,MAHIN,GAAQ4E,YAAYxE,KACvBA,EAAaW,EAAoBX,YAE9B+D,KAAKC,cAAchE,GACf+D,KAAKC,cAAchE,GAAYsC,EAAOpC,IAE1CF,GACH8D,EAAKW,KAAK,8DAAgEzE,IAEtE0E,MAAMC,WAAWrC,KAAWsC,SAAStC,GAElCzC,EAAOgF,SAASvC,EAAO,KAGxBzC,EAAOyC,EAAOpC,KAetB6D,KAAKe,cAAgB,SAAUC,GAC9B,GAAI9E,GAAWU,EAAoBV,QAQnC,OAPI8E,IAAW9E,IACV8E,EAAQC,GACXD,EAAUA,EAAQC,GAAG/E,GAErB6D,EAAKW,KAAK,mHAGLM,MASRE,OAAO,cAAe,SAAU,WAAY,sBAAuB,SAAUpF,EAAQY,EAAUE,GAC/F,QAASuE,GAAiB5C,EAAOtC,GAChC,GAAqB,mBAAVsC,IAAmC,OAAVA,EACnC,MAAO,EAGRA,GAAQ7B,EAASkC,eAAeL,EAAOtC,EACvC,IAAImF,GAAOtF,EAAOyC,EAClB,OAAK6C,GAAKC,UAIH3E,EAASqE,cAAcK,GAAME,WAH5B,GAUT,MAFAH,GAAiBI,UAAY3E,EAAoBR,gBAE1C+E,KASPD,OAAO,gBAAiB,SAAU,WAAY,sBAAuB,SAAUpF,EAAQY,EAAUE,GACjG,QAAS4E,GAAmBjD,EAAOpC,EAAQF,GAC1C,GAAqB,mBAAVsC,IAAmC,OAAVA,EACnC,MAAO,EAGRA,GAAQ7B,EAASkC,eAAeL,EAAOtC,EACvC,IAAImF,GAAOtF,EAAOyC,EAClB,OAAK6C,GAAKC,UAIH3E,EAASqE,cAAcK,GAAMjF,OAAOA,GAHnC,GAQT,MAFAqF,GAAmBD,UAAY3E,EAAoBR,gBAE5CoF,KASPN,OAAO,oBAAqB,SAAU,sBAAuB,SAAUpF,EAAQc,GAC/E,QAAS6E,GAAuBlD,EAAOpC,EAAQuF,GAC9C,MAAqB,mBAAVnD,IAAmC,OAAVA,EAC5B,GAGDzC,EAAO6F,SAASpD,EAAOpC,GAAQyF,SAASF,GAKhD,MAFAD,GAAuBF,UAAY3E,EAAoBR,gBAEhDqF,KASPP,OAAO,aAAc,SAAU,WAAY,sBAAuB,SAAUpF,EAAQY,EAAUE,GAC9F,QAASiF,GAAgBtD,EAAOtC,EAAYyF,GAC3C,GAAqB,mBAAVnD,IAAmC,OAAVA,EACnC,MAAO,EAGRA,GAAQ7B,EAASkC,eAAeL,EAAOtC,EACvC,IAAImF,GAAOtF,EAAOyC,EAClB,OAAK6C,GAAKC,UAIH3E,EAASqE,cAAcK,GAAMU,QAAQJ,GAHpC,GAQT,MAFAG,GAAgBN,UAAY3E,EAAoBR,gBAEzCyF,KAIY,kBAAXE,SAAyBA,OAAOC,IAC1CD,OAAO,kBAAmB,UAAW,UAAWnG,GACpB,mBAAXG,SAA0BA,QAAUA,OAAOkG,QAC5DrG,EAAcC,QAASqG,QAAQ,WAE/BtG,EAAcC,QAASsG,OAAOrG"} \ No newline at end of file diff --git a/tests.js b/tests.js index 666c34e..f4fbb7f 100644 --- a/tests.js +++ b/tests.js @@ -534,14 +534,14 @@ describe('module angularMoment', function () { describe('amMoment service', function () { describe('#changeLocale', function () { - it('should convert today date to custom calendar form', function () { + it('should convert today\'s date to custom calendar format', function () { var today = new Date(); - amMoment.changeLocale('en', {calendar: {sameDay : '[Today]'}}); + amMoment.changeLocale('en', {calendar: {sameDay : '[This Day]'}}); var amCalendar = $filter('amCalendar'); var testDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 13, 33, 33); - expect(amCalendar(testDate)).toBe('Today'); + expect(amCalendar(testDate)).toBe('This Day'); }); - + it('should return the current locale', function () { expect(amMoment.changeLocale()).toBe('en'); });