diff --git a/src/QueryGenerators.js b/src/QueryGenerators.js index 06828717f94a3d7fe9b4d9ee394471aa3684eae8_c3JjL1F1ZXJ5R2VuZXJhdG9ycy5qcw==..797209e7e9cd41ada01a62be51012e4ab6fd68a2_c3JjL1F1ZXJ5R2VuZXJhdG9ycy5qcw== 100644 --- a/src/QueryGenerators.js +++ b/src/QueryGenerators.js @@ -202,7 +202,7 @@ for (var key in component.CriteriaGroup.EndClassWidgetGroup.selectedValues) { var value = component.CriteriaGroup.EndClassWidgetGroup.selectedValues[key]; jsonQuery.where.push( - this.initFilterTime(value.start, value.stop, objectVariable) + this.initFilterTime(value.start, value.stop, objectVariable, _WidgetType) ) ; } break; @@ -291,29 +291,27 @@ } ; } - initFilterTime(StartYear, EndYear, index) { - - var filters = new Array ; - if (StartYear != null) { - filters.push( { - "type": "operation", - "operator": ">=", - "args": [ - ""+index+"", - "\""+StartYear+"\"^^http://www.w3.org/2001/XMLSchema#date" - ] - }) ; - } - if (EndYear != null) { - filters.push( { - "type": "operation", - "operator": "<=", - "args": [ - ""+index+"", - "\""+EndYear+"\"^^http://www.w3.org/2001/XMLSchema#date" - ] - }) ; - } + initFilterTime(StartYear, EndYear, index, widgetType) { + let xsdType = "http://www.w3.org/2001/XMLSchema#date"; + if (widgetType === Config.TIME_PROPERTY_YEAR) { + xsdType = "http://www.w3.org/2001/XMLSchema#gYear"; + } + + var filters = new Array(); + if (StartYear != null) { + filters.push({ + type: "operation", + operator: ">=", + args: ["" + index + "", '"' + StartYear + '"^^' + xsdType], + }); + } + if (EndYear != null) { + filters.push({ + type: "operation", + operator: "<=", + args: ["" + index + "", '"' + EndYear + '"^^' + xsdType], + }); + } if (filters.length == 2 ) { return { @@ -397,4 +395,4 @@ module.exports = { DefaultQueryGenerator: DefaultQueryGenerator -} \ No newline at end of file +}