Skip to content

Commit

Permalink
feat: 🚀 Export observations to GeoJSON, CSV, Smart CSV with option to…
Browse files Browse the repository at this point in the history
… include photos
  • Loading branch information
gmaclennan committed Nov 8, 2019
1 parent 5ec2554 commit 67b7b81
Show file tree
Hide file tree
Showing 11 changed files with 9,131 additions and 353 deletions.
8,329 changes: 8,329 additions & 0 deletions fixtures/observations.json

Large diffs are not rendered by default.

77 changes: 57 additions & 20 deletions messages/renderer/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,75 @@
"renderer.components.MapEditor.feedback-contribute-button": {
"message": "Feedback & Contribute"
},
"renderer.components.MapFilter.ExportButton.exportButton": {
"message": "Export data"
"renderer.components.MapFilter.DataExportDialog.cancel": {
"description": "cancel button",
"message": "Cancel"
},
"renderer.components.MapFilter.ExportButton.exportGeoJson": {
"message": "Export GeoJSON…"
"renderer.components.MapFilter.DataExportDialog.close": {
"description": "Close button (shown if user has no data to export)",
"message": "Close"
},
"renderer.components.MapFilter.ExportButton.exportMap": {
"message": "Export Webmap…"
"renderer.components.MapFilter.DataExportDialog.defaultExportFilename": {
"description": "Default filename for exported data",
"message": "mapeo-data"
},
"renderer.components.MapFilter.FilterPanel.filterHeader": {
"message": "Filter by…"
"renderer.components.MapFilter.DataExportDialog.exportAll": {
"message": "All {count} observations"
},
"renderer.components.MapFilter.GeoJsonExportDialog.cancel": {
"description": "cancel button",
"message": "Cancel"
"renderer.components.MapFilter.DataExportDialog.exportFiltered": {
"message": "{count} filtered observations"
},
"renderer.components.MapFilter.GeoJsonExportDialog.exportAll": {
"message": "All {count} observations"
"renderer.components.MapFilter.DataExportDialog.filteredOrAll": {
"description": "Label for select to export all data or only filtered",
"message": "Only filtered data or all data?"
},
"renderer.components.MapFilter.DataExportDialog.format": {
"description": "Label for data format selector",
"message": "Data format"
},
"renderer.components.MapFilter.DataExportDialog.includePhotos": {
"description": "Label for select to include photos in export",
"message": "Also export photos?"
},
"renderer.components.MapFilter.GeoJsonExportDialog.exportFiltered": {
"message": "Only {count} currently filtered observations"
"renderer.components.MapFilter.DataExportDialog.includePhotosHint": {
"description": "Hint shown when user has selected photos to be included in the export",
"message": "Export will be a zip file including data and photos"
},
"renderer.components.MapFilter.GeoJsonExportDialog.filteredOrAll": {
"message": "Export all observations or currently filtered data"
"renderer.components.MapFilter.DataExportDialog.includePhotosNone": {
"description": "Label for select option to include no photos in export",
"message": "No Photos"
},
"renderer.components.MapFilter.GeoJsonExportDialog.save": {
"renderer.components.MapFilter.DataExportDialog.includePhotosOriginal": {
"description": "Label for select option to include full size photos in export",
"message": "Full size photos"
},
"renderer.components.MapFilter.DataExportDialog.includePhotosPreview": {
"description": "Label for select option to include preview size photos in export",
"message": "Preview size photos"
},
"renderer.components.MapFilter.DataExportDialog.noData": {
"description": "Shown when there is no data to export",
"message": "You don't yet have any data to export."
},
"renderer.components.MapFilter.DataExportDialog.save": {
"description": "Save button",
"message": "Save"
},
"renderer.components.MapFilter.GeoJsonExportDialog.title": {
"renderer.components.MapFilter.DataExportDialog.title": {
"description": "Title for webmaps export dialog",
"message": "Export Observations to GeoJSON"
"message": "Export Observations"
},
"renderer.components.MapFilter.ExportButton.exportButton": {
"message": "Export data"
},
"renderer.components.MapFilter.ExportButton.exportData": {
"message": "Export Data…"
},
"renderer.components.MapFilter.ExportButton.exportMap": {
"message": "Export Webmap…"
},
"renderer.components.MapFilter.FilterPanel.filterHeader": {
"message": "Filter by…"
},
"renderer.components.MapFilter.Loading.loading": {
"description": "Displayed whilst observations and presets load",
Expand Down
77 changes: 57 additions & 20 deletions messages/renderer/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,75 @@
"renderer.components.MapEditor.feedback-contribute-button": {
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportButton": {
"message": "Exportar Datos"
"renderer.components.MapFilter.DataExportDialog.cancel": {
"description": "cancel button",
"message": "Cancelar"
},
"renderer.components.MapFilter.ExportButton.exportGeoJson": {
"message": "Exportar GeoJSON…"
"renderer.components.MapFilter.DataExportDialog.close": {
"description": "Close button (shown if user has no data to export)",
"message": "Cerrar"
},
"renderer.components.MapFilter.ExportButton.exportMap": {
"message": "Exportar mapa para Web…"
"renderer.components.MapFilter.DataExportDialog.defaultExportFilename": {
"description": "Default filename for exported data",
"message": "datos-mapeo"
},
"renderer.components.MapFilter.FilterPanel.filterHeader": {
"message": "Filtrar datos…"
"renderer.components.MapFilter.DataExportDialog.exportAll": {
"message": "Todas las observaciones ({count})"
},
"renderer.components.MapFilter.GeoJsonExportDialog.cancel": {
"description": "cancel button",
"message": "Cancelar"
"renderer.components.MapFilter.DataExportDialog.exportFiltered": {
"message": "{count} observationes filtradas"
},
"renderer.components.MapFilter.GeoJsonExportDialog.exportAll": {
"message": "Todas las observaciones ({count})"
"renderer.components.MapFilter.DataExportDialog.filteredOrAll": {
"description": "Label for select to export all data or only filtered",
"message": "¿Solo datos filtrado o todos los datos?"
},
"renderer.components.MapFilter.DataExportDialog.format": {
"description": "Label for data format selector",
"message": "Formato de datos"
},
"renderer.components.MapFilter.DataExportDialog.includePhotos": {
"description": "Label for select to include photos in export",
"message": "¿Exportar fotos también?"
},
"renderer.components.MapFilter.GeoJsonExportDialog.exportFiltered": {
"message": "Solamente las observaciones filtradas actualmente ({count})"
"renderer.components.MapFilter.DataExportDialog.includePhotosHint": {
"description": "Hint shown when user has selected photos to be included in the export",
"message": "Archivo exportado sera un Zip con los fotos incluidos"
},
"renderer.components.MapFilter.GeoJsonExportDialog.filteredOrAll": {
"message": "Exportar todas las observaciones o solamente las observaciones filtradas"
"renderer.components.MapFilter.DataExportDialog.includePhotosNone": {
"description": "Label for select option to include no photos in export",
"message": "Sin fotos"
},
"renderer.components.MapFilter.GeoJsonExportDialog.save": {
"renderer.components.MapFilter.DataExportDialog.includePhotosOriginal": {
"description": "Label for select option to include full size photos in export",
"message": "Con fotos tamaño original"
},
"renderer.components.MapFilter.DataExportDialog.includePhotosPreview": {
"description": "Label for select option to include preview size photos in export",
"message": "Con fotos tamaño prevista"
},
"renderer.components.MapFilter.DataExportDialog.noData": {
"description": "Shown when there is no data to export",
"message": "No tienes datos para exportar todavía"
},
"renderer.components.MapFilter.DataExportDialog.save": {
"description": "Save button",
"message": "Guardar"
},
"renderer.components.MapFilter.GeoJsonExportDialog.title": {
"renderer.components.MapFilter.DataExportDialog.title": {
"description": "Title for webmaps export dialog",
"message": "Exportar las observaciones a GeoJSON"
"message": "Exportar datos"
},
"renderer.components.MapFilter.ExportButton.exportButton": {
"message": "Exportar Datos"
},
"renderer.components.MapFilter.ExportButton.exportData": {
"message": "Exportar datos…"
},
"renderer.components.MapFilter.ExportButton.exportMap": {
"message": "Exportar mapa para Web…"
},
"renderer.components.MapFilter.FilterPanel.filterHeader": {
"message": "Filtrar datos…"
},
"renderer.components.MapFilter.Loading.loading": {
"description": "Displayed whilst observations and presets load",
Expand Down
59 changes: 48 additions & 11 deletions messages/renderer/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,39 +14,76 @@
"renderer.components.MapEditor.feedback-contribute-button": {
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportButton": {
"renderer.components.MapFilter.DataExportDialog.cancel": {
"description": "cancel button",
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportGeoJson": {
"renderer.components.MapFilter.DataExportDialog.close": {
"description": "Close button (shown if user has no data to export)",
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportMap": {
"renderer.components.MapFilter.DataExportDialog.defaultExportFilename": {
"description": "Default filename for exported data",
"message": ""
},
"renderer.components.MapFilter.FilterPanel.filterHeader": {
"renderer.components.MapFilter.DataExportDialog.exportAll": {
"message": ""
},
"renderer.components.MapFilter.GeoJsonExportDialog.cancel": {
"description": "cancel button",
"renderer.components.MapFilter.DataExportDialog.exportFiltered": {
"message": ""
},
"renderer.components.MapFilter.DataExportDialog.filteredOrAll": {
"description": "Label for select to export all data or only filtered",
"message": ""
},
"renderer.components.MapFilter.DataExportDialog.format": {
"description": "Label for data format selector",
"message": ""
},
"renderer.components.MapFilter.DataExportDialog.includePhotos": {
"description": "Label for select to include photos in export",
"message": ""
},
"renderer.components.MapFilter.DataExportDialog.includePhotosHint": {
"description": "Hint shown when user has selected photos to be included in the export",
"message": ""
},
"renderer.components.MapFilter.GeoJsonExportDialog.exportAll": {
"renderer.components.MapFilter.DataExportDialog.includePhotosNone": {
"description": "Label for select option to include no photos in export",
"message": ""
},
"renderer.components.MapFilter.GeoJsonExportDialog.exportFiltered": {
"renderer.components.MapFilter.DataExportDialog.includePhotosOriginal": {
"description": "Label for select option to include full size photos in export",
"message": ""
},
"renderer.components.MapFilter.GeoJsonExportDialog.filteredOrAll": {
"renderer.components.MapFilter.DataExportDialog.includePhotosPreview": {
"description": "Label for select option to include preview size photos in export",
"message": ""
},
"renderer.components.MapFilter.GeoJsonExportDialog.save": {
"renderer.components.MapFilter.DataExportDialog.noData": {
"description": "Shown when there is no data to export",
"message": ""
},
"renderer.components.MapFilter.DataExportDialog.save": {
"description": "Save button",
"message": ""
},
"renderer.components.MapFilter.GeoJsonExportDialog.title": {
"renderer.components.MapFilter.DataExportDialog.title": {
"description": "Title for webmaps export dialog",
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportButton": {
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportData": {
"message": ""
},
"renderer.components.MapFilter.ExportButton.exportMap": {
"message": ""
},
"renderer.components.MapFilter.FilterPanel.filterHeader": {
"message": ""
},
"renderer.components.MapFilter.Loading.loading": {
"description": "Displayed whilst observations and presets load",
"message": ""
Expand Down
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,19 @@
"@material-ui/core": "^4.5.2",
"@material-ui/icons": "^4.5.1",
"@material-ui/styles": "^4.5.2",
"@segment/isodate": "^1.0.3",
"asar": "^1.0.0",
"clsx": "^1.0.4",
"core-js": "^3.3.5",
"d3-dsv": "^1.1.1",
"date-fns": "^2.1.0",
"ecstatic": "^2.2.1",
"electron-context-menu": "^0.15.0",
"electron-debug": "^1.5.0",
"electron-is-dev": "^1.1.0",
"electron-store": "^5.0.0",
"electron-timber": "^0.5.1",
"flat": "^5.0.0",
"html-react-parser": "^0.9.1",
"id-mapeo": "^3.1.1",
"insert-css": "^1.0.0",
Expand Down Expand Up @@ -112,6 +115,7 @@
"subleveldown": "^3.0.1",
"tar-fs": "^1.16.0",
"through2": "^2.0.3",
"utm": "^1.1.1",
"yazl": "^2.5.1"
},
"devDependencies": {
Expand Down

0 comments on commit 67b7b81

Please sign in to comment.