Skip to main content
Solved

When using a custom view. How can I create a context which is linked to CTX but also has preset filters?

  • 11 September 2024
  • 1 reply
  • 54 views

I have a custom view with some visuals which use the default CTX context.

How can I specify a new context or link to the CTX context but have this particular one use some pre-defined filters?

I ask as I have a dataset with multiple locations but I would like a line graph to just show 3 of the 9 available. But, I would still like it to react to other changes made in the filters.

Auto-translation 🪄

J'ai une vue personnalisée avec certains éléments visuels qui utilisent le contexte CTX par défaut. Comment puis-je spécifier un nouveau contexte ou un lien vers le contexte CTX tout en faisant en sorte que celui-ci utilise des filtres prédéfinis ? Je pose la question car j'ai un ensemble de données avec plusieurs emplacements, mais je voudrais qu'un graphique linéaire n'affiche que 3 des 9 disponibles. Mais je voudrais quand même qu'il réagisse aux autres modifications apportées aux filtres.

Hello Dany,
 

You have multiple ways to do this.

You can create a new context using ods-dataset-context, you will just need to call another name than ctx.

With the parameter “parameters” in a ods-dataset-context you can predefined filters. you can also use a ng-init (documentation) inside any balise to do the same.

To make your new context react to filters you will need to link the two context parameters using this expression for each filters :

This angularJS expression links the filter on the field field1 of ctx to the filter on the field field1 of new_context.


Tell me if you need more explanation on that topic,

Best

Auto-translation 🪄

Bonjour Dany, Vous avez plusieurs façons de faire cela. Vous pouvez créer un nouveau contexte en utilisant ods-dataset-context, il vous suffira d'appeler un autre nom que ctx. Avec le paramètre « parameters » dans un ods-dataset-context vous pouvez prédéfinir des filtres. Vous pouvez également utiliser un ng-init (documentation) à l'intérieur de n'importe quelle balise pour faire de même. Pour faire réagir votre nouveau contexte aux filtres vous devrez lier les deux paramètres de contexte en utilisant cette expression pour chaque filtre : Cette expression angularJS lie le filtre sur le champ field1 de ctx au filtre sur le champ field1 de new_context. Dites-moi si vous avez besoin de plus d'explications sur ce sujet, Cordialement

Reply