Skip to content

Version Intégrable

matt-litwiller edited this page Aug 15, 2023 · 18 revisions

Aperçu

La version intégrable permet de combiner la carte d'IGO2 avec des filtres et une liste pour afficher les résultats. Les mises-en-pages supportées sont les suivantes:

  • Carte seulement (avec showMap = true sans simpleFilters et simpleFeatureList)
  • Liste seulement (avec showMap = false et simpleFeatureList sans simpleFilters)
  • Carte et filtres (avec showMap = true et simpleFilters sans simpleFeatureList)
  • Carte et liste (avec showMap = true et simpleFeatureList sans simpleFilters)
  • Filtres et liste (avec showMap = false, simpleFilters et simpleFeatureList)
  • Carte, filtres et liste (avec showMap = true, simpleFilters et simpleFeatureList)

Configurations de la version intégrable useEmbeddedVersion

Configuration Type Description
layerId string Identifiant unique pour la couche (définie dans _default.json)
showMap boolean Permet de contrôler la visibilité de la carte
simpleFilters Object Permet de définir les filtres qui seront possibles pour filtrer les entités, ce qui sera reflété dans la carte et la liste s'ils sont visibles. Sans la configuration simpleFilters, les filtres ne sont pas visibles.
simpleFeatureList Object Permet de configurer la liste, les attributs qui seront présents pour chaque entité ainsi que la configuration pour le nombre de résultats par page et le triage des résultats. Sans la configuration simpleFeatureList, la liste n'est pas visible

Exemple complet avec la carte, les filtres et la liste:

"useEmbeddedVersion": {
    "layerId": "dq2",
    "showMap": true,
    "simpleFilters": {
      "filters": [
      {"type": "region", "description": "Région"},
      {"type": "responsable", "description": "Responsable"},
      {"type": "municipalites", "description": "Municipalité"},
      {"type": "arrondissements", "description": "Arrondissements"}
    ],
    "uniqueAttribute": "adressebur"
  },
    "simpleFeatureList": {
      "attributeOrder": [
        {"attributeName": "adressebur", "header": "small"},
        {"attributeName": "label", "header": "title"},
        {"attributeName": "region", "description": "Région", "header": "standard"},
        {"attributeName": "mrc", "description": "MRC", "header": "standard"},
        {"attributeName": "municipalites", "description": "Municipalité"},
        {"attributeName": "responsable", "description": "Responsable"},
        {"attributeName": "telephonebur", "description": "Téléphone"},
        {"attributeName": "telecopieurbur", "description": "Télécopieur"},
        {"attributeName": "courriel"},
        {"attributeName": "arrondissements", "description": "Arrondissements"}
      ],
      "sortBy": {
        "default": {"attributeName": "region"},
        "attributes": [
          {"type": "region", "description": "Région"},
          {"type": "responsable", "description": "Responsable"}
        ]
      },
      "formatURL": true,
      "formatEmail": true,
      "paginator": {
        "pageSizeOptions": [1,5,10,20,50],
        "pageSize": 5,
        "showFirstLastPageButtons": true,
        "showPreviousNextPageButtons": true
      }
    }
  },

image

Configurations des filtres simpleFilters

Configuration Type Description
filters SimpleFilter[] Liste de filtres qui seront affichés.
uniqueAttribute string La propriété unique de chaque Feature dans la couche (Feature.properties). Cet attribut permet l'utilisation des types de terrAPI dans les filtres. Sans cette configuration, aucun filtre qui utilise un type de terrAPI ne peut être affiché et utilisé

Configurations de la liste simpleFeatureList

Configuration Type Description
attributeOrder AttributeOrder[] Configuration des informations qui seront visibles dans la liste pour chaque entité
sortBy Object Configuration des attributs qui utilisés pour le triage des résultats. Voir sortBy
formatURL boolean Si appliqué, un format spécial sera appliqué pour tout URL affiché dans la liste
formatEmail boolean Si appliqué, un format spécial sera appliqué pour tout courriel affiché dans la liste
paginator Object Configurations pour le paginateur. Voir paginator

Configurations du paginateur paginator

Configuration Type Description
pageSizeOptions number[] Configuration optionelle pour indiquer les options pour le nombre de résultats affichés par page dans la liste. Sans cette configuration, les valeurs de défaut seront appliquées ([1, 2, 5, 10, 25])
pageSize number Configuration optionelle pour indiquer le nombre de résultats affichés quand l'application est initialisée. Sans cette configuration, la valeur de défaut sera appliquée (5)
showFirstLastPageButtons boolean Indique si les boutons pour sauter à la première/dernière page sont visibles
showPreviousNextPageButtons boolean Indique si les boutons pour sauter à la prochaine/dernière page sont visibles

Configurations de triage sortBy

Configuration Type Description
default SortBy Le type qui sera utilisé pour trier les entités dans la liste par défaut. À noter: encore une fois, le type doit être un type valide de terrAPI (parmi la liste acceptable et qui retourne des types multipolygon ou polygon)
attributes SimpleFilter[] Définit les attributs qui sont possibles d'utiliser pour faire le triage des résultats dans la liste

Interfaces Pertinents

SimpleFilter

  • type: Doivent provenir du champ properties de chaque Feature ou des types de terrAPI. À noter: seulement les types de terrAPI en polygone/multipolygone peuvent être utilisés et les autres types seront rejettés. De plus, certains types de terrAPI sont problématique (e.g. codes-postaux) donc tout type qui ne retourne aucun résultat pour toutes les entités ne sera pas affiché
  • description: Description de ce filtre qui peut être choisi par l'utilisateur. La description sera affichée dans l'application.
interface SimpleFilter {
	type: string;
	description: string;
}

AttributeOrder

  • attributeName: Champ qui définit le type (comme dans SimpleFilter).
  • personalizedFormatting: Champ qui permet de combiner du texte avec des types (soit de terrAPI ou des propriétés). À noter: si ce champ existe, attributeName n'est plus nécessaire, car les types seront recherchés dans le personalizedFormatting.
  • description: Description aléatoire (comme dans SimpleFilter).
  • header: 3 styles définis existent déjà: title (bleu, gras, charactères larges), standard(noir, charactères moyens), small (noir, charactères petits).
interface AttributeOrder {
    attributeName: string; // name of the attribute in the data source
    personalizedFormatting?: string; // string used to merge multiple attributes
    description?: string; // description to put in front of the value of the attribute
    header?: string; // HTML header to use (ex. "small")
  }

SortBy

interface SortBy {
    attributeName: string; // the attribute used for the sort
  }
Clone this wiki locally