Skip to content

Commit b01a0e2

Browse files
committed
Add custom svg and radius for map models
1 parent b815fdd commit b01a0e2

File tree

4 files changed

+80
-8
lines changed

4 files changed

+80
-8
lines changed

src/main/java/org/computate/frFR/java/EcrireGenClasse.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,10 @@ public class EcrireGenClasse extends EcrireClasse {
196196
protected String classeVarEmplacementCouleur;
197197
protected String classeVarEmplacementTitre;
198198
protected String classeVarEmplacementUrl;
199+
protected String classeEmplacementSvg;
200+
protected Integer classeEmplacementRayon;
201+
protected String classeVarEmplacementSvg;
202+
protected String classeVarEmplacementRayon;
199203

200204
protected String classeVarAire;
201205
protected String classeVarAireCouleur;

src/main/java/org/computate/frFR/java/EcrirePageClasse.java

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4012,14 +4012,36 @@ else if(entiteAttribuer) {
40124012
auteurPageJs.tl(7, ", \"geometry\": shape");
40134013
auteurPageJs.tl(7, ", \"index\": index");
40144014
auteurPageJs.tl(6, "}];");
4015-
auteurPageJs.tl(6, "var layer = L.geoJSON(features, {");
4015+
auteurPageJs.tl(6, "var layerGeoJson = L.geoJSON(features, {");
40164016
auteurPageJs.tl(7, "onEachFeature: onEachFeature");
40174017
auteurPageJs.tl(7, ", style: ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "");
40184018
auteurPageJs.tl(7, ", pointToLayer: function(feature, latlng) {");
40194019
auteurPageJs.tl(8, "return L.circleMarker(latlng, ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "(feature));");
40204020
auteurPageJs.tl(7, "}");
40214021
auteurPageJs.tl(6, "});");
4022-
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layer);");
4022+
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layerGeoJson);");
4023+
if(classeEmplacementSvg != null || classeVarEmplacementSvg != null) {
4024+
auteurPageJs.l();
4025+
auteurPageJs.tl(6, "var layerSvg = L.geoJSON(features, {");
4026+
auteurPageJs.tl(7, "onEachFeature: onEachFeature");
4027+
auteurPageJs.tl(7, ", style: ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "");
4028+
auteurPageJs.tl(7, ", pointToLayer: function(feature, latlng) {");
4029+
auteurPageJs.tl(8, "var svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');");
4030+
auteurPageJs.tl(8, "svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');");
4031+
if(classeVarEmplacementSvg != null) {
4032+
auteurPageJs.tl(8, "svgElement.innerHTML = ", varResultat, ".", classeVarEmplacementSvg, ";");
4033+
} else {
4034+
auteurPageJs.tl(8, "svgElement.innerHTML = '", classeEmplacementSvg.replace("'", "'"), "';");
4035+
}
4036+
auteurPageJs.tl(8, "svgElementBounds = L.latLng(", varResultat, ".", classeVarEmplacement, ".coordinates[1], ", varResultat, ".", classeVarEmplacement, ".coordinates[0]).toBounds(", classeVarEmplacementRayon != null ? varResultat + "." + classeVarEmplacementRayon : (classeEmplacementRayon != null ? classeEmplacementRayon : 100), ");");
4037+
auteurPageJs.tl(8, "var layer = L.svgOverlay(svgElement, svgElementBounds, {");
4038+
auteurPageJs.tl(9, "interactive: true");
4039+
auteurPageJs.tl(8, "});");
4040+
auteurPageJs.tl(8, "return layer;");
4041+
auteurPageJs.tl(7, "}");
4042+
auteurPageJs.tl(6, "});");
4043+
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layerSvg);");
4044+
}
40234045
auteurPageJs.tl(5, "});");
40244046
auteurPageJs.tl(4, "}");
40254047
}
@@ -4037,14 +4059,14 @@ else if(entiteAttribuer) {
40374059
auteurPageJs.tl(7, ", \"geometry\": shape");
40384060
auteurPageJs.tl(7, ", \"index\": index");
40394061
auteurPageJs.tl(6, "}];");
4040-
auteurPageJs.tl(6, "var layer = L.geoJSON(features, {");
4062+
auteurPageJs.tl(6, "var layerGeoJson = L.geoJSON(features, {");
40414063
auteurPageJs.tl(7, "onEachFeature: onEachFeature");
40424064
auteurPageJs.tl(7, ", style: ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "");
40434065
auteurPageJs.tl(7, ", pointToLayer: function(feature, latlng) {");
40444066
auteurPageJs.tl(8, "return L.circleMarker(latlng, ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "(feature));");
40454067
auteurPageJs.tl(7, "}");
40464068
auteurPageJs.tl(6, "});");
4047-
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layer);");
4069+
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layerGeoJson);");
40484070
auteurPageJs.tl(5, "});");
40494071
auteurPageJs.tl(4, "}");
40504072
}
@@ -4113,14 +4135,36 @@ else if(entiteAttribuer) {
41134135
auteurPageJs.tl(7, ", \"geometry\": shape");
41144136
auteurPageJs.tl(7, ", \"index\": index");
41154137
auteurPageJs.tl(6, "}];");
4116-
auteurPageJs.tl(6, "var layer = L.geoJSON(features, {");
4138+
auteurPageJs.tl(6, "var layerGeoJson = L.geoJSON(features, {");
41174139
auteurPageJs.tl(7, "onEachFeature: onEachFeature");
41184140
auteurPageJs.tl(7, ", style: ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "");
41194141
auteurPageJs.tl(7, ", pointToLayer: function(feature, latlng) {");
41204142
auteurPageJs.tl(8, "return L.circleMarker(latlng, ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "(feature));");
41214143
auteurPageJs.tl(7, "}");
41224144
auteurPageJs.tl(6, "});");
4123-
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layer);");
4145+
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layerGeoJson);");
4146+
if(classeEmplacementSvg != null || classeVarEmplacementSvg != null) {
4147+
auteurPageJs.l();
4148+
auteurPageJs.tl(6, "var layerSvg = L.geoJSON(features, {");
4149+
auteurPageJs.tl(7, "onEachFeature: onEachFeature");
4150+
auteurPageJs.tl(7, ", style: ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "");
4151+
auteurPageJs.tl(7, ", pointToLayer: function(feature, latlng) {");
4152+
auteurPageJs.tl(8, "var svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');");
4153+
auteurPageJs.tl(8, "svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');");
4154+
if(classeVarEmplacementSvg != null) {
4155+
auteurPageJs.tl(8, "svgElement.innerHTML = ", varResultat, ".", classeVarEmplacementSvg, ";");
4156+
} else {
4157+
auteurPageJs.tl(8, "svgElement.innerHTML = '", classeEmplacementSvg.replace("'", "'"), "';");
4158+
}
4159+
auteurPageJs.tl(8, "svgElementBounds = L.latLng(", varResultat, ".", classeVarEmplacement, ".coordinates[1], ", varResultat, ".", classeVarEmplacement, ".coordinates[0]).toBounds(", classeVarEmplacementRayon != null ? varResultat + "." + classeVarEmplacementRayon : (classeEmplacementRayon != null ? classeEmplacementRayon : 100), ");");
4160+
auteurPageJs.tl(8, "var layer = L.svgOverlay(svgElement, svgElementBounds, {");
4161+
auteurPageJs.tl(9, "interactive: true");
4162+
auteurPageJs.tl(8, "});");
4163+
auteurPageJs.tl(8, "return layer;");
4164+
auteurPageJs.tl(7, "}");
4165+
auteurPageJs.tl(6, "});");
4166+
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layerSvg);");
4167+
}
41244168
auteurPageJs.tl(5, "});");
41254169
auteurPageJs.tl(4, "}");
41264170
}
@@ -4138,14 +4182,14 @@ else if(entiteAttribuer) {
41384182
auteurPageJs.tl(7, ", \"geometry\": shape");
41394183
auteurPageJs.tl(7, ", \"index\": index");
41404184
auteurPageJs.tl(6, "}];");
4141-
auteurPageJs.tl(6, "var layer = L.geoJSON(features, {");
4185+
auteurPageJs.tl(6, "var layerGeoJson = L.geoJSON(features, {");
41424186
auteurPageJs.tl(7, "onEachFeature: onEachFeature");
41434187
auteurPageJs.tl(7, ", style: ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "");
41444188
auteurPageJs.tl(7, ", pointToLayer: function(feature, latlng) {");
41454189
auteurPageJs.tl(8, "return L.circleMarker(latlng, ", i18nPage.getString(I18n.var_jsStyle), classeNomSimple, "(feature));");
41464190
auteurPageJs.tl(7, "}");
41474191
auteurPageJs.tl(6, "});");
4148-
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layer);");
4192+
auteurPageJs.tl(6, "window.geoJSON", classeNomSimple, ".addLayer(layerGeoJson);");
41494193
auteurPageJs.tl(5, "});");
41504194
auteurPageJs.tl(4, "}");
41514195
}

src/main/java/org/computate/frFR/java/EcrireToutesClasses.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,10 @@ public void ecrireGenClasse(JsonObject doc, String langueNom) throws Exception {
266266
classeVarEmplacementCouleur = doc.getString("classeVarEmplacementCouleur_" + langueNom + "_stored_string");
267267
classeVarEmplacementTitre = doc.getString("classeVarEmplacementTitre_" + langueNom + "_stored_string");
268268
classeVarEmplacementUrl = doc.getString("classeVarEmplacementUrl_" + langueNom + "_stored_string");
269+
classeEmplacementSvg = doc.getString("classeEmplacementSvg_stored_string");
270+
classeEmplacementRayon = doc.getInteger("classeEmplacementRayon_stored_string");
271+
classeVarEmplacementSvg = doc.getString("classeVarEmplacementSvg_" + langueNom + "_stored_string");
272+
classeVarEmplacementRayon = doc.getString("classeVarEmplacementRayon_" + langueNom + "_stored_string");
269273
classeVarAire = doc.getString("classeVarAire_" + langueNom + "_stored_string");
270274
classeVarAireCouleur = doc.getString("classeVarAireCouleur_" + langueNom + "_stored_string");
271275
classeVarAireTitre = doc.getString("classeVarAireTitre_" + langueNom + "_stored_string");

src/main/java/org/computate/frFR/java/IndexerClasse.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2001,6 +2001,10 @@ public SolrInputDocument indexerClasse(String classeCheminAbsolu, SolrInputDocum
20012001
String classeVarEmplacementCouleur = null;
20022002
String classeVarEmplacementTitre = null;
20032003
String classeVarEmplacementUrl = null;
2004+
String classeEmplacementSvg = null;
2005+
String classeEmplacementRayon = null;
2006+
String classeVarEmplacementSvg = null;
2007+
String classeVarEmplacementRayon = null;
20042008
String classeVarAire = null;
20052009
String classeVarAireCouleur = null;
20062010
String classeVarAireTitre = null;
@@ -3448,6 +3452,8 @@ else if("LocalTime".equals(entiteMapCleType) && NumberUtils.isCreatable(entiteMa
34483452
Boolean entiteEmplacementCouleur = indexerStockerSolr(entiteDoc, "entiteEmplacementCouler", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Couleur) + ": (true)$", methodeCommentaire));
34493453
Boolean entiteEmplacementTitre = indexerStockerSolr(entiteDoc, "entiteEmplacementTitre", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Titre) + ": (true)$", methodeCommentaire));
34503454
Boolean entiteEmplacementUrl = indexerStockerSolr(entiteDoc, "entiteEmplacementUrl", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Url) + ": (true)$", methodeCommentaire));
3455+
Boolean entiteEmplacementSvg = indexerStockerSolr(entiteDoc, "entiteEmplacementSvg", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + "Svg: (true)$", methodeCommentaire));
3456+
Boolean entiteEmplacementRayon = indexerStockerSolr(entiteDoc, "entiteEmplacementRayon", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Rayon) + ": (true)$", methodeCommentaire));
34513457
Boolean entiteAire = indexerStockerSolr(entiteDoc, "entiteAire", regexTrouve("^" + i18nGlobale.getString(I18n.var_Aire) + ": (true)$", methodeCommentaire));
34523458
Boolean entiteAireCouleur = indexerStockerSolr(entiteDoc, "entiteAireCouler", regexTrouve("^" + i18nGlobale.getString(I18n.var_Aire) + i18nGlobale.getString(I18n.var_Couleur) + ": (true)$", methodeCommentaire));
34533459
Boolean entiteAireTitre = indexerStockerSolr(entiteDoc, "entiteAireTitre", regexTrouve("^" + i18nGlobale.getString(I18n.var_Aire) + i18nGlobale.getString(I18n.var_Titre) + ": (true)$", methodeCommentaire));
@@ -4628,6 +4634,12 @@ else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniqueString)) {
46284634
if(entiteEmplacementUrl) {
46294635
classeVarEmplacementUrl = stockerSolr(classeLangueNom, classeDoc, "classeVarEmplacementUrl", entiteVar);
46304636
}
4637+
if(entiteEmplacementSvg) {
4638+
classeVarEmplacementSvg = stockerSolr(classeLangueNom, classeDoc, "classeVarEmplacementSvg", entiteVar);
4639+
}
4640+
if(entiteEmplacementRayon) {
4641+
classeVarEmplacementRayon = stockerSolr(classeLangueNom, classeDoc, "classeVarEmplacementRayon", entiteVar);
4642+
}
46314643
if(entiteAire) {
46324644
classeVarAire = stockerSolr(classeLangueNom, classeDoc, "classeVarAire", entiteVar);
46334645
}
@@ -5520,6 +5532,14 @@ else if(groupe1 != null && !groupe1.contains("+"))
55205532
if(classeIcone != null)
55215533
indexerStockerSolr(classeDoc, "classeIcone", classeIcone);
55225534

5535+
classeEmplacementSvg = regex("^" + i18nGlobale.getString(I18n.var_Emplacement) + "Svg: (.*)", classeCommentaire);
5536+
if(classeEmplacementSvg != null)
5537+
indexerStockerSolr(classeDoc, "classeEmplacementSvg", classeEmplacementSvg);
5538+
5539+
String classeEmplacementRayonStr = regex("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Rayon) + ": (.*)", classeCommentaire);
5540+
if(NumberUtils.isParsable(classeEmplacementRayonStr))
5541+
classeLignes = indexerStockerSolr(classeDoc, "classeEmplacementRayon", Integer.parseInt(classeEmplacementRayonStr));
5542+
55235543
String classeLignesStr = regex("^" + i18nGlobale.getString(I18n.var_Lignes) + ": (.*)", classeCommentaire);
55245544
if(NumberUtils.isParsable(classeLignesStr))
55255545
classeLignes = indexerStockerSolr(classeDoc, "classeLignes", Integer.parseInt(classeLignesStr));

0 commit comments

Comments
 (0)