diff --git a/public/callbacks.js b/public/callbacks.js index c8bde23..98b701d 100644 --- a/public/callbacks.js +++ b/public/callbacks.js @@ -7,6 +7,11 @@ define(function (require) { const utils = require('plugins/enhanced_tilemap/utils'); const L = require('leaflet'); + function addSirenPropertyToFilterMetaAndAddGeoFilter(newFilter, sirenMeta, fieldname, indexPatternId) { + filterHelper.addSirenPropertyToFilterMeta(newFilter, sirenMeta); + geoFilter.add(newFilter, fieldname, indexPatternId); + } + return { createMarker: function (event) { const agg = _.get(event, 'chart.geohashGridAgg'); @@ -66,8 +71,8 @@ define(function (require) { } }); }); - filterHelper.addSirenPropertyToFilterMeta(boolFilter, event.sirenMeta); - geoFilter.add(boolFilter, event.field.fieldname, event.indexPatternId); + + addSirenPropertyToFilterMetaAndAddGeoFilter(boolFilter, event.sirenMeta, event.field.fieldname, event.indexPatternId); }, polygonVector: function (event) { if (!event.args.vector) return; @@ -83,9 +88,7 @@ define(function (require) { newFilter.geo_polygon[field] = { polygons: event.points }; } - filterHelper.addSirenPropertyToFilterMeta(newFilter, event.args._siren); - geoFilter.add(newFilter, field, event.args.indexPattern); - + addSirenPropertyToFilterMetaAndAddGeoFilter(newFilter, event.args._siren, field, event.args.indexPattern); }, polygon: function (event) { let newFilter; @@ -109,24 +112,17 @@ define(function (require) { newFilter = { geo_polygon: {} }; newFilter.geo_polygon[field] = { points: event.points }; } - - filterHelper.addSirenPropertyToFilterMeta(newFilter, event.sirenMeta); - geoFilter.add(newFilter, event.field.fieldname, event.indexPatternId); + addSirenPropertyToFilterMetaAndAddGeoFilter(newFilter, event.sirenMeta, event.field.fieldname, event.indexPatternId); }, rectangle: function (event) { const newFilter = geoFilter.rectFilter( - event.field.fieldname, event.field.geotype, event.bounds.top_left, event.bounds.bottom_right); - - filterHelper.addSirenPropertyToFilterMeta(newFilter, event.sirenMeta); - geoFilter.add(newFilter, event.field.fieldname, event.indexPatternId); + event.field.fieldname, event.field.geotype, event.bounds.top_left, event.bounds.bottom_right + ); + addSirenPropertyToFilterMetaAndAddGeoFilter(newFilter, event.sirenMeta, event.field.fieldname, event.indexPatternId); }, circle: function (event) { - const newFilter = geoFilter.circleFilter( - event.field.fieldname, event.center[0], event.center[1], event.radius - ); - - filterHelper.addSirenPropertyToFilterMeta(newFilter, event.sirenMeta); - geoFilter.add(newFilter, event.field.fieldname, event.indexPatternId); + const newFilter = geoFilter.circleFilter(event.field.fieldname, event.center[0], event.center[1], event.radius); + addSirenPropertyToFilterMetaAndAddGeoFilter(newFilter, event.sirenMeta, event.field.fieldname, event.indexPatternId); } }; }; diff --git a/public/vislib/__tests__/geoFilter.js b/public/vislib/__tests__/geoFilter.js index 67ed5f5..1f84bf3 100644 --- a/public/vislib/__tests__/geoFilter.js +++ b/public/vislib/__tests__/geoFilter.js @@ -43,7 +43,6 @@ define(function (require) { } }]; - console.log(result); const expectedDonutsToExcludeLength = 0; expect(result.polygonsToFilter).to.eql(expectedPolygonFilter); expect(result.donutsToExclude.length).to.eql(expectedDonutsToExcludeLength); diff --git a/public/vislib/geoFilter.js b/public/vislib/geoFilter.js index 16844fe..94ffe7b 100644 --- a/public/vislib/geoFilter.js +++ b/public/vislib/geoFilter.js @@ -22,12 +22,11 @@ define(function (require) { return `${field}: ${numBoxes} ${numBoxes === 1 ? 'shape' : 'shapes'}`; } - function _createPolygonFilter(polygonsToFilter, meta) { + function _createPolygonFilter(polygonsToFilter) { return { bool: { should: polygonsToFilter - }, - meta + } }; } @@ -39,11 +38,11 @@ define(function (require) { const polygons = newFilter.geo_multi_polygon[field].polygons; polygonFiltersAndDonuts = geoFilterHelper.analyseMultiPolygon(polygons, field); numShapes = polygons.length; - newFilter = _createPolygonFilter(polygonFiltersAndDonuts.polygonsToFilter, newFilter.meta); + newFilter = _createPolygonFilter(polygonFiltersAndDonuts.polygonsToFilter); } else if (newFilter.geo_polygon && newFilter.geo_polygon[field].polygons) { //Only analyse vector geo polygons, i.e. not drawn ones polygonFiltersAndDonuts = geoFilterHelper.analyseSimplePolygon(newFilter, field); - newFilter = _createPolygonFilter(polygonFiltersAndDonuts.polygonsToFilter, newFilter.meta); + newFilter = _createPolygonFilter(polygonFiltersAndDonuts.polygonsToFilter); } else if (newFilter.bool) { //currently this in only for multiple geo_distance filters numShapes = newFilter.bool.should.length; @@ -357,7 +356,7 @@ define(function (require) { * @param bottom_right {Object} bottom right at and lon (decimal degrees) * @return {Object} elasticsearch geospatial rectangle filter */ - function rectFilter(fieldname, geotype, topLeft, bottomRight, meta) { + function rectFilter(fieldname, geotype, topLeft, bottomRight) { let geofilter = null; if ('geo_point' === geotype) { geofilter = { geo_bounding_box: {} }; @@ -380,9 +379,6 @@ define(function (require) { console.warn('unexpected geotype: ' + geotype); } - if (meta) { - geofilter.meta = meta; - } return geofilter; }