From 56235cd649cf721da54feb46c4c8b76a6620c757 Mon Sep 17 00:00:00 2001 From: HFragnaud Date: Tue, 19 Jun 2018 11:16:00 +0200 Subject: [PATCH] #193 --- validation_service/app/js/controller.js | 24 ++++++++++++++++--- .../model_catalog/model-catalog.tpl.html | 19 +++++++++++---- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/validation_service/app/js/controller.js b/validation_service/app/js/controller.js index d468af0f4..e517ad776 100644 --- a/validation_service/app/js/controller.js +++ b/validation_service/app/js/controller.js @@ -1062,7 +1062,12 @@ ModelCatalogApp.filter('filterMultiple', ['$parse', '$filter', function($parse, if (angular.isDefined(obj[i]['value'])) { fObj[key] = obj[i]['value']; } else { - fObj[key] = obj[i]; + if (key == 'collab_id') { //specific for Model Catalog home: to allow filter by collab (deep filter) + fObj['app'] = {} + fObj['app'][key] = obj[i]; + } else { + fObj[key] = obj[i]; + } } fData = fData.concat($filter('filter')(this.filteredData, fObj)); } @@ -1121,8 +1126,20 @@ ModelCatalogApp.controller('ModelCatalogCtrl', [ return models } + $scope._get_collab_and_app_ids_from_models = function() { + for (var i in $scope.models.models) { + if ($scope.models.models[i].app != null) { + if ($scope.collab_ids_to_select.indexOf($scope.models.models[i].app.collab_id.toString()) == -1) { + $scope.collab_ids_to_select.push($scope.models.models[i].app.collab_id.toString()); + } + } + } + $scope.$apply(); + } + $scope.$on('models_updated', function(event, models) { $scope.models = $scope._change_empty_organization_string(models); + $scope.collab_ids_to_select = $scope._get_collab_and_app_ids_from_models(); }); Context.setService().then(function() { @@ -1167,8 +1184,9 @@ ModelCatalogApp.controller('ModelCatalogCtrl', [ $scope.collab_cell_type = CollabParameters.getParametersOrDefaultByType("cell_type"); $scope.collab_model_type = CollabParameters.getParametersOrDefaultByType("model_type"); $scope.collab_organization = CollabParameters.getParametersOrDefaultByType("organization"); - - + $scope.collab_ids_to_select = new Array(); + $scope._get_collab_and_app_ids_from_models(); + // $scope.selected_collab = $scope.collab_ids_to_select //initialize $scope.is_collab_member = false; diff --git a/validation_service/app/templates/model_catalog/model-catalog.tpl.html b/validation_service/app/templates/model_catalog/model-catalog.tpl.html index 63287b319..e7bb96dde 100644 --- a/validation_service/app/templates/model_catalog/model-catalog.tpl.html +++ b/validation_service/app/templates/model_catalog/model-catalog.tpl.html @@ -8,9 +8,7 @@

Model Catalog

@@ -58,8 +68,9 @@

Model Catalog

- + {{ model.name}} {{ model.alias }} {{ model.species }}