Gestion de Leaflet en package par modules - #344
Conversation
|
BUG
|
|
Beau travail :) Pour le CSS, pour moi ce n'est pas rédhibitoire qu'il n'y en ait qu'un : il suffit d'avoir un lien statiques (cdnjs, raw.github) et de documenter que peu importe le widget, il faut linker le CSS dans le après le CSS leaflet et avant le CSS custom. J'essaie de regarder le souci sur isochrone |
RaF / Questions
|
|
Mon avis sur les questions (aidé par https://github.com/Leaflet/Leaflet/blob/main/PLUGIN-GUIDE.md) :
Oui
Les plugins Leaflet sont plutôt préfixés par
Les 2 alternatives sont bien. Inclus dans chaque module permet de ne pas avoir à le linker à chaque fois, donc mon cœur penche plutôt pour cette solution.
Oui, mais extrait à partir d'une sous-partie du readme du projet (exemple, ne prendre que le paragraphe https://github.com/IGNF/geoportal-extensions/blob/develop/doc/README-leaflet.md#profil-altim%C3%A9trique-le-long-dun-tra%C3%A7%C3%A9 pour le profil alti)
Oui
Oui (cf Turf.js) |
|
@lowzonenose @azarz Petit point à prévoir sur le sujet pour expliciter le reste à faire, et le kifékoi |
PLUGINS LEAFLET
Split en modules
taille des modules
FIXME
carte des dépendances
./node_modules/.bin/webpack --config build/webpack/webpack.config.leaflet.modules --mode=none --profile --json > map-leaflet-modules.json(nettoyer les 1ere lignes inutiles)
Utilisation des modules dans une page web
Il existe 2 modes pour intégrer les modules : Factory ou Classes
Exécution de la page de test
Demo
cf. https://ignf.github.io/geoportal-extensions/
intégrer les démos des modules sur la github pages en statique.

INFO
TODO
Publication
préparation
$ cd build/scripts/release/ $ ./build-pack.sh -LLes répertoires sont prêts pour la publication (+ tgz) :
$ cd build/scripts/release/ $ tree geoportail-extensions-leaflet-modules/ geoportal-extensions-leaflet-modules/ ├── ElevationPath ├── ignf-geoportal-plugin-leaflet-elevationpath-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-isocurve-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-layers-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-layerswitcher-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-mouseposition-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-reversegeocode-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-route-2.2.7.tgz ├── ignf-geoportal-plugin-leaflet-searchengine-2.2.7.tgz ├── Isocurve ├── Layers ├── LayerSwitcher ├── MousePosition ├── ReverseGeocode ├── Route └── SearchEngine $ tree -L 2 geoportal-extensions-leaflet-modules/ElevationPath/ geoportal-extensions-leaflet-modules/ElevationPath/ ├── dist │ ├── ElevationPath.css │ ├── ElevationPath.js │ ├── ElevationPath-map.css │ ├── ElevationPath-map.js │ ├── ElevationPath-src.css │ └── ElevationPath-src.js ├── LICENCE.md ├── package.json ├── README.md └── src ├── Common │ ├── Controls │ │ ├── ElevationPathDOM.js │ │ └── ProfileElevationPathDOM.js │ └── Utils │ ├── AutoLoadConfig.js │ ├── CheckRightManagement.js │ ├── LoggerByDefault.js │ └── SelectorID.js └── Leaflet ├── Controls │ ├── ElevationPath.js │ └── Utils │ ├── IconDefault.js │ └── PositionFormater.js └── CSS └── Controls └── ElevationPath └── GPelevationPathLeaflet.cssFIXME
trouver un namespace avec les infos : ignf / geoportal / plugin / leaflet
ex. @ignf-geoportal/plugin-leaflet-elevationpathTODO
publication via npm
Le script nous fournit les répertoire de publication par widget.
Il nous reste donc à mettre en place ou modifier le job de publication des github actions.
TODO
Guide d’intégration dans le dépôt Leaflet
cf. https://github.com/Leaflet/Leaflet/blob/main/PLUGIN-GUIDE.md
TODO