Skip to content

Commit

Permalink
Merge pull request #183 from actionably/master
Browse files Browse the repository at this point in the history
allow endTime attr to change dynamically..
  • Loading branch information
siddii committed May 22, 2015
2 parents 06bc1ea + 2028013 commit 320ebf2
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 12 deletions.
6 changes: 6 additions & 0 deletions app/js/_timer.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ var timerModule = angular.module('timer', [])
}
});

$scope.$watch('endTimeAttr', function(newValue, oldValue) {
if (newValue !== oldValue && $scope.isRunning) {
$scope.start();
}
});

$scope.start = $element[0].start = function () {
$scope.startTime = $scope.startTimeAttr ? moment($scope.startTimeAttr) : moment();
$scope.endTime = $scope.endTimeAttr ? moment($scope.endTimeAttr) : null;
Expand Down
6 changes: 3 additions & 3 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"author": "Siddique Hameed",
"name": "angular-timer",
"version": "1.3.1",
"homepage": "https://github.com/siddii/angular-timer",
"version": "1.3.2",
"homepage": "https://github.com/actionably/angular-timer",
"description": "Angular-Timer : A simple AngularJS directive demonstrating re-usability & interoperability",
"repository": {
"type": "git",
"url": "git://github.com/siddii/angular-timer.git"
"url": "git://github.com/actionably/angular-timer.git"
},
"dependencies": {
"angular": ">= 1.0.7",
Expand Down
32 changes: 27 additions & 5 deletions dist/angular-timer.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* angular-timer - v1.3.1 - 2015-03-30 1:00 PM
* angular-timer - v1.3.1 - 2015-05-19 12:41 AM
* https://github.com/siddii/angular-timer
*
* Copyright (c) 2015 Siddique Hameed
Expand All @@ -18,6 +18,7 @@ var timerModule = angular.module('timer', [])
finishCallback: '&finishCallback',
autoStart: '&autoStart',
language: '@?',
fallback: '@?',
maxTimeUnit: '='
},
controller: ['$scope', '$element', '$attrs', '$timeout', 'I18nService', '$interpolate', 'progressBarService', function ($scope, $element, $attrs, $timeout, I18nService, $interpolate, progressBarService) {
Expand All @@ -37,15 +38,18 @@ var timerModule = angular.module('timer', [])


$scope.language = $scope.language || 'en';
$scope.fallback = $scope.fallback || 'en';

//allow to change the language of the directive while already launched
$scope.$watch('language', function() {
i18nService.init($scope.language);
$scope.$watch('language', function(newVal, oldVal) {
if(newVal !== undefined) {
i18nService.init(newVal, $scope.fallback);
}
});

//init momentJS i18n, default english
var i18nService = new I18nService();
i18nService.init($scope.language);
i18nService.init($scope.language, $scope.fallback);

//progress bar
$scope.displayProgressBar = 0;
Expand Down Expand Up @@ -99,6 +103,12 @@ var timerModule = angular.module('timer', [])
}
});

$scope.$watch('endTimeAttr', function(newValue, oldValue) {
if (newValue !== oldValue && $scope.isRunning) {
$scope.start();
}
});

$scope.start = $element[0].start = function () {
$scope.startTime = $scope.startTimeAttr ? moment($scope.startTimeAttr) : moment();
$scope.endTime = $scope.endTimeAttr ? moment($scope.endTimeAttr) : null;
Expand Down Expand Up @@ -336,10 +346,22 @@ app.factory('I18nService', function() {
var I18nService = function() {};

I18nService.prototype.language = 'en';
I18nService.prototype.fallback = 'en';
I18nService.prototype.timeHumanizer = {};

I18nService.prototype.init = function init(lang){
I18nService.prototype.init = function init(lang, fallback) {
var supported_languages = humanizeDuration.getSupportedLanguages();

this.fallback = (fallback !== undefined) ? fallback : 'en';
if (supported_languages.indexOf(fallback) === -1) {
this.fallback = 'en';
}

this.language = lang;
if (supported_languages.indexOf(lang) === -1) {
this.language = this.fallback;
}

//moment init
moment.locale(this.language); //@TODO maybe to remove, it should be handle by the user's application itself, and not inside the directive

Expand Down
4 changes: 2 additions & 2 deletions dist/angular-timer.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 320ebf2

Please sign in to comment.