Skip to content

Commit 1035e3c

Browse files
committed
Ajout exemple pour le widget Catalogue
1 parent ed2380d commit 1035e3c

File tree

2 files changed

+153
-2
lines changed

2 files changed

+153
-2
lines changed
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
{{#extend "ol-sample-modules-dsfr-layout"}}
2+
3+
{{#content "vendor"}}
4+
5+
<link rel="stylesheet" href="{{ baseurl }}/dist/modules/GpfExtOlCatalog.css" />
6+
<script src="{{ baseurl }}/dist/modules/GpfExtOlCatalog.js"></script>
7+
{{/content}}
8+
9+
{{#content "head"}}
10+
<title>Sample OpenLayers LayerCatalog</title>
11+
{{/content}}
12+
13+
{{#content "style"}}
14+
<style>
15+
div#map {
16+
width: 100%;
17+
height: 500px;
18+
background-image:url("{{ resources }}/geoportail-waiting.gif");
19+
background-position:center center;
20+
background-repeat:no-repeat;
21+
}
22+
</style>
23+
{{/content}}
24+
25+
{{#content "body"}}
26+
<h2>Ajout du gestionnaire de catalogue avec options sur les categories avec sections</h2>
27+
<!-- map -->
28+
<div id="map">
29+
</div>
30+
{{/content}}
31+
32+
{{#content "js"}}
33+
<script type="text/javascript">
34+
if (window.Gp) {
35+
// activation des loggers
36+
Gp.Logger.enableAll();
37+
}
38+
var map;
39+
var createMap = function() {
40+
// on cache l'image de chargement du Géoportail.
41+
document.getElementById('map').style.backgroundImage = 'none';
42+
43+
//Création de la map
44+
map = new ol.Map({
45+
target : "map",
46+
layers : [
47+
new ol.layer.Tile({
48+
source: new ol.source.OSM(),
49+
opacity: 0.5
50+
})
51+
],
52+
view : new ol.View({
53+
center : [288074.8449901076, 6247982.515792289],
54+
zoom : 8
55+
})
56+
});
57+
58+
var catalog = new ol.control.Catalog({
59+
position: "top-left",
60+
titlePrimary : "",
61+
categories : [
62+
{
63+
title : "Fonds de carte",
64+
id : "base",
65+
filter : {
66+
field : "base",
67+
value : "true"
68+
}
69+
},
70+
{
71+
title : "Données",
72+
id : "data",
73+
items : [
74+
{
75+
title : "Thème",
76+
default : true,
77+
section : true,
78+
filter : {
79+
field : "thematic",
80+
value : "*"
81+
// value : ["Hydrologie", "Agriculture", "Transports"] // all : "*"
82+
}
83+
},
84+
{
85+
title : "Producteur",
86+
section : true,
87+
filter : {
88+
field : "producer",
89+
value : "*"
90+
}
91+
},
92+
{
93+
title : "Tout",
94+
section : false,
95+
filter : null
96+
}
97+
]
98+
},
99+
{
100+
title : "Services",
101+
id : "service",
102+
items : [
103+
{
104+
title : "WMTS",
105+
default : true,
106+
filter : {
107+
field : "service",
108+
value : "WMTS"
109+
}
110+
},
111+
{
112+
title : "WMS",
113+
filter : {
114+
field : "service",
115+
value : "WMS"
116+
}
117+
},
118+
{
119+
title : "TMS",
120+
filter : {
121+
field : "service",
122+
value : "TMS"
123+
}
124+
},
125+
{
126+
title : "WFS",
127+
filter : {
128+
field : "service",
129+
value : "WFS"
130+
}
131+
}
132+
]
133+
}
134+
]
135+
});
136+
map.addControl(catalog);
137+
};
138+
Gp.Services.getConfig({
139+
customConfigFile : "{{ configurl }}",
140+
callbackSuffix : "",
141+
// apiKey: "{{ apikey }}",
142+
timeOut : 20000,
143+
onSuccess : createMap,
144+
onFailure : (e) => {
145+
console.error(e);
146+
}
147+
});
148+
</script>
149+
{{/content}}
150+
151+
{{/extend}}

src/packages/Controls/Catalog/CatalogDOM.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,7 @@ var CatalogDOM = {
273273
</li>
274274
`;
275275
};
276-
277-
var strSubCategoriesRadios = "";
276+
278277
var tmplSubCategoryRadio = (subcategory) => {
279278
var checked = (subcategory.default) ? "checked" : "";
280279
return `
@@ -293,6 +292,7 @@ var CatalogDOM = {
293292
// chaque sous categories à son propre container de couches
294293
// et son bouton radio de groupe
295294
var strTabContents = "";
295+
var strSubCategoriesRadios = "";
296296
for (let j = 0; j < subcategories.length; j++) {
297297
const subcategory = subcategories[j];
298298
strSubCategoriesRadios += tmplSubCategoryRadio(subcategory);

0 commit comments

Comments
 (0)