Closed Epithumia closed 1 year ago
Ok pour ce genre de lignes :
createOptions("sql_case", ["snake_case", "camelCase", "PascalCase"], "snake_case");
createOptions("strengthen_card", ["_1,1_", "(1,1)", "1,1 (R)", "(R) 1,1", "1,1"], "_1,1_");
createOptions("fk_prefix", ["#", ""], "#");
Il y a cependant un problème : la syntaxe _1,1_
ne devrait pas être exposée à l'utilisateur de Mocodo online. Il faudrait 1,1. Mais je ne sais pas comment on fait dans un menu, et pas le temps de regarder ça en ce moment.
Pour le reste, je verrais peut-être une fonction à part qu'on appellerait trois fois pour placer chaque menu au bout de la ligne de l'option appropriée.
Ok pour ce genre de lignes :
createOptions("sql_case", ["snake_case", "camelCase", "PascalCase"], "snake_case"); createOptions("strengthen_card", ["_1,1_", "(1,1)", "1,1 (R)", "(R) 1,1", "1,1"], "_1,1_"); createOptions("fk_prefix", ["#", ""], "#");
Il y a cependant un problème : la syntaxe
_1,1_
ne devrait pas être exposée à l'utilisateur de Mocodo online. Il faudrait 1,1. Mais je ne sais pas comment on fait dans un menu, et pas le temps de regarder ça en ce moment.
En HTML natif, c'est impossible, il faut passer par une bibliothèque qui réimplemente select (par exemple https://select2.org) en l'augmentant pour que ça soit dessiné par le navigateur et non par l'OS.
Il faudra aussi modifier createOptions
pour qu'il puisse avoir une valeur différente entre ce qui est affiché et ce qui est envoyé à mocodo.
Pour le reste, je verrais peut-être une fonction à part qu'on appellerait trois fois pour placer chaque menu au bout de la ligne de l'option appropriée.
Ca me paraît ingérable en l'état car il n'y a pas de moyen simple d'identifier les lignes : il faut trouver le bon input, récupérer son grand-père (le <li>
dans lequel le <span>
contenant la checkbox se trouve), puis insérer le HTML du menu déroulant dans ce <li>
après ce span. Pour moi, la légère modification de createCheckboxes
est plus maintenable : si par la suite on veut rajouter quelque chose, on a juste à remplir la propriété "extra", et sinon le code généré reste inchangé.
En HTML natif, c'est impossible, il faut passer par une bibliothèque qui réimplemente select (par exemple https://select2.org) en l'augmentant pour que ça soit dessiné par le navigateur et non par l'OS.
D'accord, c'est ce que je craignais. À éviter donc. Je suggère un soulignement unicode : 1̲,1̲. Testé sous macOS 12.6, à voir si vous avez accès à d'autres plateformes.
Il faudra aussi modifier
createOptions
pour qu'il puisse avoir une valeur différente entre ce qui est affiché et ce qui est envoyé à mocodo.
Je fais déjà ce genre de choses pour delays
:
Ca me paraît ingérable en l'état car il n'y a pas de moyen simple d'identifier les lignes : il faut trouver le bon input, récupérer son grand-père (le
<li>
dans lequel le<span>
contenant la checkbox se trouve), puis insérer le HTML du menu déroulant dans ce<li>
après ce span. Pour moi, la légère modification decreateCheckboxes
est plus maintenable : si par la suite on veut rajouter quelque chose, on a juste à remplir la propriété "extra", et sinon le code généré reste inchangé.
Pour moi, ça ne fait qu'une ligne :
Ah, intéressant.
Sinon quand j'avais fait mes versions et mes tests, je n'avais pas besoin des lignes
https://github.com/laowantong/mocodo/blob/a6b243f33d45084ef81ac68f6be79d0ff9b7416c/web/generate.php#L118 https://github.com/laowantong/mocodo/blob/a6b243f33d45084ef81ac68f6be79d0ff9b7416c/web/generate.php#L119
Parce qu'a priori, la ligne https://github.com/laowantong/mocodo/blob/a6b243f33d45084ef81ac68f6be79d0ff9b7416c/web/generate.php#L96 passe tout ce qui n'est pas le modèle et le statut à params.json, et que comme les select ont le même nom que les paramètres de la ligne de commande, c'est traité avec le reste des options (comme le detect_overlaps, par exemple).
Effectivement. C'est amendé.
Proposition pour #97
Le menu déroulant est bien sur la même ligne désormais.