From b5a1839b5fb132f6db0d54997985e93810117a45 Mon Sep 17 00:00:00 2001 From: Simon Leech <56163132+simon-leech@users.noreply.github.com> Date: Wed, 25 Sep 2024 18:14:07 +0100 Subject: [PATCH 1/2] Pass filter to minmax --- lib/ui/layers/filters.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ui/layers/filters.mjs b/lib/ui/layers/filters.mjs index e3c5c7f1eb..4820500147 100644 --- a/lib/ui/layers/filters.mjs +++ b/lib/ui/layers/filters.mjs @@ -166,6 +166,7 @@ async function generateMinMax(layer, filter) { layer: layer.key, table: layer.tableCurrent(), field: filter.field, + filter: layer.filter?.current })}`); // Assign min, max from response if not a number. From 1fd011dd139a2bd14f32910f5d9702fa1633dd5f Mon Sep 17 00:00:00 2001 From: AlexanderGeere Date: Thu, 26 Sep 2024 09:55:36 +0200 Subject: [PATCH 2/2] And test for current filter being used in minmax --- tests/lib/ui/layers/filters.test.mjs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/lib/ui/layers/filters.test.mjs b/tests/lib/ui/layers/filters.test.mjs index 7d92764e08..d958072356 100644 --- a/tests/lib/ui/layers/filters.test.mjs +++ b/tests/lib/ui/layers/filters.test.mjs @@ -48,7 +48,7 @@ export async function filtersTest(mapview) { //Delete the min value from the filter delete filter.min; - //Delte the lte value of the current filter otherwise it will not be changed in the next test + //Delete the lte value of the current filter otherwise it will not be changed in the next test delete layer.filter.current[filter.field].lte; }); @@ -67,5 +67,22 @@ export async function filtersTest(mapview) { codi.assertEqual(minInput.value, '100', 'The min should return 100.'); codi.assertEqual(maxInput.value, '1000', 'The max should return 1000'); }); + + await codi.it('Numeric Filter: layer.current specified as `lte: 200` and `gte: 800`', async () => { + + layer.filter.current[filter.field].lte = 800 + layer.filter.current[filter.field].gte = 200 + + const numericFilter = await mapp.ui.layers.filters.numeric(layer, filter); + const minInput = numericFilter.querySelector('div > input[type=range]:nth-child(3)'); + const maxInput = numericFilter.querySelector('div > input[type=range]:nth-child(4)'); + + codi.assertEqual(minInput.value, '200', 'The min should return 200.'); + codi.assertEqual(maxInput.value, '800', 'The max should return 800'); + + //Delete the lte/gte value of the current filter otherwise it will not be changed in the next test + delete layer.filter.current[filter.field].lte; + delete layer.filter.current[filter.field].gte; + }) }); } \ No newline at end of file