Délégation des paramètres d’URL du tableau de bord
La propriété des paramètres d’URL déléguée active les UIB pages contenant des composants de tableau de bord afin de contrôler la façon dont les mises à jour des paramètres d’URL sont gérées. Cela permet d’utiliser une logique de navigation personnalisée pour les scénarios incorporés ou d’espace de travail.
Par défaut, les composants de tableau de bord mettent automatiquement à jour l’URL du navigateur lorsque les utilisateurs changent de tableau de bord, modifient des onglets ou basculent en mode d’édition. Ce comportement fonctionne bien pour les pages de tableau de bord standard, mais peut ne pas convenir à tous les scénarios d’implémentation.
La propriété des paramètres d’URL déléguée fournit une approche alternative où le composant de tableau de bord répartit les événements au lieu de mettre à jour directement les URL. Ce mécanisme de délégation permet aux pages parentes d’implémenter une logique de navigation personnalisée.
Pour en savoir plus sur cette propriété dans le contexte du panneau de configuration du composant Tableau de bord, reportez-vous à la section Propriétés des composants du tableau de bord.
Quand utiliser la délégation de paramètres d’URL
La délégation de paramètres d’URL est utile dans les cas suivants :
- La structure de l’URL de la page n’inclut pas les paramètres de l’URL du tableau de bord, par exemple, aucun
ID systèmedans le chemin de l’URL - La page nécessite une logique de navigation personnalisée pour les changements apportés au tableau de bord
- Le tableau de bord est intégré à un espace de travail où la gestion des URL est gérée par le composant parent
- Plusieurs composants de tableau de bord existent sur la même page et nécessitent une gestion coordonnée des URL
Fonctionnement de la délégation
Lorsque les paramètres d’URL du délégué sont désactivés (comportement par défaut) :
- L’utilisateur effectue une action, comme changer de tableau de bord, modifier l’onglet ou basculer en mode d’édition
- Le composant de tableau de bord distribue une action
CONTENT_UPDATEDinterne - UIB cadre de travail traite l’action et met à jour automatiquement les paramètres d’URL
Lorsque les paramètres de l’URL du délégué sont activés :
- L’utilisateur effectue une action
- Le composant de tableau de bord supprime la répartition
de CONTENT_UPDATED - Le composant de tableau de bord distribue
DASHBOARD#URL_PARAMS_UPDATE_REQUESTEDavec des données de paramètres structurés - Le script client sur la page reçoit l’événement et implémente la logique de navigation personnalisée
Structure de charge utile de l’événement
L’événement DASHBOARD#URL_PARAMS_UPDATE_REQUESTED contient un objet avec des urlParams informations de paramètres structurées. Chaque paramètre comprend la valeur, la description et des métadonnées supplémentaires telles que les noms de tableau de bord et les indicateurs de nouvel onglet.
Cette approche structurée fournit aux scripts clients suffisamment de contexte pour prendre des décisions de navigation éclairées, notamment pour gérer des cas spéciaux tels que l’ouverture de tableaux de bord dans de nouveaux onglets de navigateur.
Pour plus d’informations sur cet événement, reportez-vous à la section Événements de composant de tableau de bord.
Configurer la délégation des paramètres d’URL du tableau de bord
Activez la délégation de paramètres d’URL pour les composants de tableau de bord afin d’implémenter une logique de navigation personnalisée dans les UIB pages.
Avant de commencer
Rôle requis : ui_builder_admin
Pourquoi et quand exécuter cette tâche
Configurez la délégation de paramètres d’URL lorsque vous avez besoin d’un contrôle personnalisé sur la façon dont la navigation dans le tableau de bord met à jour les URL du navigateur. Ceci est utile pour les tableaux de bord incorporés, les scénarios d’espace de travail ou les pages avec des structures d’URL non standard.
Procédure
Résultats
Lorsque les utilisateurs interagissent avec le tableau de bord (changer de tableau de bord, changer d’onglet, basculer en mode d’édition), le composant répartit les événements que votre script client peut gérer avec une logique de navigation personnalisée.
Script client de délégation de base
Cet exemple de script reproduit le comportement de mise à jour d’URL par défaut :
function handler({api, event}) {
const {urlParams} = event.payload;
for (const [key, paramInfo] of Object.entries(urlParams)) {
if (key === 'sysId' && paramInfo.isNewTab === true) {
// Handle new tab navigation
api.emit('NAV_ITEM_SELECTED', {
route: 'dashboards',
title: paramInfo.dashboardName || paramInfo.value,
params: {sysId: paramInfo.value},
navigationOptions: {
navigateExternal: true,
target: '_blank'
}
});
return;
}
// Handle normal navigation
api.emit('CONTENT_UPDATED', {
route: 'dashboards',
params: {[key]: paramInfo.value}
});
}
}