diff --git a/e2e/pab.e2e-spec.ts b/e2e/pab.e2e-spec.ts index fe80658dfa0696239c32ac7be2ca181785cea177..044be849507ad9e443c2ad606632d5350f227c7c 100644 --- a/e2e/pab.e2e-spec.ts +++ b/e2e/pab.e2e-spec.ts @@ -44,6 +44,98 @@ describe("ngHyd − Passe à Bassins", () => { expect(await calcPage.nbLogEntries()).toBe(0); }); + it("complete example of all PAB modules", async() => { + // PAB - chute + await startPage.navigateTo(); + await listPage.clickMenuEntryForCalcType(12); + const c_Z1 = calcPage.getInputById("Z1"); + await c_Z1.clear(); + await c_Z1.sendKeys("78.27"); + const c_Z2 = calcPage.getInputById("Z1"); + await c_Z2.clear(); + await c_Z2.sendKeys("74.86"); + + // PAB - nombre + await navbar.clickNewCalculatorButton(); + await listPage.clickMenuEntryForCalcType(13); + const n_DHT = calcPage.getInputById("DHT"); + await calcPage.setParamMode(n_DHT, "link"); + const n_DH = calcPage.getInputById("DH"); + await calcPage.setParamMode(n_DH, "cal"); + const n_N = calcPage.getInputById("N"); + await n_N.clear(); + await n_N.sendKeys("15"); + + // PAB - dimensions + await navbar.clickNewCalculatorButton(); + await listPage.clickMenuEntryForCalcType(5); + const d_V = calcPage.getInputById("V"); + await calcPage.setParamMode(d_V, "cal"); + const d_Y = calcPage.getInputById("Y"); + await d_Y.clear(); + await d_Y.sendKeys("1.5"); + const d_L = calcPage.getInputById("L"); + await d_L.clear(); + await d_L.sendKeys("3.100"); + const d_W = calcPage.getInputById("W"); + await d_W.clear(); + await d_W.sendKeys("2.5"); + + // PAB - puissance dissipée (volume) + await navbar.clickNewCalculatorButton(); + await listPage.clickMenuEntryForCalcType(6); + const p_DH = calcPage.getInputById("DH"); + await calcPage.setParamMode(p_DH, "link"); + const p_Q = calcPage.getInputById("Q"); + await calcPage.setParamMode(p_Q, "cal"); + const p_V = calcPage.getInputById("V"); + await calcPage.setParamMode(p_V, "link"); + const p_PV = calcPage.getInputById("PV"); + await p_PV.clear(); + await p_PV.sendKeys("150"); + + // PAB - cloisons + await navbar.clickNewCalculatorButton(); + await listPage.clickMenuEntryForCalcType(10); + const cl_LB = calcPage.getInputById("LB"); + await calcPage.setParamMode(cl_LB, "link"); + const cl_BB = calcPage.getInputById("BB"); + await calcPage.setParamMode(cl_BB, "link"); + const cl_DH = calcPage.getInputById("DH"); + await calcPage.setParamMode(cl_DH, "link"); + const cl_Z1 = calcPage.getInputById("Z1"); + await calcPage.setParamMode(cl_Z1, "link"); + const cl_PB = calcPage.getInputById("PB"); + await cl_PB.clear(); + await cl_PB.sendKeys("1.5"); + + // calculate Cloisons + const calcButtonCl = calcPage.getCalculateButton(); + await calcButtonCl.click(); + + // generate PAB + const genButton = calcPage.getGeneratePabButton(); + console.log("generate pab button ?", await genButton.isPresent(), await genButton.isDisplayed()); + await genButton.click(); + const nbBassins = calcPage.getInputById("generatePabNbBassins"); + await nbBassins.clear(); + await nbBassins.sendKeys("15"); + + // click "Generate" + await element(by.css("dialog-generate-pab button#do-generate")).click(); + await browser.sleep(1000); + + // calculate PAB + const calcButtonPAB = calcPage.getCalculateButton(); + await calcButtonPAB.click(); + // check that result is not empty + const hasResults = await calcPage.hasResults(); + expect(hasResults).toBe(true); + + // check absence of logs + expect(await calcPage.nbLogEntries()).toBe(0); + }); + }); describe("generate PAB - ", async () => { @@ -68,11 +160,15 @@ describe("ngHyd − Passe à Bassins", () => { await DH.clear(); await DH.sendKeys("0.72"); + // calculate Cloisons + const calcButtonCl = calcPage.getCalculateButton(); + await calcButtonCl.click(); + // create PAB from it, changing modal parameters const genButton = calcPage.getGeneratePabButton(); await genButton.click(); const debit = calcPage.getInputById("generatePabDebit"); - expect(await debit.getAttribute("value")).toBe("1.5"); + expect(await debit.getAttribute("value")).toBe("0.489"); await debit.clear(); await browser.sleep(300); // send "1.6" in 3 movements, because "." triggers an error and Angular can't cope with the subsequent keys @@ -120,41 +216,38 @@ describe("ngHyd − Passe à Bassins", () => { describe("load session files - ", async () => { - it("when PAB is loaded after Cloisons & ParallelStructure", async() => { + it("complete example of all PAB modules", async() => { await startPage.navigateTo(); // load await navbar.clickMenuButton(); await browser.sleep(200); await sidenav.clickLoadSessionButton(); await browser.sleep(200); - await sidenav.loadSessionFile("./session/session-pab.json"); + await sidenav.loadSessionFile("./session/session-pab-complete.json"); await browser.sleep(500); // check existence of the loaded modules expect(await navbar.getAllCalculatorTabs().count()).toBe(6); + // check parameters values await navbar.clickCalculatorTab(5); - await browser.sleep(700); // sometime fails because of tabs order @see nghyd#197 + await browser.sleep(700); const P_Q = calcPage.getInputById("Q"); - expect(await P_Q.getAttribute("value")).toBe("1.533"); + expect(await P_Q.getAttribute("value")).toBe("0.275"); const P_Z2 = calcPage.getInputById("Z2"); - expect(await P_Z2.getAttribute("value")).toBe("99.44"); + expect(await P_Z2.getAttribute("value")).toBe("74.865"); // check number of basins - const innerFieldsets = element.all(by.css(".fieldset-inner")); - expect(await innerFieldsets.count()).toBe(5); - // check <select> and QA values - const expectedCloisons = [ "Cloisons 1", "Cloisons 2", "Cloisons", "Cloisons 2", "Cloisons 1" ]; - const expectedQA = [ 2, 1, 3, 5, 4 ]; - for (let i = 0; i < innerFieldsets.length; i++) { - const inf = innerFieldsets[i]; - const smc = inf.element(by.css("mat-select#select_modele_cloisons")); - expect(await calcPage.getSelectValueText(smc)).toEqual(expectedCloisons[i]); - const QA = inf.element(by.css("input[id$=QA]")); - expect(Number(await QA.getAttribute("value"))).toBe(expectedQA[i]); - i++; - } - // check downstream wall - const smca = calcPage.getSelectById("select_modele_cloison_aval"); - expect(await calcPage.getSelectValueText(smca)).toEqual("Ouvrages 1"); + const innerFieldsets = element.all(by.css("td.basin_number")); + expect(await innerFieldsets.count()).toBe(15); + + // calculate PAB + const calcButton = calcPage.getCalculateButton(); + await calcButton.click(); + // check that result is not empty + const hasResults = await calcPage.hasResults(); + expect(hasResults).toBe(true); + + // check absence of logs + expect(await calcPage.nbLogEntries()).toBe(0); }); }); diff --git a/e2e/session-pab.json b/e2e/session-pab.json deleted file mode 100644 index 11cc43baaa316f350fdf40075d0b0a96e8e555bd..0000000000000000000000000000000000000000 --- a/e2e/session-pab.json +++ /dev/null @@ -1,452 +0,0 @@ -{ - "header": { - "source": "jalhyd", - "format_version": "1.0", - "created": "2019-05-10T13:09:33.792Z" - }, - "session": [ - { - "uid": "amp6N2", - "props": { - "calcType": 10, - "nodeType": 0 - }, - "meta": { - "title": "Cloisons" - }, - "children": [ - { - "uid": "YzNjam", - "props": { - "calcType": 7, - "nodeType": 5, - "structureType": 2, - "loiDebit": 12 - }, - "children": [], - "parameters": [ - { - "symbol": "S", - "mode": "SINGLE", - "value": 0.1 - }, - { - "symbol": "Cd", - "mode": "SINGLE", - "value": 0.7 - } - ] - } - ], - "parameters": [ - { - "symbol": "Pr", - "mode": "SINGLE", - "value": 0.0001 - }, - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 102 - }, - { - "symbol": "LB", - "mode": "SINGLE", - "value": 10 - }, - { - "symbol": "BB", - "mode": "SINGLE", - "value": 1 - }, - { - "symbol": "PB", - "mode": "SINGLE", - "value": 1 - }, - { - "symbol": "DH", - "mode": "SINGLE", - "value": 0.5 - } - ] - }, - { - "uid": "bTkxem", - "props": { - "calcType": 10, - "nodeType": 0 - }, - "meta": { - "title": "Cloisons 2" - }, - "children": [ - { - "uid": "Y3JjaW", - "props": { - "calcType": 7, - "nodeType": 5, - "structureType": 2, - "loiDebit": 12 - }, - "children": [], - "parameters": [ - { - "symbol": "S", - "mode": "SINGLE", - "value": 0.1 - }, - { - "symbol": "Cd", - "mode": "SINGLE", - "value": 0.7 - } - ] - } - ], - "parameters": [ - { - "symbol": "Pr", - "mode": "SINGLE", - "value": 0.0001 - }, - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 102 - }, - { - "symbol": "LB", - "mode": "SINGLE", - "value": 10 - }, - { - "symbol": "BB", - "mode": "SINGLE", - "value": 1 - }, - { - "symbol": "PB", - "mode": "SINGLE", - "value": 1 - }, - { - "symbol": "DH", - "mode": "SINGLE", - "value": 0.5 - } - ] - }, - { - "uid": "bnNhen", - "props": { - "calcType": 10, - "nodeType": 0 - }, - "meta": { - "title": "Cloisons 1" - }, - "children": [ - { - "uid": "amJzem", - "props": { - "calcType": 7, - "nodeType": 5, - "structureType": 2, - "loiDebit": 12 - }, - "children": [], - "parameters": [ - { - "symbol": "S", - "mode": "SINGLE", - "value": 0.1 - }, - { - "symbol": "Cd", - "mode": "SINGLE", - "value": 0.7 - } - ] - } - ], - "parameters": [ - { - "symbol": "Pr", - "mode": "SINGLE", - "value": 0.0001 - }, - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 102 - }, - { - "symbol": "LB", - "mode": "SINGLE", - "value": 10 - }, - { - "symbol": "BB", - "mode": "SINGLE", - "value": 1 - }, - { - "symbol": "PB", - "mode": "SINGLE", - "value": 1 - }, - { - "symbol": "DH", - "mode": "SINGLE", - "value": 0.5 - } - ] - }, - { - "uid": "M2Q0NX", - "props": { - "calcType": 8, - "nodeType": 0 - }, - "meta": { - "title": "Ouvrages" - }, - "children": [ - { - "uid": "MmJxen", - "props": { - "calcType": 7, - "nodeType": 5, - "structureType": 1, - "loiDebit": 1 - }, - "children": [], - "parameters": [ - { - "symbol": "ZDV", - "mode": "SINGLE", - "value": 100 - }, - { - "symbol": "W", - "mode": "SINGLE", - "value": 0.5 - }, - { - "symbol": "L", - "mode": "SINGLE", - "value": 2 - }, - { - "symbol": "Cd", - "mode": "SINGLE", - "value": 0.4 - } - ] - } - ], - "parameters": [ - { - "symbol": "Pr", - "mode": "SINGLE", - "value": 0.0001 - }, - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 102 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 101.5 - } - ] - }, - { - "uid": "eWtnaj", - "props": { - "calcType": 8, - "nodeType": 0 - }, - "meta": { - "title": "Ouvrages 1" - }, - "children": [ - { - "uid": "ZmhpeG", - "props": { - "calcType": 7, - "nodeType": 5, - "structureType": 1, - "loiDebit": 1 - }, - "children": [], - "parameters": [ - { - "symbol": "ZDV", - "mode": "SINGLE", - "value": 100 - }, - { - "symbol": "W", - "mode": "SINGLE", - "value": 0.5 - }, - { - "symbol": "L", - "mode": "SINGLE", - "value": 2 - }, - { - "symbol": "Cd", - "mode": "SINGLE", - "value": 0.4 - } - ] - } - ], - "parameters": [ - { - "symbol": "Pr", - "mode": "SINGLE", - "value": 0.0001 - }, - { - "symbol": "Q", - "mode": "CALCUL" - }, - { - "symbol": "Z1", - "mode": "SINGLE", - "value": 102 - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 101.5 - } - ] - }, - { - "uid": "NXd0dH", - "props": { - "calcType": 15, - "nodeType": 0 - }, - "meta": { - "title": "PAB" - }, - "children": [ - { - "uid": "bWswdD", - "props": { - "calcType": 16, - "nodeType": 0 - }, - "parameters": [ - { - "symbol": "QA", - "mode": "SINGLE", - "value": 2 - } - ] - }, - { - "uid": "am1oNz", - "props": { - "calcType": 16, - "nodeType": 0 - }, - "parameters": [ - { - "symbol": "QA", - "mode": "SINGLE", - "value": 1 - } - ] - }, - { - "uid": "cWJrZm", - "props": { - "calcType": 16, - "nodeType": 0 - }, - "parameters": [ - { - "symbol": "QA", - "mode": "SINGLE", - "value": 3 - } - ] - }, - { - "uid": "Y25nNn", - "props": { - "calcType": 16, - "nodeType": 0 - }, - "parameters": [ - { - "symbol": "QA", - "mode": "SINGLE", - "value": 5 - } - ] - }, - { - "uid": "M2gxaX", - "props": { - "calcType": 16, - "nodeType": 0 - }, - "parameters": [ - { - "symbol": "QA", - "mode": "SINGLE", - "value": 4 - } - ] - } - ], - "parameters": [ - { - "symbol": "Pr", - "mode": "SINGLE", - "value": 0.0001 - }, - { - "symbol": "Q", - "mode": "SINGLE", - "value": "1.533" - }, - { - "symbol": "Z1", - "mode": "CALCUL" - }, - { - "symbol": "Z2", - "mode": "SINGLE", - "value": 99.44 - } - ] - } - ] -} \ No newline at end of file diff --git a/e2e/session/session-pab-complete.json b/e2e/session/session-pab-complete.json new file mode 100644 index 0000000000000000000000000000000000000000..fafef4c62fba9ad123e73176eb7069bae748c382 --- /dev/null +++ b/e2e/session/session-pab-complete.json @@ -0,0 +1 @@ +{"header":{"source":"jalhyd","format_version":"1.0","created":"2019-07-15T12:04:17.684Z"},"session":[{"uid":"Zm50a2","props":{"calcType":12,"nodeType":0},"meta":{"title":"PAB : chute"},"children":[],"parameters":[{"symbol":"Z1","mode":"SINGLE","value":78.27},{"symbol":"Z2","mode":"SINGLE","value":74.86},{"symbol":"DH","mode":"CALCUL"}]},{"uid":"aDgzan","props":{"calcType":13,"nodeType":0},"meta":{"title":"PAB : nombre"},"children":[],"parameters":[{"symbol":"DHT","mode":"LINK","targetNub":"Zm50a2","targetParam":"DH"},{"symbol":"N","mode":"SINGLE","value":15},{"symbol":"DH","mode":"CALCUL"}]},{"uid":"Y2p1MG","props":{"calcType":5,"nodeType":0},"meta":{"title":"PAB : dimensions"},"children":[],"parameters":[{"symbol":"L","mode":"SINGLE","value":3.1},{"symbol":"W","mode":"SINGLE","value":2.5},{"symbol":"Y","mode":"SINGLE","value":1.5},{"symbol":"V","mode":"CALCUL"}]},{"uid":"eDUxc2","props":{"calcType":6,"nodeType":0},"meta":{"title":"PAB : puissance"},"children":[],"parameters":[{"symbol":"DH","mode":"LINK","targetNub":"aDgzan","targetParam":"DH"},{"symbol":"Q","mode":"CALCUL"},{"symbol":"V","mode":"LINK","targetNub":"Y2p1MG","targetParam":"V"},{"symbol":"PV","mode":"SINGLE","value":150}]},{"uid":"bmJjMG","props":{"calcType":10,"nodeType":0},"meta":{"title":"Cloisons"},"children":[{"uid":"OXF4an","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"h1","mode":"SINGLE","value":1},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"Q","mode":"CALCUL"},{"symbol":"Z1","mode":"LINK","targetNub":"Zm50a2","targetParam":"Z1"},{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"PB","mode":"SINGLE","value":1},{"symbol":"DH","mode":"LINK","targetNub":"aDgzan","targetParam":"DH"}]},{"uid":"cnlwZD","props":{"calcType":15},"meta":{"title":"PAB"},"children":[{"uid":"ZmZnM2","props":{"calcType":10,"nodeType":0},"children":[{"uid":"eWdwb2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":77.27},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":77.04266666666666},{"symbol":"ZRAM","mode":"SINGLE","value":77.15633333333332},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"NHg1N3","props":{"calcType":10,"nodeType":0},"children":[{"uid":"aW9scn","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":77.04266666666666},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.81533333333333},{"symbol":"ZRAM","mode":"SINGLE","value":76.92899999999999},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"dDBjbn","props":{"calcType":10,"nodeType":0},"children":[{"uid":"aW83bD","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.81533333333333},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.588},{"symbol":"ZRAM","mode":"SINGLE","value":76.70166666666665},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"ZGJ0NT","props":{"calcType":10,"nodeType":0},"children":[{"uid":"bzRwbn","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.588},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.36066666666666},{"symbol":"ZRAM","mode":"SINGLE","value":76.47433333333332},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"dGFqbm","props":{"calcType":10,"nodeType":0},"children":[{"uid":"d3V3d2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.36066666666666},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":76.13333333333333},{"symbol":"ZRAM","mode":"SINGLE","value":76.24699999999999},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"aDFqbT","props":{"calcType":10,"nodeType":0},"children":[{"uid":"Zm9qdD","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":76.13333333333333},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.90599999999999},{"symbol":"ZRAM","mode":"SINGLE","value":76.01966666666665},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"Z280a2","props":{"calcType":10,"nodeType":0},"children":[{"uid":"YzgyY2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.90599999999999},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.67866666666666},{"symbol":"ZRAM","mode":"SINGLE","value":75.79233333333332},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"MzB4Yj","props":{"calcType":10,"nodeType":0},"children":[{"uid":"dW1iZz","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.67866666666666},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.45133333333332},{"symbol":"ZRAM","mode":"SINGLE","value":75.56499999999998},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"eDc2ej","props":{"calcType":10,"nodeType":0},"children":[{"uid":"Y3ozc2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.45133333333334},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":75.224},{"symbol":"ZRAM","mode":"SINGLE","value":75.33766666666666},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"Mm12cG","props":{"calcType":10,"nodeType":0},"children":[{"uid":"eDM0b2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":75.224},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.99666666666667},{"symbol":"ZRAM","mode":"SINGLE","value":75.11033333333333},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"NGMycX","props":{"calcType":10,"nodeType":0},"children":[{"uid":"aG80dm","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.99666666666667},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.76933333333334},{"symbol":"ZRAM","mode":"SINGLE","value":74.883},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"a21saT","props":{"calcType":10,"nodeType":0},"children":[{"uid":"YWFoM2","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.76933333333334},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.542},{"symbol":"ZRAM","mode":"SINGLE","value":74.65566666666666},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"ZXdocW","props":{"calcType":10,"nodeType":0},"children":[{"uid":"cWlmbT","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.542},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.31466666666667},{"symbol":"ZRAM","mode":"SINGLE","value":74.42833333333333},{"symbol":"QA","mode":"SINGLE","value":0}]},{"uid":"dG95Mj","props":{"calcType":10,"nodeType":0},"children":[{"uid":"bTFncz","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.31466666666667},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[{"symbol":"LB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"L"},{"symbol":"BB","mode":"LINK","targetNub":"Y2p1MG","targetParam":"W"},{"symbol":"ZRMB","mode":"SINGLE","value":74.08733333333333},{"symbol":"ZRAM","mode":"SINGLE","value":74.201},{"symbol":"QA","mode":"SINGLE","value":0}]}],"parameters":[{"symbol":"Q","mode":"SINGLE","value":0.275},{"symbol":"Z1","mode":"CALCUL"},{"symbol":"Z2","mode":"SINGLE","value":74.865}],"downWall":{"uid":"anI4eH","props":{"calcType":16},"children":[{"uid":"b3g2Mn","props":{"calcType":7,"nodeType":5,"structureType":0,"loiDebit":11},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":74.08733333333333},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"Cd","mode":"SINGLE","value":0.65}]}],"parameters":[]}}]} \ No newline at end of file diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index 48e622a72859780b76fe5cff84109301cdbcb6b2..842aeb727bb1f74ac7bcb35f9a3bdbd2ab0ef019 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -149,7 +149,7 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, return this._formulaire !== undefined; } - public get hasResults() { + public get hasResults(): boolean { if (this.hasForm) { return this._formulaire.hasResults; } @@ -455,8 +455,10 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, ); } - // PAB generation is enabled only if no parameter is varying - public get generatePABEnabled(): boolean { + /** + * Returns true if no parameter is varying + */ + private allParamsAreFixed() { let ret = true; for (const p of this._formulaire.currentNub.parameterIterator) { ret = ret && (! p.hasMultipleValues); @@ -464,8 +466,18 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, return ret; } + // PAB generation is enabled only if : + // - no parameter is varying + // - Cloisons is calculated first + public get generatePABEnabled(): boolean { + return this.allParamsAreFixed() && this.hasResults; + } + public get uitextGeneratePabTitle() { - if (! this.generatePABEnabled) { + if (! this.hasResults) { + return this.intlService.localizeText("INFO_CALCULER_D_ABORD"); + } + if (! this.allParamsAreFixed) { return this.intlService.localizeText("INFO_PAB_PARAMETRES_FIXES"); } return ""; diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 78e3384d637e0a52cca6d3e71361631bd9639783..b0db92e167dadbdf1580cbbf55091097eb1afce8 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -248,6 +248,7 @@ "INFO_OPTION_YES": "Yes", "INFO_OUVRAGE": "Structure", "INFO_PAB_BASSIN": "Basin", + "INFO_CALCULER_D_ABORD": "Calculate this module first", "INFO_PAB_NUM_BASSIN": "Basin #", "INFO_PAB_HEADER_TYPE": "Type", "INFO_PAB_HEADER_PARAMETERS": "Parameters", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index e9135bada0233eb094b618f0933407f3d1f5a239..948ac7d1a9798b03a211612833e2b23880cf6fa9 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -248,6 +248,7 @@ "INFO_OPTION_YES": "Oui", "INFO_OUVRAGE": "Ouvrage", "INFO_PAB_BASSIN": "Bassin", + "INFO_CALCULER_D_ABORD": "Calculer ce module d'abord", "INFO_PAB_NUM_BASSIN": "N° de bassin", "INFO_PAB_HEADER_TYPE": "Type", "INFO_PAB_HEADER_PARAMETERS": "Paramètres",