Skip to content

Commit

Permalink
Merge pull request #188 from joshbowman/feature/dropdown-fix
Browse files Browse the repository at this point in the history
Dropdown not defaulting when ngModel set to false
  • Loading branch information
robmcguinness committed Feb 3, 2016
2 parents cdf87b6 + b9fbd97 commit 35c5baf
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
2 changes: 1 addition & 1 deletion lib/ui/dropdown/dropdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@

var viewValue = self.ngModel.$viewValue;
var selected = null;
if(viewValue) {
if(viewValue !== null && viewValue !== undefined) {
selected = this.getSelected(viewValue);
}

Expand Down
29 changes: 28 additions & 1 deletion lib/ui/dropdown/tests/dropdown-spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ describe('avDropdown', function() {
'multiple': '<select name="demoSelect" class="form-control select2" placeholder="Select Multiple" data-av-dropdown data-ng-model="demo.selected" multiple data-ng-options="selection for selection in demo.selections"></select>',
'ajax': '<input type="hidden" name="demoSelect" id="ajaxTest" class="form-control select2" data-av-dropdown data-ng-model="demo.selected" data-placeholder="Select One" data-query="demo.myQuery" data-minimum-input-length="0" data-format-result="demo.myFormatResult" data-format-selection="demo.myFormatResult">',
'ajaxMultiple': '<input type="hidden" name="demoSelect" id="ajaxTest" class="form-control select2" multiple data-av-dropdown data-ng-model="demo.selected" data-placeholder="Select One" data-query="demo.myQuery" data-minimum-input-length="0" data-format-result="demo.myFormatResult" data-format-selection="demo.myFormatResult">',
'events': '<select name="demoSelect" class="form-control select2" placeholder="Select One" data-av-dropdown data-ng-model="demo.selected" data-ng-options="selection for selection in demo.selections" data-event-listeners="demo.eventListeners"></select>'
'events': '<select name="demoSelect" class="form-control select2" placeholder="Select One" data-av-dropdown data-ng-model="demo.selected" data-ng-options="selection for selection in demo.selections" data-event-listeners="demo.eventListeners"></select>',
'boolModel': '<select name="demoSelect" class="form-control select2" placeholder="Select One" data-av-dropdown data-ng-model="demo.selected" data-ng-options="selection.code as selection.value for selection in demo.selections"></select>'
};
// jscs: enable

Expand Down Expand Up @@ -137,6 +138,32 @@ describe('avDropdown', function() {

});

it('should update when model is set to false', function () {

availity.mock.$scope.demo = {};
availity.mock.$scope.demo.selections = [
{
code: true,
value: 'Yes'
},
{
code: false,
value: 'No'
}
];

$el = availity.mock.compileDirective(fixtures['boolModel']);

availity.mock.flush();

availity.mock.$scope.demo.selected = availity.mock.$scope.demo.selections[1].code;
availity.mock.$scope.$apply();
availity.mock.flush();
expect($el.select2('val')).toBe('1');

});


it('should update when value selector is specified', function () {

availity.mock.$scope.demo = {};
Expand Down

0 comments on commit 35c5baf

Please sign in to comment.