aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/projects/store
diff options
context:
space:
mode:
authorGrégoire Aubert <gregaubert@users.noreply.github.com>2017-03-16 10:37:59 +0100
committerGitHub <noreply@github.com>2017-03-16 10:37:59 +0100
commit24998ec360f43a7a745d88a5856d5828ba2d11ad (patch)
tree90aa0d3cbece6841da79a6782e16bfac6ebc2a78 /server/sonar-web/src/main/js/apps/projects/store
parent9db4eb325adf58b3c51bc7ae0bce65a361e98a74 (diff)
downloadsonarqube-24998ec360f43a7a745d88a5856d5828ba2d11ad.tar.gz
sonarqube-24998ec360f43a7a745d88a5856d5828ba2d11ad.zip
SONAR-8922 Add tags facet on project page (#1790)
* Refactor the way filters are rendered * SONAR-8922 Add the tags facet on the projects page * SONAR-8923 Add the tags searchbox
Diffstat (limited to 'server/sonar-web/src/main/js/apps/projects/store')
-rw-r--r--server/sonar-web/src/main/js/apps/projects/store/actions.js3
-rw-r--r--server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js3
-rw-r--r--server/sonar-web/src/main/js/apps/projects/store/utils.js19
3 files changed, 15 insertions, 10 deletions
diff --git a/server/sonar-web/src/main/js/apps/projects/store/actions.js b/server/sonar-web/src/main/js/apps/projects/store/actions.js
index ad6cb7f0377..4f1b29642ff 100644
--- a/server/sonar-web/src/main/js/apps/projects/store/actions.js
+++ b/server/sonar-web/src/main/js/apps/projects/store/actions.js
@@ -54,7 +54,8 @@ const FACETS = [
'duplicated_lines_density',
'ncloc',
'alert_status',
- 'languages'
+ 'languages',
+ 'tags'
];
const onFail = dispatch => error => {
diff --git a/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js b/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js
index 9523540b065..03640a8b2f4 100644
--- a/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js
+++ b/server/sonar-web/src/main/js/apps/projects/store/facetsDuck.js
@@ -29,8 +29,7 @@ const CUMULATIVE_FACETS = [
'maintainability',
'coverage',
'duplications',
- 'size',
- 'language'
+ 'size'
];
const REVERSED_FACETS = [
diff --git a/server/sonar-web/src/main/js/apps/projects/store/utils.js b/server/sonar-web/src/main/js/apps/projects/store/utils.js
index b9d15c5140c..ca6feab5b21 100644
--- a/server/sonar-web/src/main/js/apps/projects/store/utils.js
+++ b/server/sonar-web/src/main/js/apps/projects/store/utils.js
@@ -55,6 +55,7 @@ export const parseUrlQuery = urlQuery => ({
'duplications': getAsNumericRating(urlQuery['duplications']),
'size': getAsNumericRating(urlQuery['size']),
'languages': getAsArray(urlQuery['languages'], getAsString),
+ 'tags': getAsArray(urlQuery['tags'], getAsString),
'search': getAsString(urlQuery['search']),
'sort': getAsString(urlQuery['sort'])
});
@@ -69,6 +70,7 @@ export const mapMetricToProperty = metricKey => {
'ncloc': 'size',
'alert_status': 'gate',
'languages': 'languages',
+ 'tags': 'tags',
'query': 'search'
};
return map[metricKey];
@@ -84,6 +86,7 @@ export const mapPropertyToMetric = property => {
'size': 'ncloc',
'gate': 'alert_status',
'languages': 'languages',
+ 'tags': 'tags',
'search': 'query'
};
return map[property];
@@ -177,14 +180,16 @@ const convertToFilter = (query, isFavorite) => {
}
});
- const { languages } = query;
- if (languages != null) {
- if (!Array.isArray(languages) || languages.length < 2) {
- conditions.push(mapPropertyToMetric('languages') + ' = ' + languages);
- } else {
- conditions.push(`${mapPropertyToMetric('languages')} IN (${languages.join(', ')})`);
+ ['languages', 'tags'].forEach(property => {
+ const items = query[property];
+ if (items != null) {
+ if (!Array.isArray(items) || items.length < 2) {
+ conditions.push(mapPropertyToMetric(property) + ' = ' + items);
+ } else {
+ conditions.push(`${mapPropertyToMetric(property)} IN (${items.join(', ')})`);
+ }
}
- }
+ });
if (query['search'] != null) {
conditions.push(`${mapPropertyToMetric('search')} = "${query['search']}"`);