UNPKG

@gouvfr/dsfr-roller

Version:

Le module `dsfr-roller` permet de publier le site de documentation du Système de Design de l’État - DSFR

37 lines (31 loc) 1.02 kB
import { Renderable } from '../../core/renderable.js'; const PRODUCTION_ENV = 'prod'; class AnalyticsConfig extends Renderable { constructor (data) { super(data, 'analyticsConfig'); this._analytics = data.analytics; this._analytics.domain = '$(1)'; this._analytics.site.environment = '$(2)'; } async render () { return ` <script> const PRODUCTION_ENV = '${PRODUCTION_ENV}'; const xhr = new XMLHttpRequest(); xhr.open('GET', '/env.json', false); xhr.send(null); if (xhr.status === 200) { const env = JSON.parse(xhr.responseText); const analytics = ${JSON.stringify(this._analytics).replace('"$(1)"', 'env.domain').replace('"$(2)"', 'env.env')}; const dsfr = { analytics }; if (env.env === PRODUCTION_ENV) { dsfr.production = true; } window.dsfr = dsfr; } else { console.error('Failed to load JSON:', xhr.status, xhr.statusText); } </script>`; } } export { AnalyticsConfig };