Regions batch: perRow boot, control inset, stats grid, print, two leaks, smaller watermark
Seven changes to two plugins, re-applied onto current main as ONE source patch
rather than rebased, because the rebase conflicted in the generated bundles —
where a conflict is never resolvable by hand, since neither side matches what
either source builds. Source re-applied clean, everything rebuilt from it.
people-groups-grid
· the saved column count is restored before first paint, not after, so a
returning reader no longer watches the grid snap from auto to their choice.
It re-reads if the profile-config key arrives late, and never over a choice
the reader has since made by hand.
· the cards-per-row control is inset from the card edge it was sitting level
with (Driver round 2, #5).
· the window vocabulary handle is released on unmount, identity-checked so the
first of two grids on a page cannot strip the second's live handle.
regions-dashboard
· the four stat cards no longer let Population stretch across a tablet row.
auto-fit collapsed the empty tracks; auto-fill with the track minimum capped
at a quarter of the row gives at most four columns and never a stretched
orphan. Measured at nine widths.
· the dashboard is printable at all. It had no @media print rule, so the app
shell's absolute root and inner scroller meant the browser printed one
screenful; the legend stayed on top of the map; interactive chrome printed.
· both window globals are released on unmount, not just the remembered one,
each identity-checked and on its own line.
shared asset
· the worldmap watermark is 242 KB rather than 311 KB — same 394 paths, same
drawing, coordinate precision trimmed to what the render resolves.
This commit is contained in:
parent
d9f8587ac4
commit
182611c94b
22 changed files with 216 additions and 900 deletions
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 304 KiB After Width: | Height: | Size: 236 KiB |
|
|
@ -39,7 +39,7 @@
|
|||
* - researchUrl / selectUrl : String props — link bases for the cards.
|
||||
* - t (i18n labels): via the `t` / profile-config.t object prop (no useI18n).
|
||||
*/
|
||||
import { ref, computed, watch, onMounted, getCurrentInstance } from 'vue'
|
||||
import { ref, computed, watch, onMounted, onUnmounted, getCurrentInstance } from 'vue'
|
||||
// SHARED search primitives (one source of truth for BOTH cap-2 grid + cap-1 dashboard).
|
||||
import Fuse from '@map/components/search/fuzzy.js'
|
||||
import { highlightRanges } from '@map/composables/useTextHighlight.js'
|
||||
|
|
@ -329,15 +329,37 @@ const selectUrl = computed(() => props.selectUrl || cfg.value.selectUrl || ''
|
|||
const PER_ROW_OPTIONS = ['auto', '1', '2', '3', '4', '5']
|
||||
const perRowKey = computed(() => `pgg-cards-per-row:${cfg.value.profile || 'default'}`)
|
||||
const perRow = ref('auto')
|
||||
onMounted(() => {
|
||||
// Per PROFILE, not per bundle: two grids on one page are two different lists, and useDashboardLayout
|
||||
// already paid for that lesson — a shared key made one caller inherit another's saved layout.
|
||||
/**
|
||||
* ★ RESTORED AT SETUP, NOT AT MOUNT, AND RE-READ IF THE KEY ARRIVES LATE.
|
||||
*
|
||||
* Restoring in onMounted runs AFTER first paint, so a returning reader who chose 2 columns saw the
|
||||
* auto layout painted and then snap — a shift suffered only by the reader whose preference we were
|
||||
* trying to honour. sr found that while deciding they could not read this value for lazy-loading,
|
||||
* which is also why it matters to them: at first paint this was 'auto' for everyone.
|
||||
*
|
||||
* But a setup-only read is the opposite bug, and sr caught that too. perRowKey is derived from
|
||||
* cfg.profile, which comes from the profile-config ATTRIBUTE, and a host can set that after the
|
||||
* element upgrades — the generated pages do createElement, setAttribute, appendChild in that order.
|
||||
* So at setup the key may still be 'default', and a setup-only read would restore the wrong
|
||||
* profile's value and never correct itself. That is the shared-key failure useDashboardLayout
|
||||
* already paid for once.
|
||||
*
|
||||
* So: read now for the first paint, and re-read if the key actually changes — but never over a
|
||||
* choice the reader has since made by hand. ONE restore path, not two.
|
||||
*/
|
||||
let perRowTouched = false
|
||||
function restorePerRow() {
|
||||
try {
|
||||
const saved = localStorage.getItem(perRowKey.value)
|
||||
if (saved && PER_ROW_OPTIONS.includes(saved)) perRow.value = saved
|
||||
} catch (_) { /* private mode / blocked storage: the default is correct, not an error */ }
|
||||
} catch (_) { /* private mode, blocked storage, or no window at all: the default is correct, not an error */ }
|
||||
}
|
||||
restorePerRow()
|
||||
watch(perRowKey, (next, prev) => { if (next !== prev && !perRowTouched) restorePerRow() })
|
||||
watch(perRow, (v) => {
|
||||
perRowTouched = true
|
||||
try { localStorage.setItem(perRowKey.value, v) } catch (_) {}
|
||||
})
|
||||
watch(perRow, (v) => { try { localStorage.setItem(perRowKey.value, v) } catch (_) {} })
|
||||
/** Auto contributes NOTHING, so the stylesheet keeps its own rule. */
|
||||
const gridStyle = computed(() => (perRow.value === 'auto'
|
||||
? null
|
||||
|
|
@ -913,6 +935,24 @@ function vocabulary(field) {
|
|||
return [...seen].sort()
|
||||
}
|
||||
|
||||
/**
|
||||
* ★ THE WINDOW HANDLE IS RELEASED ON UNMOUNT, AND ONLY IF IT IS STILL OURS.
|
||||
*
|
||||
* window.__peopleGroupsGridVocabulary was set on mount and never cleared, so it held a reference
|
||||
* into this app for as long as the page lived — every unmounted grid stayed reachable. The element
|
||||
* handle beside it (el.__vocabulary) needs no teardown: it dies with the element that carries it.
|
||||
*
|
||||
* The identity check is the part that matters. This grid can appear more than once on a page, and
|
||||
* the last mount wins the global — so a plain delete on the FIRST grid's unmount would strip the
|
||||
* SECOND, live, grid's handle and break whatever reads it, with no error. Clearing a shared global
|
||||
* is only safe while you can prove you are still the one who set it.
|
||||
*/
|
||||
onUnmounted(() => {
|
||||
if (typeof window !== 'undefined' && window.__peopleGroupsGridVocabulary === vocabulary) {
|
||||
delete window.__peopleGroupsGridVocabulary
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
const el = hostEl()
|
||||
if (el) el.__vocabulary = vocabulary
|
||||
|
|
@ -1195,7 +1235,12 @@ onMounted(() => {
|
|||
letterbox to a 240x240 square: ~2x the visible area, and the face is no longer cropped to a band. */
|
||||
.grid.uupgs-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
|
||||
/* Top-right, above the grid it controls. Logical inline-end so it mirrors under RTL. */
|
||||
.pgg-gridbar { display: flex; justify-content: flex-end; margin-bottom: 8px; }
|
||||
/* ★ INSET FROM THE CONTENT EDGE, not just from the viewport. .pgg-root already pads 16px, so the
|
||||
control was landing exactly level with the rightmost card's edge — technically inside the
|
||||
padding and still reading as flush, because the eye compares it to the card grid below it
|
||||
rather than to the plugin's border. The extra inline-end gives it room against that edge.
|
||||
Logical property, so it is the correct side under RTL without a second rule. */
|
||||
.pgg-gridbar { display: flex; justify-content: flex-end; margin-bottom: 8px; padding-inline-end: 8px; }
|
||||
.pgg-perrow { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--mut); }
|
||||
.pgg-perrow select { font: inherit; color: var(--ink); background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 2px 6px; }
|
||||
.card.uupg__card {
|
||||
|
|
|
|||
|
|
@ -794,6 +794,23 @@ useShadowStyles(
|
|||
'.rd-scroll > *{ width:calc(90% + 16px); max-width:1200px;' +
|
||||
' margin-left:auto; margin-right:auto; }' +
|
||||
'.rd-status{ padding:var(--spacing-xl); text-align:center; color:var(--dx-muted); font-size:var(--font-size-md); }' +
|
||||
|
||||
// ── ★ PRINT: LET THE DOCUMENT FLOW ONTO PAGES (Driver test round 2, #2) ──────────────────────
|
||||
// "The header and footer don't show properly" has a structural cause, not a styling one. This
|
||||
// page is an app shell: .rd-root is position:absolute inset:0 and .rd-scroll owns the scroll.
|
||||
// On paper there is no viewport to be absolute INSIDE and no scrollbar to move, so the browser
|
||||
// prints the one screenful that happens to be laid out and drops everything above and below it.
|
||||
// Releasing both back into normal flow is what makes the whole dashboard printable at all.
|
||||
'@media print{' +
|
||||
' .rd-root{ position:static; inset:auto; height:auto; overflow:visible; }' +
|
||||
' .rd-scroll{ overflow:visible; height:auto; max-height:none; padding:0; }' +
|
||||
// Keep a heading with the block it introduces rather than orphaned at a page foot.
|
||||
' .rd-head, .rd-stats, .rd-mapblock, .rd-section{ break-inside:avoid; }' +
|
||||
' .rd-h2{ break-after:avoid; }' +
|
||||
// Controls that only do something under a pointer. The back-to-top arrow is the clearest case:
|
||||
// on paper it is a circle with an arrow in it and nothing to scroll.
|
||||
' .rd-chooser, .btt{ display:none !important; }' +
|
||||
'}' +
|
||||
'.rd-status.rd-failed{ font-weight:600; }' +
|
||||
|
||||
// ── head: RegionDetail.vue:47-51, a .stack--xs (7.5px) block, centred ──
|
||||
|
|
@ -843,7 +860,20 @@ useShadowStyles(
|
|||
// ── .region-stats: RegionDetail.vue's scoped block. The GRID stays here and the CARD went to the
|
||||
// library, deliberately: how many stats there are and how they wrap is this page's decision,
|
||||
// while the look of one stat is the reusable part. See library/components/regions/StatCard.vue.
|
||||
'.rd-stats{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));' +
|
||||
// ★ auto-FILL WITH A CAPPED TRACK MINIMUM. Driver test round 2: the Population card — the LAST
|
||||
// of four — was centred in a box four times too wide on a tablet. Cause: auto-FIT collapses the
|
||||
// empty tracks, so at 3 columns the lone card in row 2 stretched across the whole row. Desktop
|
||||
// fits all four, which is why only desktop looked right.
|
||||
// auto-fill alone fixes that and breaks desktop: at 1200px it makes SIX tracks for four cards,
|
||||
// leaving two empty on the right and squeezing the cards to their 180px floor (dx-shepherd).
|
||||
// So the track minimum is also capped at a quarter of the row: at most four tracks ever, and the
|
||||
// orphan is never stretched. Measured at 1200/1000/900/800/768/700/600/500/390 — four columns
|
||||
// down to 800, three to 600, two below, no empty tracks at any of them.
|
||||
// ⚠ THIS NOW DIFFERS FROM dx-life, deliberately. Theirs is the same auto-fit rule
|
||||
// (RegionDetail.vue:176) and stretches the same card; the Driver reported it, and dx-shepherd is
|
||||
// telling him it diverges.
|
||||
'.rd-stats{ display:grid;' +
|
||||
' grid-template-columns:repeat(auto-fill, minmax(max(180px, calc((100% - 3 * var(--spacing-md)) / 4)), 1fr));' +
|
||||
' gap:var(--spacing-md); }' +
|
||||
'.rd-chart{ padding:var(--spacing-lg) clamp(var(--spacing-md), 4cqw, var(--spacing-xl)); }' +
|
||||
// RegionDetail wraps the note and the map in a .stack--sm (13.3px). The note is their
|
||||
|
|
|
|||
|
|
@ -715,7 +715,29 @@ function watchResize() {
|
|||
ro.observe(mapContainer.value)
|
||||
}
|
||||
|
||||
onBeforeUnmount(() => { if (ro) { try { ro.disconnect() } catch (_) {} } if (popup) popup.remove(); try { delete window.__rcmMap } catch (_) {} destroy() })
|
||||
/**
|
||||
* ★ RELEASE EVERY GLOBAL THIS COMPONENT SETS, AS A SET — not just the one that came to mind.
|
||||
*
|
||||
* Two are published: __rcmMap (the live map instance, which pins the whole app — rega measured
|
||||
* ~10 MB per mount) and __rcmBounds. Only the first was ever deleted, so every unmounted map left
|
||||
* its bounds behind; the leak that gets fixed is the one you remember, and the set is what the
|
||||
* check looks for.
|
||||
*
|
||||
* ★ AND BOTH DELETES ARE IDENTITY-CHECKED, for the reason the grid already needed: two of these
|
||||
* maps can share a page — the regions chooser and a country map — and the second mount overwrites
|
||||
* the global. An unconditional delete on the FIRST one's unmount would then strip the SECOND,
|
||||
* still-live map's handle, with no error anywhere. Clearing a shared global is only safe while you
|
||||
* can still prove you are the one who set it.
|
||||
*
|
||||
* One delete per line, deliberately: sr's check reads them as separate statements.
|
||||
*/
|
||||
onBeforeUnmount(() => {
|
||||
if (ro) { try { ro.disconnect() } catch (_) {} }
|
||||
if (popup) popup.remove()
|
||||
try { if (typeof window !== 'undefined' && window.__rcmMap === map.value) delete window.__rcmMap } catch (_) {}
|
||||
try { if (typeof window !== 'undefined' && window.__rcmBounds === props.bounds) delete window.__rcmBounds } catch (_) {}
|
||||
destroy()
|
||||
})
|
||||
|
||||
watch(() => [props.countryCodes, props.bounds, props.center, props.zoom, props.points, props.colorMode, props.highlightRegion], applySubject, { deep: true })
|
||||
|
||||
|
|
@ -731,6 +753,27 @@ useShadowStyles(
|
|||
'touch-action:pan-y;pointer-events:auto;background:transparent}' +
|
||||
'.map-scroll-edge--left{left:0}' +
|
||||
'.map-scroll-edge--right{right:0}' +
|
||||
|
||||
// ── ★ PRINT: THE LEGEND GOES BESIDE THE MAP, NOT OVER IT (Driver test round 2, #2) ──────────
|
||||
// This plugin shipped with NO @media print rule at all, which is the single cause behind all
|
||||
// three of his symptoms: on paper the legend stayed absolutely positioned ON the map, the map
|
||||
// kept a 780px min-height and a 16/9 ratio that no page can hold, and the interactive chrome
|
||||
// printed along with it. A page that was never styled for print does not fail loudly; it just
|
||||
// prints the screen.
|
||||
//
|
||||
// .rcm__legend is a SIBLING of .rcm__canvas inside .rcm, so putting it beside the map is a
|
||||
// matter of letting it back into flow rather than restructuring anything: .rcm becomes a row,
|
||||
// the canvas takes the remaining width, and the legend takes its natural width.
|
||||
'@media print{' +
|
||||
' .rcm{ display:flex; align-items:flex-start; gap:12px; min-height:0; aspect-ratio:auto; height:auto; break-inside:avoid; }' +
|
||||
' .rcm__canvas{ flex:1 1 auto; height:12cm; }' +
|
||||
// Static, so it sits in the row instead of floating over the canvas. Capped so a long legend
|
||||
// cannot squeeze the map it is explaining down to a strip.
|
||||
' .rcm__legend{ position:static; inset:auto; flex:0 0 auto; max-width:38%; background:none; box-shadow:none; }' +
|
||||
// Chrome that only means something to a pointer. The scroll strips are invisible on screen and
|
||||
// would print as two empty 40px columns beside the map.
|
||||
' .map-scroll-edge, .mapboxgl-ctrl-group, .maplibregl-ctrl-group, .mapboxgl-ctrl-attrib-button, .maplibregl-ctrl-attrib-button{ display:none !important; }' +
|
||||
'}' +
|
||||
// ★ THE SCROLL STRIPS WERE SWALLOWING THE MAP CONTROLS (Driver, on Mapbox): zoom in, zoom out
|
||||
// and fullscreen could not be clicked at all. The strips are 40px wide, full height,
|
||||
// pointer-events:auto and z-index:2 — and BOTH engines place their control groups in the very
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 304 KiB After Width: | Height: | Size: 236 KiB |
File diff suppressed because one or more lines are too long
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <bp-big-picture> custom element. -->
|
||||
<script src="../../big-picture.js" integrity="sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC" crossorigin="anonymous"></script>
|
||||
<script src="../../big-picture.js" integrity="sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <bp-big-picture> custom element. -->
|
||||
<script src="../../big-picture.js" integrity="sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC" crossorigin="anonymous"></script>
|
||||
<script src="../../big-picture.js" integrity="sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <bp-big-picture> custom element. -->
|
||||
<script src="../big-picture.js" integrity="sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC" crossorigin="anonymous"></script>
|
||||
<script src="../big-picture.js" integrity="sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <dashboard-plus-grid> custom element. -->
|
||||
<script src="../../dashboard-plus-grid.js" integrity="sha384-nBYRma6gYPnn265qKwT1JTo4U3q5x5afciFKxS8y7hMGIVrgdJQJy3b6yGni+Lfw" crossorigin="anonymous"></script>
|
||||
<script src="../../dashboard-plus-grid.js" integrity="sha384-/YTLq7mqJhfkrsCcZs2MAEyxi1f9zSpgaOlN6hKJZfT+AD9WhByaVrJLEI0WQLr5" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <dashboard-plus-grid> custom element. -->
|
||||
<script src="../dashboard-plus-grid.js" integrity="sha384-nBYRma6gYPnn265qKwT1JTo4U3q5x5afciFKxS8y7hMGIVrgdJQJy3b6yGni+Lfw" crossorigin="anonymous"></script>
|
||||
<script src="../dashboard-plus-grid.js" integrity="sha384-/YTLq7mqJhfkrsCcZs2MAEyxi1f9zSpgaOlN6hKJZfT+AD9WhByaVrJLEI0WQLr5" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
"bundle": "big-picture",
|
||||
"scriptUrl": "./big-picture/big-picture.js",
|
||||
"output": "dx-maps/big-picture/big-picture.js",
|
||||
"integrity": "sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC",
|
||||
"integrity": "sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA",
|
||||
"elements": [
|
||||
"bp-big-picture",
|
||||
"bp-research-header",
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
"scriptUrl": "./big-picture/big-picture.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./big-picture/big-picture.js\" integrity=\"sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<bp-big-picture profile-config='{\"profile\":\"big-picture\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></bp-big-picture>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./big-picture/big-picture.js\" integrity=\"sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<bp-big-picture profile-config='{\"profile\":\"big-picture\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></bp-big-picture>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -233,7 +233,7 @@
|
|||
"bundle": "dashboard-plus-grid",
|
||||
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
|
||||
"output": "dx-maps/dashboard-plus-grid/dashboard-plus-grid.js",
|
||||
"integrity": "sha384-nBYRma6gYPnn265qKwT1JTo4U3q5x5afciFKxS8y7hMGIVrgdJQJy3b6yGni+Lfw",
|
||||
"integrity": "sha384-/YTLq7mqJhfkrsCcZs2MAEyxi1f9zSpgaOlN6hKJZfT+AD9WhByaVrJLEI0WQLr5",
|
||||
"elements": [
|
||||
"dashboard-plus-grid"
|
||||
],
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-nBYRma6gYPnn265qKwT1JTo4U3q5x5afciFKxS8y7hMGIVrgdJQJy3b6yGni+Lfw\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-/YTLq7mqJhfkrsCcZs2MAEyxi1f9zSpgaOlN6hKJZfT+AD9WhByaVrJLEI0WQLr5\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -902,7 +902,7 @@
|
|||
"bundle": "people-groups-grid",
|
||||
"scriptUrl": "./people-groups-grid/people-groups-grid.js",
|
||||
"output": "dx-maps/people-groups-grid/people-groups-grid.js",
|
||||
"integrity": "sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+",
|
||||
"integrity": "sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy",
|
||||
"elements": [
|
||||
"people-groups-grid"
|
||||
],
|
||||
|
|
@ -921,7 +921,7 @@
|
|||
"scriptUrl": "./people-groups-grid/people-groups-grid.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<people-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></people-groups-grid>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<people-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></people-groups-grid>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -1080,7 +1080,7 @@
|
|||
"bundle": "regions-dashboard",
|
||||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"output": "dx-maps/regions-dashboard/regions-dashboard.js",
|
||||
"integrity": "sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg",
|
||||
"integrity": "sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc",
|
||||
"elements": [
|
||||
"regions-dashboard"
|
||||
],
|
||||
|
|
@ -1103,7 +1103,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -1119,7 +1119,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -1135,7 +1135,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
"bundle": "big-picture",
|
||||
"scriptUrl": "./big-picture/big-picture.js",
|
||||
"output": "dx-maps/big-picture/big-picture.js",
|
||||
"integrity": "sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC",
|
||||
"integrity": "sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA",
|
||||
"elements": [
|
||||
"bp-big-picture",
|
||||
"bp-research-header",
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
"scriptUrl": "./big-picture/big-picture.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./big-picture/big-picture.js\" integrity=\"sha384-cxgYiMoVcPRRXImJt2ufLHEBTSJzFGMdiThT+LURZI/WwNUVYaI2tVgcwTPo67oC\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<bp-big-picture profile-config='{\"profile\":\"big-picture\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></bp-big-picture>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./big-picture/big-picture.js\" integrity=\"sha384-RDL00UKQPC2kUEELx1OYgC3TleLPIwSZODMUEFd5n5vPSRnFNEI28fgdrNTM9sNA\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<bp-big-picture profile-config='{\"profile\":\"big-picture\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></bp-big-picture>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -233,7 +233,7 @@
|
|||
"bundle": "dashboard-plus-grid",
|
||||
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
|
||||
"output": "dx-maps/dashboard-plus-grid/dashboard-plus-grid.js",
|
||||
"integrity": "sha384-nBYRma6gYPnn265qKwT1JTo4U3q5x5afciFKxS8y7hMGIVrgdJQJy3b6yGni+Lfw",
|
||||
"integrity": "sha384-/YTLq7mqJhfkrsCcZs2MAEyxi1f9zSpgaOlN6hKJZfT+AD9WhByaVrJLEI0WQLr5",
|
||||
"elements": [
|
||||
"dashboard-plus-grid"
|
||||
],
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-nBYRma6gYPnn265qKwT1JTo4U3q5x5afciFKxS8y7hMGIVrgdJQJy3b6yGni+Lfw\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-/YTLq7mqJhfkrsCcZs2MAEyxi1f9zSpgaOlN6hKJZfT+AD9WhByaVrJLEI0WQLr5\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -902,7 +902,7 @@
|
|||
"bundle": "people-groups-grid",
|
||||
"scriptUrl": "./people-groups-grid/people-groups-grid.js",
|
||||
"output": "dx-maps/people-groups-grid/people-groups-grid.js",
|
||||
"integrity": "sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+",
|
||||
"integrity": "sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy",
|
||||
"elements": [
|
||||
"people-groups-grid"
|
||||
],
|
||||
|
|
@ -921,7 +921,7 @@
|
|||
"scriptUrl": "./people-groups-grid/people-groups-grid.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<people-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></people-groups-grid>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<people-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></people-groups-grid>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -1080,7 +1080,7 @@
|
|||
"bundle": "regions-dashboard",
|
||||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"output": "dx-maps/regions-dashboard/regions-dashboard.js",
|
||||
"integrity": "sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg",
|
||||
"integrity": "sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc",
|
||||
"elements": [
|
||||
"regions-dashboard"
|
||||
],
|
||||
|
|
@ -1103,7 +1103,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -1119,7 +1119,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -1135,7 +1135,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <people-groups-grid> custom element. -->
|
||||
<script src="../../people-groups-grid.js" integrity="sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+" crossorigin="anonymous"></script>
|
||||
<script src="../../people-groups-grid.js" integrity="sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <people-groups-grid> custom element. -->
|
||||
<script src="../people-groups-grid.js" integrity="sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+" crossorigin="anonymous"></script>
|
||||
<script src="../people-groups-grid.js" integrity="sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <people-groups-grid> custom element. -->
|
||||
<script src="../../people-groups-grid.js" integrity="sha384-T5ROzZLd8Y7/fzG+28IjE8X2MntL0lG8j25FO1RtEGNxAx94Z0nRgglJziKIIOn+" crossorigin="anonymous"></script>
|
||||
<script src="../../people-groups-grid.js" integrity="sha384-mAWxn1zO4eldnWFVFDdfgQ42rGRmqwtBZTaNPI2rjsHMgFeSOwpQjT7XZt473BZy" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-uVOudl26tRNpGAtLu+3FeXljWQzvGmymxuj5Anx3gxsgrQ/AD/EtmsQtasaMOvHg" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-ruxUgkhdb2OQPgfpdNgWuXmHE5UaMs6GzZt+URCPg7SjqSap+pCCsuCqOGNFfqJc" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
Loading…
Reference in a new issue