diff --git a/client/common/directives/ModelFieldReference/ModelFieldReference.js b/client/common/directives/ModelFieldReference/ModelFieldReference.js index 6360c68c..a63234e9 100644 --- a/client/common/directives/ModelFieldReference/ModelFieldReference.js +++ b/client/common/directives/ModelFieldReference/ModelFieldReference.js @@ -60,6 +60,7 @@ angular.module('dashboard.directives.ModelFieldReference', [ scope.selected.items = []; //for multi-select scope.selected.item = null; //for single select; initialize to null so placeholder is displayed scope.list = []; + scope.isDefaultSet = false; /** * Watch for scope.data. If it has no data, it will clear the selected item/s. @@ -167,12 +168,19 @@ angular.module('dashboard.directives.ModelFieldReference', [ scope.list.unshift(addNewItem); } - if (typeof scope.options.defaultIndex === 'number') { + if (typeof scope.options.defaultIndex === 'number' && !scope.isDefaultSet) { if (response[scope.options.defaultIndex]) { //scope.selected.items = [response[scope.options.defaultIndex]]; + scope.isDefaultSet = true; scope.onSelect(response[scope.options.defaultIndex]); } } + if (typeof scope.options.autofill === 'boolean' && scope.options.autofill && !scope.isDefaultSet) { + _.forEach(response, function(item) { + scope.onSelect(item); + }); + scope.isDefaultSet = true; + } }); };