|
1 | 1 | /**
|
2 |
| - * angular-timer - v1.3.0 - 2015-03-03 5:32 PM |
| 2 | + * angular-timer - v1.3.0 - 2015-03-05 1:08 PM |
3 | 3 | * https://github.com/siddii/angular-timer
|
4 | 4 | *
|
5 | 5 | * Copyright (c) 2015 Siddique Hameed
|
6 | 6 | * Licensed MIT <https://github.com/siddii/angular-timer/blob/master/LICENSE.txt>
|
7 | 7 | */
|
8 |
| -var app = angular.module('timer'); |
9 |
| - |
10 |
| -app.factory('I18nService', function() { |
11 |
| - |
12 |
| - var I18nService = function() {}; |
13 |
| - |
14 |
| - I18nService.prototype.language = 'en'; |
15 |
| - I18nService.prototype.timeHumanizer = {}; |
16 |
| - |
17 |
| - I18nService.prototype.init = function init(lang){ |
18 |
| - this.language = lang; |
19 |
| - //moment init |
20 |
| - moment.locale(this.language); //@TODO maybe to remove, it should be handle by the user's application itself, and not inside the directive |
21 |
| - |
22 |
| - //human duration init, using it because momentjs does not allow accurate time ( |
23 |
| - // momentJS: a few moment ago, human duration : 4 seconds ago |
24 |
| - this.timeHumanizer = humanizeDuration.humanizer({ |
25 |
| - language: this.language, |
26 |
| - halfUnit:false |
27 |
| - }); |
28 |
| - }; |
29 |
| - |
30 |
| - /** |
31 |
| - * get time with units from momentJS i18n |
32 |
| - * @param {int} millis |
33 |
| - * @returns {{millis: string, seconds: string, minutes: string, hours: string, days: string, months: string, years: string}} |
34 |
| - */ |
35 |
| - I18nService.prototype.getTimeUnits = function getTimeUnits(millis) { |
36 |
| - var diffFromAlarm = Math.round(millis/1000) * 1000; //time in milliseconds, get rid of the last 3 ms value to avoid 2.12 seconds display |
37 |
| - |
38 |
| - var time = {}; |
39 |
| - |
40 |
| - if (typeof this.timeHumanizer != 'undefined'){ |
41 |
| - time = { |
42 |
| - 'millis' : this.timeHumanizer(diffFromAlarm, { units: ["milliseconds"] }), |
43 |
| - 'seconds' : this.timeHumanizer(diffFromAlarm, { units: ["seconds"] }), |
44 |
| - 'minutes' : this.timeHumanizer(diffFromAlarm, { units: ["minutes", "seconds"] }) , |
45 |
| - 'hours' : this.timeHumanizer(diffFromAlarm, { units: ["hours", "minutes", "seconds"] }) , |
46 |
| - 'days' : this.timeHumanizer(diffFromAlarm, { units: ["days", "hours", "minutes", "seconds"] }) , |
47 |
| - 'months' : this.timeHumanizer(diffFromAlarm, { units: ["months", "days", "hours", "minutes", "seconds"] }) , |
48 |
| - 'years' : this.timeHumanizer(diffFromAlarm, { units: ["years", "months", "days", "hours", "minutes", "seconds"] }) |
49 |
| - }; |
50 |
| - } |
51 |
| - else { |
52 |
| - console.error('i18nService has not been initialized. You must call i18nService.init("en") for example'); |
53 |
| - } |
54 |
| - |
55 |
| - return time; |
56 |
| - }; |
57 |
| - |
58 |
| - return I18nService; |
59 |
| -}); |
60 |
| - |
61 | 8 | var timerModule = angular.module('timer', [])
|
62 | 9 | .directive('timer', ['$compile', function ($compile) {
|
63 | 10 | return {
|
@@ -366,3 +313,56 @@ var timerModule = angular.module('timer', [])
|
366 | 313 | if (typeof module !== "undefined" && typeof exports !== "undefined" && module.exports === exports){
|
367 | 314 | module.exports = timerModule;
|
368 | 315 | }
|
| 316 | + |
| 317 | +var app = angular.module('timer'); |
| 318 | + |
| 319 | +app.factory('I18nService', function() { |
| 320 | + |
| 321 | + var I18nService = function() {}; |
| 322 | + |
| 323 | + I18nService.prototype.language = 'en'; |
| 324 | + I18nService.prototype.timeHumanizer = {}; |
| 325 | + |
| 326 | + I18nService.prototype.init = function init(lang){ |
| 327 | + this.language = lang; |
| 328 | + //moment init |
| 329 | + moment.locale(this.language); //@TODO maybe to remove, it should be handle by the user's application itself, and not inside the directive |
| 330 | + |
| 331 | + //human duration init, using it because momentjs does not allow accurate time ( |
| 332 | + // momentJS: a few moment ago, human duration : 4 seconds ago |
| 333 | + this.timeHumanizer = humanizeDuration.humanizer({ |
| 334 | + language: this.language, |
| 335 | + halfUnit:false |
| 336 | + }); |
| 337 | + }; |
| 338 | + |
| 339 | + /** |
| 340 | + * get time with units from momentJS i18n |
| 341 | + * @param {int} millis |
| 342 | + * @returns {{millis: string, seconds: string, minutes: string, hours: string, days: string, months: string, years: string}} |
| 343 | + */ |
| 344 | + I18nService.prototype.getTimeUnits = function getTimeUnits(millis) { |
| 345 | + var diffFromAlarm = Math.round(millis/1000) * 1000; //time in milliseconds, get rid of the last 3 ms value to avoid 2.12 seconds display |
| 346 | + |
| 347 | + var time = {}; |
| 348 | + |
| 349 | + if (typeof this.timeHumanizer != 'undefined'){ |
| 350 | + time = { |
| 351 | + 'millis' : this.timeHumanizer(diffFromAlarm, { units: ["milliseconds"] }), |
| 352 | + 'seconds' : this.timeHumanizer(diffFromAlarm, { units: ["seconds"] }), |
| 353 | + 'minutes' : this.timeHumanizer(diffFromAlarm, { units: ["minutes", "seconds"] }) , |
| 354 | + 'hours' : this.timeHumanizer(diffFromAlarm, { units: ["hours", "minutes", "seconds"] }) , |
| 355 | + 'days' : this.timeHumanizer(diffFromAlarm, { units: ["days", "hours", "minutes", "seconds"] }) , |
| 356 | + 'months' : this.timeHumanizer(diffFromAlarm, { units: ["months", "days", "hours", "minutes", "seconds"] }) , |
| 357 | + 'years' : this.timeHumanizer(diffFromAlarm, { units: ["years", "months", "days", "hours", "minutes", "seconds"] }) |
| 358 | + }; |
| 359 | + } |
| 360 | + else { |
| 361 | + console.error('i18nService has not been initialized. You must call i18nService.init("en") for example'); |
| 362 | + } |
| 363 | + |
| 364 | + return time; |
| 365 | + }; |
| 366 | + |
| 367 | + return I18nService; |
| 368 | +}); |
0 commit comments