UI Control
Metodi che pilotano la UI del banner (banner first-layer, Consent Preference Center, lingua).
| Method | Tier | Since |
|---|---|---|
showPreferenceCenter(mode?, options?) | 1 | 1.0 |
closePreferenceCenter() | 1 | 1.0 |
changeLanguage(lang) | 1 | 1.0 |
💡 Per mount/unmount completo del banner vedi
reload().
showPreferenceCenter
Apre il pannello di preferenze (secondo layer del banner, "CPC" — Consent Preference Center).
window.Avacy.showPreferenceCenter(
target?: HTMLElement | string,
options?: { section?: string },
): Promise<void>
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
target | HTMLElement | string (CSS selector) | — | Se omesso, il pannello viene mountato in modalità absolute (overlay modale sopra la pagina). Se passi un elemento (o un selector che lo identifica), il pannello viene mountato inline dentro quel container. Se target è una stringa e il selettore non risolve a nessun elemento, la chiamata lancia un'eccezione (selector did not resolve: <target>) — non fallisce silenziosamente, va gestita (try/catch o assicurarsi che il container esista già nel DOM prima della chiamata). |
options.section | string | — | Posiziona il pannello su una sezione specifica invece di aprirlo in cima. Accetta un id di sezione esatto (es. 'glossary') oppure un tipo di sezione generico (es. 'vendor'), risolto automaticamente sulla prima sezione di quel tipo nell'ordine in cui il tenant ha configurato la nav. Se la sezione richiesta non esiste nella configurazione corrente (es. section: 'vendor' senza nessun framework con fornitori), il pannello si apre comunque, in cima, senza errori. |
Returns
Promise<void> — risolta dopo che il pannello è mountato e triggerCustomization ha popolato privacySettings.
Examples
<!-- modalità absolute (default): overlay modale -->
<a href="#" onclick="window.Avacy.showPreferenceCenter(); return false;">
Gestisci consenso
</a>
// modalità inline: il pannello viene mountato dentro un container specifico
// (utile in pagine "/privacy" dedicate o in pannelli laterali)
window.Avacy.showPreferenceCenter('#privacy-panel');
// o passando direttamente l'elemento:
window.Avacy.showPreferenceCenter(document.getElementById('privacy-panel'));
// posizionato sulla lista fornitori — funziona sia con TCF, sia con vendor
// custom, sia con entrambi: la sezione "vendor" giusta la trova la CPC,
// non serve sapere quale framework la fornisce
window.Avacy.showPreferenceCenter(undefined, { section: 'vendor' });
// posizionato su una sezione con id esatto
window.Avacy.showPreferenceCenter(undefined, { section: 'glossary' });
Side effects
Emette avacy:cpc-opened (detail vuoto).
See also
closePreferenceCenter()- Eventi
avacy:cpc-opened/avacy:cpc-closed— vedi Events
closePreferenceCenter
Chiude il pannello di preferenze.
window.Avacy.closePreferenceCenter(): void
Example
window.Avacy.closePreferenceCenter();
Side effects
Emette avacy:cpc-closed (detail vuoto).
changeLanguage
Cambia la lingua attiva delle label CMP a runtime. Le label vengono rilette dalla customLabels config + prebundled words + remote labels (se configurato). Il framework TCF riallinea anche la GVL caricata alla nuova lingua (nomi/descrizioni di finalità e stack tradotti) — non esiste un campo "consentLanguage" codificato nella TC String: è solo un aggiornamento dei testi mostrati, non del contenuto del consenso.
window.Avacy.changeLanguage(lang: LanguageCode): Promise<void>
Parameters
| Name | Type | Description |
|---|---|---|
lang | LanguageCode | Codice ISO 639-1 (es. 'it', 'en', 'de', 'fr'). |
Returns
Promise<void> — risolta quando label, glossario, customization e framework hanno propagato.
Example
await window.Avacy.changeLanguage('en');
Side effects
Emette avacy:language-changed { lang, prev }.
Auto-detection
Se in config autoLanguage: true, il CMP rileva la lingua iniziale da document.documentElement.lang e re-detecta su MutationObserver. In quel caso changeLanguage resta utile come override programmatico.
See also
- Config
language/autoLanguage/customLabelsinUserConfigType - Evento
avacy:language-changed— vedi Events