forked from ScoDoc/ScoDoc
create_api_map : bug fix query avec 1 element + légères optimisations
This commit is contained in:
parent
8cf11a2600
commit
476fb29065
@ -172,7 +172,7 @@ class Token:
|
|||||||
sub_group = ET.Element("g")
|
sub_group = ET.Element("g")
|
||||||
|
|
||||||
# On décale l'élément de la query vers la droite par rapport à l'élément parent
|
# On décale l'élément de la query vers la droite par rapport à l'élément parent
|
||||||
translate_x = x_offset + x_step
|
translate_x = x_offset + _get_group_width(group) + x_step // 2
|
||||||
|
|
||||||
# création élément (param)
|
# création élément (param)
|
||||||
param_el = _create_svg_element(key, COLORS.BLUE)
|
param_el = _create_svg_element(key, COLORS.BLUE)
|
||||||
@ -192,7 +192,7 @@ class Token:
|
|||||||
# création élément (=)
|
# création élément (=)
|
||||||
equal_el = _create_svg_element("=", COLORS.GREY)
|
equal_el = _create_svg_element("=", COLORS.GREY)
|
||||||
# On met à jour le décalage en fonction de l'élément précédent
|
# On met à jour le décalage en fonction de l'élément précédent
|
||||||
translate_x = x_offset + x_step + _get_element_width(param_el)
|
translate_x += _get_element_width(param_el)
|
||||||
equal_el.set(
|
equal_el.set(
|
||||||
"transform",
|
"transform",
|
||||||
f"translate({translate_x}, {query_y_offset})",
|
f"translate({translate_x}, {query_y_offset})",
|
||||||
@ -202,11 +202,7 @@ class Token:
|
|||||||
# création élément (value)
|
# création élément (value)
|
||||||
value_el = _create_svg_element(value, COLORS.GREEN)
|
value_el = _create_svg_element(value, COLORS.GREEN)
|
||||||
# On met à jour le décalage en fonction des éléments précédents
|
# On met à jour le décalage en fonction des éléments précédents
|
||||||
translate_x = (
|
translate_x += _get_element_width(equal_el)
|
||||||
x_offset
|
|
||||||
+ x_step
|
|
||||||
+ sum(_get_element_width(el) for el in [param_el, equal_el])
|
|
||||||
)
|
|
||||||
value_el.set(
|
value_el.set(
|
||||||
"transform",
|
"transform",
|
||||||
f"translate({translate_x}, {query_y_offset})",
|
f"translate({translate_x}, {query_y_offset})",
|
||||||
@ -214,16 +210,13 @@ class Token:
|
|||||||
sub_group.append(value_el)
|
sub_group.append(value_el)
|
||||||
# Si il y a qu'un seul élément dans la query, on ne met pas de `&`
|
# Si il y a qu'un seul élément dans la query, on ne met pas de `&`
|
||||||
if len(self.query) == 1:
|
if len(self.query) == 1:
|
||||||
|
query_sub_element.append(sub_group)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# création élément (&)
|
# création élément (&)
|
||||||
ampersand_group = _create_svg_element("&", "rgb(224,224,224)")
|
ampersand_group = _create_svg_element("&", "rgb(224,224,224)")
|
||||||
# On met à jour le décalage en fonction des éléments précédents
|
# On met à jour le décalage en fonction des éléments précédents
|
||||||
translate_x = (
|
translate_x += _get_element_width(value_el)
|
||||||
x_offset
|
|
||||||
+ x_step
|
|
||||||
+ sum(_get_element_width(el) for el in [param_el, equal_el, value_el])
|
|
||||||
)
|
|
||||||
ampersand_group.set(
|
ampersand_group.set(
|
||||||
"transform",
|
"transform",
|
||||||
f"translate({translate_x}, {query_y_offset})",
|
f"translate({translate_x}, {query_y_offset})",
|
||||||
@ -466,6 +459,9 @@ def gen_api_map(app, endpoint_start="api"):
|
|||||||
# On positionne le token courant sur le token racine
|
# On positionne le token courant sur le token racine
|
||||||
current_token = api_map
|
current_token = api_map
|
||||||
|
|
||||||
|
# Récupération de la fonction associée à la route
|
||||||
|
func = app.view_functions[rule.endpoint]
|
||||||
|
|
||||||
# Pour chaque segment de la route
|
# Pour chaque segment de la route
|
||||||
for i, segment in enumerate(segments):
|
for i, segment in enumerate(segments):
|
||||||
# On cherche si le segment est déjà un enfant du token courant
|
# On cherche si le segment est déjà un enfant du token courant
|
||||||
@ -473,7 +469,6 @@ def gen_api_map(app, endpoint_start="api"):
|
|||||||
|
|
||||||
# Si ce n'est pas le cas on crée un nouveau token et on l'ajoute comme enfant
|
# Si ce n'est pas le cas on crée un nouveau token et on l'ajoute comme enfant
|
||||||
if child is None:
|
if child is None:
|
||||||
func = app.view_functions[rule.endpoint]
|
|
||||||
# Si c'est le dernier segment, on marque le token comme une leaf
|
# Si c'est le dernier segment, on marque le token comme une leaf
|
||||||
# On utilise force_leaf car il est possible que le token ne soit que
|
# On utilise force_leaf car il est possible que le token ne soit que
|
||||||
# momentanément une leaf
|
# momentanément une leaf
|
||||||
|
Loading…
Reference in New Issue
Block a user