@geogirafe/lib-geoportal 0.6.0 → 0.7.0-1465736587
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +109 -101
- package/LICENSE +234 -234
- package/README.md +198 -180
- package/base/GirafeHTMLElement.d.ts +39 -16
- package/base/GirafeHTMLElement.js +98 -32
- package/base/GirafeHTMLElement.spec.js +224 -2
- package/base/GirafeResizableElement.d.ts +20 -10
- package/base/GirafeResizableElement.js +138 -163
- package/base/GirafeResizableElement.spec.js +136 -0
- package/base/GirafeSingleton.d.ts +2 -2
- package/base/GirafeSingleton.js +0 -1
- package/base/GirafeSingleton.spec.js +44 -0
- package/buildtools/lib-inline.js +17 -17
- package/buildtools/main.js +2 -0
- package/buildtools/tools.js +120 -104
- package/buildtools/vite-inline-templates-plugin.js +17 -17
- package/components/about/component.d.ts +3 -3
- package/components/about/component.js +1 -57
- package/components/about/images/logo.png +0 -0
- package/components/basemap/component.d.ts +0 -1
- package/components/basemap/component.js +16 -24
- package/components/colorswitcher/component.d.ts +3 -14
- package/components/colorswitcher/component.js +33 -155
- package/components/coordinate/component.js +1 -16
- package/components/drawing/assets/locate.svg +1 -0
- package/components/drawing/assets/notVisible.svg +1 -0
- package/components/drawing/assets/visible.svg +1 -0
- package/components/drawing/cesiumDrawing.d.ts +29 -0
- package/components/drawing/cesiumDrawing.js +394 -0
- package/components/drawing/component.d.ts +38 -0
- package/components/drawing/component.js +388 -0
- package/components/drawing/drawingFeature.d.ts +78 -0
- package/components/drawing/drawingFeature.js +292 -0
- package/components/drawing/olDrawing.d.ts +39 -0
- package/components/drawing/olDrawing.js +366 -0
- package/components/drawing/shapeNamer.d.ts +3 -0
- package/components/{redlining → drawing}/shapeNamer.js +2 -3
- package/components/globe/component.js +1 -3
- package/components/globe/images/globe.svg +55 -55
- package/components/globe/images/map-2d.svg +56 -56
- package/components/globe/images/map-3d.svg +55 -55
- package/components/globe/images/map-split.svg +60 -60
- package/components/help/component.js +1 -91
- package/components/infobox/component.js +1 -67
- package/components/language/component.js +1 -3
- package/components/lidar/panel/component.js +69 -163
- package/components/lidar/profile/component.js +19 -137
- package/components/lidar/tools/lidarinterface.d.ts +1 -1
- package/components/lidar/tools/manager.js +18 -18
- package/components/lidar/tools/plot.js +1 -1
- package/components/lidar/tools/utils.d.ts +0 -2
- package/components/lidar/tools/utils.js +2 -11
- package/components/lr-panel/component.d.ts +2 -4
- package/components/lr-panel/component.js +26 -123
- package/components/main.d.ts +10 -4
- package/components/main.js +10 -4
- package/components/map/component.d.ts +15 -7
- package/components/map/component.js +118 -212
- package/components/map/tools/cogmanager.d.ts +18 -0
- package/components/map/tools/cogmanager.js +55 -0
- package/components/map/tools/focusfeature.js +7 -2
- package/components/map/tools/localfilemanager.js +1 -1
- package/components/map/tools/swipemanager.d.ts +14 -9
- package/components/map/tools/swipemanager.js +140 -91
- package/components/map/tools/viewmanager.d.ts +1 -1
- package/components/map/tools/viewmanager.js +10 -6
- package/components/map/tools/wmsmanager.d.ts +3 -0
- package/components/map/tools/wmsmanager.js +71 -44
- package/components/map/tools/wmsmanager3d.d.ts +0 -1
- package/components/map/tools/wmsmanager3d.js +1 -1
- package/components/map/tools/wmtsmanager.d.ts +14 -6
- package/components/map/tools/wmtsmanager.js +141 -70
- package/components/map/tools/xyzmanager.d.ts +19 -0
- package/components/map/tools/xyzmanager.js +51 -0
- package/components/menubutton/component.js +11 -57
- package/components/metadatawindow/component.d.ts +12 -0
- package/components/metadatawindow/component.js +68 -0
- package/components/navigation/navbookmarks/component.js +2 -32
- package/components/navigation/navhelper/component.js +44 -72
- package/components/oauth/component.d.ts +14 -0
- package/components/oauth/component.js +105 -0
- package/components/offline/component.d.ts +20 -0
- package/components/offline/component.js +116 -0
- package/components/offline/component.spec.js +66 -0
- package/components/print/component.js +151 -365
- package/components/print/tools/MFPLegendEncoder.d.ts +1 -1
- package/components/print/tools/MFPLegendEncoder.spec.js +1 -1
- package/components/print/tools/PrintManager.d.ts +1 -1
- package/components/print/tools/PrintManager.js +2 -2
- package/components/print/tools/PrintManager.spec.js +1 -1
- package/components/print/tools/printMaskManager.js +1 -1
- package/components/projection/component.js +1 -3
- package/components/projection/images/proj.svg +60 -60
- package/components/prototypebanner/component.js +2 -22
- package/components/querybuilder/component.d.ts +6 -1
- package/components/querybuilder/component.js +110 -130
- package/components/scale/component.js +1 -31
- package/components/search/component.d.ts +11 -3
- package/components/search/component.js +161 -182
- package/components/search-mobile/component.d.ts +5 -0
- package/components/search-mobile/component.js +54 -0
- package/components/selectiongrid/component.d.ts +4 -4
- package/components/selectiongrid/component.js +51 -186
- package/components/selectiongrid/images/center.svg +75 -75
- package/components/selectiongrid/tools/formatgridgeomvalue.js +6 -6
- package/components/selectiongrid/tools/{selectiongridmanager.d.ts → selectiontabulatormanager.d.ts} +16 -20
- package/components/selectiongrid/tools/{selectiongridmanager.js → selectiontabulatormanager.js} +81 -71
- package/components/selectionwindow/component.js +80 -277
- package/components/selectionwindow/images/center.svg +75 -75
- package/components/share/component.d.ts +1 -0
- package/components/share/component.js +55 -130
- package/components/share/tools/gmfmanager.d.ts +3 -1
- package/components/share/tools/gmfmanager.js +36 -2
- package/components/share/tools/iurlshortener.d.ts +1 -0
- package/components/share/tools/lstumanager.js +2 -0
- package/components/share/tools/lstumanager.spec.js +1 -0
- package/components/themes/component.d.ts +7 -5
- package/components/themes/component.js +71 -124
- package/components/themes/tools/customtheme.d.ts +13 -0
- package/components/themes/tools/customtheme.js +52 -0
- package/components/themes/tools/customthemesmanager.d.ts +4 -7
- package/components/themes/tools/customthemesmanager.js +35 -44
- package/components/themes-mobile/component.d.ts +23 -0
- package/components/themes-mobile/component.js +176 -0
- package/components/treeview/tools/draghelper.d.ts +8 -0
- package/components/treeview/tools/draghelper.js +29 -0
- package/components/treeview/tools/draghelper.spec.js +132 -0
- package/components/treeview/tools/dragmanager.d.ts +13 -0
- package/components/treeview/tools/dragmanager.js +76 -0
- package/components/treeview/tools/grouphelper.d.ts +7 -0
- package/components/treeview/tools/grouphelper.js +45 -0
- package/components/treeview/tools/treeviewelement.d.ts +22 -0
- package/components/treeview/tools/treeviewelement.js +105 -0
- package/components/treeview/tools/treeviewgroupelement.d.ts +12 -0
- package/components/treeview/tools/treeviewgroupelement.js +37 -0
- package/components/treeview/treeviewgroup/component.d.ts +12 -0
- package/components/treeview/treeviewgroup/component.js +144 -0
- package/components/{treeviewitem → treeview/treeviewitem}/component.d.ts +10 -9
- package/components/treeview/treeviewitem/component.js +381 -0
- package/components/treeview/treeviewroot/component.d.ts +20 -0
- package/components/treeview/treeviewroot/component.js +156 -0
- package/components/treeview/treeviewtheme/component.d.ts +12 -0
- package/components/treeview/treeviewtheme/component.js +139 -0
- package/components/videorecord/component.js +1 -6
- package/decs.d.ts +3 -4
- package/main.d.ts +8 -3
- package/main.js +53 -37
- package/models/events.d.ts +2 -1
- package/models/events.js +1 -0
- package/models/gmf.d.ts +4 -2
- package/models/layers/baselayer.d.ts +6 -1
- package/models/layers/baselayer.js +21 -1
- package/models/layers/grouplayer.d.ts +1 -0
- package/models/layers/grouplayer.js +1 -0
- package/models/layers/ilayerwithfilter.d.ts +2 -1
- package/models/layers/ilayerwithlegend.d.ts +2 -0
- package/models/layers/layer.d.ts +2 -0
- package/models/layers/layer.js +6 -0
- package/models/layers/layercog.d.ts +23 -0
- package/models/layers/layercog.js +45 -0
- package/models/layers/layerlocalfile.d.ts +1 -0
- package/models/layers/layerlocalfile.js +6 -0
- package/models/layers/layervectortiles.d.ts +1 -0
- package/models/layers/layervectortiles.js +1 -0
- package/models/layers/layerwms.d.ts +5 -3
- package/models/layers/layerwms.js +18 -12
- package/models/layers/layerwmts.d.ts +11 -1
- package/models/layers/layerwmts.js +38 -0
- package/models/layers/layerxyz.d.ts +23 -0
- package/models/layers/layerxyz.js +45 -0
- package/models/layers/themelayer.d.ts +31 -0
- package/models/layers/themelayer.js +83 -0
- package/models/main.d.ts +3 -1
- package/models/main.js +3 -1
- package/models/serverwfs.d.ts +10 -5
- package/models/serverwfs.js +29 -6
- package/models/xmlTypes.d.ts +6 -0
- package/models/xmlTypes.js +27 -0
- package/package.json +142 -133
- package/public/about.json +1 -6
- package/public/icons/checked-full.svg +1 -0
- package/public/icons/checked-half.svg +1 -0
- package/public/icons/checked-no.svg +1 -0
- package/public/icons/drag.svg +9 -0
- package/public/icons/error.svg +1 -0
- package/public/icons/expand-all.svg +9 -0
- package/public/icons/filter.svg +9 -0
- package/public/icons/globe.svg +1 -0
- package/public/icons/info.svg +9 -1
- package/public/icons/layer-group.svg +55 -55
- package/public/icons/legend.svg +9 -0
- package/public/icons/lidar.svg +3 -3
- package/public/icons/loading.svg +1 -0
- package/public/icons/offline-download.svg +1 -0
- package/public/icons/offline.svg +1 -0
- package/public/icons/online.svg +1 -0
- package/public/icons/opacity.svg +9 -0
- package/public/icons/swipe-left.svg +9 -0
- package/public/icons/swipe-right.svg +9 -0
- package/public/icons/themes.svg +1 -0
- package/public/icons/trash.svg +9 -0
- package/public/icons/zoom.svg +1 -0
- package/public/images/basemap.png +0 -0
- package/public/lib/fontawesome/css/all.min.css +5 -5
- package/public/site.webmanifest +19 -19
- package/styles/common.css +99 -1
- package/styles/common.mobile.css +22 -0
- package/styles/index.css +311 -266
- package/styles/mobile.css +78 -0
- package/tools/configuration/configmanager.d.ts +3 -0
- package/tools/configuration/configmanager.js +43 -5
- package/tools/configuration/configmanager.spec.js +40 -3
- package/tools/configuration/girafeconfig.d.ts +38 -4
- package/tools/configuration/girafeconfig.js +81 -15
- package/tools/error/errormanager.d.ts +19 -0
- package/tools/error/errormanager.js +177 -0
- package/tools/error/errormanager.spec.d.ts +1 -0
- package/tools/error/errormanager.spec.js +71 -0
- package/tools/{csvManager.d.ts → export/csvmanager.d.ts} +2 -2
- package/tools/{csvManager.js → export/csvmanager.js} +3 -3
- package/tools/export/csvmanager.spec.d.ts +1 -0
- package/tools/export/csvmanager.spec.js +59 -0
- package/tools/{download.js → export/download.js} +1 -1
- package/tools/export/download.spec.d.ts +1 -0
- package/tools/export/download.spec.js +42 -0
- package/tools/featuretogriddatabyid.d.ts +2 -2
- package/tools/featuretogriddatabyid.js +24 -9
- package/tools/featuretogriddatabyid.spec.js +24 -9
- package/tools/geometrytools.d.ts +8 -0
- package/tools/geometrytools.js +37 -0
- package/tools/{i18nmanager.d.ts → i18n/i18nmanager.d.ts} +6 -6
- package/tools/i18n/i18nmanager.js +114 -0
- package/tools/i18n/i18nmanager.spec.d.ts +1 -0
- package/tools/i18n/i18nmanager.spec.js +216 -0
- package/tools/layermanager.d.ts +5 -2
- package/tools/layermanager.js +58 -48
- package/tools/logging/logmanager.d.ts +37 -0
- package/tools/logging/logmanager.js +108 -0
- package/tools/logging/logmanager.spec.d.ts +1 -0
- package/tools/logging/logmanager.spec.js +125 -0
- package/tools/main.d.ts +15 -7
- package/tools/main.js +15 -7
- package/tools/oauth/abstractoauthmanager.d.ts +23 -0
- package/tools/oauth/abstractoauthmanager.js +7 -0
- package/tools/oauth/keycloakmanager.d.ts +45 -0
- package/tools/oauth/keycloakmanager.js +166 -0
- package/tools/oauth/oauthmanager.d.ts +56 -0
- package/tools/oauth/oauthmanager.js +177 -0
- package/tools/oauth/oauthstatepersistencemanager.d.ts +12 -0
- package/tools/oauth/oauthstatepersistencemanager.js +151 -0
- package/tools/oauth/openidconnectmanager.d.ts +123 -0
- package/tools/oauth/openidconnectmanager.js +658 -0
- package/tools/oauth/utils.d.ts +2 -0
- package/tools/oauth/utils.js +3 -0
- package/tools/offline/offlinemanager.d.ts +39 -0
- package/tools/offline/offlinemanager.js +322 -0
- package/tools/offline/offlinemanager.spec.d.ts +1 -0
- package/tools/offline/offlinemanager.spec.js +64 -0
- package/tools/ordering/orderingmanager.d.ts +16 -0
- package/tools/ordering/orderingmanager.js +66 -0
- package/tools/ordering/orderingmanager.spec.d.ts +1 -0
- package/tools/ordering/orderingmanager.spec.js +128 -0
- package/tools/resizewindow.js +1 -1
- package/tools/share/statedeserializer.js +30 -25
- package/tools/share/stateserializer.js +6 -5
- package/tools/share/stateserializer.spec.js +71 -0
- package/tools/state/mapposition.d.ts +2 -2
- package/tools/state/mapposition.js +1 -1
- package/tools/state/mapposition.spec.d.ts +1 -0
- package/tools/state/mapposition.spec.js +39 -0
- package/tools/state/state.d.ts +29 -16
- package/tools/state/state.js +34 -14
- package/tools/{stateToggleManager.d.ts → state/stateToggleManager.d.ts} +2 -2
- package/tools/state/stateToggleManager.spec.d.ts +1 -0
- package/tools/{stateToggleManager.spec.js → state/stateToggleManager.spec.js} +8 -8
- package/tools/state/statemanager.js +3 -3
- package/tools/state/statemanager.spec.js +9 -9
- package/tools/tests/layerhelpers.d.ts +6 -4
- package/tools/tests/layerhelpers.js +15 -8
- package/tools/tests/mockhelper.d.ts +8 -0
- package/tools/tests/mockhelper.js +11 -3
- package/tools/tests/olhelpers.d.ts +1 -1
- package/tools/tests/olhelpers.js +5 -5
- package/tools/themesmanager.d.ts +19 -5
- package/tools/themesmanager.js +94 -28
- package/tools/themesmanager.spec.d.ts +1 -0
- package/tools/themesmanager.spec.js +59 -0
- package/tools/utils/debounce.spec.d.ts +1 -0
- package/tools/utils/debounce.spec.js +57 -0
- package/tools/{olutils.d.ts → utils/olutils.d.ts} +2 -1
- package/tools/{olutils.js → utils/olutils.js} +15 -2
- package/tools/utils/olutils.spec.d.ts +1 -0
- package/tools/utils/olutils.spec.js +64 -0
- package/tools/utils/utils.spec.d.ts +1 -0
- package/tools/wfs/abstractwfsquerymanager.d.ts +42 -0
- package/tools/wfs/abstractwfsquerymanager.js +256 -0
- package/tools/wfs/wfsfilter.d.ts +28 -0
- package/tools/wfs/wfsfilter.js +159 -0
- package/tools/wfs/wfsmanager.d.ts +24 -0
- package/tools/wfs/wfsmanager.js +135 -0
- package/tools/wfs/wfsquerymapservermanager.d.ts +5 -0
- package/tools/wfs/wfsquerymapservermanager.js +7 -0
- package/tools/wfs/wfsqueryqgismanager.d.ts +5 -0
- package/tools/wfs/wfsqueryqgismanager.js +7 -0
- package/typings/common.d.ts +7 -7
- package/typings/vanilla-picker.d.ts +49 -49
- package/components/querybuilder/tools/filterhelper.d.ts +0 -16
- package/components/querybuilder/tools/filterhelper.js +0 -74
- package/components/redlining/cesiumRedlining.d.ts +0 -40
- package/components/redlining/cesiumRedlining.js +0 -397
- package/components/redlining/component.d.ts +0 -38
- package/components/redlining/component.js +0 -465
- package/components/redlining/olRedlining.d.ts +0 -29
- package/components/redlining/olRedlining.js +0 -322
- package/components/redlining/redliningFeature.d.ts +0 -61
- package/components/redlining/redliningFeature.js +0 -231
- package/components/redlining/redliningshape.d.ts +0 -11
- package/components/redlining/redliningshape.js +0 -12
- package/components/redlining/shapeNamer.d.ts +0 -4
- package/components/selectiongrid/tools/selectiongridmanager.spec.js +0 -29
- package/components/treeview/component.d.ts +0 -29
- package/components/treeview/component.js +0 -310
- package/components/treeview/images/legend.svg +0 -1
- package/components/treeviewgroup/component.d.ts +0 -20
- package/components/treeviewgroup/component.js +0 -240
- package/components/treeviewitem/component.js +0 -469
- package/public/Mock/capabilities.json +0 -1
- package/public/Mock/de.json +0 -1
- package/public/Mock/en.json +0 -1
- package/public/Mock/fr.json +0 -1
- package/public/Mock/themes.json +0 -1
- package/public/config.json +0 -85
- package/public/de.json +0 -5
- package/public/icons/basemap.svg +0 -59
- package/styles/index.mobile.css +0 -23
- package/tools/errormanager.d.ts +0 -11
- package/tools/errormanager.js +0 -62
- package/tools/i18nmanager.js +0 -121
- package/tools/messagemanager.d.ts +0 -13
- package/tools/messagemanager.js +0 -29
- package/tools/olutils.spec.js +0 -34
- package/tools/urlmanager.d.ts +0 -4
- package/tools/urlmanager.js +0 -8
- package/tools/wfsmanager.d.ts +0 -27
- package/tools/wfsmanager.js +0 -234
- /package/{components/selectiongrid/tools/selectiongridmanager.spec.d.ts → base/GirafeResizableElement.spec.d.ts} +0 -0
- /package/{tools/olutils.spec.d.ts → base/GirafeSingleton.spec.d.ts} +0 -0
- /package/components/{treeview/images → drawing/assets}/trash.svg +0 -0
- /package/{tools/stateToggleManager.spec.d.ts → components/offline/component.spec.d.ts} +0 -0
- /package/{tools/utils.spec.d.ts → components/treeview/tools/draghelper.spec.d.ts} +0 -0
- /package/{components/treeview/images → public/icons}/advanced.svg +0 -0
- /package/{components/treeview/images → public/icons}/expand.svg +0 -0
- /package/{components/treeview/images → public/icons}/simple.svg +0 -0
- /package/{components/treeview/images → public/icons}/swiper.svg +0 -0
- /package/tools/{download.d.ts → export/download.d.ts} +0 -0
- /package/tools/{stateToggleManager.js → state/stateToggleManager.js} +0 -0
- /package/tools/{debounce.d.ts → utils/debounce.d.ts} +0 -0
- /package/tools/{debounce.js → utils/debounce.js} +0 -0
- /package/tools/{utils.d.ts → utils/utils.d.ts} +0 -0
- /package/tools/{utils.js → utils/utils.js} +0 -0
- /package/tools/{utils.spec.js → utils/utils.spec.js} +0 -0
package/CONTRIBUTING.md
CHANGED
|
@@ -1,101 +1,109 @@
|
|
|
1
|
-
# Contribution guidelines
|
|
2
|
-
|
|
3
|
-
If you're reading this, you're probably thinking of contributing to GeoGirafe, and we're delighted!
|
|
4
|
-
|
|
5
|
-
In this document, you will find some essential information to help and guide you in your contributions.
|
|
6
|
-
You'll also find a few rules to follow so that you can contribute effectively to the project.
|
|
7
|
-
|
|
8
|
-
## Before contributing
|
|
9
|
-
|
|
10
|
-
Generally speaking, the GeoGirafe project is open to contributions of any kind.
|
|
11
|
-
There is no need for discussion if you contribute just a simple and quite obvious bugfix. So... just do it!
|
|
12
|
-
|
|
13
|
-
But for complexer changes or if you want to extent the functionalities, please **first open an issue to discuss your contribution before starting the work**. Let us know that you plan to contribute **before** you do any coding. Use mailing list or developer chat. Just avoid future disappointments and **let us know** early.
|
|
14
|
-
|
|
15
|
-
This will also avoid conflicts with others also working on the same subject.
|
|
16
|
-
|
|
17
|
-
## Licensing
|
|
18
|
-
|
|
19
|
-
Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired.
|
|
20
|
-
|
|
21
|
-
Please ensure you agree with the license of the project before contributing.
|
|
22
|
-
|
|
23
|
-
## Effectively contributing
|
|
24
|
-
|
|
25
|
-
### 1. Activate the pre-commit hooks
|
|
26
|
-
|
|
27
|
-
To enforce a consistent style of the code in the whole application, we have decided to use [prettier](https://prettier.io/).
|
|
28
|
-
If you commit regularly, prettier should be integrated in the git pre-commit hooks.
|
|
29
|
-
This can be done with the following command:
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
git config core.hookspath buildtools/git-hooks
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 2. Create a Branch and a Merge-Request
|
|
36
|
-
|
|
37
|
-
The first of all thing is to create a branch for your contribution.
|
|
38
|
-
Give it a intelligible name, and create an associated Merge-Request.
|
|
39
|
-
|
|
40
|
-
Add a description to the Merge-Request to explain with is it for, and mark it as _Draft_.
|
|
41
|
-
|
|
42
|
-
### 3. Code, commit early, push often.
|
|
43
|
-
|
|
44
|
-
For your contribution, please be attentive to the following points:
|
|
45
|
-
|
|
46
|
-
- Readable code is better than comments. Choose good class, method and variable names.
|
|
47
|
-
- Clean up the code: please delete commented code from your final contribution.
|
|
48
|
-
- Keep functions small and modular. The function complexity will be checked by our Sonarcloud rules.
|
|
49
|
-
- Do not add any external dependency to the project before discussing it. We do not want GeoGirafe to fall in the Npm-Blackhole of dependencies and to become unmaintainable.
|
|
50
|
-
- Ensure you deliver a minimum documentation of your contribution.
|
|
51
|
-
- Manage errors cases properly: Promises must be awaited and end with a .catch().
|
|
52
|
-
- Please declare variables properly as var, let and const depending on the case.
|
|
53
|
-
- Minimize nested test conditions to avoid brain overload.
|
|
54
|
-
- Please avoid the usage of foEach() loops. Prefer "for" and "for-of" loops instead: they preserve context, and can be breaked.
|
|
55
|
-
- There is little reason to NOT commit/push frequently. It doesn’t hurt, and you'll get feedback from the pipelines early.
|
|
56
|
-
|
|
57
|
-
### 4. Validate your Merge-Request
|
|
58
|
-
|
|
59
|
-
When you're done with the code, it's time to make a great Merge-Request !
|
|
60
|
-
Please:
|
|
61
|
-
|
|
62
|
-
- Verify there is not conflict that would prevent an merge of your code.
|
|
63
|
-
- Check the linting with `npm run lint`
|
|
64
|
-
- Verify that the pipelines passed successfully on your branch: https://gitlab.com/geogirafe/gg-viewer/-/pipelines
|
|
65
|
-
- Check the Sonarcloud reports directly on the Merge-Request, and fix the reported errors.
|
|
66
|
-
- Verify the accessibility of your contribution by using the Wave tools: https://wave.webaim.org/
|
|
67
|
-
|
|
68
|
-
When everything seems ok for you, you can remove the _Draft_ flag, and request a review from the GeoGirafe Team.
|
|
69
|
-
|
|
70
|
-
### 5. Review and merge
|
|
71
|
-
|
|
72
|
-
Every contribution will be reviewed. Therefore, the contribution quality should be appropriate (see points 2 and 3).
|
|
73
|
-
|
|
74
|
-
Once the merge request has been reviewed and accepted, it will be merged. If some changes are needed on your Merge-Request, we'll get in touch with you.
|
|
75
|
-
|
|
76
|
-
## Communication channels
|
|
77
|
-
|
|
78
|
-
You can contact us through the following channels:
|
|
79
|
-
|
|
80
|
-
- By opening an issue in this GitLab Repository
|
|
81
|
-
- By Email
|
|
82
|
-
|
|
83
|
-
## Thank you!
|
|
84
|
-
|
|
85
|
-
> « We ourselves feel that what we are doing is just a drop in the ocean.
|
|
86
|
-
> But the ocean would be less because of that missing drop. »
|
|
87
|
-
|
|
88
|
-
A big thank to all the contributors of GeoGirafe, in alphabetical order:
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
1
|
+
# Contribution guidelines
|
|
2
|
+
|
|
3
|
+
If you're reading this, you're probably thinking of contributing to GeoGirafe, and we're delighted!
|
|
4
|
+
|
|
5
|
+
In this document, you will find some essential information to help and guide you in your contributions.
|
|
6
|
+
You'll also find a few rules to follow so that you can contribute effectively to the project.
|
|
7
|
+
|
|
8
|
+
## Before contributing
|
|
9
|
+
|
|
10
|
+
Generally speaking, the GeoGirafe project is open to contributions of any kind.
|
|
11
|
+
There is no need for discussion if you contribute just a simple and quite obvious bugfix. So... just do it!
|
|
12
|
+
|
|
13
|
+
But for complexer changes or if you want to extent the functionalities, please **first open an issue to discuss your contribution before starting the work**. Let us know that you plan to contribute **before** you do any coding. Use mailing list or developer chat. Just avoid future disappointments and **let us know** early.
|
|
14
|
+
|
|
15
|
+
This will also avoid conflicts with others also working on the same subject.
|
|
16
|
+
|
|
17
|
+
## Licensing
|
|
18
|
+
|
|
19
|
+
Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired.
|
|
20
|
+
|
|
21
|
+
Please ensure you agree with the license of the project before contributing.
|
|
22
|
+
|
|
23
|
+
## Effectively contributing
|
|
24
|
+
|
|
25
|
+
### 1. Activate the pre-commit hooks
|
|
26
|
+
|
|
27
|
+
To enforce a consistent style of the code in the whole application, we have decided to use [prettier](https://prettier.io/).
|
|
28
|
+
If you commit regularly, prettier should be integrated in the git pre-commit hooks.
|
|
29
|
+
This can be done with the following command:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
git config core.hookspath buildtools/git-hooks
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 2. Create a Branch and a Merge-Request
|
|
36
|
+
|
|
37
|
+
The first of all thing is to create a branch for your contribution.
|
|
38
|
+
Give it a intelligible name, and create an associated Merge-Request.
|
|
39
|
+
|
|
40
|
+
Add a description to the Merge-Request to explain with is it for, and mark it as _Draft_.
|
|
41
|
+
|
|
42
|
+
### 3. Code, commit early, push often.
|
|
43
|
+
|
|
44
|
+
For your contribution, please be attentive to the following points:
|
|
45
|
+
|
|
46
|
+
- Readable code is better than comments. Choose good class, method and variable names.
|
|
47
|
+
- Clean up the code: please delete commented code from your final contribution.
|
|
48
|
+
- Keep functions small and modular. The function complexity will be checked by our Sonarcloud rules.
|
|
49
|
+
- Do not add any external dependency to the project before discussing it. We do not want GeoGirafe to fall in the Npm-Blackhole of dependencies and to become unmaintainable.
|
|
50
|
+
- Ensure you deliver a minimum documentation of your contribution.
|
|
51
|
+
- Manage errors cases properly: Promises must be awaited and end with a .catch().
|
|
52
|
+
- Please declare variables properly as var, let and const depending on the case.
|
|
53
|
+
- Minimize nested test conditions to avoid brain overload.
|
|
54
|
+
- Please avoid the usage of foEach() loops. Prefer "for" and "for-of" loops instead: they preserve context, and can be breaked.
|
|
55
|
+
- There is little reason to NOT commit/push frequently. It doesn’t hurt, and you'll get feedback from the pipelines early.
|
|
56
|
+
|
|
57
|
+
### 4. Validate your Merge-Request
|
|
58
|
+
|
|
59
|
+
When you're done with the code, it's time to make a great Merge-Request !
|
|
60
|
+
Please:
|
|
61
|
+
|
|
62
|
+
- Verify there is not conflict that would prevent an merge of your code.
|
|
63
|
+
- Check the linting with `npm run lint`
|
|
64
|
+
- Verify that the pipelines passed successfully on your branch: https://gitlab.com/geogirafe/gg-viewer/-/pipelines
|
|
65
|
+
- Check the Sonarcloud reports directly on the Merge-Request, and fix the reported errors.
|
|
66
|
+
- Verify the accessibility of your contribution by using the Wave tools: https://wave.webaim.org/
|
|
67
|
+
|
|
68
|
+
When everything seems ok for you, you can remove the _Draft_ flag, and request a review from the GeoGirafe Team.
|
|
69
|
+
|
|
70
|
+
### 5. Review and merge
|
|
71
|
+
|
|
72
|
+
Every contribution will be reviewed. Therefore, the contribution quality should be appropriate (see points 2 and 3).
|
|
73
|
+
|
|
74
|
+
Once the merge request has been reviewed and accepted, it will be merged. If some changes are needed on your Merge-Request, we'll get in touch with you.
|
|
75
|
+
|
|
76
|
+
## Communication channels
|
|
77
|
+
|
|
78
|
+
You can contact us through the following channels:
|
|
79
|
+
|
|
80
|
+
- By opening an issue in this GitLab Repository
|
|
81
|
+
- By Email
|
|
82
|
+
|
|
83
|
+
## Thank you!
|
|
84
|
+
|
|
85
|
+
> « We ourselves feel that what we are doing is just a drop in the ocean.
|
|
86
|
+
> But the ocean would be less because of that missing drop. »
|
|
87
|
+
|
|
88
|
+
A big thank to all the contributors of GeoGirafe, in alphabetical order:
|
|
89
|
+
|
|
90
|
+
- Anja Sutter @u222052 (Geoinformation Basel-Landschaft)
|
|
91
|
+
- Anne Maier @svamaa (Geoinformation Basel-Stadt)
|
|
92
|
+
- Arnaud Poncet-Montanges @ponceta (SIGIP)
|
|
93
|
+
- Ben Koch @beeekey (OpenGIS)
|
|
94
|
+
- Benjamin Gerber @ger-benjamin (Camptocamp SA)
|
|
95
|
+
- Clemens Rudert @crud3_rt (OpenGIS)
|
|
96
|
+
- Corentin Junod @D0lpic (SITN Neuchâtel)
|
|
97
|
+
- Daniel Gnerre @gnerred (Cartoriviera)
|
|
98
|
+
- Didier Dupertuis @dddpt (OpenGIS)
|
|
99
|
+
- Dietmar Schneider @sdietmar (Techplus Tirol)
|
|
100
|
+
- Guillaume Remy @remyguillaume (Geoinformation Basel-Stadt)
|
|
101
|
+
- Karsten Deininger @kdeininger (Geoinformation Basel-Landschaft)
|
|
102
|
+
- Loris Hubler @hubi_bs (Geoinformation Basel-Stadt)
|
|
103
|
+
- Matthew Parkan @matthew.parkan (SITN Neuchâtel)
|
|
104
|
+
- Michael Müller @michmuel (Geoinformation Basel-Landschaft)
|
|
105
|
+
- Olivier Monod @monodo (Yverdon-les-bains)
|
|
106
|
+
- Pauline Fanguin @pfanguin (Cartolacote)
|
|
107
|
+
- Rémi Bovard @rbovard (Cartoriviera)
|
|
108
|
+
- Ruth Albrecht (Geoinformation Basel-Landschaft)
|
|
109
|
+
- Stéphane Malta e Sousa @maltaesousa (SITN Neuchâtel)
|