diff --git a/DRAFT_CHANGELOG.md b/DRAFT_CHANGELOG.md index e43303716..f95209bec 100644 --- a/DRAFT_CHANGELOG.md +++ b/DRAFT_CHANGELOG.md @@ -6,22 +6,40 @@ ## Summary +* gestion des loggers : +> Exposition de la classe statique *Logger* avec les méthodes suivantes : +`Gp.Logger.disableAll()` et `Gp.Logger.enableAll()` +* correctif sur le profil altimétrique + ## Changelog * [Added] * [Changed] - - mise à jour de la jsDoc (95cff8206ef2e0fcfb7fee5989d2d74d236b9f9f) + - mise à jour de la jsDoc (95cff82) + - mise à jour de la lib. geoportal-access-lib : 2.1.8 * [Deprecated] * [Removed] + - la dépendance *request* est supprimée, et remplacée par *node-fetch* (#295) + * [Fixed] + - Possibilité de activer / desactiver les loggers des API lors de l'utilisation des API en module ES6 : + + ```js + import { Logger } from "geoportal-extensions-openlayers"; + Logger.disableAll(); + ``` + - corrections des erreurs à partir de DeepScan (#288) - - corrections syntaxiques eslint (da275a284a07ddd8e32753eda57ad4ef283d34fb et 306506a2255b2f05558ddcb05210dce39135c804) + - corrections syntaxiques eslint (da275a2 et 306506a) + - cf. issue : Erreur compilation par webpack [#294](https://github.com/IGNF/geoportal-extensions/issues/294) + - cf. issue : Erreur dépendances à la compilation [#283](https://github.com/IGNF/geoportal-extensions/issues/283) + - fix profil altimetrique amCharts + D3 (#296) * [Security] @@ -35,20 +53,37 @@ ## Summary +* gestion des loggers : +> Exposition de la classe statique *Logger* avec les méthodes suivantes : +`Gp.Logger.disableAll()` et `Gp.Logger.enableAll()` + ## Changelog * [Added] * [Changed] + - mise à jour de la lib. geoportal-access-lib : 2.1.8 + * [Deprecated] * [Removed] + - la dépendance *request* est supprimée, et remplacée par *node-fetch* + * [Fixed] + - Possibilité de activer / desactiver les loggers des API lors de l'utilisation des API en module ES6 : + + ```js + import { Logger } from "geoportal-extensions-leaflet"; + Logger.disableAll(); + ``` + - corrections des erreurs à partir de DeepScan (#288) - - corrections syntaxiques eslint (da275a284a07ddd8e32753eda57ad4ef283d34fb et 306506a2255b2f05558ddcb05210dce39135c804) + - corrections syntaxiques eslint (da275a2 et 306506a) + - cf. issue : Erreur compilation par webpack [#294](https://github.com/IGNF/geoportal-extensions/issues/294) + - cf. issue : Erreur dépendances à la compilation [#283](https://github.com/IGNF/geoportal-extensions/issues/283) * [Security] @@ -56,6 +91,7 @@ + # Extension Geoportail Itowns, version __VERSION__ **__DATE__** @@ -63,24 +99,27 @@ ## Summary +* gestion des loggers : +> Exposition de la classe statique *Logger* avec les méthodes suivantes : +`Gp.Logger.disableAll()` et `Gp.Logger.enableAll()` + ## Changelog * [Added] * [Changed] - - mise à jour d'iTowns en version 2.30 (#292) - * [Deprecated] * [Removed] * [Fixed] - - corrections des erreurs à partir de DeepScan (#288) - - corrections syntaxiques eslint (da275a284a07ddd8e32753eda57ad4ef283d34fb et 306506a2255b2f05558ddcb05210dce39135c804) - - correction de la synchronisation des couches vecteur tuilé avec leurs labels (#290) + - Possibilité de activer / desactiver les loggers des API lors de l'utilisation des API en module ES6 : + ```js + import { Logger } from "geoportal-extensions-itowns"; + Logger.disableAll(); * [Security] diff --git a/TEAM_DEV_WORKFLOW.md b/TEAM_DEV_WORKFLOW.md index 2bcdeaa59..1cee2dc05 100644 --- a/TEAM_DEV_WORKFLOW.md +++ b/TEAM_DEV_WORKFLOW.md @@ -1,8 +1,8 @@ # Workflow git pour les APIs web -Description du workflow de travail git pour les APIs. +Description du workflow de travail git pour les APIs. ([Workflow pour le composant portail-visu](https://gitlab.ul.geoportail.rie.gouv.fr/ign/pgie/portail-visucarto/wikis/Workflow-:-tests-et-livraisons-de-portail-visucarto)) -Ce workflow se base sur git-flow, un "template" de workflow, qui peut notamment fonctionner avec des plugins git à installer. +Ce workflow se base sur git-flow, un "template" de workflow, qui peut notamment fonctionner avec des plugins git à installer. Dans un premier temps, nous essayerons de nous passer de ces plugins qui impliqueraient que tout le monde les installe, et de nouvelles signatures de commandes git. @@ -44,6 +44,31 @@ Nous nous retrouvons donc avec 5 types de branches distinctes. Voir : https://buzut.net/git-bien-nommer-ses-commits/ + +Joints à cette page du wiki (retirer le .txt si possible), les templates de commits pour chaque projet : +- .git-commit-template-accesslib +- .git-commit-template-extensions +- .git-commit-template-sdk + +Pour les installer, les déposer sur sa machine (exemple : à la racine) + + +1 - Se placer à la racine du projet voulu (accesslib, extensions, sdk) + + +2 - Configurer le git projet pour utiliser le template voulu lors des commits +~~~ +git config commit.template ~/.git-commit-template-accesslib +~~~ +ou +~~~ +git config commit.template ~/.git-commit-template-extensions +~~~ +ou +~~~ +git config commit.template ~/.git-commit-template-sdk +~~~ + **Explication du template des commits :** ~~~ text @@ -56,6 +81,8 @@ Voir : https://buzut.net/git-bien-nommer-ses-commits/ ~~~ + + **Les TYPES** : Ils sont détaillés dans le lien (build, fix, feat, refactor...) @@ -63,12 +90,21 @@ Ils sont détaillés dans le lien (build, fix, feat, refactor...) **Le SCOPE :** -*Facultatif* - +*Facultatif* - Il va dépendre du projet, et est facultatif, car n'est pas forcément pertinent : + +*Projet access-lib :* +- Exeptions +- Formats +- Protocols +- Services +- Utils +- Samples +- ... *Projet extensions :* - common:CSS - common:DOM -- common:Utils +- common:Utils - ol:Controls - ol:CRS - ol:CSS @@ -88,6 +124,29 @@ Ils sont détaillés dans le lien (build, fix, feat, refactor...) - it:Samples - ... +*Projet SDK :* +- 2D:Interface +- 2D:Base +- 2D:Controls +- 2D:Layers +- 2D:Listeners +- 2D:VectorTiles +- 2D:View +- 2D:Utils +- 2D:CSS +- 2D:Samples +- 3D:Interface +- 3D:Base +- 3D:Controls +- 3D:Layers +- 3D:Listeners +- 3D:VectorTiles +- 3D:View +- 3D:Utils +- 3D:CSS +- 3D:Samples +- ... + **Le SUJET :** Se limiter à 50 caractères pour donner une idée claire de l'objectif du commit, avec une forme active. Compléter si besoin dans la description. @@ -101,7 +160,15 @@ Se limiter à 50 caractères pour donner une idée claire de l'objectif du commi *Facultatif* - Sauter une ligne entre le footer et le bloc précédent. Permet de linker un ticket par exemple, pour un commit correctif. -**EXEMPLE** +**EXEMPLES** + +Un commit qui corrige le ticket 32223 sur l'ajout d'un paramètre facultatif lors de l'ajout d'une couche dans le SDK2D : + +~~~ text +fix(2D:Layers): Ajoute le paramètre xxx lors de l'ajout d'une couche WMTS + +#32223 +~~~ Un commit qui ajoute des systèmes de coordonnées au mousePosition openlayers : @@ -131,15 +198,17 @@ git checkout develop git checkout -b feature-MYFEATURE ~~~ -2 - Je travaille sur ma branche +2 - Je travaille sur ma branche 3 - Je rapatrie develop sur ma branche feature -4 - J'ai fini : J'ouvre une PR depuis develop sur ma branche feature-MYFEATURE +4 - J'ai fini : J'ouvre une PR depuis develop sur ma branche feature-MYFEATURE + +5 - Je fais les eventuelles corrections soulevées par la review de PR sur ma branche -5 - Je fais les eventuelles correstions soulevées par la review de PR sur ma branche +6 - Je tiens à jour le DRAFT_CHANGELOG.md -6 - Tout est OK : je valide la PR et rapatrie donc ma branche feature sur develop +7 - Tout est OK : je valide la PR et rapatrie donc ma branche feature sur develop ## Bug Fix et Refacto @@ -149,59 +218,75 @@ Les "gros" bug fixes ou refacto sont à considérer comme des features: c'est à ## Release -0 - Sur develop, modifier le package.json pour incrémenter numéro de version et date - 1 - Tirer une branche de type **"release"** à partir de **develop** ~~~ git checkout develop git checkout -b release-X.Y.Z +git push origin release-X.Y.Z ~~~ -2 - Réaliser sur cette branche release les tests habituels liés à la publication d'une release +2 - Sur cette branche, modifier le package.json pour incrémenter numéro de version et la date + +3 - Réaliser sur cette branche release les tests habituels liés à la publication d'une release (npm run test, npm run sample:serve) -3 - Si on trouve des bugs, on les corrige directement sur cette branche release (plusieurs membres de l'équipe peuvent réaliser les verifications/corrections en parrallèle sur la branche release) +4 - Si on trouve des bugs, on les corrige directement sur cette branche release (plusieurs membres de l'équipe peuvent réaliser les verifications/corrections en parrallèle sur la branche release) ~~~ git commit --> "fix(scope) : corrige le probleme" ~~~ -4 - On rapatrie ce fix sur develop +5 - On rapatrie ce fix sur develop ~~~ git checkout develop git merge release-X.Y.Z ~~~ -5 - On recommence autant de fois que necessaire les etapes 3 et 4 +6 - On recommence autant de fois que necessaire les etapes 4 et 5 -6 - Quand on estime que tout est ok, on prépare la future publication npm en construisant les binaires : -* cd build/script/release +7 - Quand on estime que tout est ok, on prépare la future publication npm en construisant les binaires : * vérifier date et version dans les package.json -* ./build-pack.sh -* commiter +* vérifier que le DRAFT_CHANGELOG est à jour +* pousser la branch -6 - Quand on estime que la release est OK, on merge la branche sans fast-forward sur **develop** +8 - Quand on estime que la release est OK, on merge la branche sans fast-forward sur **develop** ~~~ git checkout develop git merge release-X.Y.Z --no-ff ~~~ -6 - Quand on estime que la release est OK, on merge la branche sans fast-forward sur **master** et on tag la version sur master +9 - Quand on estime que la release est OK, on merge la branche sans fast-forward sur **master** et on tag la version sur master ~~~ git checkout master git merge release-X.Y.Z --no-ff ~~~ -7 - On supprime la branche release ainsi mergée +**Renommer le commit "release sdk-X.Y.Z" ou "release ext-ol-X.Y.Z"** + +10 - On supprime la branche release ainsi mergée ~~~ git branch -d release-X.Y.Z ~~~ -8 - Sur master, on réalise les étapes habituelles de **publication de la jsdoc et de la release** +11 - Sur master, on tag la version. Pousser le tag va déclencher automatiquement les étapes de **publication de la jsdoc et de la release npm/github** via les githubs actions + +~~~ +git tag ol-X.Y.Z +git push origin ol-X.Y.Z +~~~ + +12 - Vérification de la publication : +* suivre en direct via les githubs actions +* vérifier page de publication de la release github +* vérifier page de publication de la release npm +* vérifier que la jsdoc (gh-pages) est à jour +* vérifier que le projet exemples a été mis à jour avec la nouvelle release (par ex. https://github.com/IGNF/geoportal-access-lib-samples) +* vérifier que le DRAFT_CHANGELOG a été vidé et que le CHANGELOG a été mis à jour + ## Realisation d'un hotfix @@ -211,6 +296,7 @@ Dans quel cas : Je remarque un problème à corriger de toute urgence sur la der ~~~ git checkout -b hotfix-MYHOTFIX master +git push origin hotfix-MYHOTFIX ~~~ 2 - Sur cette branche hotfix-MYHOTFIX, j'incrémente la version de la release package.json @@ -234,12 +320,19 @@ git merge hotfix-MYHOTFIX --no-ff git checkout master git merge hotfix-MYHOTFIX --no-ff git tag X.Y.Z +git push origin X.Y.Z ~~~ -6 - On supprime la branche hotfix mergée +6 - Vérification de la publication lancée par le tag sur master : +* suivre en direct via les githubs actions +* vérifier page de publication de la release github +* vérifier page de publication de la release npm +* vérifier que la jsdoc (gh-pages) est à jour +* vérifier que le projet exemples a été mis à jour avec la nouvelle release (par ex. https://github.com/IGNF/geoportal-access-lib-samples) +* vérifier que le DRAFT_CHANGELOG a été vidé et que le CHANGELOG a été mis à jour + +7 - On supprime la branche hotfix mergée ~~~ git branch -d hotfix-MYHOTFIX ~~~ - -7 - Sur master, on réalise les étapes habituelles de **publication de la jsdoc et de la release** diff --git a/build/scripts/release/geoportal-extensions-itowns-2.3.1.tgz b/build/scripts/release/geoportal-extensions-itowns-2.3.1.tgz deleted file mode 100644 index 86a331151..000000000 Binary files a/build/scripts/release/geoportal-extensions-itowns-2.3.1.tgz and /dev/null differ diff --git a/build/scripts/release/geoportal-extensions-itowns-2.3.2.tgz b/build/scripts/release/geoportal-extensions-itowns-2.3.2.tgz new file mode 100644 index 000000000..37d5de0e8 Binary files /dev/null and b/build/scripts/release/geoportal-extensions-itowns-2.3.2.tgz differ diff --git a/build/scripts/release/geoportal-extensions-leaflet-2.1.7.tgz b/build/scripts/release/geoportal-extensions-leaflet-2.1.7.tgz deleted file mode 100644 index 8c296efe9..000000000 Binary files a/build/scripts/release/geoportal-extensions-leaflet-2.1.7.tgz and /dev/null differ diff --git a/build/scripts/release/geoportal-extensions-leaflet-2.1.8.tgz b/build/scripts/release/geoportal-extensions-leaflet-2.1.8.tgz new file mode 100644 index 000000000..c872d12b4 Binary files /dev/null and b/build/scripts/release/geoportal-extensions-leaflet-2.1.8.tgz differ diff --git a/build/scripts/release/geoportal-extensions-openlayers-3.0.14.tgz b/build/scripts/release/geoportal-extensions-openlayers-3.0.14.tgz index e7a7fc635..d54b2e0ee 100644 Binary files a/build/scripts/release/geoportal-extensions-openlayers-3.0.14.tgz and b/build/scripts/release/geoportal-extensions-openlayers-3.0.14.tgz differ diff --git a/build/scripts/release/package-itowns.json b/build/scripts/release/package-itowns.json index d8a84cc59..967b46e9e 100644 --- a/build/scripts/release/package-itowns.json +++ b/build/scripts/release/package-itowns.json @@ -1,6 +1,33 @@ { + "bugs" : {}, + "author" : "IGNF", "directories" : {}, + "devDependencies" : {}, + "bundleDependencies" : [], "name" : "geoportal-extensions-itowns", + "version" : "2.3.2", + "keywords" : [ + "geoportail", + "plugin", + "javascript", + "Itowns" + ], + "dependencies" : { + "itowns" : "2.30.0", + "geoportal-access-lib" : "2.1.8", + "proj4" : "2.7.0", + "three" : "0.124.0", + "xmldom" : "^0.1.27", + "sortablejs" : "1.8.4", + "loglevel" : "1.6.6", + "node-fetch" : "^2.6.1" + }, + "description" : "French Geoportal Extensions for iTowns", + "scripts" : {}, + "repository" : { + "url" : "https://github.com/IGNF/geoportal-extensions.git", + "type" : "git" + }, "files" : [ "dist/", "src/", @@ -8,37 +35,10 @@ "README.md", "package.json" ], - "bugs" : {}, - "repository" : { - "url" : "https://github.com/IGNF/geoportal-extensions.git", - "type" : "git" - }, + "date" : "30/03/2021", "module" : "src/Itowns/index.js", - "dependencies" : { - "three" : "0.124.0", - "loglevel" : "1.6.6", - "sortablejs" : "1.8.4", - "itowns" : "2.30.0", - "geoportal-access-lib" : "2.1.6", - "xmldom" : "^0.1.27", - "request" : "^2.83.0", - "proj4" : "2.7.0" - }, - "date" : "12/02/2021", - "main" : "dist/GpPluginItowns-src.js", - "peerDependencies" : {}, - "scripts" : {}, - "bundleDependencies" : [], - "version" : "2.3.1", - "keywords" : [ - "geoportail", - "plugin", - "javascript", - "Itowns" - ], - "devDependencies" : {}, - "description" : "French Geoportal Extensions for iTowns", - "author" : "IGNF", "homepage" : "https://geoservices.ign.fr/documentation/utilisation_web/extension-itowns.html", - "license" : "CECILL-B" + "main" : "dist/GpPluginItowns-src.js", + "license" : "CECILL-B", + "peerDependencies" : {} } diff --git a/build/scripts/release/package-leaflet.json b/build/scripts/release/package-leaflet.json index c4769f303..fee73cd90 100644 --- a/build/scripts/release/package-leaflet.json +++ b/build/scripts/release/package-leaflet.json @@ -1,20 +1,24 @@ { - "directories" : {}, - "scripts" : {}, - "main" : "dist/GpPluginLeaflet-src.js", - "name" : "geoportal-extensions-leaflet", + "homepage" : "https://geoservices.ign.fr/documentation/utilisation_web/extension-leaflet.html", + "keywords" : [ + "geoportail", + "plugin", + "javascript", + "leaflet", + "publish" + ], + "author" : "IGNF", "dependencies" : { - "leaflet" : "1.7.1", - "proj4leaflet" : "1.0.2", - "sortablejs" : "1.8.4", - "leaflet-draw" : "1.0.4", + "geoportal-access-lib" : "2.1.8", "loglevel" : "1.6.6", + "proj4leaflet" : "1.0.2", "proj4" : "2.6.0", - "geoportal-access-lib" : "2.1.6" + "sortablejs" : "1.8.4", + "node-fetch" : "^2.6.1", + "xmldom" : "^0.1.27", + "leaflet" : "1.7.1", + "leaflet-draw" : "1.0.4" }, - "devDependencies" : {}, - "author" : "IGNF", - "homepage" : "https://geoservices.ign.fr/documentation/utilisation_web/extension-leaflet.html", "files" : [ "dist/", "src/", @@ -22,23 +26,21 @@ "README.md", "package.json" ], - "bundleDependencies" : [], - "version" : "2.1.7", - "keywords" : [ - "geoportail", - "plugin", - "javascript", - "leaflet", - "publish" - ], - "module" : "src/Leaflet/index.js", + "license" : "CECILL-B", + "name" : "geoportal-extensions-leaflet", + "date" : "30/03/2021", "repository" : { "type" : "git", "url" : "https://github.com/IGNF/geoportal-extensions.git" }, + "peerDependencies" : {}, + "devDependencies" : {}, + "directories" : {}, "bugs" : {}, - "date" : "09/12/2020", + "version" : "2.1.8", + "bundleDependencies" : [], + "scripts" : {}, + "main" : "dist/GpPluginLeaflet-src.js", "description" : "French Geoportal Extension for Leaflet", - "peerDependencies" : {}, - "license" : "CECILL-B" + "module" : "src/Leaflet/index.js" } diff --git a/build/scripts/release/package-openlayers.json b/build/scripts/release/package-openlayers.json index e11391813..2a23294d9 100644 --- a/build/scripts/release/package-openlayers.json +++ b/build/scripts/release/package-openlayers.json @@ -1,46 +1,46 @@ { + "scripts" : {}, + "name" : "geoportal-extensions-openlayers", + "bugs" : {}, "dependencies" : { - "proj4" : "2.6.0", - "geoportal-access-lib" : "2.1.6", + "@mapbox/mapbox-gl-style-spec" : "13.11.0", + "ol" : "5.3.0", + "node-fetch" : "^2.6.1", "xmldom" : "^0.1.27", + "geoportal-access-lib" : "2.1.8", + "proj4" : "2.6.0", "sortablejs" : "1.8.4", - "request" : "^2.83.0", - "ol" : "5.3.0", - "@mapbox/mapbox-gl-style-spec" : "13.11.0", + "ol-mapbox-style" : "4.2.1", "loglevel" : "1.6.6", - "eventbusjs" : "0.2.0", - "ol-mapbox-style" : "4.2.1" + "eventbusjs" : "0.2.0" }, - "keywords" : [ - "geoportail", - "plugin", - "javascript", - "OpenLayers" - ], - "scripts" : {}, - "name" : "geoportal-extensions-openlayers", - "author" : "IGNF", - "bugs" : {}, - "description" : "French Geoportal Extensions for OpenLayers", - "homepage" : "https://geoservices.ign.fr/documentation/utilisation_web/extension-openlayers.html", - "date" : "12/02/2021", - "module" : "src/OpenLayers/index.js", + "devDependencies" : {}, "license" : "CECILL-B", - "main" : "dist/GpPluginOpenLayers-src.js", "directories" : {}, + "version" : "3.0.14", + "peerDependencies" : {}, + "author" : "IGNF", + "main" : "dist/GpPluginOpenLayers-src.js", + "date" : "30/03/2021", + "bundleDependencies" : [], + "homepage" : "https://geoservices.ign.fr/documentation/utilisation_web/extension-openlayers.html", "repository" : { "type" : "git", "url" : "https://github.com/IGNF/geoportal-extensions.git" }, - "bundleDependencies" : [], - "peerDependencies" : {}, + "module" : "src/OpenLayers/index.js", + "description" : "French Geoportal Extensions for OpenLayers", + "keywords" : [ + "geoportail", + "plugin", + "javascript", + "OpenLayers" + ], "files" : [ "dist/", "src/", "LICENCE.md", "README.md", "package.json" - ], - "devDependencies" : {}, - "version" : "3.0.14" + ] } diff --git a/build/webpack/webpack.config.itowns.js b/build/webpack/webpack.config.itowns.js index 34fa319bb..fdb7d8882 100644 --- a/build/webpack/webpack.config.itowns.js +++ b/build/webpack/webpack.config.itowns.js @@ -69,7 +69,8 @@ module.exports = (env, argv) => { filename : "[name]" + suffix + ".js", library : "Gp", libraryTarget : "umd", - umdNamedDefine : true + umdNamedDefine : true, + globalObject: 'this' }, resolve : { alias : { @@ -111,9 +112,9 @@ module.exports = (env, argv) => { amd : "itowns", root : "itowns" }, - request : { - commonjs2 : "request", - commonjs : "request", + "node-fetch" : { + commonjs2 : "node-fetch", + commonjs : "node-fetch", amd : "require" }, xmldom : { diff --git a/build/webpack/webpack.config.leaflet.js b/build/webpack/webpack.config.leaflet.js index 531fb3151..ba915104d 100644 --- a/build/webpack/webpack.config.leaflet.js +++ b/build/webpack/webpack.config.leaflet.js @@ -56,7 +56,8 @@ module.exports = (env, argv) => { filename : "[name]" + suffix + ".js", library : "Gp", libraryTarget : "umd", - umdNamedDefine : true + umdNamedDefine : true, + globalObject: 'this' }, resolve : { alias : { @@ -78,9 +79,9 @@ module.exports = (env, argv) => { amd : "leaflet", root : "L" }, - request : { - commonjs2 : "request", - commonjs : "request", + "node-fetch" : { + commonjs2 : "node-fetch", + commonjs : "node-fetch", amd : "require" }, xmldom : { diff --git a/build/webpack/webpack.config.openlayers.js b/build/webpack/webpack.config.openlayers.js index e22a63cbe..cc2fa983c 100644 --- a/build/webpack/webpack.config.openlayers.js +++ b/build/webpack/webpack.config.openlayers.js @@ -59,8 +59,9 @@ module.exports = (env, argv) => { path : path.join(ROOT, "dist", "openlayers"), filename : "[name]" + suffix + ".js", library : "Gp", - // libraryTarget : "umd", // FIXME on abandonne le mode umd !? - // umdNamedDefine : true // mode umd ! + // libraryTarget : "umd", + // umdNamedDefine : true, + // globalObject: 'this' }, resolve : { alias : { @@ -132,9 +133,9 @@ module.exports = (env, argv) => { amd : "ol", root : "ol" }, - request : { - commonjs2 : "request", - commonjs : "request", + "node-fetch" : { + commonjs2 : "node-fetch", + commonjs : "node-fetch", amd : "require" }, xmldom : { diff --git a/doc/CHANGELOG-itowns.md b/doc/CHANGELOG-itowns.md index 606849e0f..773dad1d2 100644 --- a/doc/CHANGELOG-itowns.md +++ b/doc/CHANGELOG-itowns.md @@ -55,6 +55,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [Extension Geoportail Itowns, version 2.3.1](#extension-geoportail-itowns-version-231) * [Summary](#summary-15) * [Changelog](#changelog-14) +- [Extension Geoportail Itowns, version 2.3.2](#extension-geoportail-itowns-version-232) + * [Summary](#summary-16) + * [Changelog](#changelog-15) @@ -413,3 +416,32 @@ Documentation : * [Security] --- +# Extension Geoportail Itowns, version 2.3.2 + +**30/03/2021** +> Release Extension Geoportail itowns + +## Summary + +## Changelog + +* [Added] + +* [Changed] + + - mise à jour d'iTowns en version 2.30 (#292) + +* [Deprecated] + +* [Removed] + +* [Fixed] + + - corrections des erreurs à partir de DeepScan (#288) + - corrections syntaxiques eslint (da275a284a07ddd8e32753eda57ad4ef283d34fb et 306506a2255b2f05558ddcb05210dce39135c804) + - correction de la synchronisation des couches vecteur tuilé avec leurs labels (#290) + + +* [Security] + +--- diff --git a/package.json b/package.json index ad17303e3..bf3a00f78 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "geoportal-extensions", "description": "French Geoportal Extensions for OpenLayers, Leaflet and iTowns libraries", - "version": "2.3.3", - "date": "30/03/2021", + "version": "2.3.4", + "date": "26/04/2021", "leafletExtName": "French Geoportal Extension for Leaflet", "leafletExtVersion": "2.1.8", "olExtName": "French Geoportal Extension for OpenLayers", - "olExtVersion": "3.0.14", + "olExtVersion": "3.0.15", "itownsExtName": "French Geoportal Extension for Itowns", "itownsExtVersion": "2.3.2", "main": "dist/leaflet/GpPluginLeaflet.js, dist/openlayers/GpPluginOpenLayers.js, dist/itowns/GpPluginItowns.js", @@ -66,7 +66,7 @@ "dependencies": { "@mapbox/mapbox-gl-style-spec": "13.11.0", "eventbusjs": "0.2.0", - "geoportal-access-lib": "2.1.7", + "geoportal-access-lib": "2.1.8", "itowns": "2.30.0", "leaflet": "1.7.1", "leaflet-draw": "1.0.4", diff --git a/src/Common/Controls/ProfileElevationPathDOM.js b/src/Common/Controls/ProfileElevationPathDOM.js index fa66fd1d0..75add5fc0 100644 --- a/src/Common/Controls/ProfileElevationPathDOM.js +++ b/src/Common/Controls/ProfileElevationPathDOM.js @@ -705,6 +705,13 @@ var ProfileElevationPathDOM = { var _points = data.points; + if (data.distance > 2000) { + data.unit = "km"; + for (let i = 0; i < _points.length; i++) { + _points[i].dist /= 1000; + } + } + var _displayProfileOptions = self.options.displayProfileOptions; var margin = { @@ -945,6 +952,27 @@ var ProfileElevationPathDOM = { AmCharts.addInitHandler(function () {}); + if (data.distance > 2000) { + data.unit = "km"; + for (let i = 0; i < _points.length; i++) { + _points[i].dist /= 1000; + } + } + + for (let i = 0; i < _points.length; i++){ + var dist = _points[i].dist; + var coeffArrond = 100; + if (dist > 100) { + coeffArrond = 1; + } else if (dist > 10) { + coeffArrond = 10; + } + + // Correction arrondi distance totale + dist = Math.round(dist * coeffArrond) / coeffArrond; + _points[i].dist = dist; + } + var settings = { type : "serial", pathToImages : "http://cdn.amcharts.com/lib/3/images/", @@ -960,7 +988,7 @@ var ProfileElevationPathDOM = { numberFormatter : { precision : -1, decimalSeparator : ",", - thousandsSeparato : " " + thousandsSeparator : " " }, categoryAxis : { color : "#5E5E5E", diff --git a/src/Common/Utils/LoggerByDefault.js b/src/Common/Utils/LoggerByDefault.js index d6c973443..1c5622a64 100644 --- a/src/Common/Utils/LoggerByDefault.js +++ b/src/Common/Utils/LoggerByDefault.js @@ -2,19 +2,48 @@ import * as Log from "loglevel"; var LoggerByDefault = { /** - *logger statique - * @param {String} [name="default"] - the logger name + * creation d'un logger statique * + * @param {String} [name="default"] - the logger name * @returns {Object} logger */ getLogger : function (name) { - // Substitute global constants configured at compile time + // INFO : + // à la compilation en mode production, on substitue __PRODUCTION__ + // avec "true", ceci desactive les loggers ! + // + // à la compilation en mode developpement, on substitue __PRODUCTION__ + // avec "false", ceci permet d'avoir les loggers actifs ! + // + // lors d'une utilisation en module es6, il n'y a pas de substitution de __PRODUCTION__, + // les loggers sont donc actifs par defaut ! + // + // > Substitute global constants configured at compile time // cf. webpack.config.js // on masque cette constante afin d'eviter "referenceerror not defined" - ("__PRODUCTION__".match(/true/)) - ? Log.disableAll() : Log.enableAll(); + ("__PRODUCTION__".match(/true/)) ? Log.disableAll() : Log.enableAll(); var logname = name || "default"; return Log.getLogger(logname); + }, + /** desactive tous les loggers */ + disableAll : function () { + var loggers = Log.getLoggers(); + for (const key in loggers) { + if (Object.hasOwnProperty.call(loggers, key)) { + const logger = loggers[key]; + logger.disableAll(); + } + } + }, + /** active tous les loggers */ + enableAll : function () { + var loggers = Log.getLoggers(); + for (const key in loggers) { + if (Object.hasOwnProperty.call(loggers, key)) { + const logger = loggers[key]; + logger.enableAll(); + } + } } }; diff --git a/src/Itowns/index.js b/src/Itowns/index.js index 0419a6dae..43b408dc9 100644 --- a/src/Itowns/index.js +++ b/src/Itowns/index.js @@ -14,6 +14,7 @@ * > LayerUtils: (...) * > MathUtils: (...) * > ProxyUtils: (...) +* > Logger: (...) * * > itownsExtended: (...) * @@ -98,6 +99,7 @@ export { default as LayerUtils } from "../Common/Utils/LayerUtils"; export { default as ProxyUtils } from "../Common/Utils/ProxyUtils"; export { default as ColorUtils } from "../Common/Utils/ColorUtils"; export { default as MathUtils } from "../Common/Utils/MathUtils"; +export { default as Logger } from "../Common/Utils/LoggerByDefault"; function deepCopy (source, target) { // Implementing Tail Call Elimination diff --git a/src/Leaflet/index.js b/src/Leaflet/index.js index 1289e0284..4880472c4 100644 --- a/src/Leaflet/index.js +++ b/src/Leaflet/index.js @@ -14,6 +14,7 @@ * > LayerUtils: (...) * > MathUtils: (...) * > ProxyUtils: (...) +* > Logger: (...) * * > LExtended: (...) * @@ -100,6 +101,7 @@ export { default as LayerUtils } from "../Common/Utils/LayerUtils"; export { default as ProxyUtils } from "../Common/Utils/ProxyUtils"; export { default as ColorUtils } from "../Common/Utils/ColorUtils"; export { default as MathUtils } from "../Common/Utils/MathUtils"; +export { default as Logger } from "../Common/Utils/LoggerByDefault"; // creation du namespace pour les extensions leaflet L.geoportalLayer = Layers; // WMS et WMTS diff --git a/src/OpenLayers/index.js b/src/OpenLayers/index.js index e356f368f..de3cd3602 100644 --- a/src/OpenLayers/index.js +++ b/src/OpenLayers/index.js @@ -14,6 +14,7 @@ * > LayerUtils: (...) * > MathUtils: (...) * > ProxyUtils: (...) +* > Logger: (...) * * > olExtended: (...) * > olUtils: (...) @@ -159,6 +160,8 @@ export { default as ProxyUtils } from "../Common/Utils/ProxyUtils"; export { default as ColorUtils } from "../Common/Utils/ColorUtils"; /** cf. Gp.MathUtils */ export { default as MathUtils } from "../Common/Utils/MathUtils"; +/** cf. Gp.Logger */ +export { default as Logger } from "../Common/Utils/LoggerByDefault"; function deepCopy (source, target) { // Implementing Tail Call Elimination