XYZ - Developer Guide
  • Introduction
  • Licence
  • Deploying
    • Local Deployments
  • Access
    • Access Control List (ACL)
    • User account registration
    • Password reset
    • Failed login attempts
  • Environment Settings
    • Hosting
    • Access Control
    • Workspace Connections
    • 3rd party API keys
  • Workspaces
    • Title
    • Documentation
    • Locate
    • Locales
      • Gazetteer
    • Layers
      • Tile Layer
      • PostGIS Data Layers
      • Cluster Layer
      • GeoJSON Layer
      • MapBox Vector Tile (MVT) Layer
      • Grid (Hex) Layer
      • Filter
    • Locations
      • infoj
        • Groups
        • Filter
        • Lookups
        • withSelect
        • Table definition
        • Ordered list
        • Geometry
    • Editing
    • Access Restrictions & Filter
    • Workspace Checks
  • Routes
    • / (root)
    • /proxy/request
    • /api
      • /gazetteer
        • /autocomplete
        • /googleplaces
      • /layer
        • /cluster
        • /extent
        • /geojson
        • /grid
        • /mvt/:z/:x/:y
      • /location
        • /edit
          • /delete
          • /image/delete
          • /image/upload
          • /draw
          • /draw/catchment
          • /catchment/create
          • /catchment/delete
          • /update
        • /select
          • /id
          • /cluster
          • /latlng/contains
          • /latlng/nnearest
          • /latlng/intersects
          • /aggregate
        • /field/range
    • /auth
      • /login
      • /register
      • /token
        • /api
        • /renew
      • /user
        • /admin
        • /verify
        • /approve
        • /update
        • /delete
    • /workspace
      • /get
      • /load
      • /admin
      • /admin/json
  • Infrastructure
    • _xyz
      • host
      • layer
      • location
      • mapview
      • tableview
    • Dependencies
      • Webpack
      • SASS
    • Testing
    • Security
      • JWT token
      • Strategy
      • SQL Injections
    • Server
    • Client
Powered by GitBook
On this page
  1. Infrastructure

Client

PreviousServer

Last updated 6 years ago

The route will check whether incoming requests come from a mobile platform using the node module. If provided with an access token (required for private applications), the backend will assemble a website template ( or ) and script bundle.

The client interface consists of two containers. The control container which is on the left (desktop) or a slider at the bottom (mobile) and the map container.

The control container has a section for layers and (selected) locations. Layers and locations are displayed as expandable drawers. The map control contains data attribution and a button array.

If enabled, a gazetteer control will be displayed on top of the layer control (desktop) or at the top of the map control (mobile).

is the entry point in the script bundle. The client interface is written as a collection of ES6 modules which must be imported by the browser. A webpack bundle will provided for browser which do not support dynamic ES6 module imports.

The client application initialization flow is as follows:

  1. Import _xyz which holds all application utils, controls and parameter as well as the client workspace.

  2. Import token module and renew the temporary token provided with the application template.

  3. Apply browser interface ( / ) methods.

  4. Initialise hooks provided as URL query parameter.

  5. Initialise the current locale.

  6. Initialise the map control based on the locale and hooks.

  7. Initialise the layers control.

  8. Initialise the locations control.

  9. Initialise the gazetteer control.

  10. Initialise the locate control.

/ root
mobile-detect
desktop
mobile
xyz_entry
mobile
desktop