Skip to content

Commit 0d70b1a

Browse files
committed
Better ZonedDateTime input handling
1 parent b35715e commit 0d70b1a

File tree

4 files changed

+39
-3
lines changed

4 files changed

+39
-3
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ public class EcrireGenClasse extends EcrireClasse {
193193
protected String classeVarInheritClePrimaire;
194194
protected String classeVarInheritClePrimaireCapitalise;
195195

196+
protected String classeVarZone;
197+
196198
protected String classeVarEmplacement;
197199
protected String classeVarEmplacementCouleur;
198200
protected String classeVarEmplacementTitre;

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

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,10 @@ else if("LocalDate".equals(entiteNomSimple)) {
398398
tl(1, "{%- if 'Page' == ", langueConfig.getString(I18n.var_classeApiMethodeMethode), " %}");
399399
tl(1, "{%- endif %}");
400400
tl(11, "data-", classeVarId, "={{ ", i18nGlobale.getString(I18n.var_resultat), ".", classeVarId, " | tojson }}");
401+
if(classeVarZone != null)
402+
tl(11, "data-zone=\"{{ ", i18nGlobale.getString(I18n.var_resultat), ".", classeVarZone, " | e }}\"");
403+
else
404+
tl(11, "data-zone=\"{{ defaultZoneId }}\"");
401405
tl(11, ">");
402406
tl(9, "</", composantsWebPrefixe, "input>");
403407
}
@@ -427,6 +431,10 @@ else if("LocalDateTime".equals(entiteNomSimple) || "ZonedDateTime".equals(entite
427431
tl(1, "{%- if 'Page' == ", langueConfig.getString(I18n.var_classeApiMethodeMethode), " %}");
428432
tl(1, "{%- endif %}");
429433
tl(11, "data-", classeVarId, "={{ ", i18nGlobale.getString(I18n.var_resultat), ".", classeVarId, " | tojson }}");
434+
if(classeVarZone != null)
435+
tl(11, "data-zone=\"{{ ", i18nGlobale.getString(I18n.var_resultat), ".", classeVarZone, " | e }}\"");
436+
else
437+
tl(11, "data-zone=\"{{ defaultZoneId }}\"");
430438
tl(11, ">");
431439
tl(9, "</", composantsWebPrefixe, "input>");
432440
}
@@ -457,6 +465,10 @@ else if("LocalTime".equals(entiteNomSimple)) {
457465
tl(11, "id=\"{{", langueConfig.getString(I18n.var_classeApiMethodeMethode), "}}_", entiteVar, "\"");
458466
tl(11, "value=\"{{", i18nGlobale.getString(I18n.var_resultat), ".", entiteVar, " | e }}\"");
459467
tl(11, "data-", classeVarId, "={{ ", i18nGlobale.getString(I18n.var_resultat), ".", classeVarId, " | tojson }}");
468+
if(classeVarZone != null)
469+
tl(11, "data-zone=\"{{ ", i18nGlobale.getString(I18n.var_resultat), ".", classeVarZone, " | e }}\"");
470+
else
471+
tl(11, "data-zone=\"{{ defaultZoneId }}\"");
460472
tl(11, "></", composantsWebPrefixe, "input>");
461473
}
462474
else if("Boolean".equals(entiteNomSimple)) {
@@ -1315,9 +1327,10 @@ public void pageCodeClasseJava(String langueNom, JsonObject langueConfig) throws
13151327
wJsEditionInit.tl(9, ", function(", langueConfig.getString(I18n.var_reponse), ", target) { ", langueConfig.getString(I18n.var_ajouterErreur), "(target); }");
13161328
wJsEditionInit.tl(9, ");");
13171329
} else if("LocalDateTime".equals(entiteNomSimple) || "ZonedDateTime".equals(entiteNomSimple)) {
1318-
wJsEditionInit.tl(7, "var timeZone = event.currentTarget.value.split('[').pop().split(']')[0];");
1319-
wJsEditionInit.tl(7, "var t1 = moment(event.currentTarget.value.split('[')[0].trim(), '", langueConfig.getString(I18n.str_DDDashMMDashYYYY_HHColonmm), "');");
1320-
wJsEditionInit.tl(7, "var t2 = moment.tz(event.currentTarget.value.split('[')[0].trim(), '", langueConfig.getString(I18n.str_DDDashMMDashYYYY_HHColonmm), "', timeZone);");
1330+
wJsEditionInit.tl(7, "var timeZone = event.currentTarget.getAttribute('data-zone');");
1331+
// wJsEditionInit.tl(7, "var timeZone = event.currentTarget.value.split('[').pop().split(']')[0];");
1332+
wJsEditionInit.tl(7, "var t1 = moment(event.currentTarget.value, \"YYYY-MM-DDTHH:mm\");");
1333+
wJsEditionInit.tl(7, "var t2 = moment.tz(event.currentTarget.value, \"YYYY-MM-DDTHH:mm\", timeZone);");
13211334
wJsEditionInit.tl(7, "var t3 = new Date(t1._d);");
13221335
wJsEditionInit.tl(7, "t3.setTime(t1.toDate().getTime() + t2.toDate().getTime() - t1.toDate().getTime());");
13231336
wJsEditionInit.tl(7, "var t = moment(t3);");

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ public void ecrireGenClasse(JsonObject doc, String langueNom) throws Exception {
264264
classeVarIdSuffixeSolr = doc.getString("classeVarIdSuffixeSolr_stored_string");
265265
classeVarNomSuffixeSolr = doc.getString("classeVarNomSuffixeSolr_stored_string");
266266
classeVarCleUnique = doc.getString("classeVarCleUnique_" + langueNom + "_stored_string");
267+
classeVarZone = doc.getString("classeVarZone_" + langueNom + "_stored_string");
267268
classeVarEmplacement = doc.getString("classeVarEmplacement_" + langueNom + "_stored_string");
268269
classeVarEmplacementCouleur = doc.getString("classeVarEmplacementCouleur_" + langueNom + "_stored_string");
269270
classeVarEmplacementTitre = doc.getString("classeVarEmplacementTitre_" + 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
@@ -1996,6 +1996,7 @@ public SolrInputDocument indexerClasse(String classeCheminAbsolu, SolrInputDocum
19961996
String classeVarInheritClePrimaireSolr = null;
19971997
String classeVarSauvegardes = null;
19981998
String classeVarCleUnique = null;
1999+
String classeVarZone = null;
19992000
String classeVarEmplacement = null;
20002001
String classeVarEmplacementCouleur = null;
20012002
String classeVarEmplacementTitre = null;
@@ -3442,6 +3443,7 @@ else if("LocalTime".equals(entiteMapCleType) && NumberUtils.isCreatable(entiteMa
34423443
Boolean entiteInheritClePrimaire = indexerStockerSolr(entiteDoc, "entiteInheritClePrimaire", regexTrouve("^" + i18nGlobale.getString(I18n.var_InheritClePrimaire) + ": (true)$", methodeCommentaire));
34433444
Boolean entiteSauvegardes = indexerStockerSolr(entiteDoc, "entiteSauvegardes", regexTrouve("^" + i18nGlobale.getString(I18n.var_Sauvegardes) + ": (true)$", methodeCommentaire));
34443445
Boolean entiteCleUnique = indexerStockerSolr(entiteDoc, "entiteCleUnique", regexTrouve("^" + i18nGlobale.getString(I18n.var_CleUnique) + ": (true)$", methodeCommentaire));
3446+
Boolean entiteZone = indexerStockerSolr(entiteDoc, "entiteZone", regexTrouve("^" + i18nGlobale.getString(I18n.var_Zone) + ": (true)$", methodeCommentaire));
34453447
Boolean entiteEmplacement = indexerStockerSolr(entiteDoc, "entiteEmplacement", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + ": (true)$", methodeCommentaire));
34463448
Boolean entiteEmplacementCouleur = indexerStockerSolr(entiteDoc, "entiteEmplacementCouler", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Couleur) + ": (true)$", methodeCommentaire));
34473449
Boolean entiteEmplacementTitre = indexerStockerSolr(entiteDoc, "entiteEmplacementTitre", regexTrouve("^" + i18nGlobale.getString(I18n.var_Emplacement) + i18nGlobale.getString(I18n.var_Titre) + ": (true)$", methodeCommentaire));
@@ -4607,6 +4609,9 @@ else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniqueString)) {
46074609
if(entiteCleUnique) {
46084610
classeVarCleUnique = stockerSolr(classeLangueNom, classeDoc, "classeVarCleUnique", entiteVar);
46094611
}
4612+
if(entiteZone) {
4613+
classeVarZone = stockerSolr(classeLangueNom, classeDoc, "classeVarZone", entiteVar);
4614+
}
46104615
if(entiteEmplacement) {
46114616
classeVarEmplacement = stockerSolr(classeLangueNom, classeDoc, "classeVarEmplacement", entiteVar);
46124617
}
@@ -5090,6 +5095,21 @@ else if(groupe1 != null && !groupe1.contains("+"))
50905095
}
50915096
}
50925097

5098+
if(classeVarZone == null && classeSuperDoc != null) {
5099+
classeVarZone = (String)classeSuperDoc.get("classeVarZone_" + classeLangueNom + "_stored_string");
5100+
if(classeVarZone != null) {
5101+
stockerSolr(classeLangueNom, classeDoc, "classeVarZone", classeVarZone);
5102+
if(classeTraduire) {
5103+
for(String langueNom : classeAutresLangues) {
5104+
String classeVarZoneLangue = (String)classeSuperDoc.get("classeVarZone_" + langueNom + "_stored_string");
5105+
if(classeVarZoneLangue != null) {
5106+
stockerSolr(langueNom, classeDoc, "classeVarZone", classeVarZoneLangue);
5107+
}
5108+
}
5109+
}
5110+
}
5111+
}
5112+
50935113
if(classeVarEmplacement == null && classeSuperDoc != null) {
50945114
classeVarEmplacement = (String)classeSuperDoc.get("classeVarEmplacement_" + classeLangueNom + "_stored_string");
50955115
if(classeVarEmplacement != null) {

0 commit comments

Comments
 (0)