Skip to content
Snippets Groups Projects
Commit 73743188 authored by francois.grand's avatar francois.grand
Browse files

#48 ParamLinkComponent : raffinement des étiquettes dans le sélecteur de paramètres liables

parent ff94605b
No related branches found
No related tags found
1 merge request!22Resolve "Lier des paramètres ou des résultats entre les calculettes"
......@@ -29,7 +29,17 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy {
/**
* liste des paramètres liables sous la forme
* {"value":<valeur liable>, "nub":<Nub d'origine du paramètre>, "formTitle":<nom de la calculette liée au nub>}
* {"name":<étiquette>, "value":<valeur liable>, "nub":<Nub d'origine du paramètre>, "formTitle":<nom de la calculette liée au nub>}
*
* l'étiquette "name" est de la forme <n|N1>[.[N2]]
* n : indice de de l'ouvrage dans le cas des ouvrages parallèles
* N1 : un nom de paramètre/résultat (dans le cas d'un résultat, il est suivi d'un point)
* N2 : nom de résultat complémentaire (optionnel)
* ex :
* Q, Z1 (paramètres)
* J. (résultat)
* .Yf (résultat complémentaire du résultat courant)
* Q.Yf (résultat complémentaire du résultat nommé "Q")
*/
private _linkableParams: any[];
......@@ -94,9 +104,32 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy {
* attribut "label" d'une entrée du select des paramètres
*/
private selectItemLabel(i: any) {
const s = i.value.name;
const c = i.formTitle;
return `${s} (${c})`;
const s = i.name; // nom associé au paramètre/à la valeur
const c = i.formTitle; // nom de la calculette
const re1 = /([^\.]+)\.$/; // forme xxx. (résultat)
const match1 = re1.exec(s);
if (match1 !== null)
return `${match1[1]} (résultat de ${c})`;
const re4 = /(\d+)\.(.+)/; // forme <nombre>.xxx (ouvrage)
const match4 = re4.exec(s);
if (match4 !== null) {
const n = +match4[1] + 1
return `${match4[2]} (${c}, ouvrage n°${n})`;
}
const re2 = /([^\.]+)\.(.+)/; // forme xxx.yyy (résultat complémentaire)
const match2 = re2.exec(s);
if (match2 !== null)
return `${match2[2]} (${c}, résultat complémentaire de ${match2[1]})`;
const re3 = /^\.(.+)/; // forme .xxx (résultat complémentaire)
const match3 = re3.exec(s);
if (match3 !== null)
return `${match3[1]} (${c}, résultat complémentaire)`;
return `${s} (${c})`; // forme simple (paramètre)
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment