,
11 | >(options: FetchNgwItemOptions): CancelablePromise> {
12 | return fetchNgwLayerItem(options).then((item) => {
13 | return createGeoJsonFeature(item);
14 | });
15 | }
16 |
--------------------------------------------------------------------------------
/packages/ngw-kit/src/utils/getLayerFilterOptions.ts:
--------------------------------------------------------------------------------
1 | import type { FilterOptions, GeoJsonAdapterOptions } from '@nextgis/webmap';
2 |
3 | const filterOptionsKeys: (keyof FilterOptions)[] = [
4 | 'fields',
5 | 'intersects',
6 | 'limit',
7 | 'orderBy',
8 | 'strategy',
9 | ];
10 |
11 | export function getLayerFilterOptions(
12 | options: GeoJsonAdapterOptions,
13 | ): FilterOptions {
14 | const filterOptions: Record = {};
15 | filterOptionsKeys.forEach((x) => {
16 | const opt = options[x];
17 | if (opt !== undefined) {
18 | filterOptions[x] = opt;
19 | }
20 | });
21 | return filterOptions as FilterOptions;
22 | }
23 |
--------------------------------------------------------------------------------
/packages/ngw-kit/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/custom-layer-controls/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Custom layers control","description":"Enhancing interactive web maps with custom controls for layer management and visibility toggling.","tags":["custom controls","layer management"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/events/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Events","description":"Press `A` to add a random layer to the map; `H` to hide all layers from the map; `S` to restore visibility of all layers; `R` to remove all layers from map and memory. All these actions will call of events from a list in top left coner of the map."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/expression-paint-case/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with case","description":"Use case expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/expression-paint-interpolate/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with interpolate","description":"Use interpolate expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/expression-paint-match/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with match","description":"Use match expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/expression-paint-step/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with step","description":"Use step expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/expression-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint","description":"Use expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/geojson-data/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Set vector layer data","description":"Click the + button in the input on the right side of the screen to add new point in vector layer on map. Press - button to remove point from layer."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/geojson-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"GeoJSON data","description":""}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/icon_custom_svg/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Icons from SVG","description":"Integration and customization of user-defined SVG icons"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/icons/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Icons","description":""}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ip-cameras-map/index.json:
--------------------------------------------------------------------------------
1 | {"name":"IP cameras map","description":"Display the stream from the ip camera in the location","onlyForDemo":false}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/layers-opacity/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Layers opacity","description":"Set transparency with parameters and with method"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/layers-update/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Layers update","description":"A NextGIS Web raster-style vector layer is added to the map. Clicks on the map place points in this layer, automatically updating and reloading its raster styling."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/leaflet-geoman/index.json:
--------------------------------------------------------------------------------
1 | {"name":"GeoJSON data","description":""}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/map-init/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Initialize map","description":"Initialize map with default parameters"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/nextgis-geoservices/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Geoservices","description":"Add map layers from NextGIS Geoservices","tags":["nextgis","Geoservices"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-basemap/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW basemap resource","description":"Connect basemap resource from NGW. Click on '>>' to switch basemaps layers"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-bbox-plus-strategy/index.json:
--------------------------------------------------------------------------------
1 | {"name":"BBOX+ strategy for vector layer","description":"Use BBOX+ strategy to show large vector data resource. Reposition the map to add new data in parts. Try to fetch all layer data and then loading will be stopped. Use minZoom, maxBounds and another limitation to avoid the situation with full data load on start"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-bbox-strategy/index.json:
--------------------------------------------------------------------------------
1 | {"name":"BBOX strategy for vector layer","description":"Use BBOX strategy to show large vector data resource. Change the position of the map to update of the vector layer."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-layer-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer filtering","description":"Set the filter for NGW layer by features propery."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-layer-legend/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Style Layer legend","description":"Manually integrate a single NextGIS Web vector style layer into a map with an auto-generated legend."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-layer-popup/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer popup on select","description":""}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-layer-properties-filters/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer properties filters","description":"Set the filter for NGW layer by features property with 'AND' and 'ANY' operations."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-layer-select/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW select","description":""}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-layers/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Add different NGW resource","description":"Click on radio button in order to show on the map NGW resources by their ID. If the layer with adapter, related resource will be displayed automatic."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-postgis-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW PostGIS layer","description":"Add a layer based on PostGIS connection to the WebMap","tags":["PostGIS","DB"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-resources/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Multiple NGW layers","description":"Add multiple resources (vector layers) from NextGIS Web to a map using config. Click on the beige polygon layer to perform identification."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-tile-no-cors/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW tile layer no CORS","description":"Add a tile layer from NGW for guest user without CORS setup","tags":["tms","tile","CORS","ngw"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-tmsclient-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS Client layer","description":"Add a tile layer from NGW tms connection layer","tags":["tms","tile","tmsclient_layer"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-tsm-layer-auth/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS layer with auth","description":"Add a tile layer from protected NGW resource to a Web map","tags":["tms","tile"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-tsm-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS layer","description":"Add a tile layer from NGW resource to the WebMap","tags":["tms","tile"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-viewer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Ngw viewer","description":"Navigate the resource tree and open the allowed layers map preview"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-webmap-bookmarks/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map bookmarks","description":"Load and show bookmarks from NGW Web map resource"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-webmap-legend/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Web Vector Style Legends Integration","description":"Integrate symbols representing NextGIS Web vector style layers into map legends"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-webmap-zoom-range/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle webmap by zoom levels","description":"Show NGW webmap layer only between allowed zoom levels. Zoom in and out to see how the layer will behave"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-webmap/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Add webmap from NextGIS Web","description":"Add webmap resource from NextGIS Web to the map"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-wms/index.json:
--------------------------------------------------------------------------------
1 | {"name":"WMS layer from NGW WMS","description":"Show WMS layer or layers from NGW WMS service."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/ngw-zoom-to-feature/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Zoom to NGW layer feature","description":"Show how to set map view from any NGW layer feature.","tags":["zoom to","go to","fit","paginate","table","list"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/properties-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Properties paint","description":"Use properties filter to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/tile-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Tile layer","description":"Add a tile layer to a Web map"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/toggle-control/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle button control","description":"This is a two-state control button. Useful for switching modes of operation."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-adapter-select/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector adapter select","description":"Use adapter methods to select features of vector layer. Press CTRL with click to add new features in selection"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-add-while-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer add data while filtering","description":"Set the filter for the vector layer from the select in the top right corner. Try adding points by clicking on the colored buttons. If the color of the new point does not match the color of the selected filter, the point will be invisible."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-events-position-data/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector events position data","description":"Getting the extent and center for feature from a vector layer event"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer filtering","description":"Filter NGW layer by attribute"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-label-callback/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector label callback","description":"This example demonstrates the use of the 'label' option in a vector layer adapter. It showcases a callback function that returns a string to dynamically generate labels.","tags":["label","tooltip"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-label/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector label","description":"Show label by vector layer attributes","tags":["label","tooltip"]}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-line-arrow/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Line with mixed arrows","description":"Connect two points with a line that has an arrow originating from the line at one end and an arrow from a marker at the other end."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-mouse-events/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer mouse events","description":"Various ways to track events on clicks and hovers on a vector layer"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector painting","description":""}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-popup/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector popup","description":"Show popup on feature select"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-selection/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector selection","description":"Light up the star, illuminati!"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/vector-set-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector set paint","description":"Update paint of vector layer"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/webmap-identification-disabled/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web Map Layer-Specific Feature Identification","description":"If the NGW webmap layer item 'identifiable' setting is turned off, layers connected through 'addNgwLayer' will not be interactive in the frontend. This ensures that specific layers have identification disabled, preventing feature highlighting and event processing for these layers."}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/webmap-identification-multiply/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map feature identification","description":"Highlight and identify features on a Web map"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/webmap-identification/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map feature highlighting","description":"Highlight first Web map feature on mouse click"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/examples/webmap-layer-tree/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Webmap layers tree","description":"Create tree control to show and hide layers from webmap. Click on the checkboxes to switch the visibility of layers and groups. If you click on the group checkbox with pressed CTRL key, then the action will be propagate to all the nested layers of the group. Use the sliders to change the opacity hierarchically"}
--------------------------------------------------------------------------------
/packages/ngw-leaflet/src/leaflet-style-override.css:
--------------------------------------------------------------------------------
1 | .ngw-map-container.leaflet-container {
2 | background: #fff;
3 | }
4 |
5 | .leaflet-pane .leaflet-popup-pane {
6 | z-index: 9999999999;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/ngw-leaflet/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-map/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/ngw-map.cjs.js');
5 | } else {
6 | module.exports = require('./lib/ngw-map.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/ngw-map/src/index.ts:
--------------------------------------------------------------------------------
1 | import { NgwMap } from './NgwMap';
2 |
3 | import type { NgwMapOptions } from './interfaces';
4 |
5 | export * from '@nextgis/webmap';
6 |
7 | export * from './interfaces';
8 |
9 | export { NgwMap };
10 |
11 | export async function createNgwMap(options: NgwMapOptions): Promise {
12 | const ngwMap = new NgwMap(options);
13 | return ngwMap.onLoad();
14 | }
15 |
--------------------------------------------------------------------------------
/packages/ngw-map/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-map/types/reproject.d.ts:
--------------------------------------------------------------------------------
1 | import type { GeoJsonObject } from 'geojson';
2 |
3 | export function detectCrs(geojson: GeoJsonObject, projs: any): any;
4 | export function reproject(
5 | geojson: GeoJsonObject,
6 | from: any,
7 | to: any,
8 | projs: any,
9 | ): GeoJsonObject;
10 | export function reverse(geojson: GeoJsonObject): GeoJsonObject;
11 |
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/custom-layer-controls/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Custom layers control","description":"Enhancing interactive web maps with custom controls for layer management and visibility toggling.","tags":["custom controls","layer management"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/events/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Events","description":"Press `A` to add a random layer to the map; `H` to hide all layers from the map; `S` to restore visibility of all layers; `R` to remove all layers from map and memory. All these actions will call of events from a list in top left coner of the map."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/expression-paint-case/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with case","description":"Use case expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/expression-paint-interpolate/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with interpolate","description":"Use interpolate expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/expression-paint-match/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with match","description":"Use match expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/expression-paint-step/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with step","description":"Use step expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/expression-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint","description":"Use expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/geojson-data/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Set vector layer data","description":"Click the + button in the input on the right side of the screen to add new point in vector layer on map. Press - button to remove point from layer."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/geojson-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"GeoJSON data","description":""}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/geojson-paint-cb/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Paint function for GeoJSON data",
3 | "description": ""
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/icon_custom_svg/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Icons from SVG","description":"Integration and customization of user-defined SVG icons"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/icons/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Icons","description":""}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ip-cameras-map/index.json:
--------------------------------------------------------------------------------
1 | {"name":"IP cameras map","description":"Display the stream from the ip camera in the location","onlyForDemo":false}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/layers-opacity/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Layers opacity","description":"Set transparency with parameters and with method"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/layers-update/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Layers update","description":"A NextGIS Web raster-style vector layer is added to the map. Clicks on the map place points in this layer, automatically updating and reloading its raster styling."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/map-init/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Initialize map","description":"Initialize map with default parameters"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/nextgis-geoservices/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Geoservices","description":"Add map layers from NextGIS Geoservices","tags":["nextgis","Geoservices"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/nextgis-map-vector/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Map Vector tiles","description":"","_copiedFrom":"packages\\demo\\examples\\nextgis_map_vector"}
2 |
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-basemap/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW basemap resource","description":"Connect basemap resource from NGW. Click on '>>' to switch basemaps layers"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-bbox-plus-strategy/index.json:
--------------------------------------------------------------------------------
1 | {"name":"BBOX+ strategy for vector layer","description":"Use BBOX+ strategy to show large vector data resource. Reposition the map to add new data in parts. Try to fetch all layer data and then loading will be stopped. Use minZoom, maxBounds and another limitation to avoid the situation with full data load on start"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-bbox-strategy/index.json:
--------------------------------------------------------------------------------
1 | {"name":"BBOX strategy for vector layer","description":"Use BBOX strategy to show large vector data resource. Change the position of the map to update of the vector layer."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-layer-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer filtering","description":"Set the filter for NGW layer by features propery."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-layer-legend/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Style Layer legend","description":"Manually integrate a single NextGIS Web vector style layer into a map with an auto-generated legend."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-layer-popup/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer popup on select","description":""}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-layer-properties-filters/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer properties filters","description":"Set the filter for NGW layer by features property with 'AND' and 'ANY' operations."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-layer-select/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW select","description":""}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-layers/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Add different NGW resource","description":"Click on radio button in order to show on the map NGW resources by their ID. If the layer with adapter, related resource will be displayed automatic."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-mvt-match-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Match paint for NGW MVT Layer","description":"Use addNgwLayer to add MVT resources with attributes base paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-mvt-native-paint/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Native paint for NGW MVT Layer",
3 | "description": "Use maplibre-gl native style to paint MVT resource layer and its selection",
4 | "ngwMaps": ["ngw-maplibre-gl"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-mvt/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Add MVT NGW resource",
3 | "description": ""
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-postgis-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW PostGIS layer","description":"Add a layer based on PostGIS connection to the WebMap","tags":["PostGIS","DB"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-resources/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Multiple NGW layers","description":"Add multiple resources (vector layers) from NextGIS Web to a map using config. Click on the beige polygon layer to perform identification."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-tile-no-cors/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW tile layer no CORS","description":"Add a tile layer from NGW for guest user without CORS setup","tags":["tms","tile","CORS","ngw"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-tmsclient-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS Client layer","description":"Add a tile layer from NGW tms connection layer","tags":["tms","tile","tmsclient_layer"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-tsm-layer-auth/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS layer with auth","description":"Add a tile layer from protected NGW resource to a Web map","tags":["tms","tile"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-tsm-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS layer","description":"Add a tile layer from NGW resource to the WebMap","tags":["tms","tile"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-viewer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Ngw viewer","description":"Navigate the resource tree and open the allowed layers map preview"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-webmap-bookmarks/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map bookmarks","description":"Load and show bookmarks from NGW Web map resource"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-webmap-legend/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Web Vector Style Legends Integration","description":"Integrate symbols representing NextGIS Web vector style layers into map legends"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-webmap-zoom-range/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle webmap by zoom levels","description":"Show NGW webmap layer only between allowed zoom levels. Zoom in and out to see how the layer will behave"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-webmap/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Add webmap from NextGIS Web","description":"Add webmap resource from NextGIS Web to the map"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-wms/index.json:
--------------------------------------------------------------------------------
1 | {"name":"WMS layer from NGW WMS","description":"Show WMS layer or layers from NGW WMS service."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/ngw-zoom-to-feature/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Zoom to NGW layer feature","description":"Show how to set map view from any NGW layer feature.","tags":["zoom to","go to","fit","paginate","table","list"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/pin-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Properties paint","description":"Use properties filter to set paint","_copiedFrom":"packages\\demo\\examples\\pin_paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/properties-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Properties paint","description":"Use properties filter to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/tile-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Tile layer","description":"Add a tile layer to a Web map"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/toggle-control/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle button control","description":"This is a two-state control button. Useful for switching modes of operation."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-adapter-select/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector adapter select","description":"Use adapter methods to select features of vector layer. Press CTRL with click to add new features in selection"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-add-while-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer add data while filtering","description":"Set the filter for the vector layer from the select in the top right corner. Try adding points by clicking on the colored buttons. If the color of the new point does not match the color of the selected filter, the point will be invisible."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-events-position-data/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector events position data","description":"Getting the extent and center for feature from a vector layer event"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer filtering","description":"Filter NGW layer by attribute"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-label-callback/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector label callback","description":"This example demonstrates the use of the 'label' option in a vector layer adapter. It showcases a callback function that returns a string to dynamically generate labels.","tags":["label","tooltip"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-label/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector label","description":"Show label by vector layer attributes","tags":["label","tooltip"]}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-line-arrow/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Line with mixed arrows","description":"Connect two points with a line that has an arrow originating from the line at one end and an arrow from a marker at the other end."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-mouse-events/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer mouse events","description":"Various ways to track events on clicks and hovers on a vector layer"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector painting","description":""}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-popup/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector popup","description":"Show popup on feature select"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-selection/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector selection","description":"Light up the star, illuminati!"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/vector-set-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector set paint","description":"Update paint of vector layer"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/webmap-identification-disabled/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web Map Layer-Specific Feature Identification","description":"If the NGW webmap layer item 'identifiable' setting is turned off, layers connected through 'addNgwLayer' will not be interactive in the frontend. This ensures that specific layers have identification disabled, preventing feature highlighting and event processing for these layers."}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/webmap-identification-multiply/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map feature identification","description":"Highlight and identify features on a Web map"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/webmap-identification/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map feature highlighting","description":"Highlight first Web map feature on mouse click"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/examples/webmap-layer-tree/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Webmap layers tree","description":"Create tree control to show and hide layers from webmap. Click on the checkboxes to switch the visibility of layers and groups. If you click on the group checkbox with pressed CTRL key, then the action will be propagate to all the nested layers of the group. Use the sliders to change the opacity hierarchically"}
--------------------------------------------------------------------------------
/packages/ngw-maplibre-gl/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/custom-layer-controls/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Custom layers control","description":"Enhancing interactive web maps with custom controls for layer management and visibility toggling.","tags":["custom controls","layer management"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/events/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Events","description":"Press `A` to add a random layer to the map; `H` to hide all layers from the map; `S` to restore visibility of all layers; `R` to remove all layers from map and memory. All these actions will call of events from a list in top left coner of the map."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/expression-paint-case/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with case","description":"Use case expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/expression-paint-interpolate/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with interpolate","description":"Use interpolate expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/expression-paint-match/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with match","description":"Use match expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/expression-paint-step/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint with step","description":"Use step expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/expression-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Expression paint","description":"Use expressions to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/geojson-data/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Set vector layer data","description":"Click the + button in the input on the right side of the screen to add new point in vector layer on map. Press - button to remove point from layer."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/geojson-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"GeoJSON data","description":""}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/icon_custom_svg/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Icons from SVG","description":"Integration and customization of user-defined SVG icons"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/icons/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Icons","description":""}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ip-cameras-map/index.json:
--------------------------------------------------------------------------------
1 | {"name":"IP cameras map","description":"Display the stream from the ip camera in the location","onlyForDemo":false}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/layers-opacity/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Layers opacity","description":"Set transparency with parameters and with method"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/layers-update/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Layers update","description":"A NextGIS Web raster-style vector layer is added to the map. Clicks on the map place points in this layer, automatically updating and reloading its raster styling."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/map-init/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Initialize map","description":"Initialize map with default parameters"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/nextgis-geoservices/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Geoservices","description":"Add map layers from NextGIS Geoservices","tags":["nextgis","Geoservices"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-basemap/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW basemap resource","description":"Connect basemap resource from NGW. Click on '>>' to switch basemaps layers"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-bbox-plus-strategy/index.json:
--------------------------------------------------------------------------------
1 | {"name":"BBOX+ strategy for vector layer","description":"Use BBOX+ strategy to show large vector data resource. Reposition the map to add new data in parts. Try to fetch all layer data and then loading will be stopped. Use minZoom, maxBounds and another limitation to avoid the situation with full data load on start"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-bbox-strategy/index.json:
--------------------------------------------------------------------------------
1 | {"name":"BBOX strategy for vector layer","description":"Use BBOX strategy to show large vector data resource. Change the position of the map to update of the vector layer."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-cog-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW COG layer","description":"Add a COG GeoTIFF raster layer from NGW resource to the WebMap","tags":["cog","raster"]}
2 |
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-layer-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer filtering","description":"Set the filter for NGW layer by features propery."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-layer-legend/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Style Layer legend","description":"Manually integrate a single NextGIS Web vector style layer into a map with an auto-generated legend."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-layer-popup/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer popup on select","description":""}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-layer-properties-filters/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW layer properties filters","description":"Set the filter for NGW layer by features property with 'AND' and 'ANY' operations."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-layer-select/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW select","description":""}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-layers/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Add different NGW resource","description":"Click on radio button in order to show on the map NGW resources by their ID. If the layer with adapter, related resource will be displayed automatic."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-postgis-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW PostGIS layer","description":"Add a layer based on PostGIS connection to the WebMap","tags":["PostGIS","DB"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-resources/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Multiple NGW layers","description":"Add multiple resources (vector layers) from NextGIS Web to a map using config. Click on the beige polygon layer to perform identification."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-srs-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Ngw srs layer","description":"Eliminate reprojection errors for accurate measurements"}
2 |
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-tile-no-cors/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW tile layer no CORS","description":"Add a tile layer from NGW for guest user without CORS setup","tags":["tms","tile","CORS","ngw"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-tmsclient-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS Client layer","description":"Add a tile layer from NGW tms connection layer","tags":["tms","tile","tmsclient_layer"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-tsm-layer-auth/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS layer with auth","description":"Add a tile layer from protected NGW resource to a Web map","tags":["tms","tile"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-tsm-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NGW TMS layer","description":"Add a tile layer from NGW resource to the WebMap","tags":["tms","tile"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-viewer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Ngw viewer","description":"Navigate the resource tree and open the allowed layers map preview"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-webmap-bookmarks/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map bookmarks","description":"Load and show bookmarks from NGW Web map resource"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-webmap-legend/index.json:
--------------------------------------------------------------------------------
1 | {"name":"NextGIS Web Vector Style Legends Integration","description":"Integrate symbols representing NextGIS Web vector style layers into map legends"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-webmap-zoom-range/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle webmap by zoom levels","description":"Show NGW webmap layer only between allowed zoom levels. Zoom in and out to see how the layer will behave"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-webmap/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Add webmap from NextGIS Web","description":"Add webmap resource from NextGIS Web to the map"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-wms/index.json:
--------------------------------------------------------------------------------
1 | {"name":"WMS layer from NGW WMS","description":"Show WMS layer or layers from NGW WMS service."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/ngw-zoom-to-feature/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Zoom to NGW layer feature","description":"Show how to set map view from any NGW layer feature.","tags":["zoom to","go to","fit","paginate","table","list"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/on-first-show-adapter-layer-control/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Take layer control in the OnFirstShowAdapter",
3 | "description": "The ability to access the layer in the OnFirstShowAdapter"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/properties-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Properties paint","description":"Use properties filter to set paint"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/tile-layer/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Tile layer","description":"Add a tile layer to a Web map"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/toggle control/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle button control","description":"This is a two-state control button. Useful for switching certain modes of operation with the card.","_copiedFrom":"packages\\demo\\examples\\toggle control"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/toggle-control/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Toggle button control","description":"This is a two-state control button. Useful for switching modes of operation."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-adapter-select/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector adapter select","description":"Use adapter methods to select features of vector layer. Press CTRL with click to add new features in selection"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-add-while-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer add data while filtering","description":"Set the filter for the vector layer from the select in the top right corner. Try adding points by clicking on the colored buttons. If the color of the new point does not match the color of the selected filter, the point will be invisible."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-events-position-data/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector events position data","description":"Getting the extent and center for feature from a vector layer event"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-filtering/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer filtering","description":"Filter NGW layer by attribute"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-label-callback/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector label callback","description":"This example demonstrates the use of the 'label' option in a vector layer adapter. It showcases a callback function that returns a string to dynamically generate labels.","tags":["label","tooltip"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-label/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector label","description":"Show label by vector layer attributes","tags":["label","tooltip"]}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-line-arrow/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Line with mixed arrows","description":"Connect two points with a line that has an arrow originating from the line at one end and an arrow from a marker at the other end."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-mouse-events/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector layer mouse events","description":"Various ways to track events on clicks and hovers on a vector layer"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-native-options/index.json:
--------------------------------------------------------------------------------
1 | { "name": "Vector layer native options", "description": "" }
2 |
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector painting","description":""}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-popup/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector popup","description":"Show popup on feature select"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-selection/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector selection","description":"Light up the star, illuminati!"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/vector-set-paint/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Vector set paint","description":"Update paint of vector layer"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/webmap-identification-disabled/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web Map Layer-Specific Feature Identification","description":"If the NGW webmap layer item 'identifiable' setting is turned off, layers connected through 'addNgwLayer' will not be interactive in the frontend. This ensures that specific layers have identification disabled, preventing feature highlighting and event processing for these layers."}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/webmap-identification-multiply/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map feature identification","description":"Highlight and identify features on a Web map"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/webmap-identification/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Web map feature highlighting","description":"Highlight first Web map feature on mouse click"}
--------------------------------------------------------------------------------
/packages/ngw-ol/examples/webmap-layer-tree/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Webmap layers tree","description":"Create tree control to show and hide layers from webmap. Click on the checkboxes to switch the visibility of layers and groups. If you click on the group checkbox with pressed CTRL key, then the action will be propagate to all the nested layers of the group. Use the sliders to change the opacity hierarchically"}
--------------------------------------------------------------------------------
/packages/ngw-ol/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | throw new Error('No cjs module export for `@nextgis/ngw-ol` library');
4 |
--------------------------------------------------------------------------------
/packages/ngw-ol/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-orm/README.md:
--------------------------------------------------------------------------------
1 | # NextGIS Web ORM
2 |
3 | NextGIS Web Object-Relational Mapping
4 |
5 | ## Commercial support
6 |
7 | Need to fix a bug or add a feature to @nextgis/ngw-orm? We provide custom development and support for this software. [Contact us](http://nextgis.com/contact/) to discuss options!
8 |
9 | [](http://nextgis.com)
10 |
--------------------------------------------------------------------------------
/packages/ngw-orm/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/ngw-orm.cjs.js');
5 | } else {
6 | module.exports = require('./lib/ngw-orm.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/common/DeepPartial.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Same as Partial but goes deeper and makes Partial all its properties and sub-properties.
3 | */
4 | export type DeepPartial = {
5 | [P in keyof T]?: T[P] extends Array
6 | ? Array>
7 | : T[P] extends ReadonlyArray
8 | ? ReadonlyArray>
9 | : DeepPartial;
10 | };
11 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/common/ObjectLiteral.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Interface of the simple literal object with any string keys.
3 | */
4 | export interface ObjectLiteral {
5 | [key: string]: any;
6 | }
7 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/common/ObjectType.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/ban-types */
2 | /**
3 | * Represents some Type of the Object.
4 | */
5 | export type ObjectType = { new (): T } | Function;
6 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/connection/ConnectionOptions.ts:
--------------------------------------------------------------------------------
1 | import type { Credentials } from '@nextgis/ngw-connector';
2 |
3 | /**
4 | * ConnectionOptions is an interface with settings and options for connection to NGW.
5 | */
6 | export interface ConnectionOptions {
7 | baseUrl?: string;
8 | auth?: Credentials;
9 | cache?: boolean;
10 | }
11 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/decorator/NgwResource.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/ban-types */
2 | import { getMetadataArgsStorage } from '..';
3 |
4 | import type { ResourceMetadataArgs } from '../metadata-args/ResourceMetadataArgs';
5 | import type { NgwResourceOptions } from '../options/NgwResourceOptions';
6 |
7 | export function NgwResource(options: NgwResourceOptions): Function {
8 | return function (target: Function) {
9 | getMetadataArgsStorage().resources.push({
10 | target,
11 | ...options,
12 | } as ResourceMetadataArgs);
13 | return target;
14 | };
15 | }
16 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/error/CannotConnectAlreadyConnectedError.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Thrown when consumer tries to connect when he already connected.
3 | */
4 | export class CannotConnectAlreadyConnectedError extends Error {
5 | name = 'CannotConnectAlreadyConnectedError';
6 |
7 | constructor(connectionName: string) {
8 | super();
9 | Object.setPrototypeOf(this, CannotConnectAlreadyConnectedError.prototype);
10 | this.message = `Cannot create a "${connectionName}" connection because connection to the NGW already established.`;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/error/CannotExecuteNotConnectedError.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Thrown when consumer tries to execute operation allowed only if connection is opened.
3 | */
4 | export class CannotExecuteNotConnectedError extends Error {
5 | name = 'CannotExecuteNotConnectedError';
6 |
7 | constructor() {
8 | super();
9 | Object.setPrototypeOf(this, CannotExecuteNotConnectedError.prototype);
10 | this.message = `Cannot execute operation because connection is not yet established.`;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/error/CannotExecuteResourceNotExistError.ts:
--------------------------------------------------------------------------------
1 | import type { Connection } from '../connection/Connection';
2 |
3 | export class CannotExecuteResourceNotExistError extends Error {
4 | name = 'CannotExecuteResourceNotExistError';
5 |
6 | constructor(resource: string | number, connection: Connection) {
7 | super();
8 | Object.setPrototypeOf(this, CannotExecuteResourceNotExistError.prototype);
9 | this.message = `Cannot find resource "${resource}" on "${connection.baseUrl}" connection.`;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/find-options/FindConditions.ts:
--------------------------------------------------------------------------------
1 | import type { Properties, PropertiesFilter } from '@nextgis/properties-filter';
2 |
3 | export type FindConditions =
4 | | PropertiesFilter
5 | | ObjectEqualConditions
;
6 |
7 | export type ObjectEqualConditions
= {
8 | [K in keyof P]?: any;
9 | };
10 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/find-options/FindManyOptions.ts:
--------------------------------------------------------------------------------
1 | import type { FindOneOptions } from './FindOneOptions';
2 | import type { Properties } from '@nextgis/properties-filter';
3 |
4 | /**
5 | * Defines a special criteria to find specific entities.
6 | */
7 | export interface FindManyOptions
8 | extends FindOneOptions
{
9 | /**
10 | * Offset (paginated) where from entities should be taken.
11 | */
12 | offset?: number;
13 |
14 | /**
15 | * Limit (paginated) - max number of entities should be taken.
16 | */
17 | limit?: number;
18 | }
19 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/metadata-args/ColumnMetadataArgs.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/ban-types */
2 | import type { ColumnOptions } from '../options/ColumnOptions';
3 |
4 | /**
5 | * Arguments for ColumnMetadata class.
6 | */
7 | export interface ColumnMetadataArgs {
8 | /**
9 | * Class to which column is applied.
10 | */
11 | readonly target: Function | string;
12 |
13 | /**
14 | * Class's property name to which column is applied.
15 | */
16 | readonly propertyName: string;
17 |
18 | /**
19 | * Extra column options.
20 | */
21 | readonly options: ColumnOptions;
22 | }
23 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/metadata-args/ResourceMetadataArgs.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/ban-types */
2 | import type { Connection } from '../connection/Connection';
3 | import type { NgwResourceOptions } from '../options/NgwResourceOptions';
4 |
5 | /**
6 | * Arguments for TableMetadata class, helps to construct an TableMetadata object.
7 | */
8 | export interface ResourceMetadataArgs extends NgwResourceOptions {
9 | target?: Function | string;
10 | connection?: Connection;
11 | }
12 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/options/NgwResourceOptions.ts:
--------------------------------------------------------------------------------
1 | import type { ResourceCls } from '@nextgis/ngw-connector';
2 |
3 | /**
4 | * Describes all resource's options.
5 | */
6 | export interface NgwResourceOptions {
7 | type: ResourceCls;
8 | /**
9 | * Human readable name
10 | */
11 | display_name: string;
12 | /**
13 | * Unique resource name.
14 | */
15 | keyname?: string;
16 | description?: string;
17 | }
18 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/options/ToTypescriptOptions.ts:
--------------------------------------------------------------------------------
1 | export interface ToTypescript {
2 | model: string;
3 | interface: string;
4 | }
5 |
6 | export interface ToTypescriptOptions {
7 | name?: string;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/repository/LineLayer.ts:
--------------------------------------------------------------------------------
1 | import { VectorLayer } from './VectorLayer';
2 |
3 | import type { GeometryType } from '@nextgis/ngw-connector';
4 | import type { LineString } from 'geojson';
5 |
6 | export class LineLayer extends VectorLayer {
7 | static geometryType: GeometryType = 'LINESTRING';
8 | }
9 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/repository/PointLayer.ts:
--------------------------------------------------------------------------------
1 | import { VectorLayer } from './VectorLayer';
2 |
3 | import type { GeometryType } from '@nextgis/ngw-connector';
4 | import type { Point } from 'geojson';
5 |
6 | export class PointLayer extends VectorLayer {
7 | static geometryType: GeometryType = 'POINT';
8 | }
9 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/repository/PolygonLayer.ts:
--------------------------------------------------------------------------------
1 | import { VectorLayer } from './VectorLayer';
2 |
3 | import type { GeometryType } from '@nextgis/ngw-connector';
4 | import type { Polygon } from 'geojson';
5 |
6 | export class PolygonLayer extends VectorLayer {
7 | static geometryType: GeometryType = 'POLYGON';
8 | }
9 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/repository/ResourceGroup.ts:
--------------------------------------------------------------------------------
1 | import { BaseResource } from './BaseResource';
2 |
3 | export class ResourceGroup extends BaseResource {}
4 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/repository/SyncOptions.ts:
--------------------------------------------------------------------------------
1 | import type { BaseResource } from './BaseResource';
2 | import type { ResourceIdKeynameDef } from '@nextgis/ngw-connector';
3 |
4 | export interface SyncOptions {
5 | parent: ResourceIdKeynameDef | typeof BaseResource;
6 | keyname?: string;
7 | display_name?: string;
8 | description?: string;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/sync-items/ResourceSyncItem.ts:
--------------------------------------------------------------------------------
1 | import type { Resource, ResourceCls } from '@nextgis/ngw-connector';
2 |
3 | export type ResourceSyncItem<
4 | C extends Record = Record,
5 | > = BaseResourceSyncItem & { [key in ResourceCls]: C };
6 |
7 | export interface BaseResourceSyncItem {
8 | resource: Resource;
9 | resmeta: {
10 | items: Record;
11 | };
12 | }
13 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/sync-items/VectorResourceSyncItem.ts:
--------------------------------------------------------------------------------
1 | import type { BaseResourceSyncItem } from './ResourceSyncItem';
2 | import type { FeatureResource, VectorLayer } from '@nextgis/ngw-connector';
3 |
4 | export interface VectorResourceSyncItem extends BaseResourceSyncItem {
5 | vector_layer: VectorLayer & FeatureResource;
6 | }
7 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/sync-items/VectorResourceUpdateItem.ts:
--------------------------------------------------------------------------------
1 | import type { BaseResourceSyncItem } from './ResourceSyncItem';
2 | import type { FeatureResource } from '@nextgis/ngw-connector';
3 |
4 | export interface VectorResourceUpdateItem extends BaseResourceSyncItem {
5 | feature_layer: FeatureResource;
6 | }
7 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/types/ColumnTypes.ts:
--------------------------------------------------------------------------------
1 | import type { VectorFieldDatatype } from '@nextgis/ngw-connector';
2 |
3 | /**
4 | * Any vector layer column type column can be.
5 | */
6 | export type ColumnType = VectorFieldDatatype;
7 |
--------------------------------------------------------------------------------
/packages/ngw-orm/src/types/ValidateErrorType.ts:
--------------------------------------------------------------------------------
1 | export interface ValidateErrorType {
2 | type: string;
3 | message: string;
4 | context?: string[];
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-orm/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/examples/create_wms/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Create WMS service",
3 | "description": "Use of additional `createInput`-method parameters for processing the result, error and name formation. Demonstration of creating WMS service from style"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/examples/make_auth/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Raster upload after login",
3 | "description": ""
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/examples/make_auth_dialog/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Raster upload after login (dialog)",
3 | "description": ""
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/examples/simple_input/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Raster upload with createInput",
3 | "description": "A simple example showing how to use ngw-uploader-input to upload a GEOTIFF to the NextGIS Web cloud"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/src/index.ts:
--------------------------------------------------------------------------------
1 | import { NgwUploaderInput } from './NgwUploaderInput';
2 |
3 | export * from './interfaces';
4 |
5 | export default NgwUploaderInput;
6 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/src/ngw-uploader.css:
--------------------------------------------------------------------------------
1 | .ngw-uploader__login-dialog--form {
2 | text-align: left;
3 | line-height: 2rem;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/src/utils/constants.ts:
--------------------------------------------------------------------------------
1 | import type { ImageTypes } from '@nextgis/ngw-uploader';
2 |
3 | export const imageTypesAccept: { [format: string]: ImageTypes[] } = {
4 | tiff: ['image/tif', 'image/tiff', '.tif'],
5 | };
6 |
--------------------------------------------------------------------------------
/packages/ngw-uploader-input/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/examples/custom_input/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Raster upload to map",
3 | "description": "This example shows how to add a newly created raster on the map"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/examples/node-script/buildings.shp.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nextgis/nextgis_frontend/c13883ce8b5c8cb7e33ba2866b182ffa629053c7/packages/ngw-uploader/examples/node-script/buildings.shp.zip
--------------------------------------------------------------------------------
/packages/ngw-uploader/examples/node-script/railway_stations.shp.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nextgis/nextgis_frontend/c13883ce8b5c8cb7e33ba2866b182ffa629053c7/packages/ngw-uploader/examples/node-script/railway_stations.shp.zip
--------------------------------------------------------------------------------
/packages/ngw-uploader/examples/proxy-wms-2/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Vendor param in WMS Layer",
3 | "description": "Create proxy WMS service from remote WMS layers with vendor parameters."
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/examples/proxy-wms/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Proxy external WMS service",
3 | "description": "This example create NextGIS Web WMS service which proxies external WMS service with selected layers"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/ngw-uploader.cjs.js');
5 | } else {
6 | module.exports = require('./lib/ngw-uploader.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/src/index.ts:
--------------------------------------------------------------------------------
1 | import { NgwUploader } from './NgwUploader';
2 |
3 | export * from './interfaces';
4 |
5 | export default NgwUploader;
6 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/src/utils/createResourceOptions.ts:
--------------------------------------------------------------------------------
1 | import { createResourceName } from './createName';
2 |
3 | import type { ResourceCreateOptions } from '../interfaces';
4 | import type { ResourceCls } from '@nextgis/ngw-connector';
5 |
6 | export function createResourceOptions(
7 | cls: ResourceCls,
8 | opt: ResourceCreateOptions,
9 | ) {
10 | const name = createResourceName(opt);
11 | return {
12 | cls,
13 | parent: {
14 | id: opt.parentId !== undefined ? opt.parentId : opt.id,
15 | },
16 | display_name: name,
17 | keyname: opt.keyname || null,
18 | description: opt.description || null,
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/src/utils/template.ts:
--------------------------------------------------------------------------------
1 | // from leaflet Util.js
2 | const templateRe = /\{ *([\w_-]+) *\}/g;
3 |
4 | export function template(str: string, data: Record): string {
5 | return str.replace(templateRe, function (s, key) {
6 | let value = data[key];
7 |
8 | if (value === undefined) {
9 | value = '';
10 | } else if (typeof value === 'function') {
11 | value = value(data);
12 | }
13 | return value;
14 | });
15 | }
16 |
--------------------------------------------------------------------------------
/packages/ngw-uploader/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/controls/Attribution.ts:
--------------------------------------------------------------------------------
1 | import Attr from 'ol/control/Attribution';
2 |
3 | import type { AttributionControlOptions } from '@nextgis/webmap';
4 |
5 | const OPTIONS = {
6 | collapsible: false,
7 | };
8 |
9 | export class Attribution extends Attr {
10 | constructor(options: AttributionControlOptions) {
11 | super({ ...OPTIONS, ...options });
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/controls/ZoomControl.css:
--------------------------------------------------------------------------------
1 | .ol-zoom button {
2 | font-size: 1.14em;
3 | font-weight: bold;
4 | color: black;
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/controls/ZoomControl.ts:
--------------------------------------------------------------------------------
1 | import './ZoomControl.css';
2 |
3 | import Zoom from 'ol/control/Zoom';
4 |
5 | export class ZoomControl extends Zoom {
6 | constructor(...args: any[]) {
7 | super(...args);
8 | this.element.classList.remove('ol-control');
9 | this.element.classList.add('webmap-ctrl-group');
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/controls/createButtonControl.css:
--------------------------------------------------------------------------------
1 | .custom-button-control {
2 | line-height: inherit!important;
3 | font-weight: normal!important;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/index.ts:
--------------------------------------------------------------------------------
1 | import { OlMapAdapter } from './OlMapAdapter';
2 |
3 | export default OlMapAdapter;
4 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/layer-adapters/BaseAdapter.ts:
--------------------------------------------------------------------------------
1 | import type { AdapterOptions, MainLayerAdapter } from '@nextgis/webmap';
2 | import type Map from 'ol/Map';
3 | import type Base from 'ol/layer/Base';
4 |
5 | export class BaseAdapter implements Partial {
6 | layer?: Base;
7 |
8 | constructor(
9 | public map: Map,
10 | public options: AdapterOptions,
11 | ) {}
12 |
13 | setOpacity(val: number): void {
14 | this.options.opacity = Number(val);
15 | if (this.layer && this.layer.setOpacity) {
16 | this.layer.setOpacity(this.options.opacity);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/utils/getUrlsWithSubdomains.ts:
--------------------------------------------------------------------------------
1 | export function getUrlsWithSubdomains(
2 | url: string,
3 | subdomains?: string | string[],
4 | ): string[] {
5 | const urls: string[] = [];
6 | const subdomains_: string[] | undefined =
7 | typeof subdomains === 'string' ? subdomains.split('') : subdomains;
8 | if (subdomains_?.length) {
9 | subdomains_.forEach((x) => {
10 | urls.push(url.replace(/{s}/, x));
11 | });
12 | } else {
13 | urls.push(url);
14 | }
15 | return urls;
16 | }
17 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/src/utils/makeHtmlFromString.ts:
--------------------------------------------------------------------------------
1 | export function makeHtmlFromString(str: string): HTMLElement {
2 | const html = document.createElement('div');
3 | html.innerHTML = str;
4 | return html;
5 | }
6 |
--------------------------------------------------------------------------------
/packages/ol-map-adapter/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/paint/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/paint.cjs.js');
5 | } else {
6 | module.exports = require('./lib/paint.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/paint/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './interfaces';
2 | export * from './typeHelpers';
3 | export * from './fromPaintExpression';
4 | export * from './preparePaint';
5 |
--------------------------------------------------------------------------------
/packages/paint/src/pinBuilder.ts:
--------------------------------------------------------------------------------
1 | export interface FromMakiOptions {
2 | name: string;
3 | color?: string;
4 | size?: number;
5 | }
6 |
7 | export function fromMakiIcon(): void {
8 | //
9 | }
10 |
--------------------------------------------------------------------------------
/packages/paint/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/progress/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/progress.cjs.js');
5 | } else {
6 | module.exports = require('./lib/progress.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/progress/src/ProgressEvents.ts:
--------------------------------------------------------------------------------
1 | export interface ProgressEvents {
2 | /**
3 | * @eventProperty
4 | */
5 | add: any;
6 | /**
7 | * @eventProperty
8 | */
9 | remove: any;
10 | /**
11 | * @eventProperty
12 | */
13 | start: any;
14 | /**
15 | * @eventProperty
16 | */
17 | stop: any;
18 | }
19 |
--------------------------------------------------------------------------------
/packages/progress/src/index.ts:
--------------------------------------------------------------------------------
1 | import type { Progress } from './Progress';
2 |
3 | export type * from './ProgressEvents';
4 |
5 | export default Progress;
6 |
--------------------------------------------------------------------------------
/packages/progress/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/properties-filter/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/properties-filter.cjs.js');
5 | } else {
6 | module.exports = require('./lib/properties-filter.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/properties-filter/src/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | checkIfPropertyFilter,
3 | propertiesFilter,
4 | isPropertyFilter,
5 | featureFilter,
6 | } from './propertiesFilter';
7 | export type {
8 | Operation,
9 | Operations,
10 | Properties,
11 | PropertyFilter,
12 | PropertiesFilter,
13 | } from './interfaces';
14 |
--------------------------------------------------------------------------------
/packages/properties-filter/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/qms-kit/examples/create-adapter/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Create adapter","description":"Add baselayer from create qms adapter"}
2 |
--------------------------------------------------------------------------------
/packages/qms-kit/examples/webmap-starter-kit/index.json:
--------------------------------------------------------------------------------
1 | {"name":"Webmap starter kit","description":"Add baselayer as QMS webmap starter kit"}
2 |
--------------------------------------------------------------------------------
/packages/qms-kit/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/qms-kit.cjs.js');
5 | } else {
6 | module.exports = require('./lib/qms-kit.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/qms-kit/src/index.ts:
--------------------------------------------------------------------------------
1 | import { QmsKit } from './QmsKit';
2 |
3 | export * from './interfaces';
4 |
5 | export * from './utils/createQmsAdapter';
6 | export * from './utils/updateQmsOptions';
7 |
8 | export { QmsKit };
9 |
--------------------------------------------------------------------------------
/packages/qms-kit/src/utils/getSubmodulesFromOriginUrl.ts:
--------------------------------------------------------------------------------
1 | export function getSubdomainsOriginUrl(originUrl: string): [string, string[]] {
2 | const submodules: string[] = [];
3 | originUrl = originUrl.replace(/{switch:(.*?)}/, (m, group) => {
4 | if (typeof group === 'string') {
5 | group.split(',').forEach((s) => submodules.push(s));
6 | }
7 | return '{s}';
8 | });
9 | return [originUrl, submodules];
10 | }
11 |
--------------------------------------------------------------------------------
/packages/qms-kit/src/utils/loadJson.ts:
--------------------------------------------------------------------------------
1 | import { fixUrlStr } from '@nextgis/utils';
2 |
3 | export function loadJson(url: string): Promise {
4 | return new Promise((resolve, reject) => {
5 | const xmlHttp = new XMLHttpRequest();
6 | xmlHttp.onreadystatechange = () => {
7 | if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {
8 | if (xmlHttp.responseText) {
9 | try {
10 | resolve(JSON.parse(xmlHttp.responseText));
11 | } catch (er) {
12 | reject(er);
13 | }
14 | }
15 | }
16 | };
17 | xmlHttp.open('GET', fixUrlStr(url), true); // true for asynchronous
18 | xmlHttp.send();
19 | });
20 | }
21 |
--------------------------------------------------------------------------------
/packages/qms-kit/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/queue/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/queue.cjs.js');
5 | } else {
6 | module.exports = require('./lib/queue.cjs.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/queue/src/index.ts:
--------------------------------------------------------------------------------
1 | import { Queue } from './Queue';
2 |
3 | export default Queue;
4 |
--------------------------------------------------------------------------------
/packages/queue/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://typedoc.org/schema.json",
3 | "excludePrivate": true,
4 | "entryPoints": ["src/index.ts"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/react-ngw-leaflet/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/react-ngw-leaflet.esm-bundler.js');
5 | } else {
6 | module.exports = require('./lib/react-ngw-leaflet.esm-bundler.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/react-ngw-leaflet/src/index.ts:
--------------------------------------------------------------------------------
1 | import { ReactNgwLeaflet } from './ReactNgwLeaflet';
2 |
3 | export default ReactNgwLeaflet;
4 |
--------------------------------------------------------------------------------
/packages/react-ngw-map/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/react-ngw-map.esm-bundler.js');
5 | } else {
6 | module.exports = require('./lib/react-ngw-map.esm-bundler.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/react-ngw-map/src/component.ts:
--------------------------------------------------------------------------------
1 | import { forwardRef, useImperativeHandle } from 'react';
2 |
3 | import { useNgwMapContext } from './context';
4 |
5 | import type { ElementHook } from './element';
6 | import type { Ref } from 'react';
7 |
8 | export function createWebMapComponent(useElement: ElementHook) {
9 | function WebMapComponent(props: P, ref: Ref) {
10 | const context = useNgwMapContext();
11 | const { instance } = useElement(props, context).current;
12 | useImperativeHandle(ref, () => instance);
13 |
14 | return null;
15 | }
16 |
17 | return forwardRef(WebMapComponent);
18 | }
19 |
--------------------------------------------------------------------------------
/packages/react-ngw-map/src/context.ts:
--------------------------------------------------------------------------------
1 | import { createContext, useContext } from 'react';
2 |
3 | import type { NgwMapContextInterface } from './interfaces';
4 |
5 | export const NgwMapContext = createContext(null);
6 |
7 | export const NgwMapProvider = NgwMapContext.Provider;
8 |
9 | export function useNgwMapContext(): NgwMapContextInterface {
10 | const context = useContext(NgwMapContext);
11 | if (context === null) {
12 | throw new Error(
13 | 'No context provided: useNgwMapContext() can only be used in a descendant of ',
14 | );
15 | }
16 | return context;
17 | }
18 |
--------------------------------------------------------------------------------
/packages/react-ngw-map/src/hooks.ts:
--------------------------------------------------------------------------------
1 | import { useNgwMapContext } from './context';
2 |
3 | import type { NgwMap } from '@nextgis/ngw-map';
4 |
5 | export function useNgwMap(): NgwMap {
6 | return useNgwMapContext().ngwMap;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/react-ngw-map/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './interfaces';
2 |
3 | export { ReactNgwMap } from './ReactNgwMap';
4 | export { MapControl } from './MapControl';
5 | export { ButtonControl } from './ButtonControl';
6 | export { ToggleControl } from './ToggleControl';
7 | export { useNgwMapContext } from './context';
8 |
--------------------------------------------------------------------------------
/packages/react-ngw-map/src/utils/shallowEqual.ts:
--------------------------------------------------------------------------------
1 | export function shallowEqual(
2 | obj1: Record,
3 | obj2: Record,
4 | ) {
5 | const keys1 = Object.keys(obj1);
6 | const keys2 = Object.keys(obj2);
7 |
8 | if (keys1.length !== keys2.length) {
9 | return false;
10 | }
11 |
12 | for (const key of keys1) {
13 | if (
14 | !Object.prototype.hasOwnProperty.call(obj2, key) ||
15 | obj1[key] !== obj2[key]
16 | ) {
17 | return false;
18 | }
19 | }
20 |
21 | return true;
22 | }
23 |
--------------------------------------------------------------------------------
/packages/react-ngw-maplibre-gl/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | if (process.env.NODE_ENV === 'development') {
4 | module.exports = require('./lib/react-ngw-maplibre-gl.esm-bundler.js');
5 | } else {
6 | module.exports = require('./lib/react-ngw-maplibre-gl.esm-bundler.prod.js');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/react-ngw-maplibre-gl/src/ReactNgwMaplibreGL.ts:
--------------------------------------------------------------------------------
1 | import MapAdapter from '@nextgis/maplibre-gl-map-adapter';
2 | import { ReactNgwMap } from '@nextgis/react-ngw-map';
3 | import { createElement } from 'react';
4 |
5 | import type { MapContainerProps } from '@nextgis/react-ngw-map';
6 | import type { Map } from 'maplibre-gl';
7 |
8 | import 'maplibre-gl/dist/maplibre-gl.css';
9 |
10 | export function ReactNgwMaplibreGL<
11 | Props extends MapContainerProps = MapContainerProps