(fix) Partial fix for md-contact-chips
Those fixes resolve the JavaScript errors, but the behavior is wrong; the displayed results are delayed with respect to the search string. md-contact-chips is expected to change (for the best) soon.pull/91/head
parent
ab38134ba9
commit
9f9cd68997
|
@ -318,7 +318,7 @@
|
|||
</label>
|
||||
<md-contact-chips
|
||||
ng-model="card.refs"
|
||||
md-contacts="currentFolder.$filter($query, {dry: true, excludeLists: true})"
|
||||
md-contacts="userFilter($query)"
|
||||
md-contact-name="$$fullname"
|
||||
md-contact-image="$$image"
|
||||
md-contact-email="$$email"
|
||||
|
|
|
@ -453,8 +453,7 @@
|
|||
md-contact-email="c_email"
|
||||
md-require-match="md-require-match"
|
||||
filter-selected="false"
|
||||
placeholder="Add">
|
||||
</md-contact-chips>
|
||||
placeholder="Add"><!-- users --></md-contact-chips>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -40,10 +40,19 @@
|
|||
* @return a promise of an array of matching User objects
|
||||
*/
|
||||
User.$filter = function(search) {
|
||||
var param = {search: search};
|
||||
if (!search)
|
||||
return User.$q.when([]);
|
||||
return User.$$resource.fetch(null, 'usersSearch', param).then(function(response) {
|
||||
var deferred = User.$q.defer(),
|
||||
param = {search: search};
|
||||
|
||||
if (!search) {
|
||||
User.$users = [];
|
||||
deferred.resolve(User.$users);
|
||||
return deferred.promise;
|
||||
}
|
||||
if (angular.isUndefined(User.$users)) {
|
||||
User.$users = [];
|
||||
}
|
||||
|
||||
User.$$resource.fetch(null, 'usersSearch', param).then(function(response) {
|
||||
var results = [];
|
||||
angular.forEach(response.users, function(data) {
|
||||
console.debug(JSON.stringify(data, undefined, 2));
|
||||
|
@ -51,8 +60,10 @@
|
|||
results.push(user);
|
||||
});
|
||||
User.$users = results;
|
||||
return results;
|
||||
});
|
||||
deferred.resolve(results);
|
||||
}, deferred.reject);
|
||||
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
$scope.allUrlTypes = Card.$URL_TYPES;
|
||||
$scope.allAddressTypes = Card.$ADDRESS_TYPES;
|
||||
$scope.categories = {};
|
||||
$scope.userFilterResults = [];
|
||||
|
||||
$scope.addOrgUnit = function() {
|
||||
var i = $scope.card.$addOrgUnit('');
|
||||
|
@ -41,6 +42,12 @@
|
|||
var i = $scope.card.$addMember('');
|
||||
focus('ref_' + i);
|
||||
};
|
||||
$scope.userFilter = function($query) {
|
||||
$scope.currentFolder.$filter($query, {dry: true, excludeLists: true}).then(function(results) {
|
||||
$scope.userFilterResults = results;
|
||||
});
|
||||
return $scope.userFilterResults;
|
||||
};
|
||||
$scope.save = function(form) {
|
||||
if (form.$valid) {
|
||||
$scope.card.$save()
|
||||
|
|
|
@ -146,11 +146,8 @@
|
|||
}
|
||||
|
||||
function userFilter($query) {
|
||||
var deferred = $q.defer();
|
||||
User.$filter($query).then(function(results) {
|
||||
deferred.resolve(results)
|
||||
});
|
||||
return deferred.promise;
|
||||
User.$filter($query);
|
||||
return User.$users;
|
||||
}
|
||||
|
||||
function save() {
|
||||
|
|
Loading…
Reference in New Issue