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

#27 : classe FormulaireDefinition : ajout d'un itérateur TopFieldsetIterator

parent 04a8e288
No related branches found
No related tags found
1 merge request!12Resolve "Ajout de la calculette "Ouvrages hydrauliques""
......@@ -73,11 +73,27 @@ class AbstractFormulaireElementIterator<T extends FormulaireElement> {
}
}
/**
* itérateur qui extrait les FormulaireElement de 1er niveau dans un tableau de FormulaireElement
* (qui peut contenir des FieldsetContainer)
*/
class TopFormulaireElementIterator extends AbstractFormulaireElementIterator<FormulaireElement> implements IterableIterator<FormulaireElement> {
protected isDeepIterator(): boolean {
return false;
}
// interface IterableIterator
[Symbol.iterator](): IterableIterator<FormulaireElement> {
return this;
}
}
/**
* itérateur qui extrait récursivement les FormulaireElement dans un tableau de FormulaireElement
* (qui peut contenir des FieldsetContainer)
*/
class FormulaireElementIterator extends AbstractFormulaireElementIterator<FormulaireElement> implements IterableIterator<FormulaireElement> {
class DeepFormulaireElementIterator extends AbstractFormulaireElementIterator<FormulaireElement> implements IterableIterator<FormulaireElement> {
// interface IterableIterator
[Symbol.iterator](): IterableIterator<FormulaireElement> {
......@@ -467,14 +483,10 @@ export class FormulaireDefinition extends Observable implements Observer { //, I
}
public getFormulaireElementById(id: string): FormulaireElement {
for (let fs of this.allFieldsets) {
for (let fs of this.allFormElements)
if (fs.id == id)
return fs;
for (let p of fs.fields)
if (p.id === id)
return p;
}
return undefined;
}
......@@ -1251,7 +1263,7 @@ export class FormulaireDefinition extends Observable implements Observer { //, I
}
public updateLocalisation(localisation: StringMap) {
for (let fe of this.allFormElements)
for (let fe of this.topFormElements)
fe.updateLocalisation(localisation);
if (this.hasResults)
......@@ -1293,7 +1305,11 @@ export class FormulaireDefinition extends Observable implements Observer { //, I
return new DeepFieldsetIterator(this._formElements);
}
private get topFormElements(): IterableIterator<FormulaireElement> {
return new TopFormulaireElementIterator(this._formElements);
}
private get allFormElements(): IterableIterator<FormulaireElement> {
return new FormulaireElementIterator(this._formElements);
return new DeepFormulaireElementIterator(this._formElements);
}
}
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