Skip to content

Filtering support#4451

Open
Withalion wants to merge 26 commits intomasterfrom
dev/filtering
Open

Filtering support#4451
Withalion wants to merge 26 commits intomasterfrom
dev/filtering

Conversation

@Withalion
Copy link
Copy Markdown
Contributor

This PR encapsulates all work done for filtering in the mobile app.

The work introduces multiple new UI features showcased below:

  • filtering option in project options
  • filtering floating button on the map
  • filtering page
  • multiple filtering widgets inside the filtering page

tomasMizera and others added 22 commits February 10, 2026 21:29
Implement a filtering system that lets users filter map features
by field values. Supports text, number, and date/datetime range
filters with calendar picker integration.

- FilterController manages filter state, expression generation,
  and layer subset string application
- Filter panel UI with per-layer sections and field-type-aware inputs
- Date filters use MMCalendarDrawer with time picker for datetime
  fields and date-only picker for date fields
- Timezone-aware: converts local time to UTC for GeoPackage comparison
- Seconds/milliseconds normalization for inclusive time ranges
- Individual date clear buttons and range validation
- Filter button on map, settings toggle, feature list integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Switch the map filter button from outline to filled icon when
filters are applied, making the active state more visually distinct.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Detect ValueMap/ValueRelation editor widgets and show dropdown filter
instead of text/number input. Options are lazy-loaded via getDropdownOptions()
with search and a 100-item limit for large ValueRelation tables.
Multi-value fields (AllowMulti) use LIKE-based expressions to match
the {k1,k2} storage format. Selected items are always included in
the options list even when beyond the limit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Withalion Withalion added this to the 2026.2.0 milestone Apr 14, 2026
@Withalion Withalion added enhancement map tools Something is wrong with recording, geometry editing, splitting, stakeout, .. labels Apr 14, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 14, 2026

Coverage Report for CI Build 24420021124

Warning

No base build found for commit f12d704 on master.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 58.464%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 15064
Covered Lines: 8807
Line Coverage: 58.46%
Coverage Strength: 101.24 hits per line

💛 - Coveralls

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build Build failed or not found. #6689
linux Build 📬 Mergin Maps 67001 x86_64 Expires: 13/07/2026 #6700
win64 Build 📬 Mergin Maps 58841 win64 Expires: 13/07/2026 #5884
Android Build 📬 Mergin Maps 800151 APK [arm64-v8a] Expires: 13/07/2026 #8001
📬 Mergin Maps 800151 APK [arm64-v8a] Google Play Store #8001
Android Build 📬 Mergin Maps 800111 APK [armeabi-v7a] Expires: 13/07/2026 #8001
📬 Mergin Maps 800111 APK [armeabi-v7a] Google Play Store #8001
iOS Build 📬 Build number: 26.04.894011 #8940

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📬 Mergin Maps 66901 dmg Expires: 13/07/2026 #6690
linux Build 📬 Mergin Maps 67011 x86_64 Expires: 13/07/2026 #6701
win64 Build 📬 Mergin Maps 58851 win64 Expires: 13/07/2026 #5885
Android Build 📬 Mergin Maps 800251 APK [arm64-v8a] Expires: 13/07/2026 #8002
📬 Mergin Maps 800251 APK [arm64-v8a] Google Play Store #8002
Android Build 📬 Mergin Maps 800211 APK [armeabi-v7a] Expires: 13/07/2026 #8002
📬 Mergin Maps 800211 APK [armeabi-v7a] Google Play Store #8002
iOS Build 📬 Build number: 26.04.894111 #8941

1 similar comment
@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📬 Mergin Maps 66901 dmg Expires: 13/07/2026 #6690
linux Build 📬 Mergin Maps 67011 x86_64 Expires: 13/07/2026 #6701
win64 Build 📬 Mergin Maps 58851 win64 Expires: 13/07/2026 #5885
Android Build 📬 Mergin Maps 800251 APK [arm64-v8a] Expires: 13/07/2026 #8002
📬 Mergin Maps 800251 APK [arm64-v8a] Google Play Store #8002
Android Build 📬 Mergin Maps 800211 APK [armeabi-v7a] Expires: 13/07/2026 #8002
📬 Mergin Maps 800211 APK [armeabi-v7a] Google Play Store #8002
iOS Build 📬 Build number: 26.04.894111 #8941

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build Build failed or not found. #6691
linux Build 📬 Mergin Maps 67021 x86_64 Expires: 13/07/2026 #6702
win64 Build 📬 Mergin Maps 58861 win64 Expires: 13/07/2026 #5886
Android Build 📬 Mergin Maps 800311 APK [armeabi-v7a] Expires: 13/07/2026 #8003
📬 Mergin Maps 800311 APK [armeabi-v7a] Google Play Store #8003
Android Build 📬 Mergin Maps 800351 APK [arm64-v8a] Expires: 13/07/2026 #8003
📬 Mergin Maps 800351 APK [arm64-v8a] Google Play Store #8003
iOS Build 📬 Build number: 26.04.894211 #8942

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement map tools Something is wrong with recording, geometry editing, splitting, stakeout, ..

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants