From 66513ecae431b119bee582a8f3fb54905a884067 Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 25 Mar 2019 11:09:43 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20de=20l'invalidation=20des?= =?UTF-8?q?=20r=C3=A9sultats=20en=20cascade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- e2e/compute-reset-chained-links.e2e-spec.ts | 4 +- e2e/session-cascade-results.json | 46 ++++++------------- .../services/formulaire/formulaire.service.ts | 6 ++- 3 files changed, 19 insertions(+), 37 deletions(-) diff --git a/e2e/compute-reset-chained-links.e2e-spec.ts b/e2e/compute-reset-chained-links.e2e-spec.ts index 17a716766..44fb7022b 100644 --- a/e2e/compute-reset-chained-links.e2e-spec.ts +++ b/e2e/compute-reset-chained-links.e2e-spec.ts @@ -126,7 +126,7 @@ describe("ngHyd − compute then reset chained results", () => { expect(await navbar.getAllCalculatorTabs().count()).toBe(3); // 1. get top most module - await navbar.clickCalculatorTabForUid("YWFqMD"); + await navbar.clickCalculatorTabForUid("YjJua2"); // check that "compute" button is active const calcButton = calcPage.getCalculateButton(); @@ -143,7 +143,7 @@ describe("ngHyd − compute then reset chained results", () => { } // 2. get bottom-most module - await navbar.clickCalculatorTabForUid("ZHd0ej"); + await navbar.clickCalculatorTabForUid("OGd2em"); // modify any input (for ex. "Ks") await calcPage.getInputById("Ks").clear(); diff --git a/e2e/session-cascade-results.json b/e2e/session-cascade-results.json index 9825f301c..e0284cc66 100644 --- a/e2e/session-cascade-results.json +++ b/e2e/session-cascade-results.json @@ -1,7 +1,7 @@ { "session": [ { - "uid": "YWFqMD", + "uid": "YjJua2", "props": { "calcType": 11, "nodeType": 0 @@ -37,7 +37,7 @@ { "symbol": "Q", "mode": "LINK", - "targetNub": "MXB0en", + "targetNub": "eW1hY3", "targetParam": "Q" }, { @@ -73,7 +73,7 @@ ] }, { - "uid": "MXB0en", + "uid": "eW1hY3", "props": { "calcType": 3, "nodeType": 2 @@ -103,14 +103,14 @@ }, { "symbol": "YB", - "mode": "LINK", - "targetNub": "ZHd0ej", - "targetParam": "Yco" + "mode": "SINGLE", + "value": 1 }, { "symbol": "Y", - "mode": "SINGLE", - "value": 0.8 + "mode": "LINK", + "targetNub": "OGd2em", + "targetParam": "Yco" }, { "symbol": "LargeurBerge", @@ -120,14 +120,14 @@ ] }, { - "uid": "ZHd0ej", + "uid": "OGd2em", "props": { - "methodeResolution": 0, - "calcType": 4, + "varCalc": "Hs", + "calcType": 2, "nodeType": 2 }, "meta": { - "title": "Remous" + "title": "Sec. param." }, "parameters": [ { @@ -135,26 +135,6 @@ "mode": "SINGLE", "value": 0.0001 }, - { - "symbol": "Yamont", - "mode": "SINGLE", - "value": 0.15 - }, - { - "symbol": "Yaval", - "mode": "SINGLE", - "value": 0.4 - }, - { - "symbol": "Long", - "mode": "SINGLE", - "value": 100 - }, - { - "symbol": "Dx", - "mode": "SINGLE", - "value": 5 - }, { "symbol": "Ks", "mode": "SINGLE", @@ -178,7 +158,7 @@ { "symbol": "Y", "mode": "SINGLE", - "value": 0.5643749999999994 + "value": 0.8 }, { "symbol": "LargeurBerge", diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts index 49533c522..fe3e0bfe6 100644 --- a/src/app/services/formulaire/formulaire.service.ts +++ b/src/app/services/formulaire/formulaire.service.ts @@ -617,8 +617,10 @@ export class FormulaireService extends Observable { for (const dn of dependingNubs) { if (! visited.includes(dn.uid)) { const form = this.getFormulaireFromNubId(dn.uid); - if (form.hasResults) { - form.resetResults(visited); + const hadResults = form.hasResults; + // form might not have a result, but still have another form depending on it ! + form.resetResults(visited); + if (hadResults) { if (notify) { this.notificationsService.notify( this.intlService.localizeText("INFO_SNACKBAR_RESULTS_INVALIDATED") + " " + form.calculatorName, -- GitLab