Skip to content
Merged
Show file tree
Hide file tree
Changes from 91 commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
517792e
Merge branch 'main' of https://github.com/getodk/web-forms into selec…
latin-panda Aug 20, 2025
ef0cb3a
Merge branch 'main' of https://github.com/getodk/web-forms into selec…
latin-panda Aug 21, 2025
0cd76eb
engine support for metadata in itemset nodes
latin-panda Aug 25, 2025
68da647
Merge branch 'main' of https://github.com/getodk/web-forms into selec…
latin-panda Aug 27, 2025
16f3cde
Async map bundle loading
latin-panda Aug 28, 2025
66e9764
typing
latin-panda Aug 28, 2025
a7dea73
Map Component
latin-panda Sep 1, 2025
4823ebf
Adds new icons
latin-panda Sep 3, 2025
1e9feec
removes cache buste and timeout
latin-panda Sep 3, 2025
b009dc7
Map UI features: properties popup and status bar
latin-panda Sep 4, 2025
93cc3a8
Merge branch 'main' of https://github.com/getodk/web-forms into selec…
latin-panda Sep 4, 2025
525d890
Merge branch 'select-one-for-map' of https://github.com/getodk/web-fo…
latin-panda Sep 4, 2025
01a4fa5
fixes styles and icons based on feedback
latin-panda Sep 4, 2025
78872b2
Merge branch 'main' of https://github.com/getodk/web-forms into ui-se…
latin-panda Sep 22, 2025
dcf7902
Merge branch 'main' of https://github.com/getodk/web-forms into ui-se…
latin-panda Sep 22, 2025
313e751
Reverts changes in engine. We decided another solution
latin-panda Sep 22, 2025
6c0ab6f
Applies latest designer feedback
latin-panda Sep 23, 2025
4b0a7e4
fixes lint, handles esc key
latin-panda Sep 23, 2025
2467720
Makes lines less thick
latin-panda Sep 23, 2025
294ddd5
stacking errors
latin-panda Sep 23, 2025
a4d3056
Adds map background for full screen
latin-panda Sep 23, 2025
087645f
Adds support for properties in the engine
latin-panda Sep 24, 2025
34ebdb4
Fixes scenario tests
latin-panda Sep 25, 2025
62562bf
Integration engine and client
latin-panda Sep 26, 2025
7ff1896
Refactored component input types and fixed view center when no features
latin-panda Sep 29, 2025
f1494a6
Simplified map ref and source get
latin-panda Sep 29, 2025
c7657c2
Flat and prefixed properties to avoid OL conflicts, fixes polygon cal…
latin-panda Sep 29, 2025
07d288d
fixes click binding for disable question
latin-panda Sep 29, 2025
40b9ea4
fixes lint
latin-panda Sep 29, 2025
d944129
Feedback for async map and properties components
latin-panda Sep 30, 2025
8b9db70
Feedback for useMapBlock
latin-panda Sep 30, 2025
4ec6fbc
Feedback for line's hit tolerance
latin-panda Sep 30, 2025
6ecc1a0
Feedback for line's hit tolerance
latin-panda Sep 30, 2025
84a54a5
Merge branch 'main' of https://github.com/getodk/web-forms into ui-se…
latin-panda Sep 30, 2025
acb419f
changeset
latin-panda Sep 30, 2025
0705a5d
Improves style filters
latin-panda Sep 30, 2025
979ec9d
Feedback - properties popup
latin-panda Oct 1, 2025
61602e3
Feedback - map buttons
latin-panda Oct 1, 2025
99305c0
Remove dummy code
latin-panda Oct 1, 2025
6c3ce11
feedback - remove cursor when map is disabled
latin-panda Oct 1, 2025
8d6b536
feedback - removes watch options, use better function to find features
latin-panda Oct 1, 2025
c669258
feedback - uses shallowRef
latin-panda Oct 1, 2025
11d81ea
feedback - Adds animation to feature center!
latin-panda Oct 1, 2025
eec9229
Feedback - Vertical alignment of popup lines and add zoom to fit all …
latin-panda Oct 1, 2025
40652ac
Fix to match Collect error handling
latin-panda Oct 2, 2025
9992b63
Removes Google Chrome's tap highlight
latin-panda Oct 2, 2025
6cf13f1
QA feedback - Prevent map cloning at low zoom
latin-panda Oct 2, 2025
8d01be7
Initial e2e tests for select one from map
latin-panda Oct 3, 2025
956a35d
scope selectors to specific question
latin-panda Oct 3, 2025
567d170
snapshots for firefox and webkit
latin-panda Oct 3, 2025
942bce5
separate suite for permissions related tests
latin-panda Oct 3, 2025
18a3ccd
snapshots
latin-panda Oct 3, 2025
88ab353
simplify map test and add lines and polygons
latin-panda Oct 6, 2025
a7be09f
remove unnecessary awaits
latin-panda Oct 6, 2025
ae870f3
screenshots for visual tests
latin-panda Oct 6, 2025
519b534
screenshots for visual tests
latin-panda Oct 6, 2025
70a8977
fixes lint
latin-panda Oct 7, 2025
d5cd51f
Take-1: try giving more time to map rendering
latin-panda Oct 7, 2025
b412094
Removes checks that are covered by the snapshots
latin-panda Oct 7, 2025
ab236b9
Removes timeouts
latin-panda Oct 7, 2025
3c80073
button match
latin-panda Oct 7, 2025
ba5c0dc
Makes snapshot comparison more sensitive
latin-panda Oct 7, 2025
52242c7
artifacts for debugging
latin-panda Oct 7, 2025
7006c19
fixes snapshots
latin-panda Oct 7, 2025
3b23c44
take-2: turns off headless
latin-panda Oct 7, 2025
75b0670
take-3: turns off headless and uses xvfb-run for display
latin-panda Oct 7, 2025
1ba994e
take-4: config in xvfb-run for consistent rendering
latin-panda Oct 7, 2025
327ae6b
take-5: try scale css
latin-panda Oct 8, 2025
7e5e872
take-6: clip
latin-panda Oct 8, 2025
e37887c
take-7: clip and match function
latin-panda Oct 8, 2025
47775b8
take-7-2: DEBUG
latin-panda Oct 8, 2025
100b7ce
take-7-2: DEBUG
latin-panda Oct 8, 2025
26b4a68
take-7-3: DEBUG
latin-panda Oct 8, 2025
c3ba116
take-7-4: DEBUG, set styles
latin-panda Oct 8, 2025
12e598b
take-7-4: DEBUG, set styles
latin-panda Oct 8, 2025
b064074
take-8: browser rendering settings
latin-panda Oct 8, 2025
e173313
take-8: browser rendering settings
latin-panda Oct 8, 2025
9cfe196
take-8: styling fix
latin-panda Oct 8, 2025
32f01bd
take-8: revert style changes
latin-panda Oct 8, 2025
29380fe
take-8: revert style changes
latin-panda Oct 8, 2025
93e87cb
take-8: fullscreen adjustment
latin-panda Oct 8, 2025
89e42b1
add back permissions
latin-panda Oct 8, 2025
920d995
add back permissions
latin-panda Oct 8, 2025
6b30bf5
Testing minimum args needed - Take 1
latin-panda Oct 8, 2025
b9ed806
Cleaning
latin-panda Oct 8, 2025
0cf1f23
more cleaning
latin-panda Oct 8, 2025
4d838d5
test: Can we do less css changes?
latin-panda Oct 8, 2025
1466ee6
test-2: Can we do less css changes?
latin-panda Oct 8, 2025
3fc2c6b
test-3: Can we do less css changes?
latin-panda Oct 8, 2025
5149154
test-4: Can we do less css changes?
latin-panda Oct 8, 2025
719525d
unit test for conversion of ODK features to GeoJSON
latin-panda Oct 8, 2025
0629351
fixes format
latin-panda Oct 8, 2025
ce3045b
Merge branch 'main' of https://github.com/getodk/web-forms into e2e-s…
latin-panda Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/four-steaks-try.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@getodk/xforms-engine': minor
'@getodk/web-forms': minor
'@getodk/scenario': patch
'@getodk/common': patch
---

Support select one from map
11 changes: 10 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -470,8 +470,17 @@ jobs:
- if: ${{ matrix.target == 'Web' && matrix.browser != 'webkit' }}
run: 'yarn workspace @getodk/web-forms test-browser:${{ matrix.browser }}'

# xvfb-run is used for visual tests to compare snapshots more accurately.
- if: ${{ matrix.target == 'Web' }}
run: 'yarn workspace @getodk/web-forms test:e2e:${{ matrix.browser }}'
run: 'xvfb-run --auto-servernum yarn workspace @getodk/web-forms test:e2e:${{ matrix.browser }}'

- name: 'Upload Playwright results'
if: always() && matrix.target == 'Web'
uses: actions/upload-artifact@v4
with:
name: playwright-results-${{ matrix.browser }}
path: packages/web-forms/test-results
retention-days: 10

- if: ${{ matrix.node-version == '22.12.0' && matrix.target == 'Node' }}
uses: actions/upload-artifact@v4
Expand Down
50 changes: 19 additions & 31 deletions packages/common/src/fixtures/preview-service/xforms/cities.geojson
Original file line number Diff line number Diff line change
Expand Up @@ -4,60 +4,48 @@
{
"type": "Feature",
"properties": {
"title": "Warsaw",
"info": "Capital city of Poland",
"title": "Last time red kangaroo was spotted",
"info": "A a large red kangaroo was observed at 10:45 AM",
"id": "1"
},
"geometry": {
"type": "Point",
"coordinates": [
21.0122,
52.2297
]
"coordinates": [134.795, -28.978]
}
},
{
"type": "Feature",
"properties": {
"title": "Berlin",
"info": "Capital city of Germany",
"title": "Red kangaroo feeding trail",
"info": "The trail that red kangaroos follow to reach their favorite spot food",
"id": "2"
},
"geometry": {
"type": "Point",
"type": "LineString",
"coordinates": [
13.4050,
52.5200
[134.75, -28.981],
[134.76, -28.981],
[134.77, -28.981]
]
}
},
{
"type": "Feature",
"properties": {
"title": "Paris",
"info": "Capital city of France",
"title": "Red kangaroo resting area",
"info": "The area where kangaroos are typically found when resting",
"id": "3"
},
"geometry": {
"type": "Point",
"coordinates": [
2.3522,
48.8566
]
}
},
{
"type": "Feature",
"properties": {
"title": "Kyiv",
"info": "Capital city of Ukraine",
"id": "4"
},
"geometry": {
"type": "Point",
"type": "Polygon",
"coordinates": [
30.5234,
50.4501
[
[134.77, -28.957],
[134.79, -28.957],
[134.79, -28.945],
[134.77, -28.945],
[134.77, -28.957]
]
]
}
}
Expand Down
10 changes: 10 additions & 0 deletions packages/common/src/fixtures/select/geodataCsv.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name,label,geometry,population_size,num_hospitals
1,Lisbon,38.7 -9.15,500000,120
2,Dublin,53.33 -6.25,1200000,200
3,Edinburgh,55.953251 -3.188267,500000,150
4,Amsterdam-Brussels-Luxembourg,52.37 4.9; 50.85 4.35; 49.6 6.13,3000000,450
5,Zurich-Geneva-Basel,47.3667 8.55; 46.2022 6.1457; 47.55839 7.57327,1500000,300
6,Barcelona-Madrid,41.390205 2.154007; 40.38 -3.7,5000000,600
7,London-Paris-Amsterdam-London,51.5 -0.12; 48.85 2.35; 52.37 4.9; 51.5 -0.12,20000000,1000
8,Berlin-Frankfurt-Munich-Berlin,52.52 13.4; 50.11552 8.68417; 48.13743 11.57549; 52.52 13.4,7000000,800
9,Vienna-Salzburg-Innsbruck-Vienna,48.2 16.37; 47.79941 13.04399; 47.26266 11.39454; 48.2 16.37,3000000,400
251 changes: 251 additions & 0 deletions packages/common/src/fixtures/select/geodataGeoJson.geojson
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-73.56,
45.52
]
},
"properties": {
"nurses": 19,
"doctors": 10,
"patients": 390,
"id": "fea-07",
"title": "Chinatown Medical Center"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-73.585,
45.5
]
},
"properties": {
"nurses": 23,
"doctors": 13,
"patients": 550,
"id": "fea-08",
"title": "West End Health Clinic"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-73.555,
45.485
]
},
"properties": {
"nurses": 16,
"doctors": 6,
"patients": 300,
"id": "fea-09",
"title": "Verdun Community Clinic"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.59,
45.53
],
[
-73.58,
45.53
],
[
-73.57,
45.53
]
]
},
"properties": {
"id": "fea-018",
"title": "Canada Goose",
"quantities": 4000,
"migration_days": 12,
"start_date": "2024-09-10",
"end_date": "2024-09-22"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.59,
45.47
],
[
-73.58,
45.47
],
[
-73.57,
45.47
]
]
},
"properties": {
"id": "fea-019",
"title": "Snowy Owl",
"quantities": 150,
"migration_days": 8,
"start_date": "2024-11-15",
"end_date": "2024-11-23"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.6,
45.5
],
[
-73.6,
45.51
],
[
-73.6,
45.52
]
]
},
"properties": {
"id": "fea-020",
"title": "Peregrine Falcon",
"quantities": 300,
"migration_days": 5,
"start_date": "2024-10-01",
"end_date": "2024-10-06"
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-73.59,
45.54
],
[
-73.58,
45.54
],
[
-73.58,
45.55
],
[
-73.59,
45.55
],
[
-73.59,
45.54
]
]
]
},
"properties": {
"id": "fea-021",
"title": "Montreal Urban Farm 1",
"size": "200 hectares",
"harvest_quantity": "400 tons",
"harvest_date": "2024-09-05"
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-73.61,
45.46
],
[
-73.6,
45.46
],
[
-73.6,
45.47
],
[
-73.61,
45.47
],
[
-73.61,
45.46
]
]
]
},
"properties": {
"id": "fea-022",
"title": "Montreal Urban Farm 2",
"size": "150 hectares",
"harvest_quantity": "300 tons",
"harvest_date": "2024-10-10"
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-73.54,
45.53
],
[
-73.53,
45.53
],
[
-73.53,
45.54
],
[
-73.54,
45.54
],
[
-73.54,
45.53
]
]
]
},
"properties": {
"id": "fea-023",
"title": "Montreal Urban Farm 3",
"size": "250 hectares",
"harvest_quantity": "500 tons",
"harvest_date": "2024-08-15"
}
}
]
}
Loading
Loading