adding callback for when options are received

This commit is contained in:
jaredevantabor 2016-12-14 14:58:40 -08:00
parent d2f267c34c
commit 976e9bfe82
2 changed files with 19 additions and 8 deletions

View File

@ -18,13 +18,23 @@ export default ['$q', 'Rest', 'ProcessErrors', '$rootScope', 'Wait', 'DjangoSear
// grab a single model from the cache, if present
if (cache.get(path)) {
defer.resolve({[name] : new DjangoSearchModel(name, path, cache.get(path), relations)});
defer.resolve({
models: {
[name] : new DjangoSearchModel(name, path, cache.get(path), relations)
},
options: cache.get(path)
});
} else {
this.url = path;
resolve = this.options(path)
.then((res) => {
base = res.data.actions.GET;
defer.resolve({[name]: new DjangoSearchModel(name, path, base, relations)});
defer.resolve({
models: {
[name]: new DjangoSearchModel(name, path, base, relations)
},
options: res
});
});
}
return defer.promise;
@ -76,9 +86,9 @@ export default ['$q', 'Rest', 'ProcessErrors', '$rootScope', 'Wait', 'DjangoSear
if (Array.isArray(value)){
return _.map(value, (item) => {
return `${key.split('__').join(':')}:${item}`;
});
});
}
else {
else {
return `${key.split('__').join(':')}:${value}`;
}
},

View File

@ -15,8 +15,9 @@ export default ['$stateParams', '$scope', '$state', 'QuerySet', 'GetBasePath', '
path = GetBasePath($scope.basePath) || $scope.basePath;
relations = getRelationshipFields($scope.dataset.results);
$scope.searchTags = stripDefaultParams($state.params[`${$scope.iterator}_search`]);
qs.initFieldset(path, $scope.djangoModel, relations).then((models) => {
$scope.models = models;
qs.initFieldset(path, $scope.djangoModel, relations).then((data) => {
$scope.models = data.models;
$scope.$emit(`${$scope.list.iterator}_options`, data.options);
});
}
@ -102,12 +103,12 @@ export default ['$stateParams', '$scope', '$state', 'QuerySet', 'GetBasePath', '
params.page = '1';
queryset = _.merge(queryset, params, (objectValue, sourceValue, key, object) => {
if (object[key] && object[key] !== sourceValue){
return [object[key], sourceValue];
return [object[key], sourceValue];
}
else {
// // https://lodash.com/docs/3.10.1#merge
// If customizer fn returns undefined merging is handled by default _.merge algorithm
return undefined;
return undefined;
}
});
// https://ui-router.github.io/docs/latest/interfaces/params.paramdeclaration.html#dynamic