-
Notifications
You must be signed in to change notification settings - Fork 0
Version Intégrable
matt-litwiller edited this page Aug 16, 2023
·
18 revisions
- Aperçu
- Configurations de la version intégrable
- Simple Filters
- Simple Feature List
- Interfaces pertinents
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
sanssimpleFilters
etsimpleFeatureList
) - Liste seulement (avec
showMap = false
etsimpleFeatureList
sanssimpleFilters
) - Carte et filtres (avec
showMap = true
etsimpleFilters
sanssimpleFeatureList
) - Carte et liste (avec
showMap = true
etsimpleFeatureList
sanssimpleFilters
) - Filtres et liste (avec
showMap = false
,simpleFilters
etsimpleFeatureList
) - Carte, filtres et liste (avec
showMap = true
,simpleFilters
etsimpleFeatureList
)
Les types sont utilisés pour créer des filtres (pour filtrer en fonction de ce type), afficher des informations (afficher la valeur correspondante au type pour chaque résultat de recherche), et pour trier les résultats de recherche. Voici comment ils sont employés
- Toute information par rapport aux résultats possibles de recherche sont storés sous forme d'objets
Feature
. ChaqueFeature
contient un champproperties
, qui possède des types (e.g. "region", "adressebur") et les valeurs associées ("Bas-Saint-Laurent", "70 Rue Saint-Germain Est, Rimouski G5L7J9" respectivement). Les types disponibles dans chaque élément deproperties
dépendent de la couche utilisée. Le termeproperty
sera utilisé pour indiquer les types qui proviennent desproperties
dans les objetsFeature
. - D'autres types sont permis dans cette application et ils proviennent de terrAPI (voir la liste de types acceptées). Parmi ces types, seulement les
Polygon
etMultipolygon
sont acceptés. Parmi ces types même, certains sont problématiques (e.g.codes-postaux
), car ils ne retournent rien (voici un exemple qui échoue et voici ce que devrait être retourné avec un type qui fonctionne -mrc
).
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
}
}
},
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é |
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 |
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. Si pageSize n'est pas fourni ou que la valeur ne correspond pas à une valeur dans la liste pageSizeOptions , la valeur de défaut sera appliquée (le premier nombre dans la liste pageSizeOptions ) |
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 |
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 |
-
type
: Doivent provenir du champproperties
de chaqueFeature
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;
}
-
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")
}
interface SortBy {
attributeName: string; // the attribute used for the sort
}