@redus/georedus-ui 0.19.5 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +132 -0
- package/dist/ExportImage/ExportImage.d.ts +1 -0
- package/dist/ExportImage/NorthArrow.d.ts +15 -0
- package/dist/ExportImage/constants.d.ts +2 -0
- package/dist/ExportImage/createMapBlob.d.ts +20 -0
- package/dist/ExportImage/createMapImage.d.ts +1 -0
- package/dist/ExportImage/index.d.ts +1 -0
- package/dist/ExportImage/paperDimensions.d.ts +8 -0
- package/dist/GeoReDUS/constants.d.ts +9 -0
- package/dist/GeoReDUSLogo/GeoReDUSLogo.d.ts +1 -1
- package/dist/LeftPanel/LeftPanel.d.ts +7 -3
- package/dist/LeftPanel/SharePanel.d.ts +7 -3
- package/dist/main.js +2681 -236
- package/dist/viewSpecs/presets/index.d.ts +5 -0
- package/dist/viewSpecs/presets/util/colorUtil.d.ts +2 -0
- package/dist/viewSpecs/presets/util/components/basicDownload.d.ts +12 -0
- package/dist/viewSpecs/presets/util/components/basicTooltip.d.ts +20 -0
- package/dist/viewSpecs/presets/util/components/confInputs.d.ts +127 -0
- package/dist/viewSpecs/presets/util/index.d.ts +6 -0
- package/dist/viewSpecs/presets/util/string.d.ts +1 -0
- package/dist/viewSpecs/presets/util/url.d.ts +7 -0
- package/dist/viewSpecs/presets/vector_circle/index.d.ts +75 -1
- package/dist/viewSpecs/presets/vector_line/index.d.ts +95 -2
- package/dist/viewSpecs/presets/vector_point_continuous/download.d.ts +9 -0
- package/dist/viewSpecs/presets/vector_point_continuous/index.d.ts +95 -0
- package/dist/viewSpecs/presets/vector_point_continuous/layers.d.ts +59 -0
- package/dist/viewSpecs/presets/vector_point_continuous/metadata/index.d.ts +11 -0
- package/dist/viewSpecs/presets/vector_point_continuous/parseStyleSpec.d.ts +34 -0
- package/dist/viewSpecs/presets/vector_point_continuous/sources.d.ts +8 -0
- package/dist/viewSpecs/presets/vector_point_single/confSchema.d.ts +63 -0
- package/dist/viewSpecs/presets/vector_point_single/download.d.ts +9 -0
- package/dist/viewSpecs/presets/vector_point_single/index.d.ts +142 -0
- package/dist/viewSpecs/presets/vector_point_single/layers.d.ts +53 -0
- package/dist/viewSpecs/presets/vector_point_single/metadata/index.d.ts +1 -0
- package/dist/viewSpecs/presets/vector_point_single/parseStyleSpec.d.ts +11 -0
- package/dist/viewSpecs/presets/vector_point_single/sources.d.ts +8 -0
- package/dist/viewSpecs/presets/vector_polygon/index.d.ts +93 -10
- package/dist/viewSpecs/presets/vector_polygon_categorical/confSchema.d.ts +14 -0
- package/dist/viewSpecs/presets/vector_polygon_categorical/download.d.ts +9 -0
- package/dist/viewSpecs/presets/vector_polygon_categorical/index.d.ts +108 -0
- package/dist/viewSpecs/presets/vector_polygon_categorical/layers.d.ts +58 -0
- package/dist/viewSpecs/presets/vector_polygon_categorical/metadata.d.ts +11 -0
- package/dist/viewSpecs/presets/vector_polygon_categorical/parseStyleSpec.d.ts +17 -0
- package/dist/viewSpecs/presets/vector_polygon_categorical/sources.d.ts +8 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/confSchema.d.ts +24 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/download.d.ts +9 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/index.d.ts +112 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/layers.d.ts +54 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/metadata/colorScaleStopResolvers.d.ts +21 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/metadata/index.d.ts +9 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/parseStyleSpec.d.ts +31 -0
- package/dist/viewSpecs/presets/vector_polygon_continuous/sources.d.ts +8 -0
- package/dist/viewSpecs/presets/vector_polygon_single/confSchema.d.ts +73 -0
- package/dist/viewSpecs/presets/vector_polygon_single/download.d.ts +9 -0
- package/dist/viewSpecs/presets/vector_polygon_single/index.d.ts +157 -0
- package/dist/viewSpecs/presets/vector_polygon_single/layers.d.ts +58 -0
- package/dist/viewSpecs/presets/vector_polygon_single/metadata.d.ts +1 -0
- package/dist/viewSpecs/presets/vector_polygon_single/parseStyleSpec.d.ts +7 -0
- package/dist/viewSpecs/presets/vector_polygon_single/sources.d.ts +7 -0
- package/dist/viewSpecs/util/colorSchemes/d3.d.ts +58 -0
- package/dist/viewSpecs/util/colorSchemes/georedus.d.ts +156 -0
- package/dist/viewSpecs/util/colorSchemes/index.d.ts +13 -0
- package/package.json +4 -2
- package/dist/viewSpecs/util/colorSchemes.d.ts +0 -15
package/dist/main.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isPlainObject, pick, omit, set, get as get$1, uniqBy, groupBy, sortBy, uniq } from 'lodash';
|
|
2
2
|
import { slugify, dataJoin, interpolate } from '@orioro/util';
|
|
3
3
|
import { makeResolve, $$literal, withExpressionResolvers, expressions, ALL_EXPR, fetchExpr, resolve, resolveAsync } from '@orioro/resolve';
|
|
4
4
|
import { __assign, __spreadArray, __awaiter, __generator, __makeTemplateObject } from 'tslib';
|
|
5
5
|
import { schemeTableau10, schemeSet3, schemeSet2, schemeSet1, schemePastel2, schemePastel1, schemePaired, schemeObservable10, schemeDark2, schemeAccent, schemeCategory10, schemeSpectral, schemeRdYlGn, schemeRdYlBu, schemeRdGy, schemeRdBu, schemePuOr, schemePiYG, schemePRGn, schemeBrBG, schemeYlOrRd, schemeYlOrBr, schemeYlGn, schemeYlGnBu, schemeRdPu, schemePuRd, schemePuBu, schemePuBuGn, schemeOrRd, schemeGnBu, schemeBuPu, schemeBuGn, schemeReds, schemePurples, schemeOranges, schemeGreys, schemeGreens, schemeBlues, interpolateSpectral } from 'd3-scale-chromatic';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { get } from '@orioro/get';
|
|
7
|
+
import { saveAs as saveAs$1 } from 'file-saver';
|
|
8
|
+
import { CANCELLED, fileReadAs, Flex, AspectRatio, LoadingIndicator, Box, RichTextOutput, EvenSpacedList, FileOutput, MARKDOWN_DEFAULT_REMARK_PLUGINS, MARKDOWN_DEFAULT_REHYPE_PLUGINS, Markdown as Markdown$1, DropdownMenu, Input, SwitchInput, TextEllipsis, withDefaults, Button, LoadingOverlay, SingleFileInput, InputProvider as InputProvider$1, rendererSpecList, TextInput, withLabeledLayout, INPUTS, useLocalState } from '@orioro/react-ui-core';
|
|
8
9
|
import initGdalJs from 'gdal3.js';
|
|
9
10
|
import queryString from 'query-string';
|
|
10
11
|
import { wrap } from 'comlink';
|
|
11
12
|
import { dataMergeProtocol } from '@orioro/vector-tile-util';
|
|
12
13
|
import maplibregl from 'maplibre-gl';
|
|
13
|
-
import { get as get$1 } from '@orioro/get';
|
|
14
14
|
import { buffer } from '@turf/turf';
|
|
15
15
|
import { scaleQuantile } from 'd3-scale';
|
|
16
|
-
import { fmtLayerAbsoluteId, waves_1,
|
|
16
|
+
import { SVG_PATTERNS, fmtLayerAbsoluteId, waves_1, ControlContainer, LayeredMap, makeSyncedMaps, svgImageGenerator, useMapRegistry, useTilesLoading, HoverTooltip, layeredMapOnClickHandler, DynamicImages, InspectControl, MapWindow, TerrainControl, fitGeometry } from '@orioro/react-maplibre-util';
|
|
17
|
+
import { cast, strAutoCast } from '@orioro/cast';
|
|
17
18
|
import { csvParse } from 'd3-dsv';
|
|
18
|
-
import {
|
|
19
|
-
import React$1, { useState, useMemo, useCallback, useContext, createContext, memo, useReducer, useEffect, useRef } from 'react';
|
|
19
|
+
import React$1, { useState, useMemo, useCallback, useContext, createContext, useRef, useEffect, forwardRef, useImperativeHandle, memo, useReducer } from 'react';
|
|
20
20
|
import styled, { keyframes } from 'styled-components';
|
|
21
21
|
import { colord } from 'colord';
|
|
22
|
-
import { Heading, Portal, Badge, Tabs, Tooltip, IconButton, Theme, Text, Popover,
|
|
23
|
-
import { mdiSprout, mdiTree, mdiCurrencyUsd, mdiAccountMultipleOutline, mdiScaleBalance, mdiHelpCircleOutline, mdiDownload, mdiDotsVertical, mdiOpacity, mdiFilterVariant, mdiBookOpenVariant, mdiMap, mdiEarth, mdiHospitalBox, mdiHomeCity, mdiSchool, mdiAccountGroup, mdiContentCopy, mdiLinkVariant,
|
|
22
|
+
import { Heading, Portal, Badge, Tabs, Tooltip, IconButton, Theme, Text, Popover, Strong } from '@radix-ui/themes';
|
|
23
|
+
import { mdiSprout, mdiTree, mdiCurrencyUsd, mdiAccountMultipleOutline, mdiScaleBalance, mdiHelpCircleOutline, mdiDownload, mdiDotsVertical, mdiOpacity, mdiFilterVariant, mdiBookOpenVariant, mdiMap, mdiEarth, mdiHospitalBox, mdiHomeCity, mdiSchool, mdiAccountGroup, mdiContentCopy, mdiLinkVariant, mdiNavigation, mdiChevronLeft, mdiForumOutline, mdiShareVariantOutline, mdiDragVertical, mdiLayers, mdiClose, mdiHospital } from '@mdi/js';
|
|
24
24
|
import { Icon } from '@mdi/react';
|
|
25
25
|
import Confetti from 'react-confetti';
|
|
26
26
|
import { nodeIdFromPath } from '@orioro/tree-model';
|
|
@@ -35,12 +35,15 @@ import { CsvImportDialog } from '@orioro/react-csv';
|
|
|
35
35
|
import Highlighter from 'react-highlight-words';
|
|
36
36
|
import { LinkedinShareButton, LinkedinIcon, EmailShareButton, EmailIcon, FacebookShareButton, FacebookIcon, TwitterShareButton, TwitterIcon, WhatsappShareButton, WhatsappIcon } from 'react-share';
|
|
37
37
|
import CopyToClipboard from 'react-copy-to-clipboard';
|
|
38
|
+
import { Legend } from '@orioro/react-chart-util';
|
|
39
|
+
import QRCode from 'react-qr-code';
|
|
40
|
+
import { useMap, useControl, AttributionControl, ScaleControl, GeolocateControl, FullscreenControl, NavigationControl } from 'react-map-gl/maplibre';
|
|
41
|
+
import { createPortal } from 'react-dom';
|
|
42
|
+
import { toBlob } from 'html-to-image';
|
|
38
43
|
import { makeSortableMultiList } from '@orioro/react-sortable';
|
|
39
44
|
import '@maplibre/maplibre-gl-inspect/dist/maplibre-gl-inspect.css';
|
|
40
|
-
import { Legend } from '@orioro/react-chart-util';
|
|
41
45
|
import 'maplibre-gl/dist/maplibre-gl.css';
|
|
42
46
|
import { useQueries, useQuery } from '@tanstack/react-query';
|
|
43
|
-
import { AttributionControl, GeolocateControl, FullscreenControl, NavigationControl, ScaleControl, useMap } from 'react-map-gl/maplibre';
|
|
44
47
|
import { pointToTile, tileToBBOX } from '@mapbox/tilebelt';
|
|
45
48
|
|
|
46
49
|
function _arrayLikeToArray(r, a) {
|
|
@@ -180,6 +183,9 @@ function _nonIterableRest() {
|
|
|
180
183
|
function _nonIterableSpread() {
|
|
181
184
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
182
185
|
}
|
|
186
|
+
function _objectDestructuringEmpty(t) {
|
|
187
|
+
if (null == t) throw new TypeError("Cannot destructure " + t);
|
|
188
|
+
}
|
|
183
189
|
function ownKeys(e, r) {
|
|
184
190
|
var t = Object.keys(e);
|
|
185
191
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -2931,7 +2937,10 @@ var D3_SEQUENTIAL = {
|
|
|
2931
2937
|
schemeYlOrBr: schemeYlOrBr,
|
|
2932
2938
|
schemeYlOrRd: schemeYlOrRd
|
|
2933
2939
|
};
|
|
2934
|
-
var
|
|
2940
|
+
var SCHEME_GEOREDUS = ['#FF7F00', '#CAB2D6', '#FFE551', '#39BBA7', '#FB9A99', '#B15928', '#FDBF6F', '#DA5AD8', '#B4B282', '#6A3D9A'];
|
|
2941
|
+
var D3_COLOR_SCHEMES = __assign(__assign(__assign(__assign(__assign({
|
|
2942
|
+
schemeGeoReDUS: SCHEME_GEOREDUS
|
|
2943
|
+
}, _objMap(D3_CATEGORICAL, function (_a) {
|
|
2935
2944
|
var id = _a[0],
|
|
2936
2945
|
scheme = _a[1];
|
|
2937
2946
|
return [id, _categoricalScheme(scheme)];
|
|
@@ -2952,6 +2961,96 @@ var COLOR_SCHEMES = __assign(__assign(__assign(__assign(__assign({}, _objMap(D3_
|
|
|
2952
2961
|
scheme = _a[1];
|
|
2953
2962
|
return ["-".concat(id), _reverseByKScheme(scheme)];
|
|
2954
2963
|
}));
|
|
2964
|
+
|
|
2965
|
+
var GEOREDUS_LABELED_SAFE_COLORS = {
|
|
2966
|
+
laranja: {
|
|
2967
|
+
label: 'Laranja',
|
|
2968
|
+
value: '#FF7F00'
|
|
2969
|
+
},
|
|
2970
|
+
lilas: {
|
|
2971
|
+
label: 'Lilás',
|
|
2972
|
+
value: '#CAB2D6'
|
|
2973
|
+
},
|
|
2974
|
+
amarelo: {
|
|
2975
|
+
label: 'Amarelo',
|
|
2976
|
+
value: '#FFE551'
|
|
2977
|
+
},
|
|
2978
|
+
verde_agua: {
|
|
2979
|
+
label: 'Verde-água',
|
|
2980
|
+
value: '#39BBA7'
|
|
2981
|
+
},
|
|
2982
|
+
vermelho_claro: {
|
|
2983
|
+
label: 'Vermelho claro',
|
|
2984
|
+
value: '#FB9A99'
|
|
2985
|
+
},
|
|
2986
|
+
marrom: {
|
|
2987
|
+
label: 'Marrom',
|
|
2988
|
+
value: '#B15928'
|
|
2989
|
+
},
|
|
2990
|
+
laranja_claro: {
|
|
2991
|
+
label: 'Laranja claro',
|
|
2992
|
+
value: '#FDBF6F'
|
|
2993
|
+
},
|
|
2994
|
+
rosa: {
|
|
2995
|
+
label: 'Rosa',
|
|
2996
|
+
value: '#DA5AD8'
|
|
2997
|
+
},
|
|
2998
|
+
verde_marrom: {
|
|
2999
|
+
label: 'Verde-marrom',
|
|
3000
|
+
value: '#B4B282'
|
|
3001
|
+
},
|
|
3002
|
+
roxo: {
|
|
3003
|
+
label: 'Roxo',
|
|
3004
|
+
value: '#6A3D9A'
|
|
3005
|
+
}
|
|
3006
|
+
};
|
|
3007
|
+
var GEOREDUS_LABELED_RESTRICTED_USE_COLORS = {
|
|
3008
|
+
azul_claro: {
|
|
3009
|
+
label: 'Azul claro',
|
|
3010
|
+
value: '#A6CEE3'
|
|
3011
|
+
},
|
|
3012
|
+
azul: {
|
|
3013
|
+
label: 'Azul',
|
|
3014
|
+
value: '#1F78B4'
|
|
3015
|
+
},
|
|
3016
|
+
verde_claro: {
|
|
3017
|
+
label: 'Verde claro',
|
|
3018
|
+
value: '#B2DF8A'
|
|
3019
|
+
},
|
|
3020
|
+
verde: {
|
|
3021
|
+
label: 'Verde',
|
|
3022
|
+
value: '#33A02C'
|
|
3023
|
+
},
|
|
3024
|
+
vermelho: {
|
|
3025
|
+
label: 'Vermelho',
|
|
3026
|
+
value: '#E31A1C'
|
|
3027
|
+
},
|
|
3028
|
+
cinza_claro: {
|
|
3029
|
+
label: 'Cinza claro',
|
|
3030
|
+
value: '#CCCCCC'
|
|
3031
|
+
},
|
|
3032
|
+
cinza: {
|
|
3033
|
+
label: 'Cinza',
|
|
3034
|
+
value: '#828282'
|
|
3035
|
+
}
|
|
3036
|
+
};
|
|
3037
|
+
var GEOREDUS_LABELED_COLORS = __assign(__assign({}, GEOREDUS_LABELED_SAFE_COLORS), GEOREDUS_LABELED_RESTRICTED_USE_COLORS);
|
|
3038
|
+
var schemeGeoReDUS = Object.fromEntries(Object.entries(GEOREDUS_LABELED_COLORS).map(function (_a) {
|
|
3039
|
+
var key = _a[0],
|
|
3040
|
+
value = _a[1].value;
|
|
3041
|
+
return [key, value];
|
|
3042
|
+
}));
|
|
3043
|
+
var schemeGeoReDUSSafe = Object.fromEntries(Object.entries(GEOREDUS_LABELED_SAFE_COLORS).map(function (_a) {
|
|
3044
|
+
var key = _a[0],
|
|
3045
|
+
value = _a[1].value;
|
|
3046
|
+
return [key, value];
|
|
3047
|
+
}));
|
|
3048
|
+
var GEOREDUS_COLOR_SCHEMES = {
|
|
3049
|
+
schemeGeoReDUS: schemeGeoReDUS,
|
|
3050
|
+
schemeGeoReDUSSafe: schemeGeoReDUSSafe
|
|
3051
|
+
};
|
|
3052
|
+
|
|
3053
|
+
var COLOR_SCHEMES = __assign(__assign({}, D3_COLOR_SCHEMES), GEOREDUS_COLOR_SCHEMES);
|
|
2955
3054
|
function colorScheme(path) {
|
|
2956
3055
|
var scheme = get(COLOR_SCHEMES, path);
|
|
2957
3056
|
if (!scheme) {
|
|
@@ -2959,6 +3058,13 @@ function colorScheme(path) {
|
|
|
2959
3058
|
}
|
|
2960
3059
|
return scheme;
|
|
2961
3060
|
}
|
|
3061
|
+
function resolveColor(colorInput) {
|
|
3062
|
+
return colorInput ? get(COLOR_SCHEMES, colorInput) || colorInput : colorInput;
|
|
3063
|
+
}
|
|
3064
|
+
function resolveSchemeColor(colorSchemeId, indexOrId) {
|
|
3065
|
+
var colorScheme = COLOR_SCHEMES[colorSchemeId];
|
|
3066
|
+
return typeof indexOrId === 'string' ? colorScheme[indexOrId] : (Array.isArray(colorScheme) ? colorScheme : Object.values(colorScheme))[indexOrId];
|
|
3067
|
+
}
|
|
2962
3068
|
|
|
2963
3069
|
//
|
|
2964
3070
|
// Formats the filter to be a compatible searchParams for fetching
|
|
@@ -3267,7 +3373,7 @@ var _b = makeResolve({
|
|
|
3267
3373
|
resolveExprAsync = _b.resolveAsync,
|
|
3268
3374
|
resolveExpr = _b.resolve;
|
|
3269
3375
|
|
|
3270
|
-
var EXTENSIONS_BY_FORMAT = {
|
|
3376
|
+
var EXTENSIONS_BY_FORMAT$1 = {
|
|
3271
3377
|
GeoJSON: 'geojson',
|
|
3272
3378
|
GPKG: 'gpkg',
|
|
3273
3379
|
CSV: 'csv',
|
|
@@ -3398,9 +3504,9 @@ function downloadResolver(downloadConf) {
|
|
|
3398
3504
|
});
|
|
3399
3505
|
case 10:
|
|
3400
3506
|
blob = _context.sent;
|
|
3401
|
-
saveAs(blob, "".concat(typeof fileNameBase === 'function' ? fileNameBase({
|
|
3507
|
+
saveAs$1(blob, "".concat(typeof fileNameBase === 'function' ? fileNameBase({
|
|
3402
3508
|
options: options
|
|
3403
|
-
}) : fileNameBase, ".").concat(EXTENSIONS_BY_FORMAT[options.format]));
|
|
3509
|
+
}) : fileNameBase, ".").concat(EXTENSIONS_BY_FORMAT$1[options.format]));
|
|
3404
3510
|
_context.next = 19;
|
|
3405
3511
|
break;
|
|
3406
3512
|
case 14:
|
|
@@ -3540,7 +3646,7 @@ function influenceAreaMetadata(_a) {
|
|
|
3540
3646
|
getGeoJson = _c === void 0 ? _defaultGetGeoJson : _c,
|
|
3541
3647
|
_d = _b.getConf,
|
|
3542
3648
|
getConf = _d === void 0 ? function (context) {
|
|
3543
|
-
return get
|
|
3649
|
+
return get(context, 'view.conf.data') || {};
|
|
3544
3650
|
} : _d;
|
|
3545
3651
|
return {
|
|
3546
3652
|
influenceArea: resolveAsync.fn(function (context) {
|
|
@@ -3631,12 +3737,12 @@ function influenceAreaLayers(_a) {
|
|
|
3631
3737
|
};
|
|
3632
3738
|
}
|
|
3633
3739
|
|
|
3634
|
-
var _excluded$
|
|
3740
|
+
var _excluded$e = ["version"];
|
|
3635
3741
|
function tableVectorSource(context, tableId) {
|
|
3636
3742
|
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
3637
3743
|
_ref$version = _ref.version,
|
|
3638
3744
|
version = _ref$version === void 0 ? '1' : _ref$version,
|
|
3639
|
-
override = _objectWithoutProperties(_ref, _excluded$
|
|
3745
|
+
override = _objectWithoutProperties(_ref, _excluded$e);
|
|
3640
3746
|
var VECTOR_TILE_SERVER_ENDPOINT = context.VECTOR_TILE_SERVER_ENDPOINT;
|
|
3641
3747
|
return _objectSpread2({
|
|
3642
3748
|
type: 'vector',
|
|
@@ -3818,7 +3924,7 @@ function numerical_size$1(base, _ref) {
|
|
|
3818
3924
|
minSize: SIZE_MIN,
|
|
3819
3925
|
maxSize: SIZE_MAX
|
|
3820
3926
|
}), 10],
|
|
3821
|
-
'circle-color': get(COLOR_SCHEMES, color_scheme) || color_scheme
|
|
3927
|
+
'circle-color': get$1(COLOR_SCHEMES, color_scheme) || color_scheme
|
|
3822
3928
|
}
|
|
3823
3929
|
})))
|
|
3824
3930
|
});
|
|
@@ -3839,7 +3945,7 @@ function categorical$1(base, _ref) {
|
|
|
3839
3945
|
var VECTOR_SOURCE_ID = "".concat(TABLE_ID, ".geom");
|
|
3840
3946
|
categories = categories ? categories.map(function (category) {
|
|
3841
3947
|
return _objectSpread2(_objectSpread2({}, category), {}, {
|
|
3842
|
-
color: get(COLOR_SCHEMES, category.color) || category.color
|
|
3948
|
+
color: get$1(COLOR_SCHEMES, category.color) || category.color
|
|
3843
3949
|
});
|
|
3844
3950
|
}) : null;
|
|
3845
3951
|
return _objectSpread2(_objectSpread2({}, base), {}, {
|
|
@@ -4014,11 +4120,11 @@ function cem_escolas_2022(config, allViewSpecs, context) {
|
|
|
4014
4120
|
zIndex: Z_OVERLAY_MIDDLE_2000,
|
|
4015
4121
|
dataPath: 'view.metadata.influenceArea',
|
|
4016
4122
|
fillPaint: {
|
|
4017
|
-
'fill-color': get(COLOR_SCHEMES, 'schemeSet1.colors[1]'),
|
|
4123
|
+
'fill-color': get$1(COLOR_SCHEMES, 'schemeSet1.colors[1]'),
|
|
4018
4124
|
'fill-opacity': 0.3
|
|
4019
4125
|
},
|
|
4020
4126
|
boundaryPaint: {
|
|
4021
|
-
'line-color': get(COLOR_SCHEMES, 'schemeSet1.colors[1]'),
|
|
4127
|
+
'line-color': get$1(COLOR_SCHEMES, 'schemeSet1.colors[1]'),
|
|
4022
4128
|
'line-opacity': 0.8,
|
|
4023
4129
|
'line-width': 2,
|
|
4024
4130
|
'line-dasharray': [2, 2]
|
|
@@ -4278,7 +4384,7 @@ function chartUtil(viewSpec, allViewSpecs, context) {
|
|
|
4278
4384
|
}
|
|
4279
4385
|
|
|
4280
4386
|
var DEFAULT_BUFFER_SIZE$1 = 200;
|
|
4281
|
-
function confSchema(viewSpec, allViewSpecs, context, _ref) {
|
|
4387
|
+
function confSchema$4(viewSpec, allViewSpecs, context, _ref) {
|
|
4282
4388
|
var PARSED_SCHEMA = _ref.PARSED_SCHEMA;
|
|
4283
4389
|
var variable_id = viewSpec.variable_id;
|
|
4284
4390
|
return {
|
|
@@ -4414,7 +4520,7 @@ var _resolveSourceBounds = resolve.fn(function (context) {
|
|
|
4414
4520
|
return UNBOUNDED_BOUNDS;
|
|
4415
4521
|
}
|
|
4416
4522
|
});
|
|
4417
|
-
function metadata$
|
|
4523
|
+
function metadata$8(viewSpec, allViewSpecs, context, _ref2) {
|
|
4418
4524
|
var PARSED_SCHEMA = _ref2.PARSED_SCHEMA,
|
|
4419
4525
|
DATA_UTIL = _ref2.DATA_UTIL,
|
|
4420
4526
|
CHART_UTIL = _ref2.CHART_UTIL;
|
|
@@ -4546,7 +4652,7 @@ function dataUtil(viewSpec, allViewSpecs, context, _ref) {
|
|
|
4546
4652
|
var PARSED_SCHEMA = _ref.PARSED_SCHEMA;
|
|
4547
4653
|
var METADATA_API_ENDPOINT = context.METADATA_API_ENDPOINT;
|
|
4548
4654
|
var _resolveDataUrl = resolve.fn(function (context) {
|
|
4549
|
-
var _variableId = get
|
|
4655
|
+
var _variableId = get(context, 'view.conf.data.variableId');
|
|
4550
4656
|
var _variant = PARSED_SCHEMA.variantsByVariableId[_variableId];
|
|
4551
4657
|
var url = "".concat(METADATA_API_ENDPOINT, "/").concat(_variant.source_table_id, "?").concat($urlSearch([{
|
|
4552
4658
|
select: ['cd_setor', _variableId].join(','),
|
|
@@ -4811,7 +4917,7 @@ function setor_censitario(viewSpec, allViewSpecs, context, _ref) {
|
|
|
4811
4917
|
promoteId: 'cd_setor',
|
|
4812
4918
|
bounds: _resolveSourceBounds,
|
|
4813
4919
|
tiles: [resolve.fn(function (context) {
|
|
4814
|
-
var _variableId = get
|
|
4920
|
+
var _variableId = get(context, 'view.conf.data.variableId');
|
|
4815
4921
|
var _variant = PARSED_SCHEMA.variantsByVariableId[_variableId];
|
|
4816
4922
|
return ['$vtxUrl', {
|
|
4817
4923
|
tiles: "".concat(VECTOR_TILE_SERVER_ENDPOINT, "/dvt/{z}/{x}/{y}?").concat($urlSearch([{
|
|
@@ -4875,7 +4981,7 @@ function setor_censitario(viewSpec, allViewSpecs, context, _ref) {
|
|
|
4875
4981
|
};
|
|
4876
4982
|
}
|
|
4877
4983
|
|
|
4878
|
-
function download$
|
|
4984
|
+
function download$6(viewSpec, allViewSpecs, context, _ref) {
|
|
4879
4985
|
var PARSED_SCHEMA = _ref.PARSED_SCHEMA;
|
|
4880
4986
|
var METADATA_API_ENDPOINT = context.METADATA_API_ENDPOINT;
|
|
4881
4987
|
return downloadResolver({
|
|
@@ -4945,7 +5051,7 @@ function cem_censo_2010_2022(viewSpec, allViewSpecs, context) {
|
|
|
4945
5051
|
PARSED_SCHEMA: PARSED_SCHEMA,
|
|
4946
5052
|
DATA_UTIL: DATA_UTIL
|
|
4947
5053
|
});
|
|
4948
|
-
var DOWNLOAD = download$
|
|
5054
|
+
var DOWNLOAD = download$6(viewSpec, allViewSpecs, context, {
|
|
4949
5055
|
PARSED_SCHEMA: PARSED_SCHEMA
|
|
4950
5056
|
});
|
|
4951
5057
|
return {
|
|
@@ -4957,10 +5063,10 @@ function cem_censo_2010_2022(viewSpec, allViewSpecs, context) {
|
|
|
4957
5063
|
sourceLabel: PARSED_SCHEMA.sourceLabel,
|
|
4958
5064
|
keywords: PARSED_SCHEMA.keywords,
|
|
4959
5065
|
viewType: VIEW_TYPE_SURFACE_CHOROPLETH,
|
|
4960
|
-
confSchema: confSchema(viewSpec, allViewSpecs, context, {
|
|
5066
|
+
confSchema: confSchema$4(viewSpec, allViewSpecs, context, {
|
|
4961
5067
|
PARSED_SCHEMA: PARSED_SCHEMA
|
|
4962
5068
|
}),
|
|
4963
|
-
metadata: metadata$
|
|
5069
|
+
metadata: metadata$8(viewSpec, allViewSpecs, context, {
|
|
4964
5070
|
PARSED_SCHEMA: PARSED_SCHEMA,
|
|
4965
5071
|
CHART_UTIL: CHART_UTIL,
|
|
4966
5072
|
DATA_UTIL: DATA_UTIL
|
|
@@ -4978,7 +5084,7 @@ function cem_censo_2010_2022(viewSpec, allViewSpecs, context) {
|
|
|
4978
5084
|
};
|
|
4979
5085
|
}
|
|
4980
5086
|
|
|
4981
|
-
function download(context, _ref) {
|
|
5087
|
+
function download$5(context, _ref) {
|
|
4982
5088
|
var PARSED_SCHEMA = _ref.PARSED_SCHEMA;
|
|
4983
5089
|
var METADATA_API_ENDPOINT = context.METADATA_API_ENDPOINT;
|
|
4984
5090
|
return downloadResolver({
|
|
@@ -5098,7 +5204,7 @@ function _defaultMetadata() {
|
|
|
5098
5204
|
GLOBAL_CONTEXT = _ref2.GLOBAL_CONTEXT, PARSED_SCHEMA = _ref2.PARSED_SCHEMA;
|
|
5099
5205
|
METADATA_API_ENDPOINT = GLOBAL_CONTEXT.METADATA_API_ENDPOINT; // Load data on the municipio
|
|
5100
5206
|
municipioId = context.app.municipioId;
|
|
5101
|
-
variableId = get
|
|
5207
|
+
variableId = get(context, 'view.conf.data.variableId');
|
|
5102
5208
|
variant = PARSED_SCHEMA.variantsByVariableId[variableId]; //
|
|
5103
5209
|
// The rawDataCacheUrl should be shared with following pipeline steps
|
|
5104
5210
|
// so that it may be effectively cached
|
|
@@ -5113,7 +5219,7 @@ function _defaultMetadata() {
|
|
|
5113
5219
|
return vtx.memoFetchData(rawDataCacheUrl);
|
|
5114
5220
|
case 8:
|
|
5115
5221
|
rawData = _context.sent;
|
|
5116
|
-
scaleValues = get
|
|
5222
|
+
scaleValues = get(rawData, "[].".concat(variableId));
|
|
5117
5223
|
colorScheme = _censoColorScheme(variant.colorScheme);
|
|
5118
5224
|
colorScaleStops = variant.classificationMethod === 'quantile(5)' ? _quantileBreakpoints(_objectSpread2({
|
|
5119
5225
|
k: 5,
|
|
@@ -5339,7 +5445,7 @@ function customGeoJson_layers(opts) {
|
|
|
5339
5445
|
};
|
|
5340
5446
|
}
|
|
5341
5447
|
|
|
5342
|
-
function metadata$
|
|
5448
|
+
function metadata$7(opts) {
|
|
5343
5449
|
return resolveAsync.fn(/*#__PURE__*/function () {
|
|
5344
5450
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(context) {
|
|
5345
5451
|
var _context$view;
|
|
@@ -5385,7 +5491,7 @@ function buildings_sources(_ref) {
|
|
|
5385
5491
|
minzoom: BUILDINGS_MIN_ZOOM,
|
|
5386
5492
|
maxzoom: BUILDINGS_MIN_ZOOM,
|
|
5387
5493
|
tiles: [resolve.fn(function (context) {
|
|
5388
|
-
var variableId = get
|
|
5494
|
+
var variableId = get(context, 'view.conf.data.variableId');
|
|
5389
5495
|
var variant = PARSED_SCHEMA.variantsByVariableId[variableId];
|
|
5390
5496
|
return ['$vtxUrl', {
|
|
5391
5497
|
tiles: "".concat(VECTOR_TILE_SERVER_ENDPOINT, "/").concat(BUILDINGS_SOURCE_ID, "/{z}/{x}/{y}"),
|
|
@@ -5487,7 +5593,7 @@ function setor_censitario_sources(_ref2) {
|
|
|
5487
5593
|
// bounds: ['$get', 'view.metadata.municipioData.group_bbox'],
|
|
5488
5594
|
promoteId: 'id',
|
|
5489
5595
|
tiles: [resolve.fn(function (context) {
|
|
5490
|
-
var variableId = get
|
|
5596
|
+
var variableId = get(context, 'view.conf.data.variableId');
|
|
5491
5597
|
var variant = PARSED_SCHEMA.variantsByVariableId[variableId];
|
|
5492
5598
|
return ['$vtxUrl', {
|
|
5493
5599
|
tiles: "".concat(VECTOR_TILE_SERVER_ENDPOINT, "/").concat(SETOR_CENSITARIO_SOURCE_ID, "/{z}/{x}/{y}"),
|
|
@@ -5533,8 +5639,8 @@ function setor_censitario_layers(opts) {
|
|
|
5533
5639
|
tooltip: {
|
|
5534
5640
|
title: ['$literal', ['$template', 'Setor censitário ${0}', ['$get', 'feature.properties.id']]],
|
|
5535
5641
|
entries: ['$literal', resolve.fn(function (context) {
|
|
5536
|
-
var variableId = get
|
|
5537
|
-
var variableLabel = get
|
|
5642
|
+
var variableId = get(context, 'view.conf.data.variableId');
|
|
5643
|
+
var variableLabel = get(context, "view.metadata.labels.".concat(variableId));
|
|
5538
5644
|
var mainValueDisplay;
|
|
5539
5645
|
if (variableId === 'total_pessoas_por_km2') {
|
|
5540
5646
|
try {
|
|
@@ -5545,7 +5651,7 @@ function setor_censitario_layers(opts) {
|
|
|
5545
5651
|
mainValueDisplay = null;
|
|
5546
5652
|
}
|
|
5547
5653
|
} else {
|
|
5548
|
-
var value = get
|
|
5654
|
+
var value = get(context, 'feature.properties.value');
|
|
5549
5655
|
var isPercentage = variableId.endsWith('_2'); // _2 is the new suffix to indicate percentage variables
|
|
5550
5656
|
var format = isPercentage ? {
|
|
5551
5657
|
style: 'percent'
|
|
@@ -5598,7 +5704,7 @@ function setor_censitario_layers(opts) {
|
|
|
5598
5704
|
filter: _filter,
|
|
5599
5705
|
paint: {
|
|
5600
5706
|
'line-color': resolve.fn(function (context) {
|
|
5601
|
-
var variableId = get
|
|
5707
|
+
var variableId = get(context, 'view.conf.data.variableId');
|
|
5602
5708
|
var variant = PARSED_SCHEMA.variantsByVariableId[variableId];
|
|
5603
5709
|
return _censoColorScheme(variant.colorScheme).scalesByK[3][2];
|
|
5604
5710
|
}),
|
|
@@ -5613,7 +5719,7 @@ function setor_censitario_layers(opts) {
|
|
|
5613
5719
|
}
|
|
5614
5720
|
|
|
5615
5721
|
var intramun = {
|
|
5616
|
-
metadata: metadata$
|
|
5722
|
+
metadata: metadata$7,
|
|
5617
5723
|
sources: function sources(opts) {
|
|
5618
5724
|
return _objectSpread2(_objectSpread2(_objectSpread2({}, setor_censitario_sources(opts)), buildings_sources(opts)), customGeoJson_sources());
|
|
5619
5725
|
},
|
|
@@ -5623,7 +5729,7 @@ var intramun = {
|
|
|
5623
5729
|
};
|
|
5624
5730
|
|
|
5625
5731
|
var DEFAULT_COLOR_SCHEME$1 = COLOR_SCHEMES.schemeOranges;
|
|
5626
|
-
function metadata$
|
|
5732
|
+
function metadata$6(_ref) {
|
|
5627
5733
|
var GLOBAL_CONTEXT = _ref.GLOBAL_CONTEXT,
|
|
5628
5734
|
PARSED_SCHEMA = _ref.PARSED_SCHEMA;
|
|
5629
5735
|
var METADATA_API_ENDPOINT = GLOBAL_CONTEXT.METADATA_API_ENDPOINT;
|
|
@@ -5653,7 +5759,7 @@ function metadata$1(_ref) {
|
|
|
5653
5759
|
}
|
|
5654
5760
|
throw new Error("Municipio not found: ".concat(municipioId));
|
|
5655
5761
|
case 9:
|
|
5656
|
-
variableId = get
|
|
5762
|
+
variableId = get(context, 'view.conf.data.variableId');
|
|
5657
5763
|
variant = PARSED_SCHEMA.variantsByVariableId[variableId]; //
|
|
5658
5764
|
// The rawDataCacheUrl should be shared with following pipeline steps
|
|
5659
5765
|
// so that it may be effectively cached
|
|
@@ -5671,7 +5777,7 @@ function metadata$1(_ref) {
|
|
|
5671
5777
|
//
|
|
5672
5778
|
// Use values for the focusMunicipio to build the scale
|
|
5673
5779
|
//
|
|
5674
|
-
scaleValues = get
|
|
5780
|
+
scaleValues = get(rawData, "[].".concat(variableId));
|
|
5675
5781
|
colorScheme = variant.colorScheme ? COLOR_SCHEMES[variant.colorScheme] || DEFAULT_COLOR_SCHEME$1 : DEFAULT_COLOR_SCHEME$1;
|
|
5676
5782
|
return _context.abrupt("return", {
|
|
5677
5783
|
ufData: ufData,
|
|
@@ -5710,7 +5816,7 @@ function municipio_sources$1(_ref) {
|
|
|
5710
5816
|
bounds: ['$get', 'view.metadata.ufData.bbox'],
|
|
5711
5817
|
promoteId: 'id',
|
|
5712
5818
|
tiles: [resolve.fn(function (context) {
|
|
5713
|
-
get
|
|
5819
|
+
get(context, 'view.conf.data.variableId');
|
|
5714
5820
|
return ['$vtxUrl', {
|
|
5715
5821
|
tiles: "".concat(VECTOR_TILE_SERVER_ENDPOINT, "/").concat(MUNICIPIO_SOURCE_ID$1, "/{z}/{x}/{y}"),
|
|
5716
5822
|
data: [['id', ['$get', 'view.metadata.rawDataCacheUrl']]]
|
|
@@ -5748,7 +5854,7 @@ function municipio_layers$1() {
|
|
|
5748
5854
|
}
|
|
5749
5855
|
|
|
5750
5856
|
var intrauf = {
|
|
5751
|
-
metadata: metadata$
|
|
5857
|
+
metadata: metadata$6,
|
|
5752
5858
|
sources: function sources(opts) {
|
|
5753
5859
|
return _objectSpread2({}, municipio_sources$1(opts));
|
|
5754
5860
|
},
|
|
@@ -5758,7 +5864,7 @@ var intrauf = {
|
|
|
5758
5864
|
};
|
|
5759
5865
|
|
|
5760
5866
|
var DEFAULT_COLOR_SCHEME = COLOR_SCHEMES.schemeOranges;
|
|
5761
|
-
function metadata(_ref) {
|
|
5867
|
+
function metadata$5(_ref) {
|
|
5762
5868
|
var GLOBAL_CONTEXT = _ref.GLOBAL_CONTEXT,
|
|
5763
5869
|
PARSED_SCHEMA = _ref.PARSED_SCHEMA;
|
|
5764
5870
|
var METADATA_API_ENDPOINT = GLOBAL_CONTEXT.METADATA_API_ENDPOINT;
|
|
@@ -5787,7 +5893,7 @@ function metadata(_ref) {
|
|
|
5787
5893
|
}
|
|
5788
5894
|
throw new Error("BR data not found");
|
|
5789
5895
|
case 9:
|
|
5790
|
-
variableId = get
|
|
5896
|
+
variableId = get(context, 'view.conf.data.variableId');
|
|
5791
5897
|
variant = PARSED_SCHEMA.variantsByVariableId[variableId]; //
|
|
5792
5898
|
// The rawDataCacheUrl should be shared with following pipeline steps
|
|
5793
5899
|
// so that it may be effectively cached
|
|
@@ -5804,7 +5910,7 @@ function metadata(_ref) {
|
|
|
5804
5910
|
//
|
|
5805
5911
|
// Use values for the focusMunicipio to build the scale
|
|
5806
5912
|
//
|
|
5807
|
-
scaleValues = get
|
|
5913
|
+
scaleValues = get(rawData, "[].".concat(variableId));
|
|
5808
5914
|
colorScheme = variant.colorScheme ? COLOR_SCHEMES[variant.colorScheme] || DEFAULT_COLOR_SCHEME : DEFAULT_COLOR_SCHEME;
|
|
5809
5915
|
return _context.abrupt("return", {
|
|
5810
5916
|
brData: brData,
|
|
@@ -5843,7 +5949,7 @@ function municipio_sources(_ref) {
|
|
|
5843
5949
|
bounds: ['$get', 'view.metadata.brData.bbox'],
|
|
5844
5950
|
promoteId: 'id',
|
|
5845
5951
|
tiles: [resolve.fn(function (context) {
|
|
5846
|
-
get
|
|
5952
|
+
get(context, 'view.conf.data.variableId');
|
|
5847
5953
|
return ['$vtxUrl', {
|
|
5848
5954
|
tiles: "".concat(VECTOR_TILE_SERVER_ENDPOINT, "/").concat(MUNICIPIO_SOURCE_ID, "/{z}/{x}/{y}"),
|
|
5849
5955
|
data: [['id', ['$get', 'view.metadata.rawDataCacheUrl']]]
|
|
@@ -5878,7 +5984,7 @@ function municipio_layers() {
|
|
|
5878
5984
|
}
|
|
5879
5985
|
|
|
5880
5986
|
var intrabr = {
|
|
5881
|
-
metadata: metadata,
|
|
5987
|
+
metadata: metadata$5,
|
|
5882
5988
|
sources: function sources(opts) {
|
|
5883
5989
|
return _objectSpread2({}, municipio_sources(opts));
|
|
5884
5990
|
},
|
|
@@ -5913,14 +6019,14 @@ function cem_censo_2022(viewSpec, allViewSpecs, context) {
|
|
|
5913
6019
|
if (!PARSED_SCHEMA) {
|
|
5914
6020
|
return null;
|
|
5915
6021
|
}
|
|
5916
|
-
var DOWNLOAD = download(context, {
|
|
6022
|
+
var DOWNLOAD = download$5(context, {
|
|
5917
6023
|
PARSED_SCHEMA: PARSED_SCHEMA
|
|
5918
6024
|
});
|
|
5919
6025
|
var CHOROPLETH = choropleth({
|
|
5920
6026
|
GLOBAL_CONTEXT: context,
|
|
5921
6027
|
PARSED_SCHEMA: PARSED_SCHEMA
|
|
5922
6028
|
});
|
|
5923
|
-
var CONF_SCHEMA = confSchema(viewSpec, allViewSpecs, context, {
|
|
6029
|
+
var CONF_SCHEMA = confSchema$4(viewSpec, allViewSpecs, context, {
|
|
5924
6030
|
PARSED_SCHEMA: PARSED_SCHEMA
|
|
5925
6031
|
});
|
|
5926
6032
|
return {
|
|
@@ -5992,7 +6098,7 @@ function numerical_size(base, _ref) {
|
|
|
5992
6098
|
minSize: SIZE_MIN,
|
|
5993
6099
|
maxSize: SIZE_MAX
|
|
5994
6100
|
}), 10],
|
|
5995
|
-
'circle-color': get(COLOR_SCHEMES, color_scheme) || color_scheme
|
|
6101
|
+
'circle-color': get$1(COLOR_SCHEMES, color_scheme) || color_scheme
|
|
5996
6102
|
}
|
|
5997
6103
|
})))
|
|
5998
6104
|
});
|
|
@@ -6014,7 +6120,7 @@ function categorical(base, _ref) {
|
|
|
6014
6120
|
var VECTOR_SOURCE_ID = "".concat(TABLE_ID, ".geom");
|
|
6015
6121
|
categories = categories ? categories.map(function (category) {
|
|
6016
6122
|
return _objectSpread2(_objectSpread2({}, category), {}, {
|
|
6017
|
-
color: get(COLOR_SCHEMES, category.color) || category.color
|
|
6123
|
+
color: get$1(COLOR_SCHEMES, category.color) || category.color
|
|
6018
6124
|
});
|
|
6019
6125
|
}) : null;
|
|
6020
6126
|
var $circleColor = categories ? ['match', ['to-string', ['get', VARIABLE_ID]]].concat(_toConsumableArray(categories.flatMap(function (category) {
|
|
@@ -6320,7 +6426,341 @@ function cem_saude_2024(viewSpec, allViewSpecs, context) {
|
|
|
6320
6426
|
}));
|
|
6321
6427
|
}
|
|
6322
6428
|
|
|
6323
|
-
var
|
|
6429
|
+
var DEFAULT_FILL_OPACITY$1 = 0.5;
|
|
6430
|
+
function applyOpacity(color, alpha) {
|
|
6431
|
+
if (color.startsWith('#')) {
|
|
6432
|
+
var hex = color;
|
|
6433
|
+
if (hex.length === 4) {
|
|
6434
|
+
hex = '#' + __spreadArray([], hex.slice(1), true).map(function (c) {
|
|
6435
|
+
return c + c;
|
|
6436
|
+
}).join('');
|
|
6437
|
+
}
|
|
6438
|
+
var r = parseInt(hex.slice(1, 3), 16);
|
|
6439
|
+
var g = parseInt(hex.slice(3, 5), 16);
|
|
6440
|
+
var b = parseInt(hex.slice(5, 7), 16);
|
|
6441
|
+
return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(alpha, ")");
|
|
6442
|
+
}
|
|
6443
|
+
console.warn("applyOpacity: unsupported color format \"".concat(color, "\", returning as-is"));
|
|
6444
|
+
return color;
|
|
6445
|
+
}
|
|
6446
|
+
|
|
6447
|
+
function parseTiles(tiles, context) {
|
|
6448
|
+
var parsedTiles = Array.isArray(tiles) ? tiles : typeof tiles === 'string' ? [tiles] : null;
|
|
6449
|
+
if (!parsedTiles) {
|
|
6450
|
+
throw new Error("tiles is required");
|
|
6451
|
+
}
|
|
6452
|
+
return parsedTiles.map(function (tileSrcUrl) {
|
|
6453
|
+
return interpolate(tileSrcUrl, context);
|
|
6454
|
+
});
|
|
6455
|
+
}
|
|
6456
|
+
|
|
6457
|
+
var LOWERCASE_WORDS = new Set(['de', 'da', 'do', 'das', 'dos', 'e', 'a', 'o', 'as', 'os', 'em', 'no', 'na', 'nos', 'nas', 'por', 'para', 'com', 'sem']);
|
|
6458
|
+
function humanize(str) {
|
|
6459
|
+
if (!str) return '';
|
|
6460
|
+
return str.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/[-_]+/g, ' ').replace(/\s+/g, ' ').trim().toLowerCase().replace(/(^\S+|\s\S+)/g, function (match, _, offset) {
|
|
6461
|
+
var word = match.trim();
|
|
6462
|
+
var isFirst = offset === 0;
|
|
6463
|
+
return isFirst || !LOWERCASE_WORDS.has(word) ? match.replace(word[0], word[0].toUpperCase()) : match;
|
|
6464
|
+
});
|
|
6465
|
+
}
|
|
6466
|
+
|
|
6467
|
+
function basicTooltip() {
|
|
6468
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
6469
|
+
title = _ref.title,
|
|
6470
|
+
entries = _ref.entries;
|
|
6471
|
+
var titleKey = title || 'name';
|
|
6472
|
+
return {
|
|
6473
|
+
title: ['$literal', resolve.fn(function (ctx) {
|
|
6474
|
+
var _ctx$feature;
|
|
6475
|
+
return ctx === null || ctx === void 0 || (_ctx$feature = ctx.feature) === null || _ctx$feature === void 0 || (_ctx$feature = _ctx$feature.properties) === null || _ctx$feature === void 0 ? void 0 : _ctx$feature[titleKey];
|
|
6476
|
+
})],
|
|
6477
|
+
entries: ['$literal', resolve.fn(function (ctx) {
|
|
6478
|
+
var _ctx$feature2;
|
|
6479
|
+
if (_typeof((_ctx$feature2 = ctx.feature) === null || _ctx$feature2 === void 0 ? void 0 : _ctx$feature2.properties) !== 'object') {
|
|
6480
|
+
return [];
|
|
6481
|
+
}
|
|
6482
|
+
var entrySpecs = Array.isArray(entries) ? Object.fromEntries(entries.map(function (spec) {
|
|
6483
|
+
return typeof spec === 'string' ? [spec, {
|
|
6484
|
+
label: humanize(spec)
|
|
6485
|
+
}] : [spec.key, spec];
|
|
6486
|
+
})) : _typeof(entries) === 'object' ? entries : Object.fromEntries(Object.keys(ctx.feature.properties).filter(function (key) {
|
|
6487
|
+
return key !== titleKey;
|
|
6488
|
+
}).map(function (key) {
|
|
6489
|
+
return [key, {
|
|
6490
|
+
label: humanize(key)
|
|
6491
|
+
}];
|
|
6492
|
+
}));
|
|
6493
|
+
return Object.entries(entrySpecs).map(function (_ref2) {
|
|
6494
|
+
var _ctx$feature3;
|
|
6495
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
6496
|
+
key = _ref3[0],
|
|
6497
|
+
spec = _ref3[1];
|
|
6498
|
+
spec = typeof spec === 'string' ? {
|
|
6499
|
+
label: spec
|
|
6500
|
+
} : spec;
|
|
6501
|
+
var _spec = spec,
|
|
6502
|
+
label = _spec.label,
|
|
6503
|
+
format = _spec.format;
|
|
6504
|
+
return [label, cast(_objectSpread2({
|
|
6505
|
+
type: 'string'
|
|
6506
|
+
}, format), (_ctx$feature3 = ctx.feature) === null || _ctx$feature3 === void 0 ? void 0 : _ctx$feature3.properties[key])];
|
|
6507
|
+
});
|
|
6508
|
+
})]
|
|
6509
|
+
};
|
|
6510
|
+
}
|
|
6511
|
+
|
|
6512
|
+
var GEOMETRY_KEY = 'geom';
|
|
6513
|
+
var EXTENSIONS_BY_FORMAT = {
|
|
6514
|
+
GeoJSON: 'geojson',
|
|
6515
|
+
GPKG: 'gpkg',
|
|
6516
|
+
CSV: 'csv',
|
|
6517
|
+
KML: 'kml'
|
|
6518
|
+
};
|
|
6519
|
+
var OPTIONS_SCHEMA = {
|
|
6520
|
+
format: {
|
|
6521
|
+
label: 'Selecione o formato do arquivo',
|
|
6522
|
+
type: 'radioSelect',
|
|
6523
|
+
required: true,
|
|
6524
|
+
options: [
|
|
6525
|
+
// {
|
|
6526
|
+
// value: 'CSV',
|
|
6527
|
+
// label: 'Planilha CSV (dados tabulares separados por vírgulas)',
|
|
6528
|
+
// },
|
|
6529
|
+
{
|
|
6530
|
+
value: 'GPKG',
|
|
6531
|
+
label: 'GeoPackage (banco de dados geoespacial compacto)'
|
|
6532
|
+
}, {
|
|
6533
|
+
value: 'GeoJSON',
|
|
6534
|
+
label: 'GeoJSON (dados geográficos em JSON)'
|
|
6535
|
+
}, {
|
|
6536
|
+
value: 'KML',
|
|
6537
|
+
label: 'KML (Keyhole Markup Language - mapas em XML)'
|
|
6538
|
+
}]
|
|
6539
|
+
}
|
|
6540
|
+
};
|
|
6541
|
+
function basicDownload(_ref) {
|
|
6542
|
+
var fileName = _ref.fileName,
|
|
6543
|
+
downloadUrl = _ref.downloadUrl;
|
|
6544
|
+
return resolve.fn(function (ctx) {
|
|
6545
|
+
return /*#__PURE__*/function () {
|
|
6546
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
6547
|
+
var dialogs, options;
|
|
6548
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
6549
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
6550
|
+
case 0:
|
|
6551
|
+
dialogs = _ref2.dialogs;
|
|
6552
|
+
_context2.next = 3;
|
|
6553
|
+
return dialogs.prompt({
|
|
6554
|
+
title: 'Baixar dados',
|
|
6555
|
+
submit: 'Baixar',
|
|
6556
|
+
input: {
|
|
6557
|
+
type: 'object',
|
|
6558
|
+
properties: OPTIONS_SCHEMA
|
|
6559
|
+
},
|
|
6560
|
+
defaultValue: {
|
|
6561
|
+
format: 'GPKG'
|
|
6562
|
+
}
|
|
6563
|
+
});
|
|
6564
|
+
case 3:
|
|
6565
|
+
options = _context2.sent;
|
|
6566
|
+
_context2.next = 6;
|
|
6567
|
+
return dialogs.loading(/*#__PURE__*/function () {
|
|
6568
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref4) {
|
|
6569
|
+
var setMessage, data, geoJsonData, blob;
|
|
6570
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
6571
|
+
while (1) switch (_context.prev = _context.next) {
|
|
6572
|
+
case 0:
|
|
6573
|
+
setMessage = _ref4.setMessage;
|
|
6574
|
+
_context.next = 3;
|
|
6575
|
+
return fetch(downloadUrl).then(function (res) {
|
|
6576
|
+
return res.json();
|
|
6577
|
+
});
|
|
6578
|
+
case 3:
|
|
6579
|
+
data = _context.sent;
|
|
6580
|
+
//
|
|
6581
|
+
// Build a geoJson data object
|
|
6582
|
+
//
|
|
6583
|
+
geoJsonData = {
|
|
6584
|
+
type: 'FeatureCollection',
|
|
6585
|
+
features: data.map(function (entry) {
|
|
6586
|
+
var geometry = entry[GEOMETRY_KEY];
|
|
6587
|
+
return {
|
|
6588
|
+
type: 'Feature',
|
|
6589
|
+
properties: omit(entry, [GEOMETRY_KEY]),
|
|
6590
|
+
geometry: geometry
|
|
6591
|
+
};
|
|
6592
|
+
})
|
|
6593
|
+
};
|
|
6594
|
+
_context.prev = 5;
|
|
6595
|
+
setMessage('Preparando arquivo');
|
|
6596
|
+
//
|
|
6597
|
+
// Convert to requested format using ogr2ogr
|
|
6598
|
+
//
|
|
6599
|
+
_context.next = 9;
|
|
6600
|
+
return ogr2ogr({
|
|
6601
|
+
src: geoJsonData,
|
|
6602
|
+
format: options.format
|
|
6603
|
+
});
|
|
6604
|
+
case 9:
|
|
6605
|
+
blob = _context.sent;
|
|
6606
|
+
saveAs(blob, "".concat(fileName, ".").concat(EXTENSIONS_BY_FORMAT[options.format]));
|
|
6607
|
+
_context.next = 18;
|
|
6608
|
+
break;
|
|
6609
|
+
case 13:
|
|
6610
|
+
_context.prev = 13;
|
|
6611
|
+
_context.t0 = _context["catch"](5);
|
|
6612
|
+
console.error(_context.t0.message);
|
|
6613
|
+
_context.next = 18;
|
|
6614
|
+
return dialogs.info("Ocorreu um erro ao gerar o arquivo: ".concat(_context.t0.message));
|
|
6615
|
+
case 18:
|
|
6616
|
+
case "end":
|
|
6617
|
+
return _context.stop();
|
|
6618
|
+
}
|
|
6619
|
+
}, _callee, null, [[5, 13]]);
|
|
6620
|
+
}));
|
|
6621
|
+
return function (_x2) {
|
|
6622
|
+
return _ref5.apply(this, arguments);
|
|
6623
|
+
};
|
|
6624
|
+
}(), 'Carregando dados');
|
|
6625
|
+
case 6:
|
|
6626
|
+
case "end":
|
|
6627
|
+
return _context2.stop();
|
|
6628
|
+
}
|
|
6629
|
+
}, _callee2);
|
|
6630
|
+
}));
|
|
6631
|
+
return function (_x) {
|
|
6632
|
+
return _ref3.apply(this, arguments);
|
|
6633
|
+
};
|
|
6634
|
+
}();
|
|
6635
|
+
});
|
|
6636
|
+
}
|
|
6637
|
+
|
|
6638
|
+
var COLOR_OPTIONS = Object.values(GEOREDUS_LABELED_COLORS);
|
|
6639
|
+
function colorSelector(_initialColor) {
|
|
6640
|
+
return {
|
|
6641
|
+
label: 'Cor',
|
|
6642
|
+
helperText: 'Selecione a cor para a camada',
|
|
6643
|
+
type: 'select',
|
|
6644
|
+
clearable: false,
|
|
6645
|
+
defaultValue: _initialColor,
|
|
6646
|
+
options: COLOR_OPTIONS.map(function (opt) {
|
|
6647
|
+
return _objectSpread2(_objectSpread2({}, opt), {}, {
|
|
6648
|
+
label: /*#__PURE__*/React.createElement(Flex, {
|
|
6649
|
+
direction: "row",
|
|
6650
|
+
alignItems: "center",
|
|
6651
|
+
gap: "2"
|
|
6652
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6653
|
+
style: {
|
|
6654
|
+
width: '15px',
|
|
6655
|
+
height: '15px',
|
|
6656
|
+
backgroundColor: opt.value
|
|
6657
|
+
}
|
|
6658
|
+
}), /*#__PURE__*/React.createElement("div", null, opt.label))
|
|
6659
|
+
});
|
|
6660
|
+
})
|
|
6661
|
+
};
|
|
6662
|
+
}
|
|
6663
|
+
function svgBgImage$2(svg) {
|
|
6664
|
+
return "url(\"data:image/svg+xml,".concat(encodeURIComponent(svg), "\")");
|
|
6665
|
+
}
|
|
6666
|
+
var FILL_PATTERN_SOLID = 'solid';
|
|
6667
|
+
var FILL_PATTERN_OPTIONS$1 = [{
|
|
6668
|
+
label: 'Preenchido',
|
|
6669
|
+
value: FILL_PATTERN_SOLID
|
|
6670
|
+
}, {
|
|
6671
|
+
label: 'Quadrados',
|
|
6672
|
+
value: 'squares_1'
|
|
6673
|
+
}, {
|
|
6674
|
+
label: 'Triângulos',
|
|
6675
|
+
value: 'triangles_1'
|
|
6676
|
+
}, {
|
|
6677
|
+
label: 'Diamantes',
|
|
6678
|
+
value: 'diamonds_1'
|
|
6679
|
+
}, {
|
|
6680
|
+
label: 'Cruz',
|
|
6681
|
+
value: 'cross_1'
|
|
6682
|
+
}, {
|
|
6683
|
+
label: 'Mosaico 1',
|
|
6684
|
+
value: 'mosaic_1'
|
|
6685
|
+
}, {
|
|
6686
|
+
label: 'Mosaico 2',
|
|
6687
|
+
value: 'mosaic_2'
|
|
6688
|
+
}, {
|
|
6689
|
+
label: 'Ondas',
|
|
6690
|
+
value: 'waves_1'
|
|
6691
|
+
}, {
|
|
6692
|
+
label: 'Círculos',
|
|
6693
|
+
value: 'circles_1'
|
|
6694
|
+
}, {
|
|
6695
|
+
label: 'Linhas',
|
|
6696
|
+
value: 'lines_1'
|
|
6697
|
+
}];
|
|
6698
|
+
function fillPatternSelector() {
|
|
6699
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6700
|
+
return _objectSpread2({
|
|
6701
|
+
label: 'Textura',
|
|
6702
|
+
type: 'select',
|
|
6703
|
+
clearable: false,
|
|
6704
|
+
defaultValue: FILL_PATTERN_SOLID,
|
|
6705
|
+
options: FILL_PATTERN_OPTIONS$1.map(function (opt) {
|
|
6706
|
+
var pattern = opt.value === FILL_PATTERN_SOLID ? null : svgBgImage$2(SVG_PATTERNS[opt.value]({
|
|
6707
|
+
scale: '0.25'
|
|
6708
|
+
}));
|
|
6709
|
+
return _objectSpread2(_objectSpread2({}, opt), {}, {
|
|
6710
|
+
label: /*#__PURE__*/React.createElement(Flex, {
|
|
6711
|
+
direction: "row",
|
|
6712
|
+
alignItems: "center",
|
|
6713
|
+
gap: "2"
|
|
6714
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6715
|
+
style: _objectSpread2({
|
|
6716
|
+
width: 15,
|
|
6717
|
+
height: 15,
|
|
6718
|
+
border: '1px solid #aaa'
|
|
6719
|
+
}, pattern ? {
|
|
6720
|
+
backgroundImage: pattern
|
|
6721
|
+
} : {
|
|
6722
|
+
backgroundColor: '#ccc'
|
|
6723
|
+
})
|
|
6724
|
+
}), /*#__PURE__*/React.createElement("div", null, " ", opt.label))
|
|
6725
|
+
});
|
|
6726
|
+
})
|
|
6727
|
+
}, props);
|
|
6728
|
+
}
|
|
6729
|
+
|
|
6730
|
+
var _excluded$d = ["label", "color", "line", "fill", "tiles", "source_layer", "sources", "layers", "fill_pattern"];
|
|
6731
|
+
var SOLID = 'solid';
|
|
6732
|
+
var DEFAULT_FILL_OPACITY = 0.5;
|
|
6733
|
+
var FILL_PATTERN_OPTIONS = [{
|
|
6734
|
+
label: 'Preenchido',
|
|
6735
|
+
value: SOLID
|
|
6736
|
+
}, {
|
|
6737
|
+
label: 'Quadrados',
|
|
6738
|
+
value: 'squares_1'
|
|
6739
|
+
}, {
|
|
6740
|
+
label: 'Triângulos',
|
|
6741
|
+
value: 'triangles_1'
|
|
6742
|
+
}, {
|
|
6743
|
+
label: 'Diamantes',
|
|
6744
|
+
value: 'diamonds_1'
|
|
6745
|
+
}, {
|
|
6746
|
+
label: 'Cruz',
|
|
6747
|
+
value: 'cross_1'
|
|
6748
|
+
}, {
|
|
6749
|
+
label: 'Mosaico 1',
|
|
6750
|
+
value: 'mosaic_1'
|
|
6751
|
+
}, {
|
|
6752
|
+
label: 'Mosaico 2',
|
|
6753
|
+
value: 'mosaic_2'
|
|
6754
|
+
}, {
|
|
6755
|
+
label: 'Ondas',
|
|
6756
|
+
value: 'waves_1'
|
|
6757
|
+
}, {
|
|
6758
|
+
label: 'Círculos',
|
|
6759
|
+
value: 'circles_1'
|
|
6760
|
+
}, {
|
|
6761
|
+
label: 'Linhas',
|
|
6762
|
+
value: 'lines_1'
|
|
6763
|
+
}];
|
|
6324
6764
|
function _parseTiles$2(tiles, context) {
|
|
6325
6765
|
tiles = Array.isArray(tiles) ? tiles : typeof tiles === 'string' ? [tiles] : null;
|
|
6326
6766
|
if (!tiles) {
|
|
@@ -6330,6 +6770,9 @@ function _parseTiles$2(tiles, context) {
|
|
|
6330
6770
|
return interpolate(tileSrcUrl, context);
|
|
6331
6771
|
});
|
|
6332
6772
|
}
|
|
6773
|
+
function svgBgImage$1(svg) {
|
|
6774
|
+
return "url(\"data:image/svg+xml,".concat(encodeURIComponent(svg), "\")");
|
|
6775
|
+
}
|
|
6333
6776
|
function vector_polygon(_ref, allViewSpecs, context) {
|
|
6334
6777
|
var label = _ref.label,
|
|
6335
6778
|
color = _ref.color,
|
|
@@ -6343,12 +6786,87 @@ function vector_polygon(_ref, allViewSpecs, context) {
|
|
|
6343
6786
|
sources = _ref$sources === void 0 ? {} : _ref$sources,
|
|
6344
6787
|
_ref$layers = _ref.layers,
|
|
6345
6788
|
layers = _ref$layers === void 0 ? {} : _ref$layers,
|
|
6346
|
-
|
|
6789
|
+
fill_pattern = _ref.fill_pattern,
|
|
6790
|
+
props = _objectWithoutProperties(_ref, _excluded$d);
|
|
6347
6791
|
if (!source_layer) {
|
|
6348
6792
|
throw new Error('source_layer must be defined');
|
|
6349
6793
|
}
|
|
6794
|
+
var _initialColor = resolveColor(color);
|
|
6795
|
+
var _color = resolve.fn(function (ctx) {
|
|
6796
|
+
var _ctx$view;
|
|
6797
|
+
return resolveColor((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.color) || _initialColor;
|
|
6798
|
+
});
|
|
6799
|
+
var _legend = resolve.fn(_color, function (_resolvedColor, ctx) {
|
|
6800
|
+
var _ctx$view2;
|
|
6801
|
+
var resolvedFillPattern = ((_ctx$view2 = ctx.view) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.conf) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.style) === null || _ctx$view2 === void 0 ? void 0 : _ctx$view2.fillPattern) || fill_pattern;
|
|
6802
|
+
var legendItemProps = resolvedFillPattern || line ? {
|
|
6803
|
+
box: {
|
|
6804
|
+
style: _objectSpread2({
|
|
6805
|
+
borderColor: line !== null && line !== void 0 && line.paint && line.paint['line-color'] ? line.paint['line-color'] : _resolvedColor,
|
|
6806
|
+
borderStyle: line !== null && line !== void 0 && line.paint && line.paint['line-dasharray'] ? 'dashed' : 'solid',
|
|
6807
|
+
borderWidth: '1px'
|
|
6808
|
+
}, resolvedFillPattern && resolvedFillPattern !== SOLID ? {
|
|
6809
|
+
backgroundColor: 'transparent',
|
|
6810
|
+
backgroundImage: resolvedFillPattern && typeof SVG_PATTERNS[resolvedFillPattern] === 'function' ? svgBgImage$1(SVG_PATTERNS[resolvedFillPattern]({
|
|
6811
|
+
stroke: _resolvedColor,
|
|
6812
|
+
scale: '0.25'
|
|
6813
|
+
})) : ''
|
|
6814
|
+
} : {})
|
|
6815
|
+
}
|
|
6816
|
+
} : {};
|
|
6817
|
+
return {
|
|
6818
|
+
type: 'CategoricalLegend',
|
|
6819
|
+
items: [_objectSpread2({
|
|
6820
|
+
label: label,
|
|
6821
|
+
color: _color
|
|
6822
|
+
}, legendItemProps)]
|
|
6823
|
+
};
|
|
6824
|
+
});
|
|
6825
|
+
var _fillPaint = resolve.fn(_color, function (_resolvedColor, ctx) {
|
|
6826
|
+
var _ctx$view3;
|
|
6827
|
+
var resolvedFillPattern = ((_ctx$view3 = ctx.view) === null || _ctx$view3 === void 0 || (_ctx$view3 = _ctx$view3.conf) === null || _ctx$view3 === void 0 || (_ctx$view3 = _ctx$view3.style) === null || _ctx$view3 === void 0 ? void 0 : _ctx$view3.fillPattern) || fill_pattern;
|
|
6828
|
+
var resolvedFillPatternStr = resolvedFillPattern && resolvedFillPattern !== SOLID ? "".concat(resolvedFillPattern, "({ stroke: \"").concat(_resolvedColor, "\", scale: 0.5 })") : null;
|
|
6829
|
+
return _objectSpread2(_objectSpread2({
|
|
6830
|
+
'fill-opacity': fill.paint && fill.paint['fill-opacity'] ? fill.paint['fill-opacity'] : DEFAULT_FILL_OPACITY,
|
|
6831
|
+
'fill-color': _color
|
|
6832
|
+
}, fill['paint']), resolvedFillPatternStr ? {
|
|
6833
|
+
'fill-pattern': resolvedFillPatternStr
|
|
6834
|
+
} : {});
|
|
6835
|
+
});
|
|
6350
6836
|
return _objectSpread2(_objectSpread2({}, props), {}, {
|
|
6351
6837
|
label: label,
|
|
6838
|
+
confSchema: {
|
|
6839
|
+
style: {
|
|
6840
|
+
color: colorSelector(_initialColor),
|
|
6841
|
+
fillPattern: {
|
|
6842
|
+
label: 'Textura',
|
|
6843
|
+
type: 'select',
|
|
6844
|
+
clearable: false,
|
|
6845
|
+
defaultValue: fill_pattern || SOLID,
|
|
6846
|
+
options: FILL_PATTERN_OPTIONS.map(function (opt) {
|
|
6847
|
+
var pattern = opt.value === SOLID ? null : svgBgImage$1(SVG_PATTERNS[opt.value]({
|
|
6848
|
+
scale: '0.25'
|
|
6849
|
+
}));
|
|
6850
|
+
return _objectSpread2(_objectSpread2({}, opt), {}, {
|
|
6851
|
+
label: /*#__PURE__*/React.createElement(Flex, {
|
|
6852
|
+
direction: "row",
|
|
6853
|
+
alignItems: "center",
|
|
6854
|
+
gap: "2"
|
|
6855
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6856
|
+
style: _objectSpread2({
|
|
6857
|
+
width: 15,
|
|
6858
|
+
height: 15
|
|
6859
|
+
}, pattern ? {
|
|
6860
|
+
backgroundImage: pattern
|
|
6861
|
+
} : {
|
|
6862
|
+
backgroundColor: '#ccc'
|
|
6863
|
+
})
|
|
6864
|
+
}), /*#__PURE__*/React.createElement("div", null, " ", opt.label))
|
|
6865
|
+
});
|
|
6866
|
+
})
|
|
6867
|
+
}
|
|
6868
|
+
}
|
|
6869
|
+
},
|
|
6352
6870
|
metadata: {},
|
|
6353
6871
|
sources: _objectSpread2({
|
|
6354
6872
|
main: {
|
|
@@ -6363,26 +6881,18 @@ function vector_polygon(_ref, allViewSpecs, context) {
|
|
|
6363
6881
|
'source-layer': source_layer,
|
|
6364
6882
|
type: 'line'
|
|
6365
6883
|
}, line), {}, {
|
|
6366
|
-
paint: {
|
|
6367
|
-
'line-color':
|
|
6368
|
-
}
|
|
6884
|
+
paint: _objectSpread2({
|
|
6885
|
+
'line-color': _color
|
|
6886
|
+
}, line.paint)
|
|
6369
6887
|
})), "main_fill", _objectSpread2(_objectSpread2({
|
|
6370
6888
|
zIndex: Z_OVERLAY_BASE_1000,
|
|
6371
6889
|
source: 'main',
|
|
6372
6890
|
'source-layer': source_layer,
|
|
6373
6891
|
type: 'fill'
|
|
6374
6892
|
}, fill), {}, {
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
}, fill.paint),
|
|
6379
|
-
legends: [{
|
|
6380
|
-
type: 'CategoricalLegend',
|
|
6381
|
-
items: [{
|
|
6382
|
-
color: color,
|
|
6383
|
-
label: label
|
|
6384
|
-
}]
|
|
6385
|
-
}],
|
|
6893
|
+
layout: _objectSpread2({}, fill['layout']),
|
|
6894
|
+
paint: _fillPaint,
|
|
6895
|
+
legends: [_legend],
|
|
6386
6896
|
tooltip: {
|
|
6387
6897
|
title: ['$literal', resolve.fn(function (ctx) {
|
|
6388
6898
|
var _ctx$feature;
|
|
@@ -6397,64 +6907,846 @@ function vector_polygon(_ref, allViewSpecs, context) {
|
|
|
6397
6907
|
});
|
|
6398
6908
|
}
|
|
6399
6909
|
|
|
6400
|
-
|
|
6401
|
-
|
|
6402
|
-
|
|
6403
|
-
|
|
6404
|
-
|
|
6405
|
-
}
|
|
6406
|
-
return tiles.map(function (tileSrcUrl) {
|
|
6407
|
-
return interpolate(tileSrcUrl, context);
|
|
6408
|
-
});
|
|
6409
|
-
}
|
|
6410
|
-
function vector_line(_ref, allViewSpecs, context) {
|
|
6411
|
-
var _ref$line = _ref.line,
|
|
6412
|
-
line = _ref$line === void 0 ? {} : _ref$line,
|
|
6413
|
-
color = _ref.color,
|
|
6414
|
-
tiles = _ref.tiles,
|
|
6415
|
-
source_layer = _ref.source_layer,
|
|
6416
|
-
_ref$sources = _ref.sources,
|
|
6417
|
-
sources = _ref$sources === void 0 ? {} : _ref$sources,
|
|
6418
|
-
_ref$layers = _ref.layers,
|
|
6419
|
-
layers = _ref$layers === void 0 ? {} : _ref$layers,
|
|
6420
|
-
props = _objectWithoutProperties(_ref, _excluded$7);
|
|
6421
|
-
if (!source_layer) {
|
|
6422
|
-
throw new Error('source_layer must be defined');
|
|
6423
|
-
}
|
|
6424
|
-
return _objectSpread2(_objectSpread2({}, props), {}, {
|
|
6425
|
-
metadata: {},
|
|
6426
|
-
sources: _objectSpread2({
|
|
6427
|
-
main: {
|
|
6428
|
-
promoteId: 'id',
|
|
6429
|
-
type: 'vector',
|
|
6430
|
-
tiles: _parseTiles$1(tiles, context)
|
|
6431
|
-
}
|
|
6432
|
-
}, sources),
|
|
6433
|
-
layers: _objectSpread2(_defineProperty({}, "main_line", _objectSpread2(_objectSpread2({
|
|
6434
|
-
zIndex: Z_OVERLAY_MIDDLE_2000,
|
|
6435
|
-
source: 'main',
|
|
6436
|
-
'source-layer': source_layer,
|
|
6437
|
-
type: 'line'
|
|
6438
|
-
}, line), {}, {
|
|
6439
|
-
paint: _objectSpread2({
|
|
6440
|
-
'line-width': 1,
|
|
6441
|
-
'line-color': color
|
|
6442
|
-
}, line.paint || {}),
|
|
6443
|
-
tooltip: {
|
|
6444
|
-
title: ['$literal', resolve.fn(function (ctx) {
|
|
6445
|
-
var _ctx$feature;
|
|
6446
|
-
return ctx === null || ctx === void 0 || (_ctx$feature = ctx.feature) === null || _ctx$feature === void 0 || (_ctx$feature = _ctx$feature.properties) === null || _ctx$feature === void 0 ? void 0 : _ctx$feature.name;
|
|
6447
|
-
})],
|
|
6448
|
-
entries: ['$literal', resolve.fn(function (ctx) {
|
|
6449
|
-
var _ctx$feature2;
|
|
6450
|
-
return _typeof((_ctx$feature2 = ctx.feature) === null || _ctx$feature2 === void 0 ? void 0 : _ctx$feature2.properties) === 'object' ? Object.entries(ctx.feature.properties) : [];
|
|
6451
|
-
})]
|
|
6452
|
-
}
|
|
6453
|
-
})), layers)
|
|
6454
|
-
});
|
|
6910
|
+
function confSchema$3(viewSpec, allViewSpecs, context) {
|
|
6911
|
+
return {
|
|
6912
|
+
style: {
|
|
6913
|
+
fillPattern: fillPatternSelector()
|
|
6914
|
+
}
|
|
6915
|
+
};
|
|
6455
6916
|
}
|
|
6456
6917
|
|
|
6457
|
-
|
|
6918
|
+
function metadata$4(viewSpec, allViewSpecs, context) {
|
|
6919
|
+
var style = viewSpec.style;
|
|
6920
|
+
var categories = resolveAsync.fn(/*#__PURE__*/function () {
|
|
6921
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx) {
|
|
6922
|
+
var _ctx$view;
|
|
6923
|
+
var colorSchemeId, resolvedCategories;
|
|
6924
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
6925
|
+
while (1) switch (_context.prev = _context.next) {
|
|
6926
|
+
case 0:
|
|
6927
|
+
// Resolve color scheme
|
|
6928
|
+
colorSchemeId = ((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.colorScheme) || 'schemeGeoReDUSSafe'; // resolve categories
|
|
6929
|
+
if (!(typeof style.categories === 'string')) {
|
|
6930
|
+
_context.next = 7;
|
|
6931
|
+
break;
|
|
6932
|
+
}
|
|
6933
|
+
_context.next = 4;
|
|
6934
|
+
return fetch(interpolate(style.categories, {
|
|
6935
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
6936
|
+
})).then(function (res) {
|
|
6937
|
+
return res.json();
|
|
6938
|
+
}).then(function (categories) {
|
|
6939
|
+
return uniqBy(categories, function (cat) {
|
|
6940
|
+
return cat.value;
|
|
6941
|
+
});
|
|
6942
|
+
});
|
|
6943
|
+
case 4:
|
|
6944
|
+
_context.t0 = _context.sent;
|
|
6945
|
+
_context.next = 8;
|
|
6946
|
+
break;
|
|
6947
|
+
case 7:
|
|
6948
|
+
_context.t0 = Array.isArray(style.categories) ? style.categories.map(function (categoryInput) {
|
|
6949
|
+
return typeof categoryInput === 'string' ? {
|
|
6950
|
+
value: categoryInput
|
|
6951
|
+
} : categoryInput;
|
|
6952
|
+
}) : null;
|
|
6953
|
+
case 8:
|
|
6954
|
+
resolvedCategories = _context.t0;
|
|
6955
|
+
if (resolvedCategories) {
|
|
6956
|
+
_context.next = 11;
|
|
6957
|
+
break;
|
|
6958
|
+
}
|
|
6959
|
+
throw new Error('could not resolve categories ' + viewSpec.id);
|
|
6960
|
+
case 11:
|
|
6961
|
+
return _context.abrupt("return", resolvedCategories.map(function (cat, index) {
|
|
6962
|
+
var color = cat.color || resolveSchemeColor(colorSchemeId, index);
|
|
6963
|
+
if (!color) {
|
|
6964
|
+
throw new Error("Could not resolve color for ".concat(cat.value));
|
|
6965
|
+
}
|
|
6966
|
+
return _objectSpread2(_objectSpread2({}, cat), {}, {
|
|
6967
|
+
color: color,
|
|
6968
|
+
label: cat.label || humanize(cat.value)
|
|
6969
|
+
});
|
|
6970
|
+
}));
|
|
6971
|
+
case 12:
|
|
6972
|
+
case "end":
|
|
6973
|
+
return _context.stop();
|
|
6974
|
+
}
|
|
6975
|
+
}, _callee);
|
|
6976
|
+
}));
|
|
6977
|
+
return function (_x) {
|
|
6978
|
+
return _ref.apply(this, arguments);
|
|
6979
|
+
};
|
|
6980
|
+
}());
|
|
6981
|
+
return {
|
|
6982
|
+
categories: categories
|
|
6983
|
+
};
|
|
6984
|
+
}
|
|
6985
|
+
|
|
6986
|
+
var MAIN_SOURCE_ID$3 = 'main';
|
|
6987
|
+
function sources$4(viewSpec, allViewSpecs, context) {
|
|
6988
|
+
var tiles = viewSpec.tiles;
|
|
6989
|
+
return _defineProperty({}, MAIN_SOURCE_ID$3, {
|
|
6990
|
+
promoteId: 'id',
|
|
6991
|
+
type: 'vector',
|
|
6992
|
+
tiles: parseTiles(tiles, context)
|
|
6993
|
+
});
|
|
6994
|
+
}
|
|
6995
|
+
|
|
6996
|
+
function _main_line$2(_ref, viewSpec, allViewSpecs, context) {
|
|
6997
|
+
var _viewSpec$style;
|
|
6998
|
+
var _maplibreColorExp = _ref._maplibreColorExp;
|
|
6999
|
+
var source_layer = viewSpec.source_layer;
|
|
7000
|
+
var borderStyle = ((_viewSpec$style = viewSpec.style) === null || _viewSpec$style === void 0 ? void 0 : _viewSpec$style.borderStyle) || 'solid';
|
|
7001
|
+
if (borderStyle === 'none') {
|
|
7002
|
+
return null;
|
|
7003
|
+
}
|
|
7004
|
+
var paint = {
|
|
7005
|
+
dashed: {
|
|
7006
|
+
'line-dasharray': [4, 2],
|
|
7007
|
+
'line-width': 2
|
|
7008
|
+
},
|
|
7009
|
+
dotted: {
|
|
7010
|
+
'line-dasharray': [0.5, 2],
|
|
7011
|
+
'line-width': 2
|
|
7012
|
+
},
|
|
7013
|
+
solid: {}
|
|
7014
|
+
}[borderStyle];
|
|
7015
|
+
return {
|
|
7016
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7017
|
+
source: MAIN_SOURCE_ID$3,
|
|
7018
|
+
'source-layer': source_layer,
|
|
7019
|
+
type: 'line',
|
|
7020
|
+
layout: borderStyle === 'dotted' ? {
|
|
7021
|
+
'line-cap': 'round'
|
|
7022
|
+
} : {},
|
|
7023
|
+
paint: _objectSpread2({
|
|
7024
|
+
'line-color': _maplibreColorExp,
|
|
7025
|
+
'line-width': 2
|
|
7026
|
+
}, paint)
|
|
7027
|
+
};
|
|
7028
|
+
}
|
|
7029
|
+
function _main_fill_legends$2(props, viewSpec, allViewSpecs, context) {
|
|
7030
|
+
var _legends = resolve.fn(function (context) {
|
|
7031
|
+
var categories = context.view.metadata.categories;
|
|
7032
|
+
return [{
|
|
7033
|
+
type: 'CategoricalLegend',
|
|
7034
|
+
title: viewSpec.label,
|
|
7035
|
+
items: categories.map(function (cat) {
|
|
7036
|
+
return {
|
|
7037
|
+
id: cat.value,
|
|
7038
|
+
label: cat.label,
|
|
7039
|
+
color: cat.color,
|
|
7040
|
+
box: {
|
|
7041
|
+
style: {
|
|
7042
|
+
backgroundColor: applyOpacity(cat.color, DEFAULT_FILL_OPACITY$1)
|
|
7043
|
+
}
|
|
7044
|
+
}
|
|
7045
|
+
};
|
|
7046
|
+
})
|
|
7047
|
+
}];
|
|
7048
|
+
});
|
|
7049
|
+
return _legends;
|
|
7050
|
+
}
|
|
7051
|
+
function _main_fill$2(props, viewSpec, allViewSpecs, context) {
|
|
7052
|
+
var _maplibreColorExp = props._maplibreColorExp,
|
|
7053
|
+
_fillPattern = props._fillPattern;
|
|
7054
|
+
var source_layer = viewSpec.source_layer;
|
|
7055
|
+
var _fillPaint = resolve.fn([_fillPattern], function (_ref2, ctx) {
|
|
7056
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
7057
|
+
resolvedFillPattern = _ref3[0];
|
|
7058
|
+
var resolvedFillPatternStr = resolvedFillPattern && resolvedFillPattern !== FILL_PATTERN_SOLID ? ['match', ['get', viewSpec.style.categoryKey]].concat(_toConsumableArray(ctx.view.metadata.categories.map(function (cat) {
|
|
7059
|
+
return [cat.value, "".concat(resolvedFillPattern, "({ stroke: \"").concat(cat.color, "\", scale: 0.5 })")];
|
|
7060
|
+
}).flat()), ['#CCCCCC']) : null;
|
|
7061
|
+
return _objectSpread2({
|
|
7062
|
+
'fill-color': _maplibreColorExp,
|
|
7063
|
+
'fill-opacity': DEFAULT_FILL_OPACITY$1
|
|
7064
|
+
}, resolvedFillPatternStr ? {
|
|
7065
|
+
'fill-pattern': resolvedFillPatternStr
|
|
7066
|
+
} : {});
|
|
7067
|
+
});
|
|
7068
|
+
return {
|
|
7069
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7070
|
+
source: MAIN_SOURCE_ID$3,
|
|
7071
|
+
'source-layer': source_layer,
|
|
7072
|
+
type: 'fill',
|
|
7073
|
+
paint: _fillPaint,
|
|
7074
|
+
legends: _main_fill_legends$2(props, viewSpec),
|
|
7075
|
+
tooltip: basicTooltip(viewSpec.tooltip)
|
|
7076
|
+
};
|
|
7077
|
+
}
|
|
7078
|
+
function layers$4(viewSpec, allViewSpecs, context) {
|
|
7079
|
+
var styleSpec = viewSpec.style;
|
|
7080
|
+
var source_layer = viewSpec.source_layer;
|
|
7081
|
+
if (!source_layer) {
|
|
7082
|
+
throw new Error('source_layer must be defined');
|
|
7083
|
+
}
|
|
7084
|
+
var _maplibreColorExp = resolve.fn(function (ctx) {
|
|
7085
|
+
return ['match', ['get', viewSpec.style.categoryKey]].concat(_toConsumableArray(ctx.view.metadata.categories.map(function (cat) {
|
|
7086
|
+
return [cat.value, cat.color];
|
|
7087
|
+
}).flat()), ['#CCCCCC']);
|
|
7088
|
+
});
|
|
7089
|
+
var _fillPattern = resolve.fn(function (ctx) {
|
|
7090
|
+
var _ctx$view;
|
|
7091
|
+
return ((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.fillPattern) || styleSpec.fillPattern;
|
|
7092
|
+
});
|
|
7093
|
+
return _defineProperty(_defineProperty({}, "main_line", _main_line$2({
|
|
7094
|
+
_maplibreColorExp: _maplibreColorExp
|
|
7095
|
+
}, viewSpec)), "main_fill", _main_fill$2({
|
|
7096
|
+
_maplibreColorExp: _maplibreColorExp,
|
|
7097
|
+
_fillPattern: _fillPattern
|
|
7098
|
+
}, viewSpec));
|
|
7099
|
+
}
|
|
7100
|
+
|
|
7101
|
+
function download$4(viewSpec, allViewSpecs, context) {
|
|
7102
|
+
return basicDownload({
|
|
7103
|
+
fileName: slugify(viewSpec.label),
|
|
7104
|
+
downloadUrl: interpolate(viewSpec.download_url, {
|
|
7105
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
7106
|
+
})
|
|
7107
|
+
});
|
|
7108
|
+
}
|
|
7109
|
+
|
|
7110
|
+
var DEFAULT_COLOR_SCHEME_ID$1 = 'schemeGeoReDUSSafe';
|
|
7111
|
+
function parseStyleSpec$4(styleInput) {
|
|
7112
|
+
if (!styleInput) {
|
|
7113
|
+
throw new Error('expected existing styleInput');
|
|
7114
|
+
}
|
|
7115
|
+
return __assign({
|
|
7116
|
+
colorScheme: DEFAULT_COLOR_SCHEME_ID$1
|
|
7117
|
+
}, styleInput);
|
|
7118
|
+
}
|
|
7119
|
+
|
|
7120
|
+
var _excluded$c = ["style"];
|
|
7121
|
+
function vector_polygon_categorical(_ref, allViewSpecs, context) {
|
|
7122
|
+
var style = _ref.style,
|
|
7123
|
+
viewSpec = _objectWithoutProperties(_ref, _excluded$c);
|
|
7124
|
+
viewSpec = _objectSpread2(_objectSpread2({}, viewSpec), {}, {
|
|
7125
|
+
style: parseStyleSpec$4(style)
|
|
7126
|
+
});
|
|
7127
|
+
return _objectSpread2(_objectSpread2({}, pick(viewSpec, ['id', 'path', 'label', 'sourceLabel'])), {}, {
|
|
7128
|
+
confSchema: confSchema$3(),
|
|
7129
|
+
metadata: metadata$4(viewSpec, allViewSpecs, context),
|
|
7130
|
+
sources: sources$4(viewSpec, allViewSpecs, context),
|
|
7131
|
+
layers: layers$4(viewSpec),
|
|
7132
|
+
download: download$4(viewSpec, allViewSpecs, context)
|
|
7133
|
+
});
|
|
7134
|
+
}
|
|
7135
|
+
|
|
7136
|
+
function confSchema$2(viewSpec, allViewSpecs, context) {
|
|
7137
|
+
var styleSpec = viewSpec.style;
|
|
7138
|
+
return {
|
|
7139
|
+
style: {
|
|
7140
|
+
color: colorSelector(styleSpec.color),
|
|
7141
|
+
fillPattern: fillPatternSelector()
|
|
7142
|
+
}
|
|
7143
|
+
};
|
|
7144
|
+
}
|
|
7145
|
+
|
|
7146
|
+
function metadata$3(viewSpec, allViewSpecs, context) {
|
|
7147
|
+
viewSpec.style;
|
|
7148
|
+
return {};
|
|
7149
|
+
}
|
|
7150
|
+
|
|
7151
|
+
function _main_fill_legends$1(_ref, viewSpec, allViewSpecs, context) {
|
|
7152
|
+
var _color = _ref._color,
|
|
7153
|
+
_fillPattern = _ref._fillPattern;
|
|
7154
|
+
var _legend = resolve.fn([_color, _fillPattern], function (_ref2, ctx) {
|
|
7155
|
+
var _viewSpec$style;
|
|
7156
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
7157
|
+
resolvedColor = _ref3[0],
|
|
7158
|
+
resolvedFillPattern = _ref3[1];
|
|
7159
|
+
var patternProps = resolvedFillPattern && resolvedFillPattern !== FILL_PATTERN_SOLID ? {
|
|
7160
|
+
color: resolvedColor,
|
|
7161
|
+
backgroundColor: 'transparent',
|
|
7162
|
+
backgroundImage: resolvedFillPattern && typeof SVG_PATTERNS[resolvedFillPattern] === 'function' ? svgBgImage$2(SVG_PATTERNS[resolvedFillPattern]({
|
|
7163
|
+
stroke: resolvedColor,
|
|
7164
|
+
scale: '0.25'
|
|
7165
|
+
})) : ''
|
|
7166
|
+
} : {
|
|
7167
|
+
backgroundColor: applyOpacity(resolvedColor, DEFAULT_FILL_OPACITY$1)
|
|
7168
|
+
};
|
|
7169
|
+
var legendItemProps = {
|
|
7170
|
+
box: {
|
|
7171
|
+
style: _objectSpread2({
|
|
7172
|
+
borderColor: resolvedColor,
|
|
7173
|
+
borderStyle: ((_viewSpec$style = viewSpec.style) === null || _viewSpec$style === void 0 ? void 0 : _viewSpec$style.borderStyle) || 'solid',
|
|
7174
|
+
borderWidth: '1px'
|
|
7175
|
+
}, patternProps)
|
|
7176
|
+
}
|
|
7177
|
+
};
|
|
7178
|
+
return {
|
|
7179
|
+
type: 'CategoricalLegend',
|
|
7180
|
+
items: [_objectSpread2({
|
|
7181
|
+
label: viewSpec.label,
|
|
7182
|
+
color: resolvedColor
|
|
7183
|
+
}, legendItemProps)]
|
|
7184
|
+
};
|
|
7185
|
+
});
|
|
7186
|
+
return [_legend];
|
|
7187
|
+
}
|
|
7188
|
+
function _main_fill$1(props, viewSpec, allViewSpecs, context) {
|
|
7189
|
+
var _color = props._color,
|
|
7190
|
+
_fillPattern = props._fillPattern;
|
|
7191
|
+
var source_layer = viewSpec.source_layer;
|
|
7192
|
+
var _fillPaint = resolve.fn([_color, _fillPattern], function (_ref4, ctx) {
|
|
7193
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
7194
|
+
resolvedColor = _ref5[0],
|
|
7195
|
+
resolvedFillPattern = _ref5[1];
|
|
7196
|
+
var resolvedFillPatternStr = resolvedFillPattern && resolvedFillPattern !== FILL_PATTERN_SOLID ? "".concat(resolvedFillPattern, "({ stroke: \"").concat(resolvedColor, "\", scale: 0.5 })") : null;
|
|
7197
|
+
return _objectSpread2({
|
|
7198
|
+
'fill-opacity': DEFAULT_FILL_OPACITY$1,
|
|
7199
|
+
'fill-color': resolvedColor
|
|
7200
|
+
}, resolvedFillPatternStr ? {
|
|
7201
|
+
'fill-pattern': resolvedFillPatternStr
|
|
7202
|
+
} : {});
|
|
7203
|
+
});
|
|
7204
|
+
return {
|
|
7205
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7206
|
+
source: 'main',
|
|
7207
|
+
'source-layer': source_layer,
|
|
7208
|
+
type: 'fill',
|
|
7209
|
+
paint: _fillPaint,
|
|
7210
|
+
legends: _main_fill_legends$1(props, viewSpec),
|
|
7211
|
+
tooltip: basicTooltip(viewSpec.tooltip)
|
|
7212
|
+
};
|
|
7213
|
+
}
|
|
7214
|
+
function _main_line$1(_ref6, viewSpec, allViewSpecs, context) {
|
|
7215
|
+
var _viewSpec$style2;
|
|
7216
|
+
var _color = _ref6._color;
|
|
7217
|
+
var source_layer = viewSpec.source_layer;
|
|
7218
|
+
var borderStyle = ((_viewSpec$style2 = viewSpec.style) === null || _viewSpec$style2 === void 0 ? void 0 : _viewSpec$style2.borderStyle) || 'solid';
|
|
7219
|
+
if (borderStyle === 'none') {
|
|
7220
|
+
return null;
|
|
7221
|
+
}
|
|
7222
|
+
var paint = {
|
|
7223
|
+
dashed: {
|
|
7224
|
+
'line-dasharray': [4, 2],
|
|
7225
|
+
'line-width': 2
|
|
7226
|
+
},
|
|
7227
|
+
dotted: {
|
|
7228
|
+
'line-dasharray': [0.5, 2],
|
|
7229
|
+
'line-width': 2
|
|
7230
|
+
},
|
|
7231
|
+
solid: {}
|
|
7232
|
+
}[borderStyle];
|
|
7233
|
+
return {
|
|
7234
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7235
|
+
source: 'main',
|
|
7236
|
+
'source-layer': source_layer,
|
|
7237
|
+
type: 'line',
|
|
7238
|
+
layout: borderStyle === 'dotted' ? {
|
|
7239
|
+
'line-cap': 'round'
|
|
7240
|
+
} : {},
|
|
7241
|
+
paint: _objectSpread2({
|
|
7242
|
+
'line-color': _color
|
|
7243
|
+
}, paint)
|
|
7244
|
+
};
|
|
7245
|
+
}
|
|
7246
|
+
function layers$3(viewSpec, allViewSpecs, context) {
|
|
7247
|
+
var styleSpec = viewSpec.style;
|
|
7248
|
+
var source_layer = viewSpec.source_layer;
|
|
7249
|
+
if (!source_layer) {
|
|
7250
|
+
throw new Error('source_layer must be defined');
|
|
7251
|
+
}
|
|
7252
|
+
var _color = resolve.fn(function (ctx) {
|
|
7253
|
+
var _ctx$view;
|
|
7254
|
+
return resolveColor(((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.color) || styleSpec.color);
|
|
7255
|
+
});
|
|
7256
|
+
var _fillPattern = resolve.fn(function (ctx) {
|
|
7257
|
+
var _ctx$view2;
|
|
7258
|
+
return ((_ctx$view2 = ctx.view) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.conf) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.style) === null || _ctx$view2 === void 0 ? void 0 : _ctx$view2.fillPattern) || styleSpec.fillPattern;
|
|
7259
|
+
});
|
|
7260
|
+
return _defineProperty(_defineProperty({}, "main_line", _main_line$1({
|
|
7261
|
+
_color: _color}, viewSpec)), "main_fill", _main_fill$1({
|
|
7262
|
+
_color: _color,
|
|
7263
|
+
_fillPattern: _fillPattern
|
|
7264
|
+
}, viewSpec));
|
|
7265
|
+
}
|
|
7266
|
+
|
|
7267
|
+
function sources$3(viewSpec, allViewSpecs, context) {
|
|
7268
|
+
var tiles = viewSpec.tiles;
|
|
7269
|
+
return {
|
|
7270
|
+
main: {
|
|
7271
|
+
promoteId: 'id',
|
|
7272
|
+
type: 'vector',
|
|
7273
|
+
tiles: parseTiles(tiles, context)
|
|
7274
|
+
}
|
|
7275
|
+
};
|
|
7276
|
+
}
|
|
7277
|
+
|
|
7278
|
+
function _defaultColor$1(inputColor) {
|
|
7279
|
+
return inputColor ? resolveColor(inputColor) : schemeGeoReDUS.laranja;
|
|
7280
|
+
}
|
|
7281
|
+
function parseStyleSpec$3(styleInput) {
|
|
7282
|
+
if (!styleInput) {
|
|
7283
|
+
return {};
|
|
7284
|
+
}
|
|
7285
|
+
if (typeof styleInput === 'string') {
|
|
7286
|
+
return {
|
|
7287
|
+
color: _defaultColor$1(styleInput)
|
|
7288
|
+
};
|
|
7289
|
+
} else {
|
|
7290
|
+
return __assign(__assign({}, styleInput), {
|
|
7291
|
+
color: _defaultColor$1(styleInput.color)
|
|
7292
|
+
});
|
|
7293
|
+
}
|
|
7294
|
+
}
|
|
7295
|
+
|
|
7296
|
+
function download$3(viewSpec, allViewSpecs, context) {
|
|
7297
|
+
return basicDownload({
|
|
7298
|
+
fileName: slugify(viewSpec.label),
|
|
7299
|
+
downloadUrl: interpolate(viewSpec.download_url, {
|
|
7300
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
7301
|
+
})
|
|
7302
|
+
});
|
|
7303
|
+
}
|
|
7304
|
+
|
|
7305
|
+
var _excluded$b = ["style"];
|
|
7306
|
+
function vector_polygon_single(_ref, allViewSpecs, context) {
|
|
7307
|
+
var style = _ref.style,
|
|
7308
|
+
viewSpec = _objectWithoutProperties(_ref, _excluded$b);
|
|
7309
|
+
viewSpec = _objectSpread2(_objectSpread2({}, viewSpec), {}, {
|
|
7310
|
+
style: parseStyleSpec$3(style)
|
|
7311
|
+
});
|
|
7312
|
+
return _objectSpread2(_objectSpread2({}, pick(viewSpec, ['id', 'path', 'label', 'sourceLabel'])), {}, {
|
|
7313
|
+
confSchema: confSchema$2(viewSpec),
|
|
7314
|
+
metadata: metadata$3(viewSpec),
|
|
7315
|
+
sources: sources$3(viewSpec, allViewSpecs, context),
|
|
7316
|
+
layers: layers$3(viewSpec),
|
|
7317
|
+
download: download$3(viewSpec, allViewSpecs, context)
|
|
7318
|
+
});
|
|
7319
|
+
}
|
|
7320
|
+
|
|
7321
|
+
var DEFAULT_COLOR_SCHEME_ID = 'schemeOrRd';
|
|
7322
|
+
function parseStyleSpec$2(styleInput) {
|
|
7323
|
+
return __assign(__assign({
|
|
7324
|
+
colorScheme: DEFAULT_COLOR_SCHEME_ID
|
|
7325
|
+
}, styleInput), {
|
|
7326
|
+
classificationMethod: !styleInput.classificationMethod ? {
|
|
7327
|
+
type: 'naturalBreaks',
|
|
7328
|
+
k: 5
|
|
7329
|
+
} : typeof styleInput.classificationMethod === 'string' ? {
|
|
7330
|
+
type: styleInput.classificationMethod,
|
|
7331
|
+
k: 5
|
|
7332
|
+
} : styleInput.classificationMethod
|
|
7333
|
+
});
|
|
7334
|
+
}
|
|
7335
|
+
|
|
7336
|
+
var getLargestColorArray = function getLargestColorArray(scheme) {
|
|
7337
|
+
return scheme[scheme.length - 1];
|
|
7338
|
+
};
|
|
7339
|
+
var D3_SCHEMES = _objectSpread2(_objectSpread2({}, D3_SEQUENTIAL), D3_DIVERGING);
|
|
7340
|
+
var COLOR_SCHEME_OPTIONS = Object.entries(D3_SCHEMES).map(function (_ref) {
|
|
7341
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
7342
|
+
name = _ref2[0],
|
|
7343
|
+
scheme = _ref2[1];
|
|
7344
|
+
var colors = getLargestColorArray(scheme);
|
|
7345
|
+
return {
|
|
7346
|
+
value: name,
|
|
7347
|
+
label: /*#__PURE__*/React.createElement(Flex, {
|
|
7348
|
+
direction: "row",
|
|
7349
|
+
gap: "2",
|
|
7350
|
+
alignItems: "center"
|
|
7351
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7352
|
+
style: {
|
|
7353
|
+
display: 'flex',
|
|
7354
|
+
gap: '2px'
|
|
7355
|
+
}
|
|
7356
|
+
}, colors.map(function (color, idx) {
|
|
7357
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7358
|
+
key: idx,
|
|
7359
|
+
style: {
|
|
7360
|
+
width: 15,
|
|
7361
|
+
height: 15,
|
|
7362
|
+
backgroundColor: color,
|
|
7363
|
+
border: 'none'
|
|
7364
|
+
}
|
|
7365
|
+
});
|
|
7366
|
+
})))
|
|
7367
|
+
};
|
|
7368
|
+
});
|
|
7369
|
+
function confSchema$1(viewSpec, allViewSpecs, context) {
|
|
7370
|
+
var _viewSpec$style, _viewSpec$style2;
|
|
7371
|
+
return {
|
|
7372
|
+
style: {
|
|
7373
|
+
classificationMethodType: {
|
|
7374
|
+
label: 'Método de classificação',
|
|
7375
|
+
type: 'select',
|
|
7376
|
+
clearable: false,
|
|
7377
|
+
defaultValue: ((_viewSpec$style = viewSpec.style) === null || _viewSpec$style === void 0 || (_viewSpec$style = _viewSpec$style.classificationMethod) === null || _viewSpec$style === void 0 ? void 0 : _viewSpec$style.type) || 'naturalBreaks',
|
|
7378
|
+
options: [{
|
|
7379
|
+
value: 'naturalBreaks',
|
|
7380
|
+
label: 'Quebras naturais'
|
|
7381
|
+
}, {
|
|
7382
|
+
value: 'quantile',
|
|
7383
|
+
label: 'Quantis'
|
|
7384
|
+
}]
|
|
7385
|
+
},
|
|
7386
|
+
colorScheme: {
|
|
7387
|
+
label: 'Esquema de cores',
|
|
7388
|
+
type: 'select',
|
|
7389
|
+
clearable: false,
|
|
7390
|
+
defaultValue: ((_viewSpec$style2 = viewSpec.style) === null || _viewSpec$style2 === void 0 ? void 0 : _viewSpec$style2.colorScheme) || DEFAULT_COLOR_SCHEME_ID,
|
|
7391
|
+
options: COLOR_SCHEME_OPTIONS
|
|
7392
|
+
}
|
|
7393
|
+
}
|
|
7394
|
+
};
|
|
7395
|
+
}
|
|
7396
|
+
|
|
7397
|
+
var DEFAULT_COLOR = '#CCC';
|
|
7398
|
+
function custom(_ref) {
|
|
7399
|
+
_ref.values;
|
|
7400
|
+
var colorScheme = _ref.colorScheme,
|
|
7401
|
+
classificationMethod = _ref.classificationMethod;
|
|
7402
|
+
var k = classificationMethod.breaks.length;
|
|
7403
|
+
return [DEFAULT_COLOR].concat(_toConsumableArray(classificationMethod.breaks.map(function (breakValue, index) {
|
|
7404
|
+
return [breakValue, colorScheme.scalesByK[k][index]];
|
|
7405
|
+
}).flat()));
|
|
7406
|
+
}
|
|
7407
|
+
function quantile(_ref2) {
|
|
7408
|
+
var values = _ref2.values,
|
|
7409
|
+
colorScheme = _ref2.colorScheme,
|
|
7410
|
+
classificationMethod = _ref2.classificationMethod;
|
|
7411
|
+
var scale = scaleQuantile().domain(values) // your data
|
|
7412
|
+
.range(new Array(classificationMethod.k).fill(null).map(function (_, idx) {
|
|
7413
|
+
return idx;
|
|
7414
|
+
})); // number of bins
|
|
7415
|
+
|
|
7416
|
+
var breaks = scale.quantiles(); // → the cutoff values
|
|
7417
|
+
|
|
7418
|
+
//
|
|
7419
|
+
// Will produce an array such as:
|
|
7420
|
+
// [
|
|
7421
|
+
// "below_10",
|
|
7422
|
+
// 10,
|
|
7423
|
+
// "between_10_20",
|
|
7424
|
+
// 20,
|
|
7425
|
+
// "between_20_30",
|
|
7426
|
+
// 30,
|
|
7427
|
+
// "above_30"
|
|
7428
|
+
// ]
|
|
7429
|
+
//
|
|
7430
|
+
|
|
7431
|
+
var colorScale = colorScheme.scalesByK[classificationMethod.k];
|
|
7432
|
+
var colorScaleStops = breaks.map(function (breakValue, index) {
|
|
7433
|
+
var color = colorScale[index + 1];
|
|
7434
|
+
return index === 0 ? [
|
|
7435
|
+
// For below 0 values, will use defaultColor
|
|
7436
|
+
DEFAULT_COLOR, 0,
|
|
7437
|
+
// colorScale
|
|
7438
|
+
colorScale[0], breakValue, color] : [breakValue, color];
|
|
7439
|
+
}).flat(1);
|
|
7440
|
+
return colorScaleStops;
|
|
7441
|
+
}
|
|
7442
|
+
function naturalBreaks(_ref3) {
|
|
7443
|
+
var values = _ref3.values,
|
|
7444
|
+
colorScheme = _ref3.colorScheme,
|
|
7445
|
+
classificationMethod = _ref3.classificationMethod;
|
|
7446
|
+
return ['$naturalBreaks', values, _objectSpread2(_objectSpread2({}, colorScheme), {}, {
|
|
7447
|
+
defaultColor: DEFAULT_COLOR,
|
|
7448
|
+
k: classificationMethod.k,
|
|
7449
|
+
minK: 5
|
|
7450
|
+
})];
|
|
7451
|
+
}
|
|
7452
|
+
var COLOR_SCALE_STOPS_RESOLVERS = {
|
|
7453
|
+
custom: custom,
|
|
7454
|
+
quantile: quantile,
|
|
7455
|
+
naturalBreaks: naturalBreaks
|
|
7456
|
+
};
|
|
7457
|
+
|
|
7458
|
+
function metadata$2(viewSpec, allViewSpecs, context) {
|
|
7459
|
+
var style = viewSpec.style;
|
|
7460
|
+
return resolveAsync.fn(/*#__PURE__*/function () {
|
|
7461
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx) {
|
|
7462
|
+
var _ctx$view$conf, _ctx$view$conf$style, _style$classification, _ctx$view$conf$style2, _style$classification2;
|
|
7463
|
+
var resolvedValues, colorSchemeId, colorScheme, _classificationMethod, colorScaleStops;
|
|
7464
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
7465
|
+
while (1) switch (_context.prev = _context.next) {
|
|
7466
|
+
case 0:
|
|
7467
|
+
if (!(typeof style.values === 'string')) {
|
|
7468
|
+
_context.next = 6;
|
|
7469
|
+
break;
|
|
7470
|
+
}
|
|
7471
|
+
_context.next = 3;
|
|
7472
|
+
return fetch(interpolate(style.values, {
|
|
7473
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
7474
|
+
})).then(function (res) {
|
|
7475
|
+
return res.json();
|
|
7476
|
+
});
|
|
7477
|
+
case 3:
|
|
7478
|
+
_context.t0 = _context.sent;
|
|
7479
|
+
_context.next = 7;
|
|
7480
|
+
break;
|
|
7481
|
+
case 6:
|
|
7482
|
+
_context.t0 = Array.isArray(style.values) ? style.values : null;
|
|
7483
|
+
case 7:
|
|
7484
|
+
resolvedValues = _context.t0.map(function (entry) {
|
|
7485
|
+
return typeof entry === 'number' ? entry : entry.value;
|
|
7486
|
+
});
|
|
7487
|
+
//
|
|
7488
|
+
// Resolve color scale stops
|
|
7489
|
+
//
|
|
7490
|
+
colorSchemeId = ((_ctx$view$conf = ctx.view.conf) === null || _ctx$view$conf === void 0 || (_ctx$view$conf = _ctx$view$conf.style) === null || _ctx$view$conf === void 0 ? void 0 : _ctx$view$conf.colorScheme) || style.colorScheme;
|
|
7491
|
+
colorScheme = COLOR_SCHEMES[colorSchemeId] || COLOR_SCHEMES.schemeOrRd;
|
|
7492
|
+
_classificationMethod = _objectSpread2(_objectSpread2({}, style.classificationMethod || {}), {}, {
|
|
7493
|
+
type: ((_ctx$view$conf$style = ctx.view.conf.style) === null || _ctx$view$conf$style === void 0 ? void 0 : _ctx$view$conf$style.classificationMethodType) || ((_style$classification = style.classificationMethod) === null || _style$classification === void 0 ? void 0 : _style$classification.type),
|
|
7494
|
+
k: ((_ctx$view$conf$style2 = ctx.view.conf.style) === null || _ctx$view$conf$style2 === void 0 ? void 0 : _ctx$view$conf$style2.classificationMethodK) || ((_style$classification2 = style.classificationMethod) === null || _style$classification2 === void 0 ? void 0 : _style$classification2.k)
|
|
7495
|
+
});
|
|
7496
|
+
colorScaleStops = COLOR_SCALE_STOPS_RESOLVERS[_classificationMethod.type]({
|
|
7497
|
+
values: resolvedValues,
|
|
7498
|
+
colorScheme: colorScheme,
|
|
7499
|
+
classificationMethod: _classificationMethod
|
|
7500
|
+
});
|
|
7501
|
+
return _context.abrupt("return", {
|
|
7502
|
+
values: resolvedValues,
|
|
7503
|
+
colorScaleStops: colorScaleStops
|
|
7504
|
+
});
|
|
7505
|
+
case 13:
|
|
7506
|
+
case "end":
|
|
7507
|
+
return _context.stop();
|
|
7508
|
+
}
|
|
7509
|
+
}, _callee);
|
|
7510
|
+
}));
|
|
7511
|
+
return function (_x) {
|
|
7512
|
+
return _ref.apply(this, arguments);
|
|
7513
|
+
};
|
|
7514
|
+
}());
|
|
7515
|
+
}
|
|
7516
|
+
|
|
7517
|
+
var MAIN_SOURCE_ID$2 = 'main';
|
|
7518
|
+
function sources$2(viewSpec, allViewSpecs, context) {
|
|
7519
|
+
var tiles = viewSpec.tiles;
|
|
7520
|
+
return _defineProperty({}, MAIN_SOURCE_ID$2, {
|
|
7521
|
+
promoteId: 'id',
|
|
7522
|
+
type: 'vector',
|
|
7523
|
+
tiles: parseTiles(tiles, context)
|
|
7524
|
+
});
|
|
7525
|
+
}
|
|
7526
|
+
|
|
7527
|
+
function _main_line(props, viewSpec, allViewSpecs, context) {
|
|
7528
|
+
var source_layer = viewSpec.source_layer;
|
|
7529
|
+
|
|
7530
|
+
//
|
|
7531
|
+
// Resolve color scale stops
|
|
7532
|
+
//
|
|
7533
|
+
var colorScheme = COLOR_SCHEMES[viewSpec.style.colorScheme];
|
|
7534
|
+
return {
|
|
7535
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7536
|
+
source: MAIN_SOURCE_ID$2,
|
|
7537
|
+
'source-layer': source_layer,
|
|
7538
|
+
type: 'line',
|
|
7539
|
+
interactive: true,
|
|
7540
|
+
paint: {
|
|
7541
|
+
'line-color': colorScheme.scalesByK[3][2],
|
|
7542
|
+
'line-width': 2,
|
|
7543
|
+
'line-opacity': ['case', ['boolean', ['feature-state', 'hover'], false], 1, 0]
|
|
7544
|
+
}
|
|
7545
|
+
};
|
|
7546
|
+
}
|
|
7547
|
+
var DEFAULT_NUMBER_FORMAT = ['pt-BR', {}];
|
|
7548
|
+
function _main_fill_legends(props, viewSpec, allViewSpecs, context) {
|
|
7549
|
+
var _legends = resolve.fn(function (ctx) {
|
|
7550
|
+
var _viewSpec$style$legen;
|
|
7551
|
+
console.log('ctx', ctx);
|
|
7552
|
+
return [{
|
|
7553
|
+
type: 'SequentialColorLegend',
|
|
7554
|
+
title: viewSpec.label,
|
|
7555
|
+
unit: viewSpec.unit,
|
|
7556
|
+
steps: ctx.view.metadata.colorScaleStops,
|
|
7557
|
+
format: _objectSpread2({
|
|
7558
|
+
number: viewSpec.style.numberFormat || DEFAULT_NUMBER_FORMAT,
|
|
7559
|
+
below: 'Sem dados',
|
|
7560
|
+
above: 'Acima de ${0}'
|
|
7561
|
+
}, ((_viewSpec$style$legen = viewSpec.style.legend) === null || _viewSpec$style$legen === void 0 ? void 0 : _viewSpec$style$legen.format) || {})
|
|
7562
|
+
}];
|
|
7563
|
+
});
|
|
7564
|
+
return _legends;
|
|
7565
|
+
}
|
|
7566
|
+
function _main_fill(props, viewSpec, allViewSpecs, context) {
|
|
7567
|
+
var _maplibreColorExp = props._maplibreColorExp;
|
|
7568
|
+
var source_layer = viewSpec.source_layer;
|
|
7569
|
+
return {
|
|
7570
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7571
|
+
source: MAIN_SOURCE_ID$2,
|
|
7572
|
+
'source-layer': source_layer,
|
|
7573
|
+
interactive: true,
|
|
7574
|
+
type: 'fill',
|
|
7575
|
+
paint: {
|
|
7576
|
+
'fill-color': _maplibreColorExp,
|
|
7577
|
+
'fill-opacity': DEFAULT_FILL_OPACITY$1
|
|
7578
|
+
},
|
|
7579
|
+
legends: _main_fill_legends(props, viewSpec),
|
|
7580
|
+
tooltip: basicTooltip(viewSpec.tooltip)
|
|
7581
|
+
};
|
|
7582
|
+
}
|
|
7583
|
+
function layers$2(viewSpec, allViewSpecs, context) {
|
|
7584
|
+
viewSpec.style;
|
|
7585
|
+
var source_layer = viewSpec.source_layer;
|
|
7586
|
+
if (!source_layer) {
|
|
7587
|
+
throw new Error('source_layer must be defined');
|
|
7588
|
+
}
|
|
7589
|
+
var _maplibreColorExp = resolve.fn(function (ctx) {
|
|
7590
|
+
return ['step', ['coalesce', ['get', viewSpec.style.valueKey],
|
|
7591
|
+
//
|
|
7592
|
+
// Just need to coalesce to value lower than the least existing value
|
|
7593
|
+
//
|
|
7594
|
+
Math.min.apply(Math, _toConsumableArray(ctx.view.metadata.values)) - 1]].concat(_toConsumableArray(ctx.view.metadata.colorScaleStops));
|
|
7595
|
+
});
|
|
7596
|
+
|
|
7597
|
+
// const _fillPattern = resolve.fn(
|
|
7598
|
+
// (ctx) => ctx.view?.conf?.style?.fillPattern || styleSpec.fillPattern,
|
|
7599
|
+
// )
|
|
7600
|
+
|
|
7601
|
+
return _defineProperty(_defineProperty({}, "main_line", _main_line({
|
|
7602
|
+
}, viewSpec)), "main_fill", _main_fill({
|
|
7603
|
+
_maplibreColorExp: _maplibreColorExp
|
|
7604
|
+
}, viewSpec));
|
|
7605
|
+
}
|
|
7606
|
+
|
|
7607
|
+
function download$2(viewSpec, allViewSpecs, context) {
|
|
7608
|
+
return basicDownload({
|
|
7609
|
+
fileName: slugify(viewSpec.label),
|
|
7610
|
+
downloadUrl: interpolate(viewSpec.download_url, {
|
|
7611
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
7612
|
+
})
|
|
7613
|
+
});
|
|
7614
|
+
}
|
|
7615
|
+
|
|
7616
|
+
var _excluded$a = ["style"];
|
|
7617
|
+
function vector_polygon_continuous(_ref, allViewSpecs, context) {
|
|
7618
|
+
var style = _ref.style,
|
|
7619
|
+
viewSpec = _objectWithoutProperties(_ref, _excluded$a);
|
|
7620
|
+
viewSpec = _objectSpread2(_objectSpread2({}, viewSpec), {}, {
|
|
7621
|
+
style: parseStyleSpec$2(style)
|
|
7622
|
+
});
|
|
7623
|
+
return _objectSpread2(_objectSpread2({}, pick(viewSpec, ['id', 'path', 'label', 'sourceLabel'])), {}, {
|
|
7624
|
+
confSchema: confSchema$1(viewSpec),
|
|
7625
|
+
metadata: metadata$2(viewSpec, allViewSpecs, context),
|
|
7626
|
+
sources: sources$2(viewSpec, allViewSpecs, context),
|
|
7627
|
+
layers: layers$2(viewSpec),
|
|
7628
|
+
download: download$2(viewSpec, allViewSpecs, context)
|
|
7629
|
+
});
|
|
7630
|
+
}
|
|
7631
|
+
|
|
7632
|
+
var _excluded$9 = ["label", "line", "color", "tiles", "source_layer", "sources", "layers", "tooltip"];
|
|
7633
|
+
var LINE_PATTERN_OPTIONS = [{
|
|
7634
|
+
label: 'Continua',
|
|
7635
|
+
value: 'line'
|
|
7636
|
+
}, {
|
|
7637
|
+
label: 'Tracejada',
|
|
7638
|
+
value: 'dashed'
|
|
7639
|
+
}];
|
|
7640
|
+
function _parseTiles$1(tiles, context) {
|
|
7641
|
+
tiles = Array.isArray(tiles) ? tiles : typeof tiles === 'string' ? [tiles] : null;
|
|
7642
|
+
if (!tiles) {
|
|
7643
|
+
throw new Error("tiles is required");
|
|
7644
|
+
}
|
|
7645
|
+
return tiles.map(function (tileSrcUrl) {
|
|
7646
|
+
return interpolate(tileSrcUrl, context);
|
|
7647
|
+
});
|
|
7648
|
+
}
|
|
7649
|
+
function vector_line(_ref, allViewSpecs, context) {
|
|
7650
|
+
var label = _ref.label,
|
|
7651
|
+
_ref$line = _ref.line,
|
|
7652
|
+
line = _ref$line === void 0 ? {} : _ref$line,
|
|
7653
|
+
color = _ref.color,
|
|
7654
|
+
tiles = _ref.tiles,
|
|
7655
|
+
source_layer = _ref.source_layer,
|
|
7656
|
+
_ref$sources = _ref.sources,
|
|
7657
|
+
sources = _ref$sources === void 0 ? {} : _ref$sources,
|
|
7658
|
+
_ref$layers = _ref.layers,
|
|
7659
|
+
layers = _ref$layers === void 0 ? {} : _ref$layers,
|
|
7660
|
+
_ref$tooltip = _ref.tooltip,
|
|
7661
|
+
tooltip = _ref$tooltip === void 0 ? {} : _ref$tooltip,
|
|
7662
|
+
props = _objectWithoutProperties(_ref, _excluded$9);
|
|
7663
|
+
if (!source_layer) {
|
|
7664
|
+
throw new Error('source_layer must be defined');
|
|
7665
|
+
}
|
|
7666
|
+
var _initialColor = resolveColor(color);
|
|
7667
|
+
var _color = resolve.fn(function (ctx) {
|
|
7668
|
+
var _ctx$view;
|
|
7669
|
+
return resolveColor((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.color) || _initialColor;
|
|
7670
|
+
});
|
|
7671
|
+
var _initialLinePattern = line.paint && line.paint['line-dasharray'] ? 'dashed' : 'line';
|
|
7672
|
+
var _linePattern = resolve.fn(_color, function (_resolvedColor, ctx) {
|
|
7673
|
+
var _ctx$view2;
|
|
7674
|
+
var resolvedLinePattern = ((_ctx$view2 = ctx.view) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.conf) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.style) === null || _ctx$view2 === void 0 ? void 0 : _ctx$view2.linePattern) || _initialLinePattern;
|
|
7675
|
+
return _objectSpread2(_objectSpread2({
|
|
7676
|
+
'line-width': 1,
|
|
7677
|
+
'line-color': _color
|
|
7678
|
+
}, line.paint || {}), resolvedLinePattern === 'dashed' ? {
|
|
7679
|
+
'line-dasharray': [2, 2]
|
|
7680
|
+
} : {});
|
|
7681
|
+
});
|
|
7682
|
+
var _legend = resolve.fn(_color, function (_resolvedColor, ctx) {
|
|
7683
|
+
var _ctx$view3;
|
|
7684
|
+
return {
|
|
7685
|
+
type: 'CategoricalLegend',
|
|
7686
|
+
items: [{
|
|
7687
|
+
label: label,
|
|
7688
|
+
box: {
|
|
7689
|
+
style: {
|
|
7690
|
+
height: 0,
|
|
7691
|
+
borderColor: _resolvedColor,
|
|
7692
|
+
borderStyle: ((_ctx$view3 = ctx.view) === null || _ctx$view3 === void 0 || (_ctx$view3 = _ctx$view3.conf) === null || _ctx$view3 === void 0 || (_ctx$view3 = _ctx$view3.style) === null || _ctx$view3 === void 0 ? void 0 : _ctx$view3.linePattern) || _initialLinePattern,
|
|
7693
|
+
borderWidth: '1px'
|
|
7694
|
+
}
|
|
7695
|
+
}
|
|
7696
|
+
}]
|
|
7697
|
+
};
|
|
7698
|
+
});
|
|
7699
|
+
return _objectSpread2(_objectSpread2({}, props), {}, {
|
|
7700
|
+
label: label,
|
|
7701
|
+
confSchema: {
|
|
7702
|
+
style: {
|
|
7703
|
+
color: colorSelector(_initialColor),
|
|
7704
|
+
linePattern: {
|
|
7705
|
+
label: 'Linha',
|
|
7706
|
+
type: 'select',
|
|
7707
|
+
clearable: false,
|
|
7708
|
+
defaultValue: _initialLinePattern || 'line',
|
|
7709
|
+
options: LINE_PATTERN_OPTIONS.map(function (opt) {
|
|
7710
|
+
return _objectSpread2(_objectSpread2({}, opt), {}, {
|
|
7711
|
+
label: /*#__PURE__*/React.createElement(Flex, {
|
|
7712
|
+
direction: "row",
|
|
7713
|
+
alignItems: "center",
|
|
7714
|
+
gap: "2"
|
|
7715
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7716
|
+
style: {
|
|
7717
|
+
width: 15,
|
|
7718
|
+
height: 0,
|
|
7719
|
+
borderStyle: opt.value === 'line' ? 'solid' : 'dashed',
|
|
7720
|
+
borderWidth: 1
|
|
7721
|
+
}
|
|
7722
|
+
}), /*#__PURE__*/React.createElement("div", null, " ", opt.label))
|
|
7723
|
+
});
|
|
7724
|
+
})
|
|
7725
|
+
}
|
|
7726
|
+
}
|
|
7727
|
+
},
|
|
7728
|
+
metadata: {},
|
|
7729
|
+
sources: _objectSpread2({
|
|
7730
|
+
main: {
|
|
7731
|
+
promoteId: 'id',
|
|
7732
|
+
type: 'vector',
|
|
7733
|
+
tiles: _parseTiles$1(tiles, context)
|
|
7734
|
+
}
|
|
7735
|
+
}, sources),
|
|
7736
|
+
layers: _objectSpread2(_defineProperty({}, "main_line", _objectSpread2(_objectSpread2({
|
|
7737
|
+
zIndex: Z_OVERLAY_MIDDLE_2000,
|
|
7738
|
+
source: 'main',
|
|
7739
|
+
'source-layer': source_layer,
|
|
7740
|
+
type: 'line'
|
|
7741
|
+
}, line), {}, {
|
|
7742
|
+
paint: _linePattern,
|
|
7743
|
+
legends: [_legend],
|
|
7744
|
+
tooltip: basicTooltip(tooltip)
|
|
7745
|
+
})), layers)
|
|
7746
|
+
});
|
|
7747
|
+
}
|
|
7748
|
+
|
|
7749
|
+
var _excluded$8 = ["label", "circle", "color", "tiles", "source_layer", "sources", "layers"];
|
|
6458
7750
|
function _parseTiles(tiles, context) {
|
|
6459
7751
|
tiles = Array.isArray(tiles) ? tiles : typeof tiles === 'string' ? [tiles] : null;
|
|
6460
7752
|
if (!tiles) {
|
|
@@ -6465,7 +7757,8 @@ function _parseTiles(tiles, context) {
|
|
|
6465
7757
|
});
|
|
6466
7758
|
}
|
|
6467
7759
|
function vector_circle(_ref, allViewSpecs, context) {
|
|
6468
|
-
var
|
|
7760
|
+
var label = _ref.label,
|
|
7761
|
+
_ref$circle = _ref.circle,
|
|
6469
7762
|
circle = _ref$circle === void 0 ? {} : _ref$circle,
|
|
6470
7763
|
color = _ref.color,
|
|
6471
7764
|
tiles = _ref.tiles,
|
|
@@ -6474,11 +7767,37 @@ function vector_circle(_ref, allViewSpecs, context) {
|
|
|
6474
7767
|
sources = _ref$sources === void 0 ? {} : _ref$sources,
|
|
6475
7768
|
_ref$layers = _ref.layers,
|
|
6476
7769
|
layers = _ref$layers === void 0 ? {} : _ref$layers,
|
|
6477
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
7770
|
+
props = _objectWithoutProperties(_ref, _excluded$8);
|
|
6478
7771
|
if (!source_layer) {
|
|
6479
7772
|
throw new Error('source_layer must be defined');
|
|
6480
7773
|
}
|
|
7774
|
+
var _initialColor = resolveColor(color);
|
|
7775
|
+
var _color = resolve.fn(function (ctx) {
|
|
7776
|
+
var _ctx$view;
|
|
7777
|
+
return resolveColor((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.color) || _initialColor;
|
|
7778
|
+
});
|
|
7779
|
+
var _legend = resolve.fn(_color, function (_resolvedColor) {
|
|
7780
|
+
return {
|
|
7781
|
+
type: 'CategoricalLegend',
|
|
7782
|
+
items: [{
|
|
7783
|
+
label: label,
|
|
7784
|
+
box: {
|
|
7785
|
+
style: {
|
|
7786
|
+
backgroundColor: _resolvedColor,
|
|
7787
|
+
border: '1px solid black',
|
|
7788
|
+
borderRadius: '30px'
|
|
7789
|
+
}
|
|
7790
|
+
}
|
|
7791
|
+
}]
|
|
7792
|
+
};
|
|
7793
|
+
});
|
|
6481
7794
|
return _objectSpread2(_objectSpread2({}, props), {}, {
|
|
7795
|
+
label: label,
|
|
7796
|
+
confSchema: {
|
|
7797
|
+
style: {
|
|
7798
|
+
color: colorSelector(_initialColor)
|
|
7799
|
+
}
|
|
7800
|
+
},
|
|
6482
7801
|
metadata: {},
|
|
6483
7802
|
sources: _objectSpread2({
|
|
6484
7803
|
main: {
|
|
@@ -6495,11 +7814,12 @@ function vector_circle(_ref, allViewSpecs, context) {
|
|
|
6495
7814
|
}, circle), {}, {
|
|
6496
7815
|
paint: _objectSpread2({
|
|
6497
7816
|
'circle-radius': 8,
|
|
6498
|
-
'circle-color':
|
|
7817
|
+
'circle-color': _color,
|
|
6499
7818
|
'circle-opacity': 1,
|
|
6500
7819
|
'circle-stroke-color': '#000000',
|
|
6501
7820
|
'circle-stroke-width': 1
|
|
6502
7821
|
}, circle.paint || {}),
|
|
7822
|
+
legends: [_legend],
|
|
6503
7823
|
tooltip: {
|
|
6504
7824
|
title: ['$literal', resolve.fn(function (ctx) {
|
|
6505
7825
|
var _ctx$feature;
|
|
@@ -6514,6 +7834,313 @@ function vector_circle(_ref, allViewSpecs, context) {
|
|
|
6514
7834
|
});
|
|
6515
7835
|
}
|
|
6516
7836
|
|
|
7837
|
+
function confSchema(viewSpec, allViewSpecs, context) {
|
|
7838
|
+
var styleSpec = viewSpec.style;
|
|
7839
|
+
return {
|
|
7840
|
+
style: {
|
|
7841
|
+
color: colorSelector(styleSpec.color)
|
|
7842
|
+
}
|
|
7843
|
+
};
|
|
7844
|
+
}
|
|
7845
|
+
|
|
7846
|
+
function metadata$1(viewSpec, allViewSpecs, context) {
|
|
7847
|
+
return {};
|
|
7848
|
+
}
|
|
7849
|
+
|
|
7850
|
+
var MAIN_SOURCE_ID$1 = 'main';
|
|
7851
|
+
function sources$1(viewSpec, allViewSpecs, context) {
|
|
7852
|
+
var tiles = viewSpec.tiles;
|
|
7853
|
+
return _defineProperty({}, MAIN_SOURCE_ID$1, {
|
|
7854
|
+
promoteId: 'id',
|
|
7855
|
+
type: 'vector',
|
|
7856
|
+
tiles: parseTiles(tiles, context)
|
|
7857
|
+
});
|
|
7858
|
+
}
|
|
7859
|
+
|
|
7860
|
+
function _main_circle_legends$1(props, viewSpec, allViewSpecs, context) {
|
|
7861
|
+
var _legends = resolve.fn(function (ctx) {
|
|
7862
|
+
var _ctx$view, _viewSpec$style, _viewSpec$style2;
|
|
7863
|
+
var _resolvedColor = resolveColor(((_ctx$view = ctx.view) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.conf) === null || _ctx$view === void 0 || (_ctx$view = _ctx$view.style) === null || _ctx$view === void 0 ? void 0 : _ctx$view.color) || ((_viewSpec$style = viewSpec.style) === null || _viewSpec$style === void 0 ? void 0 : _viewSpec$style.color)) || schemeGeoReDUS.laranja;
|
|
7864
|
+
return [{
|
|
7865
|
+
type: 'CategoricalLegend',
|
|
7866
|
+
items: [{
|
|
7867
|
+
label: viewSpec.label,
|
|
7868
|
+
box: {
|
|
7869
|
+
style: {
|
|
7870
|
+
backgroundColor: _resolvedColor,
|
|
7871
|
+
border: 'none',
|
|
7872
|
+
borderRadius: '30px',
|
|
7873
|
+
opacity: ((_viewSpec$style2 = viewSpec.style) === null || _viewSpec$style2 === void 0 ? void 0 : _viewSpec$style2.opacity) || 1
|
|
7874
|
+
}
|
|
7875
|
+
}
|
|
7876
|
+
}]
|
|
7877
|
+
}];
|
|
7878
|
+
});
|
|
7879
|
+
return _legends;
|
|
7880
|
+
}
|
|
7881
|
+
function _main_circle$1(props, viewSpec, allViewSpecs, context) {
|
|
7882
|
+
var _viewSpec$style4, _viewSpec$style5, _viewSpec$style6;
|
|
7883
|
+
_objectDestructuringEmpty(props);
|
|
7884
|
+
var source_layer = viewSpec.source_layer;
|
|
7885
|
+
return {
|
|
7886
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
7887
|
+
source: MAIN_SOURCE_ID$1,
|
|
7888
|
+
'source-layer': source_layer,
|
|
7889
|
+
interactive: true,
|
|
7890
|
+
type: 'circle',
|
|
7891
|
+
paint: {
|
|
7892
|
+
'circle-color': resolve.fn(function (ctx) {
|
|
7893
|
+
var _ctx$view2, _viewSpec$style3;
|
|
7894
|
+
var _resolvedColor = resolveColor(((_ctx$view2 = ctx.view) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.conf) === null || _ctx$view2 === void 0 || (_ctx$view2 = _ctx$view2.style) === null || _ctx$view2 === void 0 ? void 0 : _ctx$view2.color) || ((_viewSpec$style3 = viewSpec.style) === null || _viewSpec$style3 === void 0 ? void 0 : _viewSpec$style3.color)) || schemeGeoReDUS.laranja;
|
|
7895
|
+
return _resolvedColor;
|
|
7896
|
+
}),
|
|
7897
|
+
'circle-opacity': ((_viewSpec$style4 = viewSpec.style) === null || _viewSpec$style4 === void 0 ? void 0 : _viewSpec$style4.opacity) || 1,
|
|
7898
|
+
'circle-radius': ((_viewSpec$style5 = viewSpec.style) === null || _viewSpec$style5 === void 0 ? void 0 : _viewSpec$style5.radius) || 10,
|
|
7899
|
+
'circle-stroke-color': '#ffffff',
|
|
7900
|
+
'circle-stroke-width': (_viewSpec$style6 = viewSpec.style) !== null && _viewSpec$style6 !== void 0 && _viewSpec$style6.border ? 2 : 0
|
|
7901
|
+
},
|
|
7902
|
+
legends: _main_circle_legends$1(props, viewSpec),
|
|
7903
|
+
tooltip: basicTooltip(viewSpec.tooltip)
|
|
7904
|
+
};
|
|
7905
|
+
}
|
|
7906
|
+
function layers$1(viewSpec, allViewSpecs, context) {
|
|
7907
|
+
var source_layer = viewSpec.source_layer;
|
|
7908
|
+
if (!source_layer) {
|
|
7909
|
+
throw new Error('source_layer must be defined');
|
|
7910
|
+
}
|
|
7911
|
+
return _defineProperty({}, "main_circle", _main_circle$1({}, viewSpec));
|
|
7912
|
+
}
|
|
7913
|
+
|
|
7914
|
+
function _defaultColor(inputColor) {
|
|
7915
|
+
return inputColor ? resolveColor(inputColor) : schemeGeoReDUS.laranja;
|
|
7916
|
+
}
|
|
7917
|
+
function parseStyleSpec$1(styleInput) {
|
|
7918
|
+
if (!styleInput) {
|
|
7919
|
+
return {};
|
|
7920
|
+
}
|
|
7921
|
+
if (typeof styleInput === 'string') {
|
|
7922
|
+
return {
|
|
7923
|
+
color: _defaultColor(styleInput),
|
|
7924
|
+
border: true
|
|
7925
|
+
};
|
|
7926
|
+
} else {
|
|
7927
|
+
return __assign(__assign({
|
|
7928
|
+
border: true
|
|
7929
|
+
}, styleInput), {
|
|
7930
|
+
color: _defaultColor(styleInput.color)
|
|
7931
|
+
});
|
|
7932
|
+
}
|
|
7933
|
+
}
|
|
7934
|
+
|
|
7935
|
+
function download$1(viewSpec, allViewSpecs, context) {
|
|
7936
|
+
return basicDownload({
|
|
7937
|
+
fileName: slugify(viewSpec.label),
|
|
7938
|
+
downloadUrl: interpolate(viewSpec.download_url || "", {
|
|
7939
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
7940
|
+
})
|
|
7941
|
+
});
|
|
7942
|
+
}
|
|
7943
|
+
|
|
7944
|
+
var _excluded$7 = ["style"];
|
|
7945
|
+
function vector_point_single(_ref, allViewSpecs, context) {
|
|
7946
|
+
var style = _ref.style,
|
|
7947
|
+
viewSpec = _objectWithoutProperties(_ref, _excluded$7);
|
|
7948
|
+
viewSpec = _objectSpread2(_objectSpread2({}, viewSpec), {}, {
|
|
7949
|
+
style: parseStyleSpec$1(style)
|
|
7950
|
+
});
|
|
7951
|
+
return _objectSpread2(_objectSpread2({}, pick(viewSpec, ['id', 'path', 'label', 'sourceLabel'])), {}, {
|
|
7952
|
+
confSchema: confSchema(viewSpec),
|
|
7953
|
+
metadata: metadata$1(),
|
|
7954
|
+
sources: sources$1(viewSpec, allViewSpecs, context),
|
|
7955
|
+
layers: layers$1(viewSpec),
|
|
7956
|
+
download: download$1(viewSpec, allViewSpecs, context)
|
|
7957
|
+
});
|
|
7958
|
+
}
|
|
7959
|
+
|
|
7960
|
+
function metadata(viewSpec, allViewSpecs, context) {
|
|
7961
|
+
var _style$radius;
|
|
7962
|
+
var style = viewSpec.style;
|
|
7963
|
+
var radiusData = (_style$radius = style.radius) !== null && _style$radius !== void 0 && _style$radius.values ? resolveAsync.fn(/*#__PURE__*/function () {
|
|
7964
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx) {
|
|
7965
|
+
var resolvedValues;
|
|
7966
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
7967
|
+
while (1) switch (_context.prev = _context.next) {
|
|
7968
|
+
case 0:
|
|
7969
|
+
if (!(typeof style.radius.values === 'string')) {
|
|
7970
|
+
_context.next = 6;
|
|
7971
|
+
break;
|
|
7972
|
+
}
|
|
7973
|
+
_context.next = 3;
|
|
7974
|
+
return fetch(interpolate(style.radius.values, {
|
|
7975
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT,
|
|
7976
|
+
municipioId: context.municipioId,
|
|
7977
|
+
//
|
|
7978
|
+
// TODO: remove these hotfixes
|
|
7979
|
+
//
|
|
7980
|
+
municipioId_SUS: context.municipioId.substr(0, 6)
|
|
7981
|
+
})).then(function (res) {
|
|
7982
|
+
return res.json();
|
|
7983
|
+
});
|
|
7984
|
+
case 3:
|
|
7985
|
+
_context.t0 = _context.sent;
|
|
7986
|
+
_context.next = 7;
|
|
7987
|
+
break;
|
|
7988
|
+
case 6:
|
|
7989
|
+
_context.t0 = Array.isArray(style.radius.values) ? style.radius.values : null;
|
|
7990
|
+
case 7:
|
|
7991
|
+
resolvedValues = _context.t0.map(function (entry) {
|
|
7992
|
+
return typeof entry === 'number' ? entry : entry.value;
|
|
7993
|
+
});
|
|
7994
|
+
return _context.abrupt("return", {
|
|
7995
|
+
values: resolvedValues
|
|
7996
|
+
});
|
|
7997
|
+
case 9:
|
|
7998
|
+
case "end":
|
|
7999
|
+
return _context.stop();
|
|
8000
|
+
}
|
|
8001
|
+
}, _callee);
|
|
8002
|
+
}));
|
|
8003
|
+
return function (_x) {
|
|
8004
|
+
return _ref.apply(this, arguments);
|
|
8005
|
+
};
|
|
8006
|
+
}()) : null;
|
|
8007
|
+
return {
|
|
8008
|
+
radiusData: radiusData
|
|
8009
|
+
};
|
|
8010
|
+
}
|
|
8011
|
+
|
|
8012
|
+
var MAIN_SOURCE_ID = 'main';
|
|
8013
|
+
function sources(viewSpec, allViewSpecs, context) {
|
|
8014
|
+
var tiles = viewSpec.tiles;
|
|
8015
|
+
return _defineProperty({}, MAIN_SOURCE_ID, {
|
|
8016
|
+
promoteId: 'id',
|
|
8017
|
+
type: 'vector',
|
|
8018
|
+
tiles: parseTiles(tiles, context)
|
|
8019
|
+
});
|
|
8020
|
+
}
|
|
8021
|
+
|
|
8022
|
+
var SIZE_MAX = 25;
|
|
8023
|
+
var SIZE_MIN = 6;
|
|
8024
|
+
function _validNumericalValues(values) {
|
|
8025
|
+
return values.filter(function (value) {
|
|
8026
|
+
return typeof value === 'number' && !Number.isNaN(value);
|
|
8027
|
+
});
|
|
8028
|
+
}
|
|
8029
|
+
var NO_DATA_COLOR = GEOREDUS_LABELED_RESTRICTED_USE_COLORS.cinza_claro.value;
|
|
8030
|
+
function _main_circle_legends(props, viewSpec, allViewSpecs, context) {
|
|
8031
|
+
var _legends = resolve.fn(function (ctx) {
|
|
8032
|
+
var _viewSpec$style;
|
|
8033
|
+
var _values = _validNumericalValues(ctx.view.metadata.radiusData.values);
|
|
8034
|
+
var _resolvedColor = resolveColor((_viewSpec$style = viewSpec.style) === null || _viewSpec$style === void 0 ? void 0 : _viewSpec$style.color) || schemeGeoReDUS.laranja;
|
|
8035
|
+
return [{
|
|
8036
|
+
type: 'CategoricalLegend',
|
|
8037
|
+
title: viewSpec.label,
|
|
8038
|
+
items: [{
|
|
8039
|
+
label: 'Com dados',
|
|
8040
|
+
color: _resolvedColor
|
|
8041
|
+
}, {
|
|
8042
|
+
label: 'Sem dados',
|
|
8043
|
+
color: NO_DATA_COLOR
|
|
8044
|
+
}]
|
|
8045
|
+
}, {
|
|
8046
|
+
type: 'ProportionalSymbolLegend',
|
|
8047
|
+
unit: viewSpec.measure_unit,
|
|
8048
|
+
title: viewSpec.label,
|
|
8049
|
+
min: Math.min.apply(Math, _toConsumableArray(_values)),
|
|
8050
|
+
max: Math.max.apply(Math, _toConsumableArray(_values)),
|
|
8051
|
+
sizeMin: SIZE_MIN * 2,
|
|
8052
|
+
sizeMax: SIZE_MAX * 2,
|
|
8053
|
+
numberFormat: ['pt-BR', {
|
|
8054
|
+
maximumFractionDigits: 0
|
|
8055
|
+
}]
|
|
8056
|
+
}];
|
|
8057
|
+
});
|
|
8058
|
+
return _legends;
|
|
8059
|
+
}
|
|
8060
|
+
function _main_circle(props, viewSpec, allViewSpecs, context) {
|
|
8061
|
+
_objectDestructuringEmpty(props);
|
|
8062
|
+
var source_layer = viewSpec.source_layer;
|
|
8063
|
+
return {
|
|
8064
|
+
zIndex: Z_OVERLAY_BASE_1000,
|
|
8065
|
+
source: MAIN_SOURCE_ID,
|
|
8066
|
+
'source-layer': source_layer,
|
|
8067
|
+
interactive: true,
|
|
8068
|
+
type: 'circle',
|
|
8069
|
+
// 'circle-sort-key': resolve.fn((ctx) => {
|
|
8070
|
+
// if (!viewSpec.style.radius?.valueKey) {
|
|
8071
|
+
// return 0
|
|
8072
|
+
// }
|
|
8073
|
+
|
|
8074
|
+
// return ['coalesce', ['get', viewSpec.style.radius.valueKey], 0]
|
|
8075
|
+
// }),
|
|
8076
|
+
paint: {
|
|
8077
|
+
'circle-color': resolve.fn(function (ctx) {
|
|
8078
|
+
var _viewSpec$style2, _viewSpec$style3;
|
|
8079
|
+
var _resolvedColor = resolveColor((_viewSpec$style2 = viewSpec.style) === null || _viewSpec$style2 === void 0 ? void 0 : _viewSpec$style2.color) || schemeGeoReDUS.laranja;
|
|
8080
|
+
if ((_viewSpec$style3 = viewSpec.style) !== null && _viewSpec$style3 !== void 0 && (_viewSpec$style3 = _viewSpec$style3.radius) !== null && _viewSpec$style3 !== void 0 && _viewSpec$style3.valueKey) {
|
|
8081
|
+
var _viewSpec$style4;
|
|
8082
|
+
return ['case', ['==', ['typeof', ['get', (_viewSpec$style4 = viewSpec.style) === null || _viewSpec$style4 === void 0 || (_viewSpec$style4 = _viewSpec$style4.radius) === null || _viewSpec$style4 === void 0 ? void 0 : _viewSpec$style4.valueKey]], 'number'], _resolvedColor, NO_DATA_COLOR];
|
|
8083
|
+
} else {
|
|
8084
|
+
return _resolvedColor;
|
|
8085
|
+
}
|
|
8086
|
+
}),
|
|
8087
|
+
'circle-opacity': 1,
|
|
8088
|
+
'circle-radius': resolve.fn(function (ctx) {
|
|
8089
|
+
var _viewSpec$style$radiu, _viewSpec$style5;
|
|
8090
|
+
if (!((_viewSpec$style$radiu = viewSpec.style.radius) !== null && _viewSpec$style$radiu !== void 0 && _viewSpec$style$radiu.valueKey)) {
|
|
8091
|
+
return 10;
|
|
8092
|
+
}
|
|
8093
|
+
var values = _validNumericalValues(ctx.view.metadata.radiusData.values);
|
|
8094
|
+
return zoomSensitiveLinearSizes({
|
|
8095
|
+
variable: ['get', (_viewSpec$style5 = viewSpec.style) === null || _viewSpec$style5 === void 0 || (_viewSpec$style5 = _viewSpec$style5.radius) === null || _viewSpec$style5 === void 0 ? void 0 : _viewSpec$style5.valueKey],
|
|
8096
|
+
minValue: Math.min.apply(Math, _toConsumableArray(values)),
|
|
8097
|
+
maxValue: Math.max.apply(Math, _toConsumableArray(values)),
|
|
8098
|
+
minSize: SIZE_MIN,
|
|
8099
|
+
maxSize: SIZE_MAX
|
|
8100
|
+
});
|
|
8101
|
+
})
|
|
8102
|
+
},
|
|
8103
|
+
legends: _main_circle_legends(props, viewSpec),
|
|
8104
|
+
tooltip: basicTooltip(viewSpec.tooltip)
|
|
8105
|
+
};
|
|
8106
|
+
}
|
|
8107
|
+
function layers(viewSpec, allViewSpecs, context) {
|
|
8108
|
+
var source_layer = viewSpec.source_layer;
|
|
8109
|
+
if (!source_layer) {
|
|
8110
|
+
throw new Error('source_layer must be defined');
|
|
8111
|
+
}
|
|
8112
|
+
return _defineProperty({}, "main_circle", _main_circle({}, viewSpec));
|
|
8113
|
+
}
|
|
8114
|
+
|
|
8115
|
+
function parseStyleSpec(styleInput) {
|
|
8116
|
+
return __assign({}, styleInput);
|
|
8117
|
+
}
|
|
8118
|
+
|
|
8119
|
+
function download(viewSpec, allViewSpecs, context) {
|
|
8120
|
+
return basicDownload({
|
|
8121
|
+
fileName: slugify(viewSpec.label),
|
|
8122
|
+
downloadUrl: interpolate(viewSpec.download_url || "", {
|
|
8123
|
+
METADATA_API_ENDPOINT: context.METADATA_API_ENDPOINT
|
|
8124
|
+
})
|
|
8125
|
+
});
|
|
8126
|
+
}
|
|
8127
|
+
|
|
8128
|
+
var _excluded$6 = ["style"];
|
|
8129
|
+
function vector_point_continuous(_ref, allViewSpecs, context) {
|
|
8130
|
+
var style = _ref.style,
|
|
8131
|
+
viewSpec = _objectWithoutProperties(_ref, _excluded$6);
|
|
8132
|
+
viewSpec = _objectSpread2(_objectSpread2({}, viewSpec), {}, {
|
|
8133
|
+
style: parseStyleSpec(style)
|
|
8134
|
+
});
|
|
8135
|
+
return _objectSpread2(_objectSpread2({}, pick(viewSpec, ['id', 'path', 'label', 'sourceLabel'])), {}, {
|
|
8136
|
+
// confSchema: confSchema(viewSpec, allViewSpecs, context),
|
|
8137
|
+
metadata: metadata(viewSpec, allViewSpecs, context),
|
|
8138
|
+
sources: sources(viewSpec, allViewSpecs, context),
|
|
8139
|
+
layers: layers(viewSpec),
|
|
8140
|
+
download: download(viewSpec, allViewSpecs, context)
|
|
8141
|
+
});
|
|
8142
|
+
}
|
|
8143
|
+
|
|
6517
8144
|
var PRESETS = /*#__PURE__*/Object.freeze({
|
|
6518
8145
|
__proto__: null,
|
|
6519
8146
|
cem_censo_2010_2022: cem_censo_2010_2022,
|
|
@@ -6522,7 +8149,12 @@ var PRESETS = /*#__PURE__*/Object.freeze({
|
|
|
6522
8149
|
cem_saude_2024: cem_saude_2024,
|
|
6523
8150
|
vector_circle: vector_circle,
|
|
6524
8151
|
vector_line: vector_line,
|
|
6525
|
-
|
|
8152
|
+
vector_point_continuous: vector_point_continuous,
|
|
8153
|
+
vector_point_single: vector_point_single,
|
|
8154
|
+
vector_polygon: vector_polygon,
|
|
8155
|
+
vector_polygon_categorical: vector_polygon_categorical,
|
|
8156
|
+
vector_polygon_continuous: vector_polygon_continuous,
|
|
8157
|
+
vector_polygon_single: vector_polygon_single
|
|
6526
8158
|
});
|
|
6527
8159
|
|
|
6528
8160
|
function parseViewSpec(specInput, otherSpecInputs, context) {
|
|
@@ -6662,7 +8294,17 @@ function resolveConfSchema(viewSpec, partialView, viewResolutionContextBase) {
|
|
|
6662
8294
|
});
|
|
6663
8295
|
return resolveExpr(viewSpec.confSchema, resolveFinalContext);
|
|
6664
8296
|
}
|
|
6665
|
-
|
|
8297
|
+
// export const resolveMetadata = _stageResolver<
|
|
8298
|
+
// Pick<ResolvedView, 'conf'>,
|
|
8299
|
+
// ResolvedView['metadata']
|
|
8300
|
+
// >('metadata')
|
|
8301
|
+
//Changed resolveMetadata to get sourceLabel from viewSpec
|
|
8302
|
+
var resolveMetadata = _stageResolver('metadata', function (metadata, _a) {
|
|
8303
|
+
var viewSpec = _a.viewSpec;
|
|
8304
|
+
return __assign(__assign({}, metadata), {
|
|
8305
|
+
sourceLabel: viewSpec.sourceLabel
|
|
8306
|
+
});
|
|
8307
|
+
});
|
|
6666
8308
|
var resolveSources = _stageResolver('sources');
|
|
6667
8309
|
var resolveLayers = _stageResolver('layers', function (layersBase, _a) {
|
|
6668
8310
|
//
|
|
@@ -7133,8 +8775,8 @@ function br_divisao_territorial_views(conf) {
|
|
|
7133
8775
|
];
|
|
7134
8776
|
}
|
|
7135
8777
|
|
|
7136
|
-
var _templateObject$
|
|
7137
|
-
var StyledIframe = styled.iframe(_templateObject$
|
|
8778
|
+
var _templateObject$8;
|
|
8779
|
+
var StyledIframe = styled.iframe(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n border: none;\n width: 100%;\n height: 100%;\n"])));
|
|
7138
8780
|
function DocumentIframe(_ref) {
|
|
7139
8781
|
var src = _ref.src;
|
|
7140
8782
|
return /*#__PURE__*/React.createElement(AspectRatio, {
|
|
@@ -7595,8 +9237,8 @@ function overture_places_poc(_ref) {
|
|
|
7595
9237
|
};
|
|
7596
9238
|
}
|
|
7597
9239
|
|
|
7598
|
-
var _templateObject$
|
|
7599
|
-
var AutoWrapContainer = styled.div(_templateObject$
|
|
9240
|
+
var _templateObject$7, _templateObject2$3;
|
|
9241
|
+
var AutoWrapContainer = styled.div(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n display: flex;\n direction: row;\n flex-wrap: wrap;\n margin-left: -10px;\n margin-top: -10px;\n\n > * {\n margin-left: 10px;\n margin-top: 10px;\n }\n"])));
|
|
7600
9242
|
var UnstyledList = styled.ul(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n margin: 0;\n"])));
|
|
7601
9243
|
var REDUS_MUTIRAO_COP_2025_ID = 'redus_mutirao_cop_2025.geom';
|
|
7602
9244
|
var URL_RE = /^https?:\/\//;
|
|
@@ -8300,7 +9942,12 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
8300
9942
|
temperatura_superficie: temperatura_superficie,
|
|
8301
9943
|
vector_circle: vector_circle,
|
|
8302
9944
|
vector_line: vector_line,
|
|
8303
|
-
|
|
9945
|
+
vector_point_continuous: vector_point_continuous,
|
|
9946
|
+
vector_point_single: vector_point_single,
|
|
9947
|
+
vector_polygon: vector_polygon,
|
|
9948
|
+
vector_polygon_categorical: vector_polygon_categorical,
|
|
9949
|
+
vector_polygon_continuous: vector_polygon_continuous,
|
|
9950
|
+
vector_polygon_single: vector_polygon_single
|
|
8304
9951
|
});
|
|
8305
9952
|
|
|
8306
9953
|
var CollapsibleContent_slideDown = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n from {\n height: 0;\n }\n to {\n height: var(--radix-collapsible-content-height);\n }\n"], ["\n from {\n height: 0;\n }\n to {\n height: var(--radix-collapsible-content-height);\n }\n"])));
|
|
@@ -8540,8 +10187,8 @@ function ViewConfTabs(_ref) {
|
|
|
8540
10187
|
}
|
|
8541
10188
|
|
|
8542
10189
|
var _excluded$4 = ["textSearch", "content", "maxLines"];
|
|
8543
|
-
var _templateObject$
|
|
8544
|
-
var Container$1 = styled(Box)(_templateObject$
|
|
10190
|
+
var _templateObject$6, _templateObject2$2;
|
|
10191
|
+
var Container$1 = styled(Box)(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n --view-control-base-padding: 12px;\n box-shadow:\n rgba(0, 0, 0, 0.12) 0px 1px 3px,\n rgba(0, 0, 0, 0.24) 0px 1px 2px;\n\n border-radius: 2px;\n background-color: var(--redus-bege, white);\n // background-color: var(--accent-4, white);\n"])));
|
|
8545
10192
|
var Summary = styled.div(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n // background-color: var(--redus-bege, white);\n background-color: ", ";\n padding: 0;\n\n transition: background-color 0.1s ease-out;\n\n display: flex;\n border: none;\n text-align: left;\n width: 100%;\n\n cursor: pointer;\n\n &:hover {\n // background-color: color-mix(in srgb, var(--redus-bege) 80%, white);\n background-color: ", ";\n }\n\n &:active {\n filter: brightness(96%);\n }\n"])), function (_ref) {
|
|
8546
10193
|
var $active = _ref.$active;
|
|
8547
10194
|
return $active ? 'var(--redus-bege, white)' : 'var(--accent-2)';
|
|
@@ -8691,7 +10338,7 @@ function ViewControl(_ref8) {
|
|
|
8691
10338
|
}
|
|
8692
10339
|
|
|
8693
10340
|
var _excluded$3 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style", "categoryIcons"];
|
|
8694
|
-
var _templateObject$
|
|
10341
|
+
var _templateObject$5, _templateObject2$1;
|
|
8695
10342
|
var CATEGORY_ICONS = {
|
|
8696
10343
|
'populacao-e-domicilios': /*#__PURE__*/React$1.createElement(Icon, {
|
|
8697
10344
|
path: mdiAccountGroup
|
|
@@ -8720,7 +10367,7 @@ var ViewMenuContext = /*#__PURE__*/createContext({
|
|
|
8720
10367
|
onSetView: errNoViewMenuContext,
|
|
8721
10368
|
onDeactivateView: errNoViewMenuContext
|
|
8722
10369
|
});
|
|
8723
|
-
var ActiveCounter = styled.div(_templateObject$
|
|
10370
|
+
var ActiveCounter = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n transform: translate(-30%, -30%);\n border-radius: 50%;\n border: 1px solid white;\n height: 20px;\n width: 20px;\n font-size: 12px;\n background-color: var(--accent-9);\n color: white;\n font-weight: bold;\n\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
|
|
8724
10371
|
function Item(_ref) {
|
|
8725
10372
|
var node = _ref.node;
|
|
8726
10373
|
_ref.depth;
|
|
@@ -8880,6 +10527,76 @@ function ViewMenu(_ref4) {
|
|
|
8880
10527
|
}, props))));
|
|
8881
10528
|
}
|
|
8882
10529
|
|
|
10530
|
+
function GeoReDUSLogo(props) {
|
|
10531
|
+
var _props$color = props.color,
|
|
10532
|
+
color = _props$color === void 0 ? '#ffffff' : _props$color;
|
|
10533
|
+
return /*#__PURE__*/React$1.createElement("svg", {
|
|
10534
|
+
version: "1.1",
|
|
10535
|
+
id: "Layer_1",
|
|
10536
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10537
|
+
x: "0px",
|
|
10538
|
+
y: "0px",
|
|
10539
|
+
viewBox: "0 0 419.41 149.65"
|
|
10540
|
+
}, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
|
|
10541
|
+
fill: color,
|
|
10542
|
+
d: "M182.02,70.21c-7.67,0-13.57-2.05-17.71-6.14c-4.14-4.09-6.21-10.45-6.21-19.06c0-5.73,0.99-10.45,2.98-14.16 c1.99-3.72,4.87-6.48,8.66-8.31c3.79-1.82,8.33-2.73,13.63-2.73c3.17,0,6.15,0.35,8.95,1.06s5.27,1.8,7.42,3.27 c2.15,1.47,3.83,3.3,5.04,5.5c1.21,2.2,1.81,4.82,1.81,7.85h-10.72c0-1.47-0.32-2.77-0.96-3.91c-0.64-1.14-1.53-2.08-2.66-2.84 c-1.14-0.76-2.44-1.32-3.9-1.7c-1.47-0.38-3.01-0.57-4.62-0.57c-2.46,0-4.61,0.32-6.46,0.96s-3.37,1.61-4.58,2.91 c-1.21,1.3-2.12,2.92-2.73,4.86c-0.62,1.94-0.92,4.19-0.92,6.75v2.13c0,3.55,0.52,6.46,1.56,8.73c1.04,2.27,2.6,3.96,4.69,5.08 c2.08,1.11,4.66,1.67,7.74,1.67c2.56,0,4.82-0.39,6.78-1.17c1.96-0.78,3.5-1.9,4.62-3.37c1.11-1.47,1.67-3.27,1.67-5.4v-0.5 h-14.56v-8.09h25.06v26.34h-6.96l-0.92-5.25c-1.42,1.37-2.95,2.51-4.58,3.41c-1.63,0.9-3.44,1.57-5.43,2.02 C186.7,69.99,184.48,70.21,182.02,70.21z"
|
|
10543
|
+
})), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
|
|
10544
|
+
fill: color,
|
|
10545
|
+
d: "M272.34,70.12c-3.84,0-7.1-0.66-9.78-1.98c-2.68-1.32-4.71-3.35-6.1-6.1c-1.38-2.75-2.08-6.2-2.08-10.35 c0-4.24,0.69-7.72,2.08-10.42c1.38-2.7,3.42-4.71,6.1-6.03c2.68-1.32,5.94-1.98,9.78-1.98c3.93,0,7.22,0.66,9.88,1.98 c2.66,1.32,4.68,3.33,6.06,6.03c1.38,2.7,2.08,6.18,2.08,10.42c0,4.15-0.69,7.6-2.08,10.35c-1.38,2.75-3.41,4.78-6.06,6.1 C279.56,69.46,276.27,70.12,272.34,70.12z M272.34,62.88c2.05,0,3.7-0.38,4.92-1.14c1.23-0.76,2.13-1.92,2.71-3.48 c0.58-1.56,0.87-3.48,0.87-5.76v-1.61c0-2.28-0.29-4.2-0.87-5.76c-0.58-1.56-1.49-2.74-2.71-3.52c-1.23-0.78-2.87-1.17-4.92-1.17 c-2.01,0-3.63,0.39-4.86,1.17c-1.23,0.78-2.13,1.95-2.71,3.52c-0.58,1.56-0.87,3.48-0.87,5.76v1.61c0,2.28,0.29,4.2,0.87,5.76 c0.58,1.56,1.48,2.73,2.71,3.48C268.71,62.5,270.33,62.88,272.34,62.88z"
|
|
10546
|
+
})), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
|
|
10547
|
+
fill: color,
|
|
10548
|
+
d: "M234.74,107.79c0-1.95-0.59-3.58-1.77-4.91c-1.18-1.33-3.02-1.99-5.53-1.99c-2.53,0-4.49,0.71-5.88,2.14 c-1.39,1.42-2.26,3.38-2.63,5.86l15.77-0.15C234.73,108.52,234.74,108.21,234.74,107.79L234.74,107.79z M236.92,95.29 c2.45,1.52,4.25,3.51,5.42,5.97c1.17,2.46,1.75,5.12,1.75,7.99c0,1.95-0.29,3.93-0.88,5.95l-23.98,0.18 c0.61,2.26,1.77,4.02,3.49,5.26c1.72,1.24,3.95,1.86,6.7,1.86c1.63,0,3.36-0.18,5.18-0.55c1.83-0.37,3.65-0.9,5.48-1.61l1.86,7.56 c-1.73,0.73-3.92,1.34-6.57,1.83c-2.65,0.49-5.06,0.73-7.23,0.73c-5.91,0-10.51-1.54-13.78-4.62c-3.27-3.08-4.91-7.82-4.91-14.22 c0-3.99,0.72-7.38,2.17-10.17c1.45-2.79,3.54-4.89,6.28-6.32c2.74-1.42,6.03-2.14,9.87-2.14 C231.42,93.01,234.47,93.77,236.92,95.29L236.92,95.29z"
|
|
10549
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10550
|
+
fill: color,
|
|
10551
|
+
d: "M239.62,47.35c0-1.95-0.59-3.58-1.77-4.91c-1.18-1.33-3.02-1.99-5.53-1.99c-2.53,0-4.49,0.71-5.88,2.14 c-1.39,1.42-2.26,3.38-2.63,5.86l15.77-0.15C239.61,48.08,239.62,47.76,239.62,47.35L239.62,47.35z M241.8,34.84 c2.45,1.52,4.25,3.51,5.42,5.97c1.17,2.46,1.75,5.12,1.75,7.99c0,1.95-0.29,3.93-0.88,5.95l-23.98,0.18 c0.61,2.26,1.77,4.02,3.49,5.26c1.72,1.24,3.95,1.86,6.7,1.86c1.63,0,3.36-0.18,5.18-0.55c1.83-0.37,3.65-0.9,5.48-1.61l1.86,7.56 c-1.73,0.73-3.92,1.34-6.57,1.83c-2.65,0.49-5.06,0.73-7.23,0.73c-5.91,0-10.51-1.54-13.78-4.62c-3.27-3.08-4.91-7.82-4.91-14.22 c0-3.99,0.72-7.38,2.17-10.17c1.45-2.79,3.54-4.89,6.28-6.32c2.74-1.42,6.03-2.14,9.87-2.14C236.3,32.56,239.35,33.32,241.8,34.84 L241.8,34.84z"
|
|
10552
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10553
|
+
fill: color,
|
|
10554
|
+
d: "M270.56,121.41c3.65,0,6.77-0.72,9.36-2.15c2.59-1.44,4.56-3.52,5.91-6.26c1.35-2.74,2.03-6.05,2.03-9.95 c0-5.91-1.43-10.33-4.29-13.23c-2.86-2.91-7.09-4.35-12.69-4.33l-8.4,0.07v35.85H270.56L270.56,121.41z M252.82,77.31h18.22 c8.83,0,15.5,2.09,20,6.28c4.5,4.19,6.75,10.6,6.75,19.24c0,5.45-1.13,10.19-3.39,14.22c-2.26,4.03-5.46,7.13-9.58,9.31 c-4.13,2.18-8.9,3.27-14.33,3.27l-17.67,0.07V77.31L252.82,77.31z"
|
|
10555
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10556
|
+
fill: color,
|
|
10557
|
+
d: "M311.42,125.06c-3.37-3.63-5.06-8.88-5.06-15.77V77.27h9.71v31.36c0,8.81,3.84,13.22,11.54,13.22 c7.3,0,10.95-4.22,10.95-12.67V77.27h9.67v31.18c0,14.7-7.08,22.05-21.25,22.05C319.98,130.5,314.8,128.69,311.42,125.06 L311.42,125.06z"
|
|
10558
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10559
|
+
fill: color,
|
|
10560
|
+
d: "M365.43,129.29c-2.51-0.66-5.38-1.74-8.62-3.25l3.36-8.62c2.85,1.44,5.24,2.42,7.19,2.96 c1.95,0.54,3.95,0.8,6.02,0.8c3.21,0,5.56-0.6,7.05-1.81c1.48-1.21,2.23-2.82,2.23-4.84c0-1.22-0.41-2.26-1.22-3.14 c-0.82-0.88-1.84-1.61-3.07-2.19c-1.23-0.58-2.96-1.3-5.2-2.15c-3.12-1.17-5.66-2.28-7.63-3.34c-1.97-1.06-3.66-2.55-5.06-4.47 c-1.4-1.92-2.1-4.37-2.1-7.34c0-3.46,0.85-6.34,2.56-8.65c1.7-2.31,3.95-4.01,6.75-5.09c2.8-1.08,5.89-1.62,9.27-1.62 c2.46,0,4.77,0.24,6.94,0.71c2.17,0.47,4.31,1.14,6.42,1.99l-3.1,8.4l-0.91-0.33c-1.51-0.58-2.92-1.03-4.23-1.35 c-1.31-0.32-2.9-0.47-4.75-0.47c-2.39,0-4.42,0.47-6.1,1.42c-1.68,0.95-2.52,2.43-2.52,4.45c0,1.05,0.36,1.96,1.08,2.74 c0.72,0.78,1.63,1.44,2.74,1.99c1.11,0.55,2.66,1.21,4.65,1.99c3.09,1.24,5.63,2.42,7.63,3.54c1.99,1.12,3.71,2.72,5.15,4.8 c1.44,2.08,2.15,4.72,2.15,7.9c0,3.26-0.74,6.09-2.21,8.49c-1.47,2.4-3.61,4.24-6.41,5.53c-2.8,1.29-6.17,1.93-10.11,1.93 C370.59,130.28,367.94,129.95,365.43,129.29L365.43,129.29z"
|
|
10561
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10562
|
+
fill: color,
|
|
10563
|
+
d: "M191.16,105.78c3.07-1.17,5.48-2.91,7.25-5.24c1.76-2.32,2.66-5.08,2.68-8.27c0-3.21-0.71-5.94-2.12-8.18 c-1.41-2.24-3.41-3.94-6.01-5.09c-2.59-1.16-5.63-1.73-9.11-1.73h-18.47v52.35h9.71l-0.03-12.18l-0.01-32.65l5.99-0.04 c3.19-0.05,5.64,0.62,7.36,1.99c1.72,1.37,2.57,3.43,2.57,6.15c0,2.7-0.94,4.78-2.83,6.22c-1.77,1.36-4.22,2.08-7.32,2.16h-0.14 v5.79l14.52,22.56h11.57L191.16,105.78L191.16,105.78z"
|
|
10564
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10565
|
+
fill: color,
|
|
10566
|
+
d: "M90.31,32.32l-3.1-0.07c0.06-2.71-0.94-5.28-2.81-7.23c-1.87-1.96-4.39-3.07-7.1-3.13l0.07-3.1 c3.54,0.08,6.83,1.53,9.27,4.08C89.08,25.43,90.38,28.78,90.31,32.32L90.31,32.32z"
|
|
10567
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10568
|
+
fill: color,
|
|
10569
|
+
d: "M98.65,32.5l-3.1-0.07c0.22-10.18-7.88-18.65-18.07-18.87l0.07-3.1C89.45,10.72,98.91,20.6,98.65,32.5 L98.65,32.5z"
|
|
10570
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10571
|
+
fill: color,
|
|
10572
|
+
d: "M76.98,35.82c2.47,0.05,4.51-1.9,4.56-4.37c0.05-2.47-1.9-4.51-4.37-4.56c-2.47-0.05-4.51,1.9-4.56,4.37 C72.56,33.73,74.51,35.77,76.98,35.82L76.98,35.82z"
|
|
10573
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10574
|
+
fill: color,
|
|
10575
|
+
d: "M73.98,118.14c-3.84,0-6.97,3.13-6.97,6.97c0,3.84,3.13,6.97,6.97,6.97l0.23,0.02 c0.03,0.01,4.8,0.42,12.67-6.99c-7.86-7.49-12.62-6.99-12.67-6.98l-0.13,0.02L73.98,118.14L73.98,118.14z M74.44,135.2 c-0.24,0-0.43-0.01-0.55-0.03c-5.51-0.05-9.97-4.55-9.97-10.07c0-5.52,4.46-10.01,9.96-10.07c1.17-0.14,7.18-0.29,16.33,8.98 l1.08,1.1l-1.09,1.09C82.03,134.38,76.38,135.2,74.44,135.2L74.44,135.2z"
|
|
10576
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10577
|
+
fill: color,
|
|
10578
|
+
d: "M77.22,80.53c3.15,0,5.71-2.56,5.71-5.71c0-3.15-2.56-5.71-5.71-5.71c-3.15,0-5.71,2.56-5.71,5.71 C71.51,77.98,74.06,80.53,77.22,80.53L77.22,80.53z"
|
|
10579
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10580
|
+
fill: color,
|
|
10581
|
+
d: "M77.8,126.65c-23.03,0-41.76-18.73-41.76-41.76c0-23,18.7-41.71,41.69-41.71c23,0,41.71,18.71,41.71,41.71 h-3.1c0-21.29-17.32-38.61-38.61-38.61c-21.28,0-38.59,17.32-38.59,38.61c0,21.32,17.34,38.66,38.66,38.66V126.65L77.8,126.65z"
|
|
10582
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10583
|
+
fill: color,
|
|
10584
|
+
d: "M77.71,139.79c-30.28,0-54.92-24.63-54.92-54.9c0-30.28,24.64-54.92,54.92-54.92v3.1 c-28.58,0-51.82,23.25-51.82,51.82c0,28.56,23.25,51.8,51.82,51.8c28.56,0,51.8-23.24,51.8-51.8h3.1 C132.6,115.16,107.98,139.79,77.71,139.79L77.71,139.79z"
|
|
10585
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10586
|
+
fill: color,
|
|
10587
|
+
d: "M77.65,113.25c-4.64,0-8.27-1.37-10.8-4.07c-3.85-4.1-3.69-9.79-3.66-10.46v-6.47c0-4.73,3.85-8.57,8.57-8.57 h12.71c4.73,0,8.57,3.85,8.57,8.57l0,0.07c-0.01,0.11-0.7,11.23-15.96,11.23v-3.1c11.94,0,12.81-7.59,12.87-8.25 c-0.03-3-2.47-5.42-5.47-5.42H71.76c-3.02,0-5.47,2.46-5.47,5.47l0,6.61c0,0.05-0.25,4.94,2.84,8.22 c1.92,2.04,4.79,3.07,8.53,3.07c13.91,0,25.22-11.33,25.22-25.25c0-13.91-11.31-25.22-25.22-25.22 c-13.88,0-24.76,11.08-24.76,25.22h-3.1c0-15.88,12.24-28.32,27.86-28.32c15.62,0,28.32,12.7,28.32,28.32 C105.97,100.53,93.26,113.25,77.65,113.25L77.65,113.25z"
|
|
10588
|
+
}), /*#__PURE__*/React$1.createElement("path", {
|
|
10589
|
+
fill: color,
|
|
10590
|
+
d: "M131.1,66.21c-2.22,0-4.03-1.8-4.03-4.03c0-2.22,1.8-4.03,4.03-4.03c2.22,0,4.03,1.8,4.03,4.03 C135.12,64.41,133.32,66.21,131.1,66.21L131.1,66.21z M140.73,62.31c0-5.35-4.33-9.68-9.68-9.68c-5.35,0-9.68,4.33-9.68,9.68 c0,0-0.98,6.53,9.68,17.18C141.84,68.84,140.73,62.31,140.73,62.31L140.73,62.31z"
|
|
10591
|
+
}), /*#__PURE__*/React$1.createElement("polygon", {
|
|
10592
|
+
fill: color,
|
|
10593
|
+
points: "120.73,93.6 112.2,93.6 112.2,102.12 120.73,102.12 120.73,93.6 "
|
|
10594
|
+
}), /*#__PURE__*/React$1.createElement("polygon", {
|
|
10595
|
+
fill: color,
|
|
10596
|
+
points: "108.64,110.54 100.11,110.54 100.11,119.06 108.64,119.06 108.64,110.54 "
|
|
10597
|
+
}))));
|
|
10598
|
+
}
|
|
10599
|
+
|
|
8883
10600
|
function GeoReDUSLogoSymbol() {
|
|
8884
10601
|
var color = '#FFFFFF';
|
|
8885
10602
|
return /*#__PURE__*/React$1.createElement("svg", {
|
|
@@ -9040,15 +10757,17 @@ function CopyToClipboardIconButton(_ref2) {
|
|
|
9040
10757
|
}
|
|
9041
10758
|
|
|
9042
10759
|
var _excluded$2 = ["url"];
|
|
9043
|
-
var _templateObject$
|
|
9044
|
-
var Container = styled(Flex)(_templateObject$
|
|
10760
|
+
var _templateObject$4;
|
|
10761
|
+
var Container = styled(Flex)(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n > * {\n height: 32px;\n }\n"])));
|
|
9045
10762
|
var ShareButtonBar = function ShareButtonBar(_ref) {
|
|
9046
10763
|
var url = _ref.url,
|
|
9047
10764
|
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
9048
10765
|
var _useLocation = useLocation(),
|
|
9049
10766
|
href = _useLocation.href;
|
|
9050
10767
|
var shareUrl = url ? url : href;
|
|
9051
|
-
return /*#__PURE__*/React$1.createElement(
|
|
10768
|
+
return /*#__PURE__*/React$1.createElement(Flex, {
|
|
10769
|
+
direction: "column"
|
|
10770
|
+
}, /*#__PURE__*/React$1.createElement(Text, null, "Compartilhar"), /*#__PURE__*/React$1.createElement(Container, _extends({
|
|
9052
10771
|
direction: "row",
|
|
9053
10772
|
gap: "3"
|
|
9054
10773
|
}, props), /*#__PURE__*/React$1.createElement(CopyToClipboardIconButton, {
|
|
@@ -9083,49 +10802,751 @@ var ShareButtonBar = function ShareButtonBar(_ref) {
|
|
|
9083
10802
|
}, /*#__PURE__*/React$1.createElement(WhatsappIcon, {
|
|
9084
10803
|
size: 32,
|
|
9085
10804
|
round: true
|
|
9086
|
-
})));
|
|
10805
|
+
}))));
|
|
9087
10806
|
};
|
|
9088
10807
|
|
|
9089
|
-
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
10808
|
+
var SKY_STYLE = {
|
|
10809
|
+
'sky-color': '#199EF3',
|
|
10810
|
+
'sky-horizon-blend': 0.5,
|
|
10811
|
+
'horizon-color': '#d3edfd',
|
|
10812
|
+
'horizon-fog-blend': 0.5,
|
|
10813
|
+
'fog-color': '#0000ff',
|
|
10814
|
+
'fog-ground-blend': 0.5,
|
|
10815
|
+
'atmosphere-blend': ['interpolate', ['linear'], ['zoom'], 0, 1, 10, 1, 12, 0]
|
|
10816
|
+
};
|
|
9097
10817
|
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
|
|
9123
|
-
|
|
10818
|
+
var _templateObject$3;
|
|
10819
|
+
var style = {
|
|
10820
|
+
border: 'none',
|
|
10821
|
+
borderRadius: '70px',
|
|
10822
|
+
backgroundColor: 'transparent'
|
|
10823
|
+
};
|
|
10824
|
+
var circleStyle = {
|
|
10825
|
+
border: '2px solid black',
|
|
10826
|
+
borderRadius: '70px',
|
|
10827
|
+
padding: '4px',
|
|
10828
|
+
width: '30px',
|
|
10829
|
+
height: '30px',
|
|
10830
|
+
cursor: 'pointer',
|
|
10831
|
+
display: 'flex',
|
|
10832
|
+
alignItems: 'center',
|
|
10833
|
+
justifyContent: 'center'
|
|
10834
|
+
};
|
|
10835
|
+
var ArrowIcon = styled(Icon)(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n transform: rotate(", "deg);\n"])), function (props) {
|
|
10836
|
+
return -props.bearing;
|
|
10837
|
+
});
|
|
10838
|
+
|
|
10839
|
+
/**
|
|
10840
|
+
* NorthArrow Control Component
|
|
10841
|
+
*
|
|
10842
|
+
* Displays a rotatable north arrow that syncs with the map's bearing.
|
|
10843
|
+
* Click to reset the map bearing to 0°.
|
|
10844
|
+
*
|
|
10845
|
+
* @param {Object} props
|
|
10846
|
+
* @param {string} [props.position='bottom-right'] - Position in MapLibre control bar
|
|
10847
|
+
* @param {React.CSSProperties} [props.style] - Additional styles for the container
|
|
10848
|
+
*/
|
|
10849
|
+
|
|
10850
|
+
function NorthArrow(_ref) {
|
|
10851
|
+
var _ref$position = _ref.position,
|
|
10852
|
+
position = _ref$position === void 0 ? 'bottom-right' : _ref$position,
|
|
10853
|
+
className = _ref.className,
|
|
10854
|
+
_ref$hidden = _ref.hidden,
|
|
10855
|
+
hidden = _ref$hidden === void 0 ? false : _ref$hidden;
|
|
10856
|
+
var containerRef = useRef(null);
|
|
10857
|
+
var mapRef = useRef(null);
|
|
10858
|
+
var _useState = useState(null),
|
|
10859
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
10860
|
+
mountPoint = _useState2[0],
|
|
10861
|
+
setMountPoint = _useState2[1];
|
|
10862
|
+
var _useState3 = useState(0),
|
|
10863
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
10864
|
+
bearing = _useState4[0],
|
|
10865
|
+
setBearing = _useState4[1];
|
|
10866
|
+
var mapContext = useMap();
|
|
10867
|
+
|
|
10868
|
+
// Register as a MapLibre control
|
|
10869
|
+
useControl(function () {
|
|
10870
|
+
var container = document.createElement('div');
|
|
10871
|
+
container.className = 'maplibregl-ctrl maplibregl-ctrl-group';
|
|
10872
|
+
var mount = document.createElement('div');
|
|
10873
|
+
container.appendChild(mount);
|
|
10874
|
+
containerRef.current = container;
|
|
10875
|
+
setMountPoint(mount);
|
|
10876
|
+
return {
|
|
10877
|
+
onAdd: function onAdd(map) {
|
|
10878
|
+
mapRef.current = map;
|
|
10879
|
+
return container;
|
|
10880
|
+
},
|
|
10881
|
+
onRemove: function onRemove() {
|
|
10882
|
+
if (containerRef.current) {
|
|
10883
|
+
containerRef.current.remove();
|
|
10884
|
+
}
|
|
10885
|
+
mapRef.current = null;
|
|
10886
|
+
}
|
|
10887
|
+
};
|
|
10888
|
+
}, {
|
|
10889
|
+
position: position
|
|
10890
|
+
});
|
|
10891
|
+
|
|
10892
|
+
// Listen to map bearing changes
|
|
10893
|
+
useEffect(function () {
|
|
10894
|
+
var _mapContext$current, _mapContext$current$g;
|
|
10895
|
+
var map = mapRef.current || (mapContext === null || mapContext === void 0 || (_mapContext$current = mapContext.current) === null || _mapContext$current === void 0 || (_mapContext$current$g = _mapContext$current.getMap) === null || _mapContext$current$g === void 0 ? void 0 : _mapContext$current$g.call(_mapContext$current));
|
|
10896
|
+
if (!map) return;
|
|
10897
|
+
var handleMove = function handleMove() {
|
|
10898
|
+
setBearing(map.getBearing());
|
|
10899
|
+
};
|
|
10900
|
+
setBearing(map.getBearing());
|
|
10901
|
+
map.on('move', handleMove);
|
|
10902
|
+
return function () {
|
|
10903
|
+
map.off('move', handleMove);
|
|
10904
|
+
};
|
|
10905
|
+
}, [mapContext]);
|
|
10906
|
+
|
|
10907
|
+
// Handle reset bearing on click
|
|
10908
|
+
var handleClick = function handleClick() {
|
|
10909
|
+
var _mapContext$current2, _mapContext$current2$;
|
|
10910
|
+
var map = mapRef.current || (mapContext === null || mapContext === void 0 || (_mapContext$current2 = mapContext.current) === null || _mapContext$current2 === void 0 || (_mapContext$current2$ = _mapContext$current2.getMap) === null || _mapContext$current2$ === void 0 ? void 0 : _mapContext$current2$.call(_mapContext$current2));
|
|
10911
|
+
if (map && map.getBearing() !== 0) {
|
|
10912
|
+
map.easeTo({
|
|
10913
|
+
bearing: 0
|
|
10914
|
+
});
|
|
10915
|
+
}
|
|
10916
|
+
};
|
|
10917
|
+
return mountPoint ? /*#__PURE__*/createPortal(/*#__PURE__*/React$1.createElement(ControlContainer, {
|
|
10918
|
+
onClick: handleClick,
|
|
10919
|
+
title: "Click to reset bearing to north",
|
|
10920
|
+
style: style,
|
|
10921
|
+
position: position
|
|
10922
|
+
}, /*#__PURE__*/React$1.createElement("div", {
|
|
10923
|
+
style: _objectSpread2(_objectSpread2({}, circleStyle), {}, {
|
|
10924
|
+
display: hidden ? 'none' : 'flex'
|
|
10925
|
+
}),
|
|
10926
|
+
className: className
|
|
10927
|
+
}, /*#__PURE__*/React$1.createElement(ArrowIcon, {
|
|
10928
|
+
path: mdiNavigation,
|
|
10929
|
+
size: "25px",
|
|
10930
|
+
bearing: bearing
|
|
10931
|
+
// style={{ marginTop: '3px' }}
|
|
10932
|
+
}))), mountPoint) : null;
|
|
10933
|
+
}
|
|
10934
|
+
|
|
10935
|
+
/**
|
|
10936
|
+
* Calculate all paper layout dimensions based on a given paper width
|
|
10937
|
+
* Uses A4 aspect ratio (1:√2) and derives all other constants
|
|
10938
|
+
*
|
|
10939
|
+
* @param {number} paperWidth - The width of the paper in pixels
|
|
10940
|
+
* @returns {Object} Object containing all calculated dimensions
|
|
10941
|
+
*/
|
|
10942
|
+
function getPaperDimensions(paperWidth) {
|
|
10943
|
+
var PAPER_WIDTH = paperWidth;
|
|
10944
|
+
var PAPER_HEIGHT = Math.round(PAPER_WIDTH / Math.sqrt(2));
|
|
10945
|
+
var MARGIN = Math.round(PAPER_HEIGHT * 0.05);
|
|
10946
|
+
var PIXELRATIO = 4;
|
|
10947
|
+
var INSIDE_WIDTH = Math.round(PAPER_WIDTH - MARGIN * 2);
|
|
10948
|
+
var INSIDE_HEIGHT = Math.round(PAPER_HEIGHT - MARGIN * 2);
|
|
10949
|
+
var MAP_WIDTH = Math.round(INSIDE_WIDTH);
|
|
10950
|
+
var MAP_HEIGHT = Math.round(INSIDE_HEIGHT * 0.7 - MARGIN / 2);
|
|
10951
|
+
var BOTTOM_HEIGHT = Math.round(INSIDE_HEIGHT - MAP_HEIGHT - MARGIN / 2);
|
|
10952
|
+
var DESCRIPTION_WIDTH = Math.round(INSIDE_WIDTH * 0.25);
|
|
10953
|
+
var QRCODE_SIZE = Math.round(BOTTOM_HEIGHT);
|
|
10954
|
+
var MAPINFO_PADDING = Math.round(MARGIN * 0.4);
|
|
10955
|
+
var LOGO_HEIGHT = Math.round(MAP_HEIGHT * 0.15);
|
|
10956
|
+
var PROJECTION_HEIGHT = Math.round(MAP_HEIGHT * 0.1);
|
|
10957
|
+
var NORTH_SIZE = Math.round(PROJECTION_HEIGHT * 0.8);
|
|
10958
|
+
return {
|
|
10959
|
+
PAPER_WIDTH: PAPER_WIDTH,
|
|
10960
|
+
PAPER_HEIGHT: PAPER_HEIGHT,
|
|
10961
|
+
MARGIN: MARGIN,
|
|
10962
|
+
PIXELRATIO: PIXELRATIO,
|
|
10963
|
+
INSIDE_WIDTH: INSIDE_WIDTH,
|
|
10964
|
+
INSIDE_HEIGHT: INSIDE_HEIGHT,
|
|
10965
|
+
MAP_WIDTH: MAP_WIDTH,
|
|
10966
|
+
MAP_HEIGHT: MAP_HEIGHT,
|
|
10967
|
+
BOTTOM_HEIGHT: BOTTOM_HEIGHT,
|
|
10968
|
+
DESCRIPTION_WIDTH: DESCRIPTION_WIDTH,
|
|
10969
|
+
QRCODE_SIZE: QRCODE_SIZE,
|
|
10970
|
+
LOGO_HEIGHT: LOGO_HEIGHT,
|
|
10971
|
+
PROJECTION_HEIGHT: PROJECTION_HEIGHT,
|
|
10972
|
+
MAPINFO_PADDING: MAPINFO_PADDING,
|
|
10973
|
+
NORTH_SIZE: NORTH_SIZE
|
|
10974
|
+
};
|
|
10975
|
+
}
|
|
10976
|
+
|
|
10977
|
+
var PREVIEW_WIDTH_PX = 1200;
|
|
10978
|
+
var PAPER_WIDTH_PX = 3508;
|
|
10979
|
+
|
|
10980
|
+
var _getPaperDimensions$2 = getPaperDimensions(PAPER_WIDTH_PX),
|
|
10981
|
+
PIXELRATIO$2 = _getPaperDimensions$2.PIXELRATIO;
|
|
10982
|
+
var LEGEND_CLASS_NAME = 'LegendContainer';
|
|
10983
|
+
var IMAGE_DESCRIPTION_CLASS_NAME = 'ImageDescription';
|
|
10984
|
+
var QR_CODE_CLASS_NAME = 'QrCode';
|
|
10985
|
+
var LOGO_CLASS_NAME = 'Logo';
|
|
10986
|
+
var PROJECTION_CLASS_NAME = 'Projection';
|
|
10987
|
+
var NORTH_ARROW_CLASS_NAME = 'NorthArrow';
|
|
10988
|
+
var SCALE_CONTROL_CLASS_NAME = 'ScaleControl';
|
|
10989
|
+
function createBlob(_x, _x2) {
|
|
10990
|
+
return _createBlob.apply(this, arguments);
|
|
10991
|
+
}
|
|
10992
|
+
function _createBlob() {
|
|
10993
|
+
_createBlob = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(className, rootEl) {
|
|
10994
|
+
var backgroundColor,
|
|
10995
|
+
_args = arguments;
|
|
10996
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
10997
|
+
while (1) switch (_context.prev = _context.next) {
|
|
10998
|
+
case 0:
|
|
10999
|
+
backgroundColor = _args.length > 2 && _args[2] !== undefined ? _args[2] : '#ffffff';
|
|
11000
|
+
return _context.abrupt("return", toBlob(rootEl.querySelector(".".concat(className)), {
|
|
11001
|
+
cacheBust: true,
|
|
11002
|
+
pixelRatio: PIXELRATIO$2,
|
|
11003
|
+
fontEmbedCSS: false,
|
|
11004
|
+
backgroundColor: backgroundColor
|
|
11005
|
+
}));
|
|
11006
|
+
case 2:
|
|
11007
|
+
case "end":
|
|
11008
|
+
return _context.stop();
|
|
11009
|
+
}
|
|
11010
|
+
}, _callee);
|
|
11011
|
+
}));
|
|
11012
|
+
return _createBlob.apply(this, arguments);
|
|
11013
|
+
}
|
|
11014
|
+
function createScaleWrapper(map) {
|
|
11015
|
+
var scaleElement = map.getContainer().querySelector('.maplibregl-ctrl-scale');
|
|
11016
|
+
var scaleWrapper = document.createElement('div');
|
|
11017
|
+
scaleWrapper.style.padding = '0px';
|
|
11018
|
+
scaleWrapper.style.backgroundColor = 'transparent';
|
|
11019
|
+
scaleWrapper.style.display = 'block';
|
|
11020
|
+
scaleWrapper.style.position = 'relative';
|
|
11021
|
+
scaleWrapper.style.overflow = 'visible';
|
|
11022
|
+
var scaleClone = scaleElement.cloneNode(true);
|
|
11023
|
+
scaleClone.style.overflow = 'visible';
|
|
11024
|
+
// Force the internal SVG/lines to not be clipped
|
|
11025
|
+
scaleClone.style.position = 'relative';
|
|
11026
|
+
scaleWrapper.appendChild(scaleClone);
|
|
11027
|
+
document.body.appendChild(scaleWrapper);
|
|
11028
|
+
return scaleWrapper;
|
|
11029
|
+
}
|
|
11030
|
+
|
|
11031
|
+
// Extract all DOM elements to blobs FIRST (while DOM is visible)
|
|
11032
|
+
function extractMapImageBlobs(_x3) {
|
|
11033
|
+
return _extractMapImageBlobs.apply(this, arguments);
|
|
11034
|
+
}
|
|
11035
|
+
function _extractMapImageBlobs() {
|
|
11036
|
+
_extractMapImageBlobs = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref) {
|
|
11037
|
+
var map, rootEl, blobLegend, blobDescription, blobQRCode, blobLogo, blobProjection, blobNorthArrow, scaleWrapper, blobScale;
|
|
11038
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
11039
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
11040
|
+
case 0:
|
|
11041
|
+
map = _ref.map, rootEl = _ref.rootEl;
|
|
11042
|
+
_context2.next = 3;
|
|
11043
|
+
return createBlob(LEGEND_CLASS_NAME, rootEl);
|
|
11044
|
+
case 3:
|
|
11045
|
+
blobLegend = _context2.sent;
|
|
11046
|
+
_context2.next = 6;
|
|
11047
|
+
return createBlob(IMAGE_DESCRIPTION_CLASS_NAME, rootEl);
|
|
11048
|
+
case 6:
|
|
11049
|
+
blobDescription = _context2.sent;
|
|
11050
|
+
_context2.next = 9;
|
|
11051
|
+
return createBlob(QR_CODE_CLASS_NAME, rootEl);
|
|
11052
|
+
case 9:
|
|
11053
|
+
blobQRCode = _context2.sent;
|
|
11054
|
+
_context2.next = 12;
|
|
11055
|
+
return createBlob(LOGO_CLASS_NAME, rootEl, 'transparent');
|
|
11056
|
+
case 12:
|
|
11057
|
+
blobLogo = _context2.sent;
|
|
11058
|
+
_context2.next = 15;
|
|
11059
|
+
return createBlob(PROJECTION_CLASS_NAME, rootEl, 'transparent');
|
|
11060
|
+
case 15:
|
|
11061
|
+
blobProjection = _context2.sent;
|
|
11062
|
+
_context2.next = 18;
|
|
11063
|
+
return createBlob(NORTH_ARROW_CLASS_NAME, rootEl, 'transparent');
|
|
11064
|
+
case 18:
|
|
11065
|
+
blobNorthArrow = _context2.sent;
|
|
11066
|
+
scaleWrapper = createScaleWrapper(map);
|
|
11067
|
+
_context2.next = 22;
|
|
11068
|
+
return toBlob(scaleWrapper, {
|
|
11069
|
+
cacheBust: true,
|
|
11070
|
+
pixelRatio: PIXELRATIO$2,
|
|
11071
|
+
fontEmbedCSS: false,
|
|
11072
|
+
backgroundColor: 'transparent'
|
|
11073
|
+
});
|
|
11074
|
+
case 22:
|
|
11075
|
+
blobScale = _context2.sent;
|
|
11076
|
+
document.body.removeChild(scaleWrapper);
|
|
11077
|
+
return _context2.abrupt("return", {
|
|
11078
|
+
mapCanvas: map.getCanvas(),
|
|
11079
|
+
blobLegend: blobLegend,
|
|
11080
|
+
blobDescription: blobDescription,
|
|
11081
|
+
blobQRCode: blobQRCode,
|
|
11082
|
+
blobLogo: blobLogo,
|
|
11083
|
+
blobProjection: blobProjection,
|
|
11084
|
+
blobNorthArrow: blobNorthArrow,
|
|
11085
|
+
blobScale: blobScale
|
|
11086
|
+
});
|
|
11087
|
+
case 25:
|
|
11088
|
+
case "end":
|
|
11089
|
+
return _context2.stop();
|
|
11090
|
+
}
|
|
11091
|
+
}, _callee2);
|
|
11092
|
+
}));
|
|
11093
|
+
return _extractMapImageBlobs.apply(this, arguments);
|
|
11094
|
+
}
|
|
11095
|
+
|
|
11096
|
+
var _getPaperDimensions$1 = getPaperDimensions(PAPER_WIDTH_PX),
|
|
11097
|
+
PAPER_WIDTH = _getPaperDimensions$1.PAPER_WIDTH,
|
|
11098
|
+
PAPER_HEIGHT = _getPaperDimensions$1.PAPER_HEIGHT,
|
|
11099
|
+
MARGIN$1 = _getPaperDimensions$1.MARGIN,
|
|
11100
|
+
PIXELRATIO$1 = _getPaperDimensions$1.PIXELRATIO,
|
|
11101
|
+
MAP_WIDTH$1 = _getPaperDimensions$1.MAP_WIDTH,
|
|
11102
|
+
MAP_HEIGHT$1 = _getPaperDimensions$1.MAP_HEIGHT,
|
|
11103
|
+
BOTTOM_HEIGHT$1 = _getPaperDimensions$1.BOTTOM_HEIGHT,
|
|
11104
|
+
DESCRIPTION_WIDTH$1 = _getPaperDimensions$1.DESCRIPTION_WIDTH,
|
|
11105
|
+
QRCODE_SIZE = _getPaperDimensions$1.QRCODE_SIZE,
|
|
11106
|
+
LOGO_HEIGHT = _getPaperDimensions$1.LOGO_HEIGHT,
|
|
11107
|
+
PROJECTION_HEIGHT = _getPaperDimensions$1.PROJECTION_HEIGHT,
|
|
11108
|
+
MAPINFO_PADDING = _getPaperDimensions$1.MAPINFO_PADDING,
|
|
11109
|
+
NORTH_SIZE = _getPaperDimensions$1.NORTH_SIZE;
|
|
11110
|
+
function createImg(blob) {
|
|
11111
|
+
return new Promise(function (resolve) {
|
|
11112
|
+
if (!blob) {
|
|
11113
|
+
resolve(null);
|
|
11114
|
+
return;
|
|
11115
|
+
}
|
|
11116
|
+
try {
|
|
11117
|
+
var img = new Image();
|
|
11118
|
+
img.onload = function () {
|
|
11119
|
+
return resolve(img);
|
|
11120
|
+
};
|
|
11121
|
+
img.onerror = function () {
|
|
11122
|
+
console.warn('Failed to load image');
|
|
11123
|
+
resolve(null);
|
|
11124
|
+
};
|
|
11125
|
+
img.src = URL.createObjectURL(blob);
|
|
11126
|
+
} catch (error) {
|
|
11127
|
+
console.error('Error creating image from blob:', error);
|
|
11128
|
+
resolve(null);
|
|
11129
|
+
}
|
|
11130
|
+
});
|
|
11131
|
+
}
|
|
11132
|
+
function roundRect(ctx, x, y, width, height, radius) {
|
|
11133
|
+
ctx.beginPath();
|
|
11134
|
+
ctx.moveTo(x + radius, y);
|
|
11135
|
+
ctx.lineTo(x + width - radius, y);
|
|
11136
|
+
ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
|
|
11137
|
+
ctx.lineTo(x + width, y + height - radius);
|
|
11138
|
+
ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
|
|
11139
|
+
ctx.lineTo(x + radius, y + height);
|
|
11140
|
+
ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
|
|
11141
|
+
ctx.lineTo(x, y + radius);
|
|
11142
|
+
ctx.quadraticCurveTo(x, y, x + radius, y);
|
|
11143
|
+
ctx.closePath();
|
|
11144
|
+
}
|
|
11145
|
+
|
|
11146
|
+
// Compose canvas AFTER (using already-extracted blobs)
|
|
11147
|
+
function composeMapImageCanvas(_x) {
|
|
11148
|
+
return _composeMapImageCanvas.apply(this, arguments);
|
|
11149
|
+
}
|
|
11150
|
+
function _composeMapImageCanvas() {
|
|
11151
|
+
_composeMapImageCanvas = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(extractedBlobs) {
|
|
11152
|
+
var mapCanvas, blobLegend, blobDescription, blobQRCode, blobLogo, blobProjection, blobNorthArrow, blobScale, combinedCanvas, ctx, projectionImg, northArrowImg, scaleImg, projectionPosX, projectionPosY, projectionWidth, northPadding, northPosX, northPosY, scaleX, scaleY, scalePadding, scalePosX, scalePosY, scaleWidth, scaleHeight, backgroundX, backgroundY, backgroundWidth, backgroundHeight, logoImg, logoScale, logoPosX, logoPosY, logoWidth, bottomStartY, descriptionImg, legendImg, legendScale, legendHeight, legendWidth, qrCodeImg;
|
|
11153
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11154
|
+
while (1) switch (_context.prev = _context.next) {
|
|
11155
|
+
case 0:
|
|
11156
|
+
mapCanvas = extractedBlobs.mapCanvas, blobLegend = extractedBlobs.blobLegend, blobDescription = extractedBlobs.blobDescription, blobQRCode = extractedBlobs.blobQRCode, blobLogo = extractedBlobs.blobLogo, blobProjection = extractedBlobs.blobProjection, blobNorthArrow = extractedBlobs.blobNorthArrow, blobScale = extractedBlobs.blobScale; //0 - CREATE COMBINED CANVAS
|
|
11157
|
+
combinedCanvas = document.createElement('canvas');
|
|
11158
|
+
combinedCanvas.width = PAPER_WIDTH;
|
|
11159
|
+
combinedCanvas.height = PAPER_HEIGHT;
|
|
11160
|
+
ctx = combinedCanvas.getContext('2d'); // Fill background white
|
|
11161
|
+
ctx.fillStyle = '#ffffff';
|
|
11162
|
+
ctx.fillRect(0, 0, PAPER_WIDTH, PAPER_HEIGHT);
|
|
11163
|
+
|
|
11164
|
+
//1 - DRAW MAP ON CANVAS
|
|
11165
|
+
ctx.drawImage(mapCanvas, MARGIN$1, MARGIN$1, MAP_WIDTH$1, MAP_HEIGHT$1);
|
|
11166
|
+
|
|
11167
|
+
//2 - Draw Map Infos
|
|
11168
|
+
//2.1 - Create images from blobs (to get dimensions)
|
|
11169
|
+
_context.next = 10;
|
|
11170
|
+
return createImg(blobProjection);
|
|
11171
|
+
case 10:
|
|
11172
|
+
projectionImg = _context.sent;
|
|
11173
|
+
_context.next = 13;
|
|
11174
|
+
return createImg(blobNorthArrow);
|
|
11175
|
+
case 13:
|
|
11176
|
+
northArrowImg = _context.sent;
|
|
11177
|
+
_context.next = 16;
|
|
11178
|
+
return createImg(blobScale);
|
|
11179
|
+
case 16:
|
|
11180
|
+
scaleImg = _context.sent;
|
|
11181
|
+
projectionPosX = 0;
|
|
11182
|
+
projectionPosY = 0;
|
|
11183
|
+
projectionWidth = 0; //2.2 - Projection dimensions and position
|
|
11184
|
+
if (projectionImg && northArrowImg && scaleImg) {
|
|
11185
|
+
projectionPosX = MARGIN$1 + MAPINFO_PADDING;
|
|
11186
|
+
projectionPosY = MARGIN$1 + MAP_HEIGHT$1 - MAPINFO_PADDING - PROJECTION_HEIGHT;
|
|
11187
|
+
projectionWidth = Math.round(PROJECTION_HEIGHT * (projectionImg.width / projectionImg.height));
|
|
11188
|
+
|
|
11189
|
+
//2.3 - North dimensions and position (to the right of projection)
|
|
11190
|
+
northPadding = (PROJECTION_HEIGHT - NORTH_SIZE) / 2;
|
|
11191
|
+
northPosX = projectionPosX + projectionWidth + MAPINFO_PADDING;
|
|
11192
|
+
northPosY = projectionPosY + northPadding; //2.4 - Scale dimensions and position (below projection)
|
|
11193
|
+
scaleX = MAP_WIDTH$1 / mapCanvas.width;
|
|
11194
|
+
scaleY = MAP_HEIGHT$1 / mapCanvas.height;
|
|
11195
|
+
scalePadding = (PROJECTION_HEIGHT - scaleImg.height * scaleY) / 2;
|
|
11196
|
+
scalePosX = northPosX + NORTH_SIZE + MAPINFO_PADDING;
|
|
11197
|
+
scalePosY = projectionPosY + scalePadding;
|
|
11198
|
+
scaleWidth = Math.round(scaleImg.width * scaleX);
|
|
11199
|
+
scaleHeight = Math.round(scaleImg.height * scaleY); //2.5 - Background dimensions and position
|
|
11200
|
+
backgroundX = MARGIN$1 + MAPINFO_PADDING;
|
|
11201
|
+
backgroundY = projectionPosY;
|
|
11202
|
+
backgroundWidth = projectionWidth + NORTH_SIZE + scaleWidth / (PIXELRATIO$1 * PIXELRATIO$1) + 2 * MAPINFO_PADDING;
|
|
11203
|
+
backgroundHeight = PROJECTION_HEIGHT; //2.6 - Draw Map Info background
|
|
11204
|
+
ctx.fillStyle = '#ffffff80';
|
|
11205
|
+
roundRect(ctx, backgroundX, backgroundY, backgroundWidth, backgroundHeight, MAPINFO_PADDING / 2);
|
|
11206
|
+
ctx.fill();
|
|
11207
|
+
|
|
11208
|
+
//2.7 - Draw Map Infos
|
|
11209
|
+
ctx.drawImage(projectionImg, projectionPosX, projectionPosY, projectionWidth, PROJECTION_HEIGHT);
|
|
11210
|
+
ctx.drawImage(northArrowImg, northPosX, northPosY, NORTH_SIZE, NORTH_SIZE);
|
|
11211
|
+
ctx.drawImage(scaleImg, scalePosX, scalePosY, scaleWidth, scaleHeight);
|
|
11212
|
+
}
|
|
11213
|
+
|
|
11214
|
+
//3 - Draw logo on bottom left of map
|
|
11215
|
+
_context.next = 23;
|
|
11216
|
+
return createImg(blobLogo);
|
|
11217
|
+
case 23:
|
|
11218
|
+
logoImg = _context.sent;
|
|
11219
|
+
if (logoImg) {
|
|
11220
|
+
logoScale = logoImg.width / logoImg.height;
|
|
11221
|
+
logoPosX = MARGIN$1 + MAPINFO_PADDING;
|
|
11222
|
+
logoPosY = projectionPosY - MAPINFO_PADDING - LOGO_HEIGHT;
|
|
11223
|
+
logoWidth = Math.round(LOGO_HEIGHT * logoScale);
|
|
11224
|
+
ctx.fillStyle = '#ffffff80';
|
|
11225
|
+
roundRect(ctx, logoPosX, logoPosY, logoWidth, LOGO_HEIGHT, MAPINFO_PADDING / 2);
|
|
11226
|
+
ctx.fill();
|
|
11227
|
+
ctx.drawImage(logoImg, logoPosX, logoPosY, logoWidth, LOGO_HEIGHT);
|
|
11228
|
+
}
|
|
11229
|
+
|
|
11230
|
+
//3 - Calculate positions for bottom section elements and scale
|
|
11231
|
+
bottomStartY = MAP_HEIGHT$1 + MARGIN$1 * 1.5; //4 - DRAW DESCRIPTION
|
|
11232
|
+
_context.next = 28;
|
|
11233
|
+
return createImg(blobDescription);
|
|
11234
|
+
case 28:
|
|
11235
|
+
descriptionImg = _context.sent;
|
|
11236
|
+
if (descriptionImg) {
|
|
11237
|
+
ctx.drawImage(descriptionImg, MARGIN$1, bottomStartY, DESCRIPTION_WIDTH$1, BOTTOM_HEIGHT$1);
|
|
11238
|
+
}
|
|
11239
|
+
|
|
11240
|
+
//5 - DRAW LEGEND
|
|
11241
|
+
_context.next = 32;
|
|
11242
|
+
return createImg(blobLegend);
|
|
11243
|
+
case 32:
|
|
11244
|
+
legendImg = _context.sent;
|
|
11245
|
+
if (legendImg) {
|
|
11246
|
+
legendScale = legendImg.width / legendImg.height;
|
|
11247
|
+
legendHeight = BOTTOM_HEIGHT$1;
|
|
11248
|
+
legendWidth = legendHeight * legendScale;
|
|
11249
|
+
ctx.drawImage(legendImg, MARGIN$1 * 1.5 + DESCRIPTION_WIDTH$1, bottomStartY, legendWidth, legendHeight);
|
|
11250
|
+
}
|
|
11251
|
+
|
|
11252
|
+
//6 - DRAW QR CODE
|
|
11253
|
+
_context.next = 36;
|
|
11254
|
+
return createImg(blobQRCode);
|
|
11255
|
+
case 36:
|
|
11256
|
+
qrCodeImg = _context.sent;
|
|
11257
|
+
if (qrCodeImg) {
|
|
11258
|
+
ctx.drawImage(qrCodeImg, PAPER_WIDTH - MARGIN$1 - QRCODE_SIZE, PAPER_HEIGHT - MARGIN$1 - QRCODE_SIZE, QRCODE_SIZE, QRCODE_SIZE);
|
|
11259
|
+
}
|
|
11260
|
+
return _context.abrupt("return", new Promise(function (resolve) {
|
|
11261
|
+
combinedCanvas.toBlob(function (blob) {
|
|
11262
|
+
resolve(blob);
|
|
11263
|
+
});
|
|
11264
|
+
}));
|
|
11265
|
+
case 39:
|
|
11266
|
+
case "end":
|
|
11267
|
+
return _context.stop();
|
|
11268
|
+
}
|
|
11269
|
+
}, _callee);
|
|
11270
|
+
}));
|
|
11271
|
+
return _composeMapImageCanvas.apply(this, arguments);
|
|
11272
|
+
}
|
|
11273
|
+
|
|
11274
|
+
var _templateObject$2;
|
|
11275
|
+
var LegendContainer$1 = styled(Flex)(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n flex-wrap: wrap;\n background-color: white;\n border: none;\n box-shadow: none;\n"])));
|
|
11276
|
+
var _getPaperDimensions = getPaperDimensions(PREVIEW_WIDTH_PX),
|
|
11277
|
+
MARGIN = _getPaperDimensions.MARGIN,
|
|
11278
|
+
PIXELRATIO = _getPaperDimensions.PIXELRATIO,
|
|
11279
|
+
INSIDE_WIDTH = _getPaperDimensions.INSIDE_WIDTH,
|
|
11280
|
+
MAP_WIDTH = _getPaperDimensions.MAP_WIDTH,
|
|
11281
|
+
MAP_HEIGHT = _getPaperDimensions.MAP_HEIGHT,
|
|
11282
|
+
BOTTOM_HEIGHT = _getPaperDimensions.BOTTOM_HEIGHT,
|
|
11283
|
+
DESCRIPTION_WIDTH = _getPaperDimensions.DESCRIPTION_WIDTH;
|
|
11284
|
+
var ExportImage = /*#__PURE__*/forwardRef(function ExportImage(_ref, ref) {
|
|
11285
|
+
var _resolvedLayout$, _resolvedLayout$2, _layeredMapRef$curren, _resolvedLayout$3;
|
|
11286
|
+
var resolvedLayout = _ref.resolvedLayout,
|
|
11287
|
+
commitedViewState = _ref.commitedViewState,
|
|
11288
|
+
municipioId = _ref.municipioId,
|
|
11289
|
+
METADATA_API_ENDPOINT = _ref.METADATA_API_ENDPOINT,
|
|
11290
|
+
baseMapStyle = _ref.baseMapStyle,
|
|
11291
|
+
topViews = _ref.topViews;
|
|
11292
|
+
ExportImage.displayName = 'ExportImage';
|
|
11293
|
+
var dialogs = useDialogs();
|
|
11294
|
+
var rootRef = useRef(null);
|
|
11295
|
+
var layeredMapRef = useRef(null);
|
|
11296
|
+
var legends = (resolvedLayout === null || resolvedLayout === void 0 || (_resolvedLayout$ = resolvedLayout[0]) === null || _resolvedLayout$ === void 0 ? void 0 : _resolvedLayout$.legends) || [];
|
|
11297
|
+
var _useLocation = useLocation(),
|
|
11298
|
+
href = _useLocation.href;
|
|
11299
|
+
|
|
11300
|
+
//Retrieve municipality data
|
|
11301
|
+
var _useState = useState(null),
|
|
11302
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11303
|
+
munName = _useState2[0],
|
|
11304
|
+
setMunName = _useState2[1];
|
|
11305
|
+
var _useState3 = useState(null),
|
|
11306
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
11307
|
+
ufSigla = _useState4[0],
|
|
11308
|
+
setUfSigla = _useState4[1];
|
|
11309
|
+
useEffect(function () {
|
|
11310
|
+
var fetchMunicipalityData = /*#__PURE__*/function () {
|
|
11311
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
11312
|
+
var _yield$fetch$then, _yield$fetch$then2, mun;
|
|
11313
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11314
|
+
while (1) switch (_context.prev = _context.next) {
|
|
11315
|
+
case 0:
|
|
11316
|
+
_context.next = 2;
|
|
11317
|
+
return fetch("".concat(METADATA_API_ENDPOINT, "/ibge_malha_br_municipio?select=nome,id,uf_sigla&id=eq.").concat(municipioId)).then(function (res) {
|
|
11318
|
+
return res.json();
|
|
11319
|
+
});
|
|
11320
|
+
case 2:
|
|
11321
|
+
_yield$fetch$then = _context.sent;
|
|
11322
|
+
_yield$fetch$then2 = _slicedToArray(_yield$fetch$then, 1);
|
|
11323
|
+
mun = _yield$fetch$then2[0];
|
|
11324
|
+
setMunName(mun.nome);
|
|
11325
|
+
setUfSigla(mun.uf_sigla);
|
|
11326
|
+
case 7:
|
|
11327
|
+
case "end":
|
|
11328
|
+
return _context.stop();
|
|
11329
|
+
}
|
|
11330
|
+
}, _callee);
|
|
11331
|
+
}));
|
|
11332
|
+
return function fetchMunicipalityData() {
|
|
11333
|
+
return _ref2.apply(this, arguments);
|
|
11334
|
+
};
|
|
11335
|
+
}();
|
|
11336
|
+
fetchMunicipalityData();
|
|
11337
|
+
}, [municipioId, METADATA_API_ENDPOINT]);
|
|
11338
|
+
var sourceLabels = uniq((resolvedLayout === null || resolvedLayout === void 0 || (_resolvedLayout$2 = resolvedLayout[0]) === null || _resolvedLayout$2 === void 0 || (_resolvedLayout$2 = _resolvedLayout$2.views) === null || _resolvedLayout$2 === void 0 ? void 0 : _resolvedLayout$2.map(function (view) {
|
|
11339
|
+
return view.metadata.sourceLabel || '';
|
|
11340
|
+
}).filter(Boolean)) || []).join(' + ') || '';
|
|
11341
|
+
var createImg = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
11342
|
+
var imageCanva;
|
|
11343
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
11344
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
11345
|
+
case 0:
|
|
11346
|
+
_context3.next = 2;
|
|
11347
|
+
return dialogs.loading(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
11348
|
+
var extractedBlobs;
|
|
11349
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
11350
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
11351
|
+
case 0:
|
|
11352
|
+
_context2.next = 2;
|
|
11353
|
+
return extractMapImageBlobs({
|
|
11354
|
+
map: layeredMapRef.current.map,
|
|
11355
|
+
rootEl: rootRef.current
|
|
11356
|
+
});
|
|
11357
|
+
case 2:
|
|
11358
|
+
extractedBlobs = _context2.sent;
|
|
11359
|
+
return _context2.abrupt("return", composeMapImageCanvas(extractedBlobs));
|
|
11360
|
+
case 4:
|
|
11361
|
+
case "end":
|
|
11362
|
+
return _context2.stop();
|
|
11363
|
+
}
|
|
11364
|
+
}, _callee2);
|
|
11365
|
+
})));
|
|
11366
|
+
case 2:
|
|
11367
|
+
imageCanva = _context3.sent;
|
|
11368
|
+
saveAs$1(imageCanva, "".concat(slugify(munName, '_'), "_georedus.png"));
|
|
11369
|
+
case 4:
|
|
11370
|
+
case "end":
|
|
11371
|
+
return _context3.stop();
|
|
11372
|
+
}
|
|
11373
|
+
}, _callee3);
|
|
11374
|
+
})), [dialogs, (_layeredMapRef$curren = layeredMapRef.current) === null || _layeredMapRef$curren === void 0 ? void 0 : _layeredMapRef$curren.map, rootRef.current]);
|
|
11375
|
+
useImperativeHandle(ref, function () {
|
|
11376
|
+
return {
|
|
11377
|
+
createImg: createImg
|
|
11378
|
+
};
|
|
11379
|
+
}, [createImg]);
|
|
11380
|
+
function ImageDescription() {
|
|
11381
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Flex, {
|
|
11382
|
+
direction: "column",
|
|
11383
|
+
width: "".concat(DESCRIPTION_WIDTH, "px"),
|
|
11384
|
+
className: IMAGE_DESCRIPTION_CLASS_NAME
|
|
11385
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
11386
|
+
height: "100%",
|
|
11387
|
+
wrap: "wrap",
|
|
11388
|
+
gap: "2"
|
|
11389
|
+
}, /*#__PURE__*/React.createElement(Heading, {
|
|
11390
|
+
size: "4",
|
|
11391
|
+
color: "iris"
|
|
11392
|
+
}, munName, " - ", ufSigla, " / BR"), /*#__PURE__*/React.createElement(Heading, {
|
|
11393
|
+
size: "2",
|
|
11394
|
+
color: "iris"
|
|
11395
|
+
}, new Date().toLocaleDateString('pt-BR', {
|
|
11396
|
+
year: 'numeric',
|
|
11397
|
+
month: '2-digit',
|
|
11398
|
+
day: '2-digit'
|
|
11399
|
+
}).replace(/\//g, '.')), /*#__PURE__*/React.createElement(Text, {
|
|
11400
|
+
size: "2"
|
|
11401
|
+
}, /*#__PURE__*/React.createElement(Strong, null, "Fonte de dados: "), sourceLabels || ''), /*#__PURE__*/React.createElement(Text, {
|
|
11402
|
+
size: "2"
|
|
11403
|
+
}, /*#__PURE__*/React.createElement(Strong, null, "Outros dados: "), "\xA9 MapTiler | \xA9 OpenStreetMap contributors")), /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement("img", {
|
|
11404
|
+
style: {
|
|
11405
|
+
height: 33,
|
|
11406
|
+
width: 'auto'
|
|
11407
|
+
},
|
|
11408
|
+
src: "/georedus/assets/parcerias.png"
|
|
11409
|
+
}))));
|
|
11410
|
+
}
|
|
11411
|
+
return /*#__PURE__*/React.createElement(Flex, {
|
|
11412
|
+
direction: "column",
|
|
11413
|
+
ref: rootRef
|
|
11414
|
+
}, /*#__PURE__*/React.createElement(LayeredMap, {
|
|
11415
|
+
ref: layeredMapRef,
|
|
11416
|
+
sky: SKY_STYLE,
|
|
11417
|
+
maxPitch: 80,
|
|
11418
|
+
pixelRatio: PIXELRATIO,
|
|
11419
|
+
attributionControl: false,
|
|
11420
|
+
mapStyle: baseMapStyle,
|
|
11421
|
+
views: [].concat(_toConsumableArray(((resolvedLayout === null || resolvedLayout === void 0 || (_resolvedLayout$3 = resolvedLayout[0]) === null || _resolvedLayout$3 === void 0 ? void 0 : _resolvedLayout$3.views) || []).reverse()), _toConsumableArray(topViews || [])),
|
|
11422
|
+
initialViewState: commitedViewState,
|
|
11423
|
+
style: {
|
|
11424
|
+
height: "".concat(MAP_HEIGHT, "px"),
|
|
11425
|
+
width: "".concat(MAP_WIDTH, "px"),
|
|
11426
|
+
marginTop: '0'
|
|
11427
|
+
},
|
|
11428
|
+
canvasContextAttributes: {
|
|
11429
|
+
preserveDrawingBuffer: true
|
|
11430
|
+
}
|
|
11431
|
+
}, /*#__PURE__*/React.createElement(ControlContainer, {
|
|
11432
|
+
position: "bottom-left",
|
|
11433
|
+
style: {
|
|
11434
|
+
boxShadow: 'none',
|
|
11435
|
+
backgroundColor: '#ffffffd9',
|
|
11436
|
+
borderRadius: '10px'
|
|
11437
|
+
}
|
|
11438
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
11439
|
+
width: "150",
|
|
11440
|
+
p: "2",
|
|
11441
|
+
className: LOGO_CLASS_NAME
|
|
11442
|
+
}, /*#__PURE__*/React.createElement(GeoReDUSLogo, {
|
|
11443
|
+
color: "#384DA0"
|
|
11444
|
+
}))), /*#__PURE__*/React.createElement(AttributionControl, {
|
|
11445
|
+
position: "bottom-right",
|
|
11446
|
+
compact: false
|
|
11447
|
+
}), /*#__PURE__*/React.createElement(ControlContainer //tirar north arrow dentro do container
|
|
11448
|
+
, {
|
|
11449
|
+
position: "bottom-left",
|
|
11450
|
+
style: {
|
|
11451
|
+
boxShadow: 'none',
|
|
11452
|
+
backgroundColor: 'transparent',
|
|
11453
|
+
borderRadius: '10px'
|
|
11454
|
+
}
|
|
11455
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
11456
|
+
p: "2",
|
|
11457
|
+
className: PROJECTION_CLASS_NAME,
|
|
11458
|
+
width: "fit-content"
|
|
11459
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
11460
|
+
weight: "bold"
|
|
11461
|
+
}, "Proje\xE7\xE3o universal "), /*#__PURE__*/React.createElement(Text, {
|
|
11462
|
+
style: {
|
|
11463
|
+
marginTop: 0
|
|
11464
|
+
}
|
|
11465
|
+
}, "Mercator (EPSG:3857)"))), /*#__PURE__*/React.createElement(NorthArrow, {
|
|
11466
|
+
position: "bottom-left",
|
|
11467
|
+
animationDuration: 300,
|
|
11468
|
+
className: NORTH_ARROW_CLASS_NAME
|
|
11469
|
+
}), /*#__PURE__*/React.createElement(ScaleControl, {
|
|
11470
|
+
position: "bottom-left",
|
|
11471
|
+
className: SCALE_CONTROL_CLASS_NAME
|
|
11472
|
+
})), /*#__PURE__*/React.createElement(Flex, null), /*#__PURE__*/React.createElement(Flex, {
|
|
11473
|
+
direction: "row",
|
|
11474
|
+
width: "".concat(INSIDE_WIDTH, "px"),
|
|
11475
|
+
height: "".concat(BOTTOM_HEIGHT, "px"),
|
|
11476
|
+
style: {
|
|
11477
|
+
justifyContent: 'space-between',
|
|
11478
|
+
marginTop: "".concat(MARGIN, "px !important")
|
|
11479
|
+
}
|
|
11480
|
+
}, /*#__PURE__*/React.createElement(ImageDescription, null), /*#__PURE__*/React.createElement(LegendContainer$1, {
|
|
11481
|
+
className: LEGEND_CLASS_NAME,
|
|
11482
|
+
direction: "column",
|
|
11483
|
+
gap: "3",
|
|
11484
|
+
p: "0",
|
|
11485
|
+
style: {
|
|
11486
|
+
margin: '0 !important'
|
|
11487
|
+
}
|
|
11488
|
+
}, legends.filter(function (legend) {
|
|
11489
|
+
return legend === null || legend === void 0 ? void 0 : legend.type;
|
|
11490
|
+
}).map(function (legend, i) {
|
|
11491
|
+
return /*#__PURE__*/React.createElement(Legend, _extends({
|
|
11492
|
+
key: legend.id || "".concat(legend.type, "-").concat(i)
|
|
11493
|
+
}, legend, {
|
|
11494
|
+
style: {
|
|
11495
|
+
marginTop: '0 !important',
|
|
11496
|
+
marginBottom: '10px',
|
|
11497
|
+
fontSize: '8px !important'
|
|
11498
|
+
}
|
|
11499
|
+
}));
|
|
11500
|
+
})), /*#__PURE__*/React.createElement(Flex, {
|
|
11501
|
+
style: {
|
|
11502
|
+
alignItems: 'end'
|
|
11503
|
+
}
|
|
11504
|
+
}, /*#__PURE__*/React.createElement(QRCode, {
|
|
11505
|
+
value: href,
|
|
11506
|
+
className: QR_CODE_CLASS_NAME
|
|
11507
|
+
}))));
|
|
11508
|
+
});
|
|
9124
11509
|
|
|
9125
|
-
|
|
11510
|
+
function SharePanel(_ref) {
|
|
11511
|
+
var resolvedLayout = _ref.resolvedLayout,
|
|
11512
|
+
commitedViewState = _ref.commitedViewState,
|
|
11513
|
+
municipioId = _ref.municipioId,
|
|
11514
|
+
METADATA_API_ENDPOINT = _ref.METADATA_API_ENDPOINT,
|
|
11515
|
+
baseMapStyle = _ref.baseMapStyle,
|
|
11516
|
+
topViews = _ref.topViews;
|
|
11517
|
+
var exportImageRef = useRef();
|
|
11518
|
+
var handleExportClick = function handleExportClick() {
|
|
11519
|
+
var _exportImageRef$curre;
|
|
11520
|
+
(_exportImageRef$curre = exportImageRef.current) === null || _exportImageRef$curre === void 0 || _exportImageRef$curre.createImg();
|
|
11521
|
+
};
|
|
11522
|
+
return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Flex, {
|
|
11523
|
+
direction: "column",
|
|
11524
|
+
gap: "1",
|
|
11525
|
+
alignItems: "center"
|
|
11526
|
+
}, /*#__PURE__*/React$1.createElement(ExportImage, {
|
|
11527
|
+
ref: exportImageRef,
|
|
11528
|
+
resolvedLayout: resolvedLayout,
|
|
11529
|
+
commitedViewState: commitedViewState,
|
|
11530
|
+
municipioId: municipioId,
|
|
11531
|
+
METADATA_API_ENDPOINT: METADATA_API_ENDPOINT,
|
|
11532
|
+
baseMapStyle: baseMapStyle,
|
|
11533
|
+
topViews: topViews
|
|
11534
|
+
}), /*#__PURE__*/React$1.createElement(Flex, {
|
|
9126
11535
|
direction: "row",
|
|
9127
|
-
|
|
9128
|
-
|
|
11536
|
+
alignItems: "end",
|
|
11537
|
+
justifyContent: "space-between",
|
|
11538
|
+
width: "100%",
|
|
11539
|
+
pt: "4"
|
|
11540
|
+
}, /*#__PURE__*/React$1.createElement(ShareButtonBar, null), /*#__PURE__*/React$1.createElement(Button, {
|
|
11541
|
+
onClick: handleExportClick,
|
|
11542
|
+
style: {
|
|
11543
|
+
marginRight: '30px'
|
|
11544
|
+
},
|
|
11545
|
+
size: "2"
|
|
11546
|
+
}, /*#__PURE__*/React$1.createElement(Icon, {
|
|
11547
|
+
path: mdiDownload,
|
|
11548
|
+
size: "18px"
|
|
11549
|
+
}), "Baixar imagem"))));
|
|
9129
11550
|
}
|
|
9130
11551
|
|
|
9131
11552
|
var _templateObject$1;
|
|
@@ -9141,10 +11562,14 @@ function LeftPanelInner(_ref) {
|
|
|
9141
11562
|
viewConfDispatch = _ref.viewConfDispatch,
|
|
9142
11563
|
viewSpecs = _ref.viewSpecs,
|
|
9143
11564
|
resolvedViews = _ref.resolvedViews,
|
|
11565
|
+
resolvedLayout = _ref.resolvedLayout,
|
|
9144
11566
|
open = _ref.open,
|
|
9145
11567
|
onSetOpen = _ref.onSetOpen,
|
|
9146
|
-
|
|
9147
|
-
|
|
11568
|
+
commitedViewState = _ref.commitedViewState,
|
|
11569
|
+
municipioId = _ref.municipioId,
|
|
11570
|
+
METADATA_API_ENDPOINT = _ref.METADATA_API_ENDPOINT,
|
|
11571
|
+
baseMapStyle = _ref.baseMapStyle,
|
|
11572
|
+
topViews = _ref.topViews,
|
|
9148
11573
|
_ref$categoryIcons = _ref.categoryIcons,
|
|
9149
11574
|
categoryIcons = _ref$categoryIcons === void 0 ? undefined : _ref$categoryIcons,
|
|
9150
11575
|
_ref$header = _ref.header,
|
|
@@ -9157,6 +11582,7 @@ function LeftPanelInner(_ref) {
|
|
|
9157
11582
|
py: "10px",
|
|
9158
11583
|
height: HEADER_HEIGHT,
|
|
9159
11584
|
alignItems: "center",
|
|
11585
|
+
justifyContent: "space-between",
|
|
9160
11586
|
direction: "row",
|
|
9161
11587
|
style: {
|
|
9162
11588
|
backgroundColor: 'var(--accent-9)',
|
|
@@ -9172,7 +11598,57 @@ function LeftPanelInner(_ref) {
|
|
|
9172
11598
|
transition: open ? 'opacity .7s ease-out' : 'opacity .1s ease-out',
|
|
9173
11599
|
opacity: open ? 1 : 0
|
|
9174
11600
|
}
|
|
9175
|
-
}, /*#__PURE__*/React$1.createElement(GeoReDUSLogoText, null)))
|
|
11601
|
+
}, /*#__PURE__*/React$1.createElement(GeoReDUSLogoText, null))), /*#__PURE__*/React$1.createElement("div", null, /*#__PURE__*/React$1.createElement(IconButton, {
|
|
11602
|
+
variant: "soft",
|
|
11603
|
+
size: "3",
|
|
11604
|
+
asChild: true,
|
|
11605
|
+
style: {
|
|
11606
|
+
color: 'white'
|
|
11607
|
+
}
|
|
11608
|
+
}, /*#__PURE__*/React$1.createElement("a", {
|
|
11609
|
+
href: "https://www.redus.org.br/georedus-rede-de-dados-urbanos/formularios/cbf766bb-9a74-4bc5-897a-70b9151afbdb",
|
|
11610
|
+
target: "_blank",
|
|
11611
|
+
rel: "noreferrer nofollow"
|
|
11612
|
+
}, /*#__PURE__*/React$1.createElement(Tooltip, {
|
|
11613
|
+
content: "D\xFAvidas e sugest\xF5es"
|
|
11614
|
+
}, /*#__PURE__*/React$1.createElement(Icon, {
|
|
11615
|
+
path: mdiForumOutline,
|
|
11616
|
+
size: "24px"
|
|
11617
|
+
})))), /*#__PURE__*/React$1.createElement(IconButton, {
|
|
11618
|
+
variant: "soft",
|
|
11619
|
+
size: "3",
|
|
11620
|
+
style: {
|
|
11621
|
+
color: 'white'
|
|
11622
|
+
},
|
|
11623
|
+
onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
11624
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11625
|
+
while (1) switch (_context.prev = _context.next) {
|
|
11626
|
+
case 0:
|
|
11627
|
+
_context.next = 2;
|
|
11628
|
+
return dialogs.view({
|
|
11629
|
+
maxWidth: '1500px',
|
|
11630
|
+
width: '1200px',
|
|
11631
|
+
children: /*#__PURE__*/React$1.createElement(SharePanel, {
|
|
11632
|
+
resolvedLayout: resolvedLayout,
|
|
11633
|
+
commitedViewState: commitedViewState,
|
|
11634
|
+
municipioId: municipioId,
|
|
11635
|
+
METADATA_API_ENDPOINT: METADATA_API_ENDPOINT,
|
|
11636
|
+
baseMapStyle: baseMapStyle,
|
|
11637
|
+
topViews: topViews
|
|
11638
|
+
})
|
|
11639
|
+
});
|
|
11640
|
+
case 2:
|
|
11641
|
+
case "end":
|
|
11642
|
+
return _context.stop();
|
|
11643
|
+
}
|
|
11644
|
+
}, _callee);
|
|
11645
|
+
}))
|
|
11646
|
+
}, /*#__PURE__*/React$1.createElement(Tooltip, {
|
|
11647
|
+
content: "Compartilhar"
|
|
11648
|
+
}, /*#__PURE__*/React$1.createElement(Icon, {
|
|
11649
|
+
path: mdiShareVariantOutline,
|
|
11650
|
+
size: "24px"
|
|
11651
|
+
})))));
|
|
9176
11652
|
var footer = typeof customFooter !== 'undefined' ? customFooter : /*#__PURE__*/React$1.createElement(Flex, {
|
|
9177
11653
|
p: "2",
|
|
9178
11654
|
style: {
|
|
@@ -9304,43 +11780,7 @@ function LeftPanelInner(_ref) {
|
|
|
9304
11780
|
gap: "3",
|
|
9305
11781
|
justifyContent: "flex-end",
|
|
9306
11782
|
alignItems: "center"
|
|
9307
|
-
}
|
|
9308
|
-
variant: "soft",
|
|
9309
|
-
size: "3",
|
|
9310
|
-
onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
9311
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
9312
|
-
while (1) switch (_context.prev = _context.next) {
|
|
9313
|
-
case 0:
|
|
9314
|
-
_context.next = 2;
|
|
9315
|
-
return dialogs.view(/*#__PURE__*/React$1.createElement(SharePanel, {
|
|
9316
|
-
mapContainerRef: mapContainerRef,
|
|
9317
|
-
syncedMapsRef: syncedMapsRef
|
|
9318
|
-
}));
|
|
9319
|
-
case 2:
|
|
9320
|
-
case "end":
|
|
9321
|
-
return _context.stop();
|
|
9322
|
-
}
|
|
9323
|
-
}, _callee);
|
|
9324
|
-
}))
|
|
9325
|
-
}, /*#__PURE__*/React$1.createElement(Tooltip, {
|
|
9326
|
-
content: "Compartilhar"
|
|
9327
|
-
}, /*#__PURE__*/React$1.createElement(Icon, {
|
|
9328
|
-
path: mdiShareVariantOutline,
|
|
9329
|
-
size: "24px"
|
|
9330
|
-
}))), /*#__PURE__*/React$1.createElement(IconButton, {
|
|
9331
|
-
variant: "soft",
|
|
9332
|
-
size: "3",
|
|
9333
|
-
asChild: true
|
|
9334
|
-
}, /*#__PURE__*/React$1.createElement("a", {
|
|
9335
|
-
href: "https://www.redus.org.br/georedus-rede-de-dados-urbanos/formularios/cbf766bb-9a74-4bc5-897a-70b9151afbdb",
|
|
9336
|
-
target: "_blank",
|
|
9337
|
-
rel: "noreferrer nofollow"
|
|
9338
|
-
}, /*#__PURE__*/React$1.createElement(Tooltip, {
|
|
9339
|
-
content: "D\xFAvidas e sugest\xF5es"
|
|
9340
|
-
}, /*#__PURE__*/React$1.createElement(Icon, {
|
|
9341
|
-
path: mdiForumOutline,
|
|
9342
|
-
size: "24px"
|
|
9343
|
-
})))))
|
|
11783
|
+
})
|
|
9344
11784
|
}) : /*#__PURE__*/React$1.createElement("div", {
|
|
9345
11785
|
style: {
|
|
9346
11786
|
flexGrow: 1,
|
|
@@ -11684,15 +14124,6 @@ var BR_BBOX = {
|
|
|
11684
14124
|
},
|
|
11685
14125
|
properties: {}
|
|
11686
14126
|
};
|
|
11687
|
-
var SKY_STYLE = {
|
|
11688
|
-
'sky-color': '#199EF3',
|
|
11689
|
-
'sky-horizon-blend': 0.5,
|
|
11690
|
-
'horizon-color': '#d3edfd',
|
|
11691
|
-
'horizon-fog-blend': 0.5,
|
|
11692
|
-
'fog-color': '#0000ff',
|
|
11693
|
-
'fog-ground-blend': 0.5,
|
|
11694
|
-
'atmosphere-blend': ['interpolate', ['linear'], ['zoom'], 0, 1, 10, 1, 12, 0]
|
|
11695
|
-
};
|
|
11696
14127
|
var BASEMAPS = {
|
|
11697
14128
|
dataviz: dataviz,
|
|
11698
14129
|
satellite: satellite
|
|
@@ -12096,7 +14527,7 @@ function GeoReDUSInner(_ref2) {
|
|
|
12096
14527
|
// Control map position focus
|
|
12097
14528
|
//
|
|
12098
14529
|
useEffect(function () {
|
|
12099
|
-
var mainMap = get(syncedMapsRef.current, 'mapInstances[0].map');
|
|
14530
|
+
var mainMap = get$1(syncedMapsRef.current, 'mapInstances[0].map');
|
|
12100
14531
|
if (!mainMap) {
|
|
12101
14532
|
return;
|
|
12102
14533
|
}
|
|
@@ -12161,6 +14592,10 @@ function GeoReDUSInner(_ref2) {
|
|
|
12161
14592
|
}
|
|
12162
14593
|
});
|
|
12163
14594
|
}, []);
|
|
14595
|
+
var _useState7 = useState(null),
|
|
14596
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
14597
|
+
commitedViewState = _useState8[0],
|
|
14598
|
+
setCommitedViewState = _useState8[1];
|
|
12164
14599
|
return /*#__PURE__*/React$1.createElement(Flex, null, /*#__PURE__*/React$1.createElement(LeftPanel, _extends({
|
|
12165
14600
|
open: leftPanelOpen,
|
|
12166
14601
|
onSetOpen: setLeftPanelOpen,
|
|
@@ -12168,7 +14603,15 @@ function GeoReDUSInner(_ref2) {
|
|
|
12168
14603
|
viewConfState: viewConfState,
|
|
12169
14604
|
viewConfDispatch: viewConfDispatch,
|
|
12170
14605
|
resolvedViews: resolvedViews,
|
|
12171
|
-
|
|
14606
|
+
resolvedLayout: resolvedLayout
|
|
14607
|
+
|
|
14608
|
+
// props required for export image
|
|
14609
|
+
,
|
|
14610
|
+
commitedViewState: commitedViewState,
|
|
14611
|
+
municipioId: municipioId,
|
|
14612
|
+
METADATA_API_ENDPOINT: METADATA_API_ENDPOINT,
|
|
14613
|
+
baseMapStyle: BASE_MAP_STYLE[baseMapStyle],
|
|
14614
|
+
topViews: TOP_VIEWS
|
|
12172
14615
|
}, leftPanelProps)), /*#__PURE__*/React$1.createElement(Flex, {
|
|
12173
14616
|
style: {
|
|
12174
14617
|
position: 'fixed',
|
|
@@ -12220,6 +14663,7 @@ function GeoReDUSInner(_ref2) {
|
|
|
12220
14663
|
//
|
|
12221
14664
|
,
|
|
12222
14665
|
onMoveEnd: function onMoveEnd(e) {
|
|
14666
|
+
setCommitedViewState(e.viewState);
|
|
12223
14667
|
var _e$viewState2 = e.viewState,
|
|
12224
14668
|
latitude = _e$viewState2.latitude,
|
|
12225
14669
|
longitude = _e$viewState2.longitude;
|
|
@@ -12315,15 +14759,16 @@ function GeoReDUSInner(_ref2) {
|
|
|
12315
14759
|
size: "20px"
|
|
12316
14760
|
}))), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
|
|
12317
14761
|
columns: legends.length > 1 ? 2 : 1,
|
|
12318
|
-
gap: "10px"
|
|
14762
|
+
gap: "10px",
|
|
14763
|
+
style: {
|
|
14764
|
+
maxWidth: '300px'
|
|
14765
|
+
}
|
|
12319
14766
|
}, legends.map(function (legend) {
|
|
12320
14767
|
return /*#__PURE__*/React$1.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
|
|
12321
14768
|
direction: 'row',
|
|
12322
|
-
maxWidth: '300px',
|
|
12323
14769
|
size: '1'
|
|
12324
14770
|
} : {
|
|
12325
14771
|
direction: 'column',
|
|
12326
|
-
maxWidth: '150px',
|
|
12327
14772
|
size: '2'
|
|
12328
14773
|
}, {
|
|
12329
14774
|
key: legend.id
|