How origo-map/origo works
Origo is a configurable OpenLayers-based web mapping framework: an application user opens a map, inspects and navigates its layers, and can use optional tools to edit, draw, share, print, import, or work offline. The graph preserves those documented and tree-evident capabilities while avoiding claims about unsampled wiring. Sampled code confirms offline download/sync dispatch, editor transaction selection, drawing interactions, and attachment-service requests; other connections are limited to clear runtime responsibilities.
Main entry points: downloadhandler.js Offline downloads · viewer.js Viewer runtime · transactionhandler.js Edit transactions · layer Layer sources
Components 28
Map application
- Viewer runtime
src/viewer.js - Map engine
src/map.js - Application UI
src/ui.js - Control registry
src/controls.js
Map data
- Layer creation
src/layer.js - Layer sources
src/layer
Map exploration
- Layer legend
src/controls/legend.js - Map search
src/controls/search.js - Feature selection
src/selectionmanager.js - Feature information
src/featureinfo.js - Map navigation
src/controls/zoom.js
Authoring and editing
- Feature editor
src/controls/editor - Edit transactions
src/controls/editor/transactionhandler.js - WFS transaction
src/controls/editor/wfstransaction.js - AGS transaction
src/controls/editor/agstransaction.js - Drawing tools
src/controls/draw/drawhandler.js - Attachments
src/utils/attachmentclient.js
Optional capabilities
- Offline downloads
src/controls/offline/downloadhandler.js - Offline edit store
src/controls/offline/offlinestore.js - Offline sources
src/controls/offline - Map sharing
src/controls/sharemap.js - Map printing
src/controls/print - File import
src/controls/draganddrop.js - Feature export
src/infowindow_exporthandler.js
Other components
- Map user
- Map services
- Browser storage
- Attachment service
Connections 28
- Map user → Viewer runtime: opens map
- Viewer runtime → Map engine: creates map
- Viewer runtime → Control registry: registers controls
- Viewer runtime → Application UI: builds interface
- Map engine → Layer creation: uses layers
- Layer creation → Layer sources: creates sources
- Layer sources → Map services: requests map data
- Map user → Layer legend: manages layers
- Map user → Map search: searches map
- Map user → Map navigation: navigates map
- Map user → Feature selection: selects features
- Feature selection → Feature information: shows details
- Map user → Feature editor: edits features
- Feature editor → Edit transactions: submits edits
- Edit transactions → WFS transaction: dispatches WFS
- Edit transactions → AGS transaction: dispatches AGS
- Map user → Drawing tools: draws features
- Map user → Attachments: manages attachments
- Attachments → Attachment service: fetches and posts
- Map user → Offline downloads: requests offline data
- Offline downloads → Offline sources: requests source data
- Offline downloads → Offline edit store: reads and writes edits
- Offline downloads → Layer sources: restores online source
- Offline downloads → Browser storage: persists offline state
- Map user → Map sharing: shares map
- Map user → Map printing: prints map
- Map user → File import: imports files
- Map user → Feature export: exports features