Skip to content
Snippets Groups Projects
Commit 27f32cda authored by esikkala's avatar esikkala
Browse files

Sketch facet priorities

parent bcd8095a
No related branches found
No related tags found
No related merge requests found
...@@ -251,40 +251,36 @@ export const stateToUrl = ({ ...@@ -251,40 +251,36 @@ export const stateToUrl = ({
if (sortBy !== null) { params.sortBy = sortBy; } if (sortBy !== null) { params.sortBy = sortBy; }
if (sortDirection !== null) { params.sortDirection = sortDirection; } if (sortDirection !== null) { params.sortDirection = sortDirection; }
if (variant !== null) { params.variant = variant; } if (variant !== null) { params.variant = variant; }
let uriFilters = {}; let constraints = {};
let spatialFilters = {};
let textFilters = {};
let timespanFilters = {};
let activeUriFilters = false;
let activeSpatialFilters = false;
let activeTextFilters = false;
let activeTimespanFilters = false;
for (const [key, value] of Object.entries(facets)) { for (const [key, value] of Object.entries(facets)) {
if (has(value, 'uriFilter') && value.uriFilter !== null) { if (has(value, 'uriFilter') && value.uriFilter !== null) {
activeUriFilters = true; constraints[key] = {
uriFilters[key] = Object.keys(value.uriFilter); filterType: value.filterType,
priority: value.priority,
values: Object.keys(value.uriFilter)
};
} else if (has(value, 'spatialFilter') && value.spatialFilter !== null) { } else if (has(value, 'spatialFilter') && value.spatialFilter !== null) {
activeSpatialFilters = true; constraints[key] = {
spatialFilters[key] = boundsToValues(value.spatialFilter._bounds); filterType: value.filterType,
priority: value.priority,
values: boundsToValues(value.spatialFilter._bounds)
};
} else if (has(value, 'textFilter') && value.textFilter !== null) { } else if (has(value, 'textFilter') && value.textFilter !== null) {
activeTextFilters = true; constraints[key] = {
textFilters[key] = value.textFilter; filterType: value.filterType,
priority: value.priority,
values: value.textFilter
};
} else if (has(value, 'timespanFilter') && value.timespanFilter !== null) { } else if (has(value, 'timespanFilter') && value.timespanFilter !== null) {
activeTimespanFilters = true; constraints[key] = {
timespanFilters[key] = value.timespanFilter; filterType: value.filterType,
priority: value.priority,
values: value.timespanFilter
};
} }
} }
if (activeUriFilters) { if (Object.keys(constraints).length > 0) {
params.uriFilters = JSON.stringify(uriFilters); params.constraints = JSON.stringify(constraints);
}
if (activeSpatialFilters) {
params.spatialFilters = JSON.stringify(spatialFilters);
}
if (activeTextFilters) {
params.textFilters = JSON.stringify(textFilters);
}
if (activeTimespanFilters) {
params.timespanFilters = JSON.stringify(timespanFilters);
} }
return querystring.stringify(params); return querystring.stringify(params);
}; };
......
...@@ -16,23 +16,6 @@ export const INITIAL_STATE = { ...@@ -16,23 +16,6 @@ export const INITIAL_STATE = {
facetUpdateID: 0, facetUpdateID: 0,
updatedFilter: null, updatedFilter: null,
facets: { facets: {
label: {
id: 'label',
label: 'Label',
// predicate: defined in backend
distinctValueCount: 0,
values: [],
flatValues: [],
//sortBy: 'instanceCount',
//sortDirection: 'desc',
sortButton: false,
spatialFilterButton: false,
isFetching: false,
searchField: false,
containerClass: 'one',
filterType: 'textFilter',
textFilter: null,
},
type: { type: {
id: 'type', id: 'type',
label: 'Type', label: 'Type',
...@@ -49,7 +32,8 @@ export const INITIAL_STATE = { ...@@ -49,7 +32,8 @@ export const INITIAL_STATE = {
containerClass: 'three', containerClass: 'three',
filterType: 'uriFilter', filterType: 'uriFilter',
uriFilter: null, uriFilter: null,
spatialFilter: null spatialFilter: null,
priority: 3
}, },
eventTimespan: { eventTimespan: {
id: 'eventTimespan', id: 'eventTimespan',
...@@ -69,7 +53,8 @@ export const INITIAL_STATE = { ...@@ -69,7 +53,8 @@ export const INITIAL_STATE = {
min: null, min: null,
max: null, max: null,
timespanFilter: null, timespanFilter: null,
type: 'timespan' type: 'timespan',
priority: 2
}, },
place: { place: {
id: 'place', id: 'place',
...@@ -88,7 +73,8 @@ export const INITIAL_STATE = { ...@@ -88,7 +73,8 @@ export const INITIAL_STATE = {
filterType: 'uriFilter', filterType: 'uriFilter',
uriFilter: null, uriFilter: null,
spatialFilter: null, spatialFilter: null,
type: 'hierarchical' type: 'hierarchical',
priority: 1
}, },
} }
}; };
......
...@@ -48,7 +48,8 @@ app.get(`${apiPath}/:resultClass/paginated`, async (req, res, next) => { ...@@ -48,7 +48,8 @@ app.get(`${apiPath}/:resultClass/paginated`, async (req, res, next) => {
textFilters: req.query.textFilters == null ? null : JSON.parse(req.query.textFilters), textFilters: req.query.textFilters == null ? null : JSON.parse(req.query.textFilters),
timespanFilters: req.query.timespanFilters == null ? null : JSON.parse(req.query.timespanFilters), timespanFilters: req.query.timespanFilters == null ? null : JSON.parse(req.query.timespanFilters),
sortBy: req.query.sortBy || null, sortBy: req.query.sortBy || null,
sortDirection: req.query.sortDirection || null sortDirection: req.query.sortDirection || null,
constraints: req.query.constraints
}); });
res.json(data); res.json(data);
} catch(error) { } catch(error) {
......
...@@ -206,7 +206,7 @@ const getPaginatedData = ({ ...@@ -206,7 +206,7 @@ const getPaginatedData = ({
resultSetProperties = ''; resultSetProperties = '';
} }
q = q.replace('<RESULT_SET_PROPERTIES>', resultSetProperties); q = q.replace('<RESULT_SET_PROPERTIES>', resultSetProperties);
// console.log(prefixes + q) console.log(prefixes + q)
return runSelectQuery(prefixes + q, endpoint, makeObjectList); return runSelectQuery(prefixes + q, endpoint, makeObjectList);
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment