Commit 5206c45d authored by Thonier Florian's avatar Thonier Florian Committed by Mikaël Salson

numericalAxis.js : bug correction for FloatAxis label and value positions

link to #2703
parent 331df64f
......@@ -95,18 +95,9 @@ NumericalAxis.prototype = Object.create(GenericAxis.prototype);
if(this.can_undefined)
this.value_mapping["?"] = [];
for(var idx in this.clones) {
var clone = clones[idx];
if(!clone.isVirtual()) {
var value = this.applyConverter(clone);
if (typeof value == "undefined" || typeof this.value_mapping[value] == "undefined" ) {
if (this.can_undefined)
this.value_mapping["?"].push(clone);
}else{
this.value_mapping[value].push(clone);
}
}
}
// insert all the values into the valuemapping object
this.insert_values()
if (typeof min == "undefined"){
min = 0;
......@@ -151,6 +142,24 @@ NumericalAxis.prototype = Object.create(GenericAxis.prototype);
return {'pos': pos};
}
/**
* This function allow to insert all the values getted into the value_mapping object.
*/
NumericalAxis.prototype.insert_values = function() {
for(var idx in this.clones) {
var clone = this.clones[idx];
if(!clone.isVirtual()) {
var value = this.applyConverter(clone);
if (typeof value == "undefined" || typeof this.value_mapping[value] == "undefined") {
if (this.can_undefined)
this.value_mapping["?"].push(clone);
}else{
this.value_mapping[value].push(clone);
}
}
}
}
/**
* reset and build labels <br>
......@@ -270,5 +279,27 @@ function FloatAxis (model, reverse, can_undefined) {
FloatAxis.prototype = Object.create(NumericalAxis.prototype);
FloatAxis.prototype.getLabelText = function(value) {
return (value).toFixed(2)
return parseFloat(value).toFixed(2)
}
FloatAxis.prototype.insert_values = function() {
  • @flothoni, le soucis est qu'il y a maintenant un bloc de code quasi dupliqué. Il faudra trouver un jour quelque jour de plus factorisé (voir au passage #2700).

    (mais pas de soucis, tu avais fait cela rapidement avant le workshop)

  • J'essaie de comprendre pourqui il y a des différences entre Float et Numeric :

    Numeric: if (typeof value == "undefined" || typeof this.value_mapping[value] == "undefined") {

    Float: if (typeof value == "undefined" || value == undefined || value == "undefined") { et plus loin this.value_mapping[value] = this.value_mapping[value] || []

    Peut-on même pour Numeric les mêmes choses que Float pour ces lignes ?

    cc @RyanHerb

  • !138 (merged) met tout pareil. @flothoni, est-ce que cela te va ?

Please register or sign in to reply
for(var idx in this.clones) {
var clone = this.clones[idx];
if(!clone.isVirtual()) {
var value = this.applyConverter(clone)//.toFixed(2);
if (typeof value == "undefined" || value == undefined || value == "undefined") {
if (this.can_undefined)
this.value_mapping["?"].push(clone);
}else{
this.value_mapping[value] = this.value_mapping[value] || []
this.value_mapping[value].push(clone);
}
}
}
var temp = {}
for (key_pos in Object.keys(this.value_mapping).sort()){
key = Object.keys(this.value_mapping).sort()[key_pos]
temp[key] = this.value_mapping[key]
}
this.value_mapping = temp
  • Enfin, ces dernières lignes re-trient this.value_mapping. Pourquoi en a-t-on besoin en Float et pas en Numeric ? cc @RyanHerb @flothoni

  • C'est un peu moche mais l'idée c'est que lorsque l'on fait une boucle sur toutes les clé d'un objet, il les resort dans l'ordre de création de l'object.

    Or ici, on a un remplissage qui se fait en fonction des valeurs inclues par les clones, donc dans le désordre le plus complet, et il faut ensuite trier ces clés. Je passe pour ça par un object temporaire que je remplis avec les valeurs ordonnées du premier.

  • Ok. Je vais déplacer cela dans GenericAxis. Et j'imagine que ce n'est pas grave si on l'appelle aussi pour Numeric.

  • Et j'imagine que ce n'est pas grave si on l'appelle aussi pour Numeric.

    (Et le désordre pourrait aussi arriver avec des axes Numeric.)

Please register or sign in to reply
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment