Interactions: {
    _extensions: string[];
    _options: { clean: null; current: null };
    unset: (map: any, options: any) => void;
} = ...

Type declaration

  • _extensions: string[]

    Liste des extensions qui utilisent le mécanisme des interactions

  • _options: { clean: null; current: null }

    Options par defaut

    • current : ex. "Drawing" c'est l'extension qui demande la desactivation des autres interactions. Par defaut, toutes les interactions sont desactivées.
    • clean : c'est la suppression des interactions, des dessins de la carte, ainsi que la reinitialisation de l'état graphique. Les extensions doivent implementer la méthode 'clean()'. Par defaut, tous les dessins sont supprimés
  • unset: (map: any, options: any) => void

    Permet de desactive les interactions (Draw) de la carte pour les extensions, sauf l'interaction courrante (si elle est renseignée avec l'option 'current'). Il est possible d'ajouter des fonctionnalités via les options. Par defaut, l'option 'clean' est renseignée...

Pourquoi et comment l'utiliser ? Cette classe permet de gérer les interactions entre chaque extension. Une extension qui active une interaction avec la carte, doit desactiver les autres interactions issues d'autre extensions. La désactivation d'une interaction s'accompagne d'actions telles que le nettoyage des dessins, l'état du composant graphique, ...

Ex // desactive toutes les interactions avec l'opération par defaut : clean Interactions.unset(map); // desactive les interactions sauf celles de Drawing. On execute des // operations particulieres : status, collapse et message Interactions.unset(map, { current : "Drawing", status : false, collapse : true, messsage : ["WARNING", "Ceci est un avertissement !"] });

Dans le code de l'extension, il faut placer des informations dans l'interaction : interaction.setProperties({ name : "Drawing", source : this });