This repository has been archived by the owner on May 29, 2019. It is now read-only.
fix(datepicker): fix popup to work with ng-model-options:updateOn='default' #5529
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using datepicker with popup and
ng-model-options="{ updateOn: 'default'}"
, value can not be set via popup.Plnkr with the problem(and hacky solution):
http://plnkr.co/edit/4LLbxCkWBzoPwJuOAbye?p=preview
This PR fixes this problem and selection(update model) via datepicker popup is possible again.
Use case for this scenario
Often we define
ng-model-options={ updateOn: 'blur'}
for multiple wrapped elements(e.g form).For datepicker that is inside that element(form) usually doesn't make sense to update model value on blur, so we need to add
ng-model-options
to the datepicker element.Technical information
AngularJS directive
ng-model-options
parses the given expression and object that is set tongModel.$options
is different then the object in expression. Here isngModelOptions
directives from angularJS code that changes this:So when we use
ngModelOptions.$options
value to compileuib-datepicker-popup-wrap
, we loseupdateOn
property and ngModel can not be updated using the pop up.