diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index dd679776531c4cf0cd40287f96d078e460df5b95..e37c8cd0c14ab41f8f2f21b6291475c67fba2bb1 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -24,6 +24,7 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera import { CalculatorResults } from "../../results/calculator-results"; import { ServiceFactory } from "../../services/service-factory"; import { PabTable } from "../elements/pab-table"; +import { PbSchema } from '../elements/pb-schema'; /** * classe de base pour tous les formulaires @@ -222,6 +223,13 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.kids.push(tab); } + private parse_pb_schema(json: {}) { + const sch: PbSchema = new PbSchema(this); + sch.parseConfig(json); + this.kids.push(sch); + } + + /** * 1ère passe d'analyse de la configuration */ @@ -279,6 +287,10 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.parse_pab_table(conf); break; + case "pb_schema": // not generic at all + this.parse_pb_schema(conf); + break; + default: throw new Error(`type d'objet de module de calcul ${type} non pris en charge`); }