Skip to content

Commit bd97ee8

Browse files
authored
Merge pull request #42 from frabnt/MH-2781
Add watcher on timepicker configuration options
2 parents 31d05b1 + 4958a32 commit bd97ee8

5 files changed

Lines changed: 40 additions & 3 deletions

File tree

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-jquery-timepicker",
3-
"version": "0.12.0",
3+
"version": "0.13.1",
44
"homepage": "https://github.com/Recras/angular-jquery-timepicker",
55
"description": "An AngularJS directive for jQuery Timepicker",
66
"main": "./src/timepickerdirective.js",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-jquery-timepicker",
3-
"version": "0.12.0",
3+
"version": "0.13.1",
44
"description": "An AngularJS directive for jQuery Timepicker",
55
"main": "./src/timepickerdirective.js",
66
"devDependencies": {

src/timepickerdirective.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@ m.directive('uiTimepicker', ['uiTimepickerConfig', '$parse', '$window', function
5858
ngModel.$render();
5959
}, true);
6060

61+
scope.$watch('uiTimepicker', function() {
62+
element.timepicker(
63+
'option',
64+
angular.extend(
65+
config, scope.uiTimepicker ?
66+
scope.uiTimepicker :
67+
{}
68+
)
69+
);
70+
ngModel.$render();
71+
}, true);
72+
6173
config.appendTo = config.appendTo || element.parent();
6274

6375
element.timepicker(

src/timepickerdirective.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/timepicker.spec.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,31 @@ describe('uiTimepicker', function() {
187187
expect(element.val()).toEqual('14:15');
188188
});
189189
});
190+
191+
it('should update the custom options when they change', function() {
192+
inject(function($compile, $rootScope) {
193+
var element, aDate, opts;
194+
aDate = new Date(2010, 12, 1, 14, 15);
195+
opts = {
196+
timeFormat: 'H:i'
197+
};
198+
element = $compile("<input ui-timepicker='opts' ng-model='x'/>")($rootScope);
199+
$rootScope.$apply(function() {
200+
$rootScope.opts = opts;
201+
});
202+
$rootScope.$apply(function() {
203+
$rootScope.x = aDate;
204+
});
205+
expect(element.val()).toEqual('14:15');
206+
opts = {
207+
timeFormat: 'H:i A'
208+
};
209+
$rootScope.$apply(function() {
210+
$rootScope.opts = opts;
211+
});
212+
expect(element.val()).toEqual('14:15 PM');
213+
});
214+
});
190215
});
191216

192217
describe('using required', function() {

0 commit comments

Comments
 (0)