diff --git a/package-lock.json b/package-lock.json index 5570f65e7e..e28d0ca324 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,6 +64,7 @@ "@babel/preset-env": "^7.24.3", "@babel/preset-react": "^7.24.1", "@babel/preset-typescript": "^7.24.1", + "@testing-library/react": "^16.0.1", "@types/core-js": "^2.5.8", "@types/dagre": "^0.7.52", "@types/eslint": "^8.56.9", @@ -84,6 +85,7 @@ "@types/react-resizable": "^3.0.7", "@types/react-virtualized": "^9.21.29", "@types/react-window": "^1.8.8", + "@types/redux-mock-store": "^1.0.6", "@types/uuid": "^9.0.8", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", @@ -104,6 +106,7 @@ "jest-environment-jsdom": "^29.7.0", "license-checker": "^25.0.1", "prettier": "^2.8.8", + "redux-mock-store": "^1.5.5", "ts-node": "^10.9.2", "type-fest": "^4.22.1", "typescript": "5.1.6", @@ -4072,7 +4075,6 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -4086,7 +4088,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -4095,22 +4096,29 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -5002,9 +5010,9 @@ } }, "node_modules/@plotly/d3": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", - "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", + "integrity": "sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==", "peer": true }, "node_modules/@plotly/d3-sankey": { @@ -5822,6 +5830,171 @@ "@svgr/core": "*" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", + "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -5856,68 +6029,82 @@ "dev": true }, "node_modules/@turf/area": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz", - "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.1.0.tgz", + "integrity": "sha512-w91FEe02/mQfMPRX2pXua48scFuKJ2dSVMF2XmJ6+BJfFiCPxp95I3+Org8+ZsYv93CDNKbf0oLNEPnuQdgs2g==", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/area/node_modules/@turf/helpers": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", - "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/area/node_modules/@turf/meta": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", - "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/bbox": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz", - "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.1.0.tgz", + "integrity": "sha512-PdWPz9tW86PD78vSZj2fiRaB8JhUHy6piSa/QXb83lucxPK+HTAdzlDQMTKj5okRCU8Ox/25IR2ep9T8NdopRA==", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/bbox/node_modules/@turf/helpers": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", - "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/bbox/node_modules/@turf/meta": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", - "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" }, "funding": { "url": "https://opencollective.com/turf" @@ -5964,34 +6151,41 @@ } }, "node_modules/@turf/centroid": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.5.0.tgz", - "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.1.0.tgz", + "integrity": "sha512-1Y1b2l+ZB1CZ+ITjUCsGqC4/tSjwm/R4OUfDztVqyyCq/VvezkLmTNqvXTGXgfP0GXkpv68iCfxF5M7QdM5pJQ==", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/centroid/node_modules/@turf/helpers": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", - "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/centroid/node_modules/@turf/meta": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", - "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" }, "funding": { "url": "https://opencollective.com/turf" @@ -6038,6 +6232,13 @@ "@turf/meta": "^5.1.5" } }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "peer": true + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -6153,8 +6354,7 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/geojson": { "version": "7946.0.14", @@ -6246,8 +6446,7 @@ "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -6454,6 +6653,24 @@ "@types/react": "*" } }, + "node_modules/@types/redux-mock-store": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/redux-mock-store/-/redux-mock-store-1.0.6.tgz", + "integrity": "sha512-eg5RDfhJTXuoJjOMyXiJbaDb1B8tfTaJixscmu+jOusj6adGC0Krntz09Tf4gJgXeCqCrM5bBMd+B7ez0izcAQ==", + "dev": true, + "dependencies": { + "redux": "^4.0.5" + } + }, + "node_modules/@types/redux-mock-store/node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -6994,6 +7211,164 @@ "vite": "^4.2.0 || ^5.0.0" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, "node_modules/@xyflow/react": { "version": "12.3.2", "resolved": "https://registry.npmjs.org/@xyflow/react/-/react-12.3.2.tgz", @@ -7126,7 +7501,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -7138,6 +7512,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/almost-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", @@ -7923,7 +8306,6 @@ "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -8029,7 +8411,6 @@ "version": "1.0.30001605", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -8097,6 +8478,15 @@ "resolved": "https://registry.npmjs.org/cheap-ruler/-/cheap-ruler-3.0.2.tgz", "integrity": "sha512-02T332h1/HTN6cDSufLP8x4JzDs2+VC+8qZ/N0kWIVPyc2xUkWwWh3B2fJxR7raXkL4Mq7k554mfuM9ofv/vGg==" }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -8626,6 +9016,53 @@ "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==", "peer": true }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "peer": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/css-system-font-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", @@ -8637,6 +9074,18 @@ "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "peer": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", @@ -9354,8 +9803,7 @@ "node_modules/electron-to-chromium": { "version": "1.4.723", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.723.tgz", - "integrity": "sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==", - "dev": true + "integrity": "sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==" }, "node_modules/element-size": { "version": "1.1.1", @@ -9399,6 +9847,19 @@ "once": "^1.4.0" } }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -9522,6 +9983,12 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "peer": true + }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", @@ -9665,7 +10132,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, "engines": { "node": ">=6" } @@ -10849,7 +11315,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -11043,8 +11508,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -11411,9 +11875,9 @@ "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" }, "node_modules/gl-text": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.3.1.tgz", - "integrity": "sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.4.0.tgz", + "integrity": "sha512-o47+XBqLCj1efmuNyCHt7/UEJmB9l66ql7pnobD6p+sgmBUdzfMZXIF0zD2+KRfpd99DJN+QXdvTFAGCKCVSmQ==", "peer": true, "dependencies": { "bit-twiddle": "^1.0.2", @@ -11484,28 +11948,45 @@ "node": ">= 6" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "peer": true + }, "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-4.0.0.tgz", + "integrity": "sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==", "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "ini": "^4.1.3", + "kind-of": "^6.0.3", + "which": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=16" + } + }, + "node_modules/global-prefix/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" } }, "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dependencies": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" }, "bin": { - "which": "bin/which" + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/globals": { @@ -12016,6 +12497,18 @@ "node": ">=0.10.0" } }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "peer": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/identity-obj-proxy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", @@ -12135,9 +12628,12 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/internal-slot": { "version": "1.0.7", @@ -12647,7 +13143,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", @@ -14619,8 +15116,7 @@ "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -14793,6 +15289,15 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, "node_modules/localized-countries": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/localized-countries/-/localized-countries-2.0.0.tgz", @@ -14831,6 +15336,12 @@ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -14878,6 +15389,16 @@ "resolved": "https://registry.npmjs.org/lucene-escape-query/-/lucene-escape-query-1.0.1.tgz", "integrity": "sha512-iuB/RqAZjHI9YWm3zyM8qQkPxCi5nA3zcYZn71UM/W/+wh26fWpfxkLKZSgogoAvBjhN/4NhR+hxk2gScc81ow==" }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -14993,9 +15514,9 @@ } }, "node_modules/maplibre-gl": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.1.2.tgz", - "integrity": "sha512-98T+3BesL4w/N39q/rgs9q6HzHLG6pgbS9UaTqg6fMISfzy2WGKokjK205ENFDDmEljj54/LTfdXgqg2XfYU4A==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.7.1.tgz", + "integrity": "sha512-lgL7XpIwsgICiL82ITplfS7IGwrB1OJIw/pCvprDp2dhmSSEBgmPzYRvwYYYvJGJD7fxUv1Tvpih4nZ6VrLuaA==", "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -15004,24 +15525,24 @@ "@mapbox/unitbezier": "^0.0.1", "@mapbox/vector-tile": "^1.3.1", "@mapbox/whoots-js": "^3.1.0", - "@maplibre/maplibre-gl-style-spec": "^20.1.1", + "@maplibre/maplibre-gl-style-spec": "^20.3.1", "@types/geojson": "^7946.0.14", "@types/geojson-vt": "3.2.5", "@types/mapbox__point-geometry": "^0.1.4", "@types/mapbox__vector-tile": "^1.3.4", "@types/pbf": "^3.0.5", "@types/supercluster": "^7.1.3", - "earcut": "^2.2.4", - "geojson-vt": "^3.2.1", + "earcut": "^3.0.0", + "geojson-vt": "^4.0.2", "gl-matrix": "^3.4.3", - "global-prefix": "^3.0.0", + "global-prefix": "^4.0.0", "kdbush": "^4.0.2", "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", + "pbf": "^3.3.0", "potpack": "^2.0.0", - "quickselect": "^2.0.0", + "quickselect": "^3.0.0", "supercluster": "^8.0.1", - "tinyqueue": "^2.0.3", + "tinyqueue": "^3.0.0", "vt-pbf": "^3.1.3" }, "engines": { @@ -15033,16 +15554,17 @@ } }, "node_modules/maplibre-gl/node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.1.1.tgz", - "integrity": "sha512-z85ARNPCBI2Cs5cPOS3DSbraTN+ue8zrcYVoSWBuNrD/mA+2SKAJ+hIzI22uN7gac6jBMnCdpPKRxS/V0KSZVQ==", + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", + "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/unitbezier": "^0.0.1", "json-stringify-pretty-compact": "^4.0.0", "minimist": "^1.2.8", + "quickselect": "^2.0.0", "rw": "^1.3.3", - "sort-object": "^3.0.3" + "tinyqueue": "^3.0.0" }, "bin": { "gl-style-format": "dist/gl-style-format.mjs", @@ -15050,11 +15572,36 @@ "gl-style-validate": "dist/gl-style-validate.mjs" } }, + "node_modules/maplibre-gl/node_modules/@maplibre/maplibre-gl-style-spec/node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, + "node_modules/maplibre-gl/node_modules/earcut": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.0.tgz", + "integrity": "sha512-41Fs7Q/PLq1SDbqjsgcY7GA42T0jvaCNGXgGtsNdvg+Yv8eIu06bxv4/PoREkZ9nMDNwnUSG9OFB9+yv8eKhDg==" + }, + "node_modules/maplibre-gl/node_modules/geojson-vt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz", + "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==" + }, "node_modules/maplibre-gl/node_modules/json-stringify-pretty-compact": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==" }, + "node_modules/maplibre-gl/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==" + }, + "node_modules/maplibre-gl/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==" + }, "node_modules/math-log2": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", @@ -15102,8 +15649,7 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", @@ -15131,7 +15677,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -15140,7 +15685,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -15313,7 +15857,6 @@ "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, "funding": [ { "type": "github", @@ -15371,6 +15914,12 @@ "ms": "^2.1.1" } }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true + }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", @@ -15396,8 +15945,7 @@ "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/nopt": { "version": "4.0.3", @@ -15911,9 +16459,9 @@ } }, "node_modules/pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", "dependencies": { "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" @@ -15973,18 +16521,18 @@ } }, "node_modules/plotly.js": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.30.1.tgz", - "integrity": "sha512-KE3KeM4B6qtjPU7FGOxklmwYua4nWGgr48BRMWZVysZjphlSaQLzvUAieFlUCfPBPfJIRBLxFQy1KHMIQgfwrA==", + "version": "2.35.2", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.2.tgz", + "integrity": "sha512-s0knlWzRvLQXxzf3JQ6qbm8FpwKuMjkr+6r04f8/yCEByAQ+I0jkUzY/hSGRGb+u7iljTh9hgpEiiJP90vjyeQ==", "peer": true, "dependencies": { - "@plotly/d3": "3.8.1", + "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", - "@plotly/mapbox-gl": "v1.13.4", - "@turf/area": "^6.4.0", - "@turf/bbox": "^6.4.0", - "@turf/centroid": "^6.0.2", + "@plotly/mapbox-gl": "1.13.4", + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/centroid": "^7.1.0", "base64-arraybuffer": "^1.0.2", "canvas-fit": "^1.5.0", "color-alpha": "1.0.4", @@ -15992,6 +16540,7 @@ "color-parse": "2.0.0", "color-rgba": "2.1.1", "country-regex": "^1.1.0", + "css-loader": "^7.1.2", "d3-force": "^1.2.1", "d3-format": "^1.4.5", "d3-geo": "^1.12.1", @@ -16002,17 +16551,18 @@ "d3-time-format": "^2.2.3", "fast-isnumeric": "^1.1.4", "gl-mat4": "^1.2.0", - "gl-text": "^1.3.1", + "gl-text": "^1.4.0", "has-hover": "^1.0.1", "has-passive-events": "^1.0.0", "is-mobile": "^4.0.0", + "maplibre-gl": "^4.5.2", "mouse-change": "^1.4.0", "mouse-event-offset": "^3.0.2", "mouse-wheel": "^1.2.0", "native-promise-only": "^0.8.1", "parse-svg-path": "^0.1.2", "point-in-polygon": "^1.1.0", - "polybooljs": "^1.2.0", + "polybooljs": "^1.2.2", "probe-image-size": "^7.2.3", "regl": "npm:@plotly/regl@^2.1.2", "regl-error2d": "^2.0.12", @@ -16020,6 +16570,7 @@ "regl-scatter2d": "^3.3.1", "regl-splom": "^1.0.14", "strongly-connected-components": "^1.0.1", + "style-loader": "^4.0.0", "superscript-text": "^1.0.0", "svg-path-sdf": "^1.1.3", "tinycolor2": "^1.4.2", @@ -16079,7 +16630,6 @@ "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -16103,6 +16653,84 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "peer": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "peer": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "peer": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "peer": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "peer": true + }, "node_modules/potpack": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", @@ -16235,7 +16863,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, "engines": { "node": ">=6" } @@ -16884,6 +17511,18 @@ "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" }, + "node_modules/redux-mock-store": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.5.tgz", + "integrity": "sha512-YxX+ofKUTQkZE4HbhYG4kKGr7oCTJfB0GLy7bSeqx86GLpGirrbUWstMnqXkqHNaQpcnbMGbof2dYs5KsPE6Zg==", + "dev": true, + "dependencies": { + "lodash.isplainobject": "^4.0.6" + }, + "peerDependencies": { + "redux": "*" + } + }, "node_modules/redux-thunk": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", @@ -17365,9 +18004,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "peer": true }, "node_modules/saxes": { @@ -17390,6 +18029,24 @@ "loose-envify": "^1.1.0" } }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/seedrandom": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", @@ -17604,7 +18261,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -18042,6 +18698,22 @@ "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==", "peer": true }, + "node_modules/style-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.27.0" + } + }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", @@ -18135,6 +18807,145 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -18518,9 +19329,9 @@ } }, "node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", "peer": true }, "node_modules/type-check": { @@ -18791,7 +19602,6 @@ "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -18827,7 +19637,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -19100,6 +19909,19 @@ "makeerror": "1.0.12" } }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/weak-map": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", @@ -19124,6 +19946,104 @@ "node": ">=12" } }, + "node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "peer": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/wgs84": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz", diff --git a/package.json b/package.json index 92dc6821cf..81a8df174b 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@reduxjs/toolkit": "^2.2.3", "@svgdotjs/svg.js": "^3.2.0", "@svgdotjs/svg.panzoom.js": "^2.1.2", + "@xyflow/react": "^12.3.2", "ag-grid-community": "^31.0.0", "ag-grid-react": "^31.2.0", "cheap-ruler": "^3.0.2", @@ -36,7 +37,6 @@ "react-beautiful-dnd": "^13.1.1", "react-csv-downloader": "^3.1.0", "react-dom": "^18.2.0", - "@xyflow/react": "^12.3.2", "react-grid-layout": "^1.4.4", "react-hook-form": "^7.51.2", "react-intl": "^6.6.4", @@ -70,6 +70,7 @@ "@babel/preset-env": "^7.24.3", "@babel/preset-react": "^7.24.1", "@babel/preset-typescript": "^7.24.1", + "@testing-library/react": "^16.0.1", "@types/core-js": "^2.5.8", "@types/dagre": "^0.7.52", "@types/eslint": "^8.56.9", @@ -90,6 +91,7 @@ "@types/react-resizable": "^3.0.7", "@types/react-virtualized": "^9.21.29", "@types/react-window": "^1.8.8", + "@types/redux-mock-store": "^1.0.6", "@types/uuid": "^9.0.8", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", @@ -110,6 +112,7 @@ "jest-environment-jsdom": "^29.7.0", "license-checker": "^25.0.1", "prettier": "^2.8.8", + "redux-mock-store": "^1.5.5", "ts-node": "^10.9.2", "type-fest": "^4.22.1", "typescript": "5.1.6", diff --git a/src/redux/actions.ts b/src/appRedux/actions.ts similarity index 100% rename from src/redux/actions.ts rename to src/appRedux/actions.ts diff --git a/src/redux/reducer.test.ts b/src/appRedux/reducer.test.ts similarity index 100% rename from src/redux/reducer.test.ts rename to src/appRedux/reducer.test.ts diff --git a/src/redux/reducer.ts b/src/appRedux/reducer.ts similarity index 100% rename from src/redux/reducer.ts rename to src/appRedux/reducer.ts diff --git a/src/redux/session-storage/diagram-state.ts b/src/appRedux/session-storage/diagram-state.ts similarity index 100% rename from src/redux/session-storage/diagram-state.ts rename to src/appRedux/session-storage/diagram-state.ts diff --git a/src/redux/session-storage/local-storage.ts b/src/appRedux/session-storage/local-storage.ts similarity index 100% rename from src/redux/session-storage/local-storage.ts rename to src/appRedux/session-storage/local-storage.ts diff --git a/src/redux/session-storage/search-equipment-history.ts b/src/appRedux/session-storage/search-equipment-history.ts similarity index 100% rename from src/redux/session-storage/search-equipment-history.ts rename to src/appRedux/session-storage/search-equipment-history.ts diff --git a/src/redux/store.ts b/src/appRedux/store.ts similarity index 100% rename from src/redux/store.ts rename to src/appRedux/store.ts diff --git a/src/redux/user-store.ts b/src/appRedux/user-store.ts similarity index 100% rename from src/redux/user-store.ts rename to src/appRedux/user-store.ts diff --git a/src/components/app-wrapper.jsx b/src/components/app-wrapper.jsx index 1a39482738..80a60fbce0 100644 --- a/src/components/app-wrapper.jsx +++ b/src/components/app-wrapper.jsx @@ -69,7 +69,7 @@ import events_locale_fr from '../translations/dynamic/events-locale-fr'; import events_locale_en from '../translations/dynamic/events-locale-en'; import spreadsheet_locale_fr from '../translations/spreadsheet-fr'; import spreadsheet_locale_en from '../translations/spreadsheet-en'; -import { store } from '../redux/store'; +import { store } from '../appRedux/store'; import CssBaseline from '@mui/material/CssBaseline'; import { PARAM_THEME, diff --git a/src/components/app.jsx b/src/components/app.jsx index 59c28a6e9b..2be88e2422 100644 --- a/src/components/app.jsx +++ b/src/components/app.jsx @@ -91,7 +91,7 @@ import { selectUseName, setOptionalServices, setParamsLoaded, -} from '../redux/actions'; +} from '../appRedux/actions'; const noUserManager = { instance: null, error: null }; diff --git a/src/components/computing-status/use-computing-status.ts b/src/components/computing-status/use-computing-status.ts index 0c23d97e34..781aafedf2 100644 --- a/src/components/computing-status/use-computing-status.ts +++ b/src/components/computing-status/use-computing-status.ts @@ -11,10 +11,10 @@ import { UUID } from 'crypto'; import { RefObject, useCallback, useEffect, useRef } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { ComputingType } from './computing-type'; -import { AppState, StudyUpdated } from 'redux/reducer'; +import { AppState, StudyUpdated } from 'appRedux/reducer'; import { OptionalServicesStatus } from '../utils/optional-services'; -import { setComputingStatus, setLastCompletedComputation } from '../../redux/actions'; -import { AppDispatch } from '../../redux/store'; +import { setComputingStatus, setLastCompletedComputation } from '../../appRedux/actions'; +import { AppDispatch } from '../../appRedux/store'; interface UseComputingStatusProps { ( diff --git a/src/components/diagrams/diagram-common.ts b/src/components/diagrams/diagram-common.ts index d2bb67ca9d..6dcc29bda9 100644 --- a/src/components/diagrams/diagram-common.ts +++ b/src/components/diagrams/diagram-common.ts @@ -7,12 +7,12 @@ import { useCallback } from 'react'; import { useDispatch } from 'react-redux'; -import { closeDiagram, closeDiagrams, minimizeDiagram, openDiagram, togglePinDiagram } from '../../redux/actions'; +import { closeDiagram, closeDiagrams, minimizeDiagram, openDiagram, togglePinDiagram } from '../../appRedux/actions'; import { INVALID_LOADFLOW_OPACITY, NAD_INVALID_LOADFLOW_OPACITY } from '../../utils/colors'; import { FEEDER_TYPES, FeederTypes } from 'components/utils/feederType'; import { EQUIPMENT_TYPES } from 'components/utils/equipment-types'; import { Theme } from '@mui/material'; -import { AppDispatch } from '../../redux/store'; +import { AppDispatch } from '../../appRedux/store'; import { SLDMetadata } from '@powsybl/diagram-viewer'; import { UUID } from 'crypto'; diff --git a/src/components/diagrams/diagram-header.tsx b/src/components/diagrams/diagram-header.tsx index 339c121104..de90663b96 100644 --- a/src/components/diagrams/diagram-header.tsx +++ b/src/components/diagrams/diagram-header.tsx @@ -14,10 +14,10 @@ import MinimizeIcon from '@mui/icons-material/Minimize'; import PushPinIcon from '@mui/icons-material/PushPin'; import PushPinOutlinedIcon from '@mui/icons-material/PushPinOutlined'; import CloseIcon from '@mui/icons-material/Close'; -import { stopDiagramBlink } from '../../redux/actions'; +import { stopDiagramBlink } from '../../appRedux/actions'; import { mergeSx } from '../utils/functions'; import { Theme } from '@mui/material'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; const BLINK_LENGTH_MS = 1800; diff --git a/src/components/diagrams/diagram-pane.tsx b/src/components/diagrams/diagram-pane.tsx index 2acaf1474b..fa61dcdfd6 100644 --- a/src/components/diagrams/diagram-pane.tsx +++ b/src/components/diagrams/diagram-pane.tsx @@ -41,11 +41,11 @@ import { AutoSizer } from 'react-virtualized'; import Diagram from './diagram'; import { SLD_DISPLAY_MODE } from '../network/constants'; import { useNameOrId } from '../utils/equipmentInfosHandler'; -import { syncDiagramStateWithSessionStorage } from '../../redux/session-storage/diagram-state'; +import { syncDiagramStateWithSessionStorage } from '../../appRedux/session-storage/diagram-state'; import SingleLineDiagramContent from './singleLineDiagram/single-line-diagram-content'; import NetworkAreaDiagramContent from './networkAreaDiagram/network-area-diagram-content'; import { OverflowableText, useDebounce, useSnackMessage } from '@gridsuite/commons-ui'; -import { setNetworkAreaDiagramNbVoltageLevels } from '../../redux/actions'; +import { setNetworkAreaDiagramNbVoltageLevels } from '../../appRedux/actions'; import { useIntl } from 'react-intl'; import { getSubstationSingleLineDiagram, getVoltageLevelSingleLineDiagram } from '../../services/study/network'; import { fetchSvg, getNetworkAreaDiagramUrl } from '../../services/study'; @@ -53,7 +53,7 @@ import { mergeSx } from '../utils/functions'; import { Box } from '@mui/system'; import { useLocalizedCountries } from 'components/utils/localized-countries-hook'; import { UUID } from 'crypto'; -import { AppState, CurrentTreeNode, DiagramState } from 'redux/reducer'; +import { AppState, CurrentTreeNode, DiagramState } from 'appRedux/reducer'; import { SLDMetadata } from '@powsybl/diagram-viewer'; // Returns a callback that returns a promise diff --git a/src/components/diagrams/diagram-utils.ts b/src/components/diagrams/diagram-utils.ts index e43aece79b..a36a1e5c74 100644 --- a/src/components/diagrams/diagram-utils.ts +++ b/src/components/diagrams/diagram-utils.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { DiagramState } from '../../redux/reducer'; +import { DiagramState } from '../../appRedux/reducer'; import { DiagramType } from './diagram-common'; /** diff --git a/src/components/diagrams/diagram.tsx b/src/components/diagrams/diagram.tsx index 757ff73d21..fbc8bac7c6 100644 --- a/src/components/diagrams/diagram.tsx +++ b/src/components/diagrams/diagram.tsx @@ -13,7 +13,7 @@ import { incrementNetworkAreaDiagramDepth, resetNetworkAreaDiagramDepth, setFullScreenDiagram, -} from '../../redux/actions'; +} from '../../appRedux/actions'; import { useIntl } from 'react-intl'; import { DiagramType, @@ -28,7 +28,7 @@ import DiagramHeader from './diagram-header'; import DiagramFooter from './diagram-footer'; import DiagramResizableBox from './diagram-resizable-box'; import AlertCustomMessageNode from '../utils/alert-custom-message-node'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; interface DiagramProps { align?: 'left' | 'right' | 'center'; diff --git a/src/components/diagrams/networkAreaDiagram/network-area-diagram-content.tsx b/src/components/diagrams/networkAreaDiagram/network-area-diagram-content.tsx index 505ed29c4d..8ac05b7e67 100644 --- a/src/components/diagrams/networkAreaDiagram/network-area-diagram-content.tsx +++ b/src/components/diagrams/networkAreaDiagram/network-area-diagram-content.tsx @@ -21,8 +21,8 @@ import LinearProgress from '@mui/material/LinearProgress'; import Box from '@mui/material/Box'; import { mergeSx } from '../../utils/functions'; import ComputingType from '../../computing-status/computing-type'; -import { AppState } from 'redux/reducer'; -import { storeNetworkAreaDiagramNodeMovement } from '../../../redux/actions'; +import { AppState } from 'appRedux/reducer'; +import { storeNetworkAreaDiagramNodeMovement } from '../../../appRedux/actions'; import { PARAM_INIT_NAD_WITH_GEO_DATA } from '../../../utils/config-params.js'; import { getNadIdentifier } from '../diagram-utils.js'; import { UUID } from 'crypto'; diff --git a/src/components/diagrams/singleLineDiagram/position-diagram-pane.tsx b/src/components/diagrams/singleLineDiagram/position-diagram-pane.tsx index f5202d284e..ed916145e8 100644 --- a/src/components/diagrams/singleLineDiagram/position-diagram-pane.tsx +++ b/src/components/diagrams/singleLineDiagram/position-diagram-pane.tsx @@ -20,7 +20,7 @@ import { SLD_DISPLAY_MODE } from '../../network/constants'; import { DiagramType } from '../diagram-common'; import { getVoltageLevelSingleLineDiagram } from '../../../services/study/network'; import { FC } from 'react'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { UUID } from 'crypto'; interface PositionDiagramPaneProps { diff --git a/src/components/diagrams/singleLineDiagram/position-diagram.tsx b/src/components/diagrams/singleLineDiagram/position-diagram.tsx index cd24b9012e..2817cdf99b 100644 --- a/src/components/diagrams/singleLineDiagram/position-diagram.tsx +++ b/src/components/diagrams/singleLineDiagram/position-diagram.tsx @@ -18,7 +18,7 @@ import { Paper } from '@mui/material'; import DiagramHeader from '../diagram-header'; import { fetchSvg } from '../../../services/study'; import { mergeSx } from '../../utils/functions'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; interface PositionDiagramProps { diagramTitle: string; diff --git a/src/components/diagrams/singleLineDiagram/single-line-diagram-content.tsx b/src/components/diagrams/singleLineDiagram/single-line-diagram-content.tsx index ebb5c0af6f..34965dcef5 100644 --- a/src/components/diagrams/singleLineDiagram/single-line-diagram-content.tsx +++ b/src/components/diagrams/singleLineDiagram/single-line-diagram-content.tsx @@ -50,8 +50,8 @@ import { fetchNetworkElementInfos } from '../../../services/study/network'; import { mergeSx } from '../../utils/functions'; import { useOneBusShortcircuitAnalysisLoader } from '../use-one-bus-shortcircuit-analysis-loader'; import { DynamicSimulationEventDialog } from '../../dialogs/dynamicsimulation/event/dynamic-simulation-event-dialog'; -import { setComputationStarting, setComputingStatus } from '../../../redux/actions'; -import { AppState } from 'redux/reducer'; +import { setComputationStarting, setComputingStatus } from '../../../appRedux/actions'; +import { AppState } from 'appRedux/reducer'; import { UUID } from 'crypto'; type EquipmentMenuState = { diff --git a/src/components/diagrams/use-one-bus-shortcircuit-analysis-loader.tsx b/src/components/diagrams/use-one-bus-shortcircuit-analysis-loader.tsx index 6be3eba70e..207af96fc6 100644 --- a/src/components/diagrams/use-one-bus-shortcircuit-analysis-loader.tsx +++ b/src/components/diagrams/use-one-bus-shortcircuit-analysis-loader.tsx @@ -9,10 +9,10 @@ import { UUID } from 'crypto'; import { ReactElement, useCallback, useEffect, useMemo } from 'react'; import { useIntl } from 'react-intl'; import { useDispatch, useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { Chip, darken, lighten, Theme } from '@mui/material'; -import { setOneBusShortcircuitAnalysisDiagram } from '../../redux/actions'; -import { AppDispatch } from '../../redux/store'; +import { setOneBusShortcircuitAnalysisDiagram } from '../../appRedux/actions'; +import { AppDispatch } from '../../appRedux/store'; /** * A hook that handles the logic behind the diagram one bus shortcircuit analysis loader diff --git a/src/components/dialogs/connectivity/branch-connectivity-form.tsx b/src/components/dialogs/connectivity/branch-connectivity-form.tsx index 3ea08dd98a..485b1111ec 100644 --- a/src/components/dialogs/connectivity/branch-connectivity-form.tsx +++ b/src/components/dialogs/connectivity/branch-connectivity-form.tsx @@ -11,7 +11,7 @@ import { ConnectivityForm } from './connectivity-form'; import { CONNECTIVITY, CONNECTIVITY_1, CONNECTIVITY_2 } from 'components/utils/field-constants'; import React, { FunctionComponent } from 'react'; import useVoltageLevelsListInfos from '../../../hooks/use-voltage-levels-list-infos'; -import { CurrentTreeNode } from '../../../redux/reducer'; +import { CurrentTreeNode } from '../../../appRedux/reducer'; import { UUID } from 'crypto'; interface BranchConnectivityFormProps { diff --git a/src/components/dialogs/element-creation-dialog.tsx b/src/components/dialogs/element-creation-dialog.tsx index cd0e51ff70..08cec0be84 100644 --- a/src/components/dialogs/element-creation-dialog.tsx +++ b/src/components/dialogs/element-creation-dialog.tsx @@ -26,7 +26,7 @@ import { yupResolver } from '@hookform/resolvers/yup'; import yup from '../utils/yup-config'; import { useSelector } from 'react-redux'; import ModificationDialog from './commons/modificationDialog'; -import { AppState } from '../../redux/reducer'; +import { AppState } from '../../appRedux/reducer'; interface FormData { [NAME]: string; diff --git a/src/components/dialogs/equipment-search-dialog.tsx b/src/components/dialogs/equipment-search-dialog.tsx index e4b8785693..3fa6ad76bc 100644 --- a/src/components/dialogs/equipment-search-dialog.tsx +++ b/src/components/dialogs/equipment-search-dialog.tsx @@ -17,7 +17,7 @@ import { FC } from 'react'; import { useSearchMatchingEquipments } from '../top-bar-equipment-seach-dialog/use-search-matching-equipments'; import { UUID } from 'crypto'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { TextField } from '@mui/material'; import { Search } from '@mui/icons-material'; diff --git a/src/components/dialogs/illustrations/generic-Illustration-network-modification.tsx b/src/components/dialogs/illustrations/generic-Illustration-network-modification.tsx index 4edcc57d84..09edbbd471 100644 --- a/src/components/dialogs/illustrations/generic-Illustration-network-modification.tsx +++ b/src/components/dialogs/illustrations/generic-Illustration-network-modification.tsx @@ -12,7 +12,7 @@ import Paper from '@mui/material/Paper'; import { LIGHT_THEME } from '@gridsuite/commons-ui'; import { AccordionIllustration } from './AccordionIllustration'; import { PARAM_THEME } from 'utils/config-params'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; interface ReplacedText { eltId: string; diff --git a/src/components/dialogs/import-modification-dialog.tsx b/src/components/dialogs/import-modification-dialog.tsx index c6ad2b2f60..25f8c65abb 100644 --- a/src/components/dialogs/import-modification-dialog.tsx +++ b/src/components/dialogs/import-modification-dialog.tsx @@ -10,7 +10,7 @@ import { ElementType, useSnackMessage, DirectoryItemSelector, TreeViewFinderNode import { copyOrMoveModifications } from '../../services/study'; import { FunctionComponent } from 'react'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { NetworkModificationCopyType } from 'components/graph/menus/network-modification-menu.type'; /** diff --git a/src/components/dialogs/network-modifications/vsc/converter-station/converter-station-pane.tsx b/src/components/dialogs/network-modifications/vsc/converter-station/converter-station-pane.tsx index ebba73e8c4..c04ffc11a9 100644 --- a/src/components/dialogs/network-modifications/vsc/converter-station/converter-station-pane.tsx +++ b/src/components/dialogs/network-modifications/vsc/converter-station/converter-station-pane.tsx @@ -24,7 +24,7 @@ import { ReactivePowerAdornment, VoltageAdornment, } from '../../../dialogUtils'; -import { CurrentTreeNode } from '../../../../../redux/reducer'; +import { CurrentTreeNode } from '../../../../../appRedux/reducer'; import { UUID } from 'crypto'; import { ConnectivityForm } from '../../../connectivity/connectivity-form'; import Grid from '@mui/material/Grid'; diff --git a/src/components/dialogs/network-modifications/vsc/creation/vsc-creation-form.tsx b/src/components/dialogs/network-modifications/vsc/creation/vsc-creation-form.tsx index c4a5e0b5c7..12f50b4753 100644 --- a/src/components/dialogs/network-modifications/vsc/creation/vsc-creation-form.tsx +++ b/src/components/dialogs/network-modifications/vsc/creation/vsc-creation-form.tsx @@ -12,7 +12,7 @@ import VscHvdcLinePane from '../hvdc-line-pane/vsc-hvdc-line-pane'; import ConverterStationPane from '../converter-station/converter-station-pane'; import { VSC_CREATION_TABS } from './vsc-creation-dialog'; import { UUID } from 'crypto'; -import { CurrentTreeNode } from '../../../../../redux/reducer'; +import { CurrentTreeNode } from '../../../../../appRedux/reducer'; interface VscCreationFormProps { tabIndex: number; diff --git a/src/components/dialogs/network-modifications/vsc/modification/vsc-modification-from.tsx b/src/components/dialogs/network-modifications/vsc/modification/vsc-modification-from.tsx index 820ef894db..d3cba96c20 100644 --- a/src/components/dialogs/network-modifications/vsc/modification/vsc-modification-from.tsx +++ b/src/components/dialogs/network-modifications/vsc/modification/vsc-modification-from.tsx @@ -15,7 +15,7 @@ import React, { FunctionComponent } from 'react'; import VscHvdcLinePane from '../hvdc-line-pane/vsc-hvdc-line-pane'; import ConverterStationPane from '../converter-station/converter-station-pane'; import { UUID } from 'crypto'; -import { CurrentTreeNode } from '../../../../../redux/reducer'; +import { CurrentTreeNode } from '../../../../../appRedux/reducer'; import { VscModificationInfo } from 'services/network-modification-types'; import { TextInput } from '@gridsuite/commons-ui'; import { Box, TextField } from '@mui/material'; diff --git a/src/components/dialogs/parameters/common/computation-parameters-util.ts b/src/components/dialogs/parameters/common/computation-parameters-util.ts index 59d1fccbc5..a615fd5df5 100644 --- a/src/components/dialogs/parameters/common/computation-parameters-util.ts +++ b/src/components/dialogs/parameters/common/computation-parameters-util.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { NotificationType, StudyUpdated } from '../../../../redux/reducer'; +import { NotificationType, StudyUpdated } from '../../../../appRedux/reducer'; import { ComputingType, isValidComputingType } from '../../../computing-status/computing-type'; export const UPDATE_TYPE_HEADER = 'updateType'; diff --git a/src/components/dialogs/parameters/common/parameters-creation-dialog.tsx b/src/components/dialogs/parameters/common/parameters-creation-dialog.tsx index b679c73c50..2a334cd2ce 100644 --- a/src/components/dialogs/parameters/common/parameters-creation-dialog.tsx +++ b/src/components/dialogs/parameters/common/parameters-creation-dialog.tsx @@ -23,7 +23,7 @@ import { import ModificationDialog from 'components/dialogs/commons/modificationDialog'; import { createParameter } from 'services/explore'; import { UniqueNameInput } from 'components/dialogs/commons/unique-name-input'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { UUID } from 'crypto'; interface FormData { diff --git a/src/components/dialogs/parameters/network-visualizations/network-visualizations-parameters.tsx b/src/components/dialogs/parameters/network-visualizations/network-visualizations-parameters.tsx index ff535b99d6..e03866d8b1 100644 --- a/src/components/dialogs/parameters/network-visualizations/network-visualizations-parameters.tsx +++ b/src/components/dialogs/parameters/network-visualizations/network-visualizations-parameters.tsx @@ -12,7 +12,7 @@ import { SingleLineDiagramParameters, useGetAvailableComponentLibraries } from ' import { NetworkAreaDiagramParameters } from './network-area-diagram-parameters'; import { MapParameters } from './map-parameters'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../../redux/reducer'; +import { AppState } from '../../../../appRedux/reducer'; enum TabValue { MAP = 'Map', diff --git a/src/components/dialogs/parameters/voltageinit/use-get-voltage-init-parameters.tsx b/src/components/dialogs/parameters/voltageinit/use-get-voltage-init-parameters.tsx index 96247612d8..5c4e2325d3 100644 --- a/src/components/dialogs/parameters/voltageinit/use-get-voltage-init-parameters.tsx +++ b/src/components/dialogs/parameters/voltageinit/use-get-voltage-init-parameters.tsx @@ -8,7 +8,7 @@ import { VoltageInitParam } from './voltage-init-utils'; import { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from 'react'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../../redux/reducer'; +import { AppState } from '../../../../appRedux/reducer'; import { useSnackMessage } from '@gridsuite/commons-ui'; import { useOptionalServiceStatus } from '../../../../hooks/use-optional-service-status'; import { OptionalServicesNames, OptionalServicesStatus } from '../../../utils/optional-services'; diff --git a/src/components/dialogs/parameters/voltageinit/voltage-init-parameters.tsx b/src/components/dialogs/parameters/voltageinit/voltage-init-parameters.tsx index 71d6690d7e..67daa3ed4e 100644 --- a/src/components/dialogs/parameters/voltageinit/voltage-init-parameters.tsx +++ b/src/components/dialogs/parameters/voltageinit/voltage-init-parameters.tsx @@ -40,7 +40,7 @@ import { VoltageInitParametersForm, voltageInitParametersFormSchema, } from './voltage-init-parameters-form'; -import { AppState } from '../../../../redux/reducer'; +import { AppState } from '../../../../appRedux/reducer'; import { UUID } from 'crypto'; import { useGetVoltageInitParameters } from './use-get-voltage-init-parameters'; diff --git a/src/components/dialogs/restore-modification-dialog.tsx b/src/components/dialogs/restore-modification-dialog.tsx index 9e9cbc1ec5..53ea4aa947 100644 --- a/src/components/dialogs/restore-modification-dialog.tsx +++ b/src/components/dialogs/restore-modification-dialog.tsx @@ -17,7 +17,7 @@ import { deleteModifications, restoreModifications } from 'services/study/networ import { CustomDialog } from 'components/utils/custom-dialog'; import { useModificationLabelComputer } from '../graph/util/use-modification-label-computer.jsx'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer.js'; +import { AppState } from 'appRedux/reducer.js'; import { NetworkModificationMetadata } from 'components/graph/menus/network-modification-menu.type.js'; import { toggleElementFromList } from 'components/utils/utils.js'; diff --git a/src/components/graph/layout.ts b/src/components/graph/layout.ts index e47deb221b..433da8b501 100644 --- a/src/components/graph/layout.ts +++ b/src/components/graph/layout.ts @@ -8,7 +8,7 @@ import dagre from 'dagre'; import { nodeWidth, nodeHeight, rootNodeWidth, rootNodeHeight } from './util/model-constants'; import { Edge, Position } from '@xyflow/react'; -import { CurrentTreeNode } from 'redux/reducer'; +import { CurrentTreeNode } from 'appRedux/reducer'; import { NodeType } from './tree-node.type'; export function getLayoutedNodes(nodes: CurrentTreeNode[], edges: Edge[]) { diff --git a/src/components/graph/menus/create-node-menu.tsx b/src/components/graph/menus/create-node-menu.tsx index 242a749262..370bc8ba21 100644 --- a/src/components/graph/menus/create-node-menu.tsx +++ b/src/components/graph/menus/create-node-menu.tsx @@ -15,7 +15,7 @@ import { NodeInsertModes } from '../nodes/node-insert-modes'; import { CustomDialog } from '../../utils/custom-dialog'; import { CustomNestedMenuItem } from '../../utils/custom-nested-menu'; import { BUILD_STATUS } from '../../network/constants'; -import { AppState, CurrentTreeNode } from 'redux/reducer'; +import { AppState, CurrentTreeNode } from 'appRedux/reducer'; import { UUID } from 'crypto'; import NetworkModificationTreeModel from '../network-modification-tree-model'; import { CopyType } from 'components/network-modification.type'; diff --git a/src/components/graph/menus/dynamic-simulation/event-modification-scenario-editor.tsx b/src/components/graph/menus/dynamic-simulation/event-modification-scenario-editor.tsx index 133bc4c515..713ee5eebc 100644 --- a/src/components/graph/menus/dynamic-simulation/event-modification-scenario-editor.tsx +++ b/src/components/graph/menus/dynamic-simulation/event-modification-scenario-editor.tsx @@ -14,7 +14,7 @@ import { useParams } from 'react-router-dom'; import DeleteIcon from '@mui/icons-material/Delete'; import IconButton from '@mui/material/IconButton'; import { useIsAnyNodeBuilding } from '../../../utils/is-any-node-building-hook'; -import { addNotification, removeNotificationByNode, setModificationsInProgress } from '../../../../redux/actions'; +import { addNotification, removeNotificationByNode, setModificationsInProgress } from '../../../../appRedux/actions'; import { EVENT_CRUD_FINISHED, EventCrudType } from 'components/network/constants.type'; import { UUID } from 'crypto'; import { Event, EventType } from '../../../dialogs/dynamicsimulation/event/types/event.type'; @@ -24,8 +24,8 @@ import { getStartTime, getStartTimeUnit } from '../../../dialogs/dynamicsimulati import { isChecked, isPartial, styles } from '../network-modification-node-editor'; import { EQUIPMENT_TYPE_LABEL_KEYS } from '../../util/model-constants'; import EditIcon from '@mui/icons-material/Edit'; -import { AppState, StudyUpdated } from '../../../../redux/reducer'; -import { AppDispatch } from '../../../../redux/store'; +import { AppState, StudyUpdated } from '../../../../appRedux/reducer'; +import { AppDispatch } from '../../../../appRedux/store'; import { EQUIPMENT_TYPES } from '../../../utils/equipment-types'; const EventModificationScenarioEditor = () => { diff --git a/src/components/graph/menus/dynamic-simulation/scenario-editor.tsx b/src/components/graph/menus/dynamic-simulation/scenario-editor.tsx index 6ac7ddcb07..fe99fb4ed5 100644 --- a/src/components/graph/menus/dynamic-simulation/scenario-editor.tsx +++ b/src/components/graph/menus/dynamic-simulation/scenario-editor.tsx @@ -10,12 +10,12 @@ import { lighten, darken, Theme } from '@mui/material/styles'; import { EditableTitle } from '../editable-title'; import { useDispatch, useSelector } from 'react-redux'; -import { setEventScenarioDrawerOpen } from '../../../../redux/actions'; +import { setEventScenarioDrawerOpen } from '../../../../appRedux/actions'; import { useIntl } from 'react-intl'; -import { AppState } from '../../../../redux/reducer'; +import { AppState } from '../../../../appRedux/reducer'; import EventModificationScenarioEditor from './event-modification-scenario-editor'; import { Box } from '@mui/material'; -import { AppDispatch } from '../../../../redux/store'; +import { AppDispatch } from '../../../../appRedux/store'; const styles = { paper: { diff --git a/src/components/graph/menus/network-modification-node-editor.tsx b/src/components/graph/menus/network-modification-node-editor.tsx index 9285c0ecb8..45ffafaa4f 100644 --- a/src/components/graph/menus/network-modification-node-editor.tsx +++ b/src/components/graph/menus/network-modification-node-editor.tsx @@ -50,7 +50,7 @@ import { UPDATE_TYPE } from 'components/network/constants'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; import { useDispatch, useSelector } from 'react-redux'; -import { addNotification, removeNotificationByNode, setModificationsInProgress } from '../../../redux/actions'; +import { addNotification, removeNotificationByNode, setModificationsInProgress } from '../../../appRedux/actions'; import TwoWindingsTransformerModificationDialog from '../../dialogs/network-modifications/two-windings-transformer/modification/two-windings-transformer-modification-dialog'; import { useIsAnyNodeBuilding } from '../../utils/is-any-node-building-hook'; @@ -60,7 +60,7 @@ import RestoreModificationDialog from 'components/dialogs/restore-modification-d import { MODIFICATION_TYPES } from 'components/utils/modification-type'; import { UUID } from 'crypto'; import { DropResult } from 'react-beautiful-dnd'; -import { AppState, StudyUpdated } from 'redux/reducer'; +import { AppState, StudyUpdated } from 'appRedux/reducer'; import { createCompositeModifications } from '../../../services/explore'; import { fetchNetworkModification } from '../../../services/network-modification'; import { copyOrMoveModifications } from '../../../services/study'; diff --git a/src/components/graph/menus/node-editor.tsx b/src/components/graph/menus/node-editor.tsx index 96451e2e44..4164b9c1aa 100644 --- a/src/components/graph/menus/node-editor.tsx +++ b/src/components/graph/menus/node-editor.tsx @@ -12,10 +12,10 @@ import NetworkModificationNodeEditor from './network-modification-node-editor'; import { useSnackMessage } from '@gridsuite/commons-ui'; import { EditableTitle } from './editable-title'; import { useDispatch, useSelector } from 'react-redux'; -import { setModificationsDrawerOpen } from '../../../redux/actions'; +import { setModificationsDrawerOpen } from '../../../appRedux/actions'; import { updateTreeNode } from '../../../services/study/tree-subtree'; import { Box } from '@mui/material'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { Theme } from '@mui/material/styles'; const styles = { diff --git a/src/components/graph/menus/switch-network-modification-active.tsx b/src/components/graph/menus/switch-network-modification-active.tsx index cbe659e063..d0ccd30d51 100644 --- a/src/components/graph/menus/switch-network-modification-active.tsx +++ b/src/components/graph/menus/switch-network-modification-active.tsx @@ -9,7 +9,7 @@ import { Dispatch, SetStateAction, useCallback, useState } from 'react'; import { NetworkModificationMetadata } from './network-modification-menu.type'; import { useSnackMessage } from '@gridsuite/commons-ui'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { setModificationActivated } from 'services/study/network-modifications'; import { Switch } from '@mui/material'; import { UUID } from 'crypto'; diff --git a/src/components/graph/network-modification-tree-model.ts b/src/components/graph/network-modification-tree-model.ts index 7e21f18ff0..02632c36a3 100644 --- a/src/components/graph/network-modification-tree-model.ts +++ b/src/components/graph/network-modification-tree-model.ts @@ -10,7 +10,7 @@ import { convertNodetoReactFlowModelNode, getModificationNodeDataOrUndefined } f import { NodeInsertModes } from './nodes/node-insert-modes'; import { BUILD_STATUS } from '../network/constants'; import { UUID } from 'crypto'; -import { CurrentTreeNode, isReactFlowRootNodeData } from '../../redux/reducer'; +import { CurrentTreeNode, isReactFlowRootNodeData } from '../../appRedux/reducer'; import { Edge } from '@xyflow/react'; import { NetworkModificationNodeData, RootNodeData } from './tree-node.type'; diff --git a/src/components/graph/nodes/network-modification-node.tsx b/src/components/graph/nodes/network-modification-node.tsx index d168cedd81..77e79467ab 100644 --- a/src/components/graph/nodes/network-modification-node.tsx +++ b/src/components/graph/nodes/network-modification-node.tsx @@ -12,11 +12,11 @@ import { useSelector } from 'react-redux'; import CircularProgress from '@mui/material/CircularProgress'; import LockIcon from '@mui/icons-material/Lock'; import { LIGHT_THEME, OverflowableText } from '@gridsuite/commons-ui'; -import { getLocalStorageTheme } from '../../../redux/session-storage/local-storage'; +import { getLocalStorageTheme } from '../../../appRedux/session-storage/local-storage'; import { BUILD_STATUS } from '../../network/constants'; import { Box } from '@mui/system'; import { Theme } from '@mui/material'; -import { AppState, ModificationNode } from 'redux/reducer'; +import { AppState, ModificationNode } from 'appRedux/reducer'; import { CopyType } from 'components/network-modification.type'; const BUILT_NODE_BANNER_COLOR = '#74a358'; diff --git a/src/components/graph/nodes/root-node.tsx b/src/components/graph/nodes/root-node.tsx index 6465f460c5..030f54feca 100644 --- a/src/components/graph/nodes/root-node.tsx +++ b/src/components/graph/nodes/root-node.tsx @@ -13,7 +13,7 @@ import { Handle, NodeProps, Position } from '@xyflow/react'; import { useSelector } from 'react-redux'; import Tooltip from '@mui/material/Tooltip'; import { BUILD_STATUS } from '../../network/constants'; -import { AppState, RootNode as RootNodeType } from 'redux/reducer'; +import { AppState, RootNode as RootNodeType } from 'appRedux/reducer'; import { Theme } from '@mui/material/styles'; const styles = { diff --git a/src/components/graph/util/center-graph-button.tsx b/src/components/graph/util/center-graph-button.tsx index 3d32dc6515..24f2cb4a84 100644 --- a/src/components/graph/util/center-graph-button.tsx +++ b/src/components/graph/util/center-graph-button.tsx @@ -11,7 +11,7 @@ import React, { useCallback } from 'react'; import { ControlButton, useReactFlow } from '@xyflow/react'; import { useIntl } from 'react-intl'; import { TOOLTIP_DELAY } from '../../../utils/UIconstants'; -import { CurrentTreeNode } from 'redux/reducer'; +import { CurrentTreeNode } from 'appRedux/reducer'; const CenterGraphButton = ({ currentNode }: { currentNode: CurrentTreeNode }) => { const { setCenter, getZoom } = useReactFlow(); diff --git a/src/components/graph/util/model-functions.ts b/src/components/graph/util/model-functions.ts index 0a7eb9a703..5991634085 100644 --- a/src/components/graph/util/model-functions.ts +++ b/src/components/graph/util/model-functions.ts @@ -7,7 +7,7 @@ import { UUID } from 'crypto'; import NetworkModificationTreeModel from '../network-modification-tree-model'; -import { CurrentTreeNode, ReactFlowModificationNodeData, ReactFlowRootNodeData } from 'redux/reducer'; +import { CurrentTreeNode, ReactFlowModificationNodeData, ReactFlowRootNodeData } from 'appRedux/reducer'; import { NetworkModificationNodeData, NodeType, RootNodeData } from '../tree-node.type'; export function getModificationNodeDataOrUndefined(node: NetworkModificationNodeData | RootNodeData) { diff --git a/src/components/horizontal-toolbar.jsx b/src/components/horizontal-toolbar.jsx index 1160c7a428..6afdf5bee7 100644 --- a/src/components/horizontal-toolbar.jsx +++ b/src/components/horizontal-toolbar.jsx @@ -14,7 +14,7 @@ import Tooltip from '@mui/material/Tooltip'; import { useIntl } from 'react-intl'; import { useDispatch, useSelector } from 'react-redux'; import Divider from '@mui/material/Divider'; -import { setModificationsDrawerOpen, setStudyDisplayMode, setEventScenarioDrawerOpen } from '../redux/actions'; +import { setModificationsDrawerOpen, setStudyDisplayMode, setEventScenarioDrawerOpen } from '../appRedux/actions'; import { TOOLTIP_DELAY } from '../utils/UIconstants'; import OfflineBoltOutlinedIcon from '@mui/icons-material/OfflineBoltOutlined'; import { useParameterState } from './dialogs/parameters/parameters'; diff --git a/src/components/map-viewer.jsx b/src/components/map-viewer.jsx index 1a75b8ad7d..095f99c00c 100644 --- a/src/components/map-viewer.jsx +++ b/src/components/map-viewer.jsx @@ -14,7 +14,7 @@ import { PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, } from '../utils/config-params'; -import { setStudyDisplayMode } from '../redux/actions'; +import { setStudyDisplayMode } from '../appRedux/actions'; import { DRAW_EVENT, DRAW_MODES } from '@powsybl/diagram-viewer'; import { DiagramType } from './diagrams/diagram-common'; import { ReactFlowProvider } from '@xyflow/react'; diff --git a/src/components/menus/bus-menu.tsx b/src/components/menus/bus-menu.tsx index 66d45fa065..b3f46c5609 100644 --- a/src/components/menus/bus-menu.tsx +++ b/src/components/menus/bus-menu.tsx @@ -11,7 +11,7 @@ import { FormattedMessage } from 'react-intl'; import React, { FunctionComponent, useCallback, useEffect, useMemo, useState } from 'react'; import { isNodeBuilt, isNodeReadOnly } from 'components/graph/util/model-functions'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { useIsAnyNodeBuilding } from 'components/utils/is-any-node-building-hook'; import { ComputingType } from 'components/computing-status/computing-type'; import { RunningStatus } from 'components/utils/running-status'; diff --git a/src/components/network-modification-tree-pane.jsx b/src/components/network-modification-tree-pane.jsx index a3b55aaed5..e6ffdc2b48 100644 --- a/src/components/network-modification-tree-pane.jsx +++ b/src/components/network-modification-tree-pane.jsx @@ -14,7 +14,7 @@ import { removeNotificationByNode, networkModificationHandleSubtree, setSelectionForCopy, -} from '../redux/actions'; +} from '../appRedux/actions'; import { useDispatch, useSelector } from 'react-redux'; import PropTypes from 'prop-types'; import { Box } from '@mui/material'; diff --git a/src/components/network-modification-tree.jsx b/src/components/network-modification-tree.jsx index 1daa78cfa7..112397b347 100644 --- a/src/components/network-modification-tree.jsx +++ b/src/components/network-modification-tree.jsx @@ -9,7 +9,7 @@ import { Box, Tooltip } from '@mui/material'; import { ReactFlow, Controls, useStore, useReactFlow, ControlButton } from '@xyflow/react'; import CenterGraphButton from './graph/util/center-graph-button'; import React, { useCallback, useEffect, useRef, useState } from 'react'; -import { setModificationsDrawerOpen, setCurrentTreeNode } from '../redux/actions'; +import { setModificationsDrawerOpen, setCurrentTreeNode } from '../appRedux/actions'; import { useDispatch, useSelector } from 'react-redux'; import { isSameNode } from './graph/util/model-functions'; import { DRAWER_NODE_EDITOR_WIDTH, TOOLTIP_DELAY } from '../utils/UIconstants'; diff --git a/src/components/network/gs-map-equipments.ts b/src/components/network/gs-map-equipments.ts index c94a33b06e..ed52f6801a 100644 --- a/src/components/network/gs-map-equipments.ts +++ b/src/components/network/gs-map-equipments.ts @@ -10,7 +10,7 @@ import { RefObject } from 'react'; import { IntlShape } from 'react-intl'; import { Dispatch } from 'redux'; import { UseSnackMessageReturn } from '@gridsuite/commons-ui'; -import { mapEquipmentsCreated, setMapEquipementsInitialized } from '../../redux/actions'; +import { mapEquipmentsCreated, setMapEquipementsInitialized } from '../../appRedux/actions'; import { fetchHvdcLinesMapInfos, fetchLinesMapInfos, diff --git a/src/components/network/network-map-tab.jsx b/src/components/network/network-map-tab.jsx index b20e59ce3a..6f48736666 100644 --- a/src/components/network/network-map-tab.jsx +++ b/src/components/network/network-map-tab.jsx @@ -17,7 +17,7 @@ import { useDispatch, useSelector } from 'react-redux'; import { PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_USE_NAME } from '../../utils/config-params'; import { useIntlRef, useSnackMessage } from '@gridsuite/commons-ui'; import { isNodeBuilt, isNodeRenamed, isSameNodeAndBuilt } from '../graph/util/model-functions'; -import { resetMapReloaded, setMapDataLoading } from '../../redux/actions'; +import { resetMapReloaded, setMapDataLoading } from '../../appRedux/actions'; import GSMapEquipments from './gs-map-equipments'; import LinearProgress from '@mui/material/LinearProgress'; import { UPDATE_TYPE_HEADER } from '../study-container'; diff --git a/src/components/network/selection-creation-panel/selection-creation-panel.tsx b/src/components/network/selection-creation-panel/selection-creation-panel.tsx index 88d02c60e8..4f96a32012 100644 --- a/src/components/network/selection-creation-panel/selection-creation-panel.tsx +++ b/src/components/network/selection-creation-panel/selection-creation-panel.tsx @@ -29,9 +29,9 @@ import { useSelector, useDispatch } from 'react-redux'; import { useSaveMap } from './use-save-map'; import { SelectionCreationPanelSubmitButton } from './selection-creation-panel-submit-button'; import { SELECTION_TYPES } from './selection-types'; -import { openNadList } from 'redux/actions'; +import { openNadList } from 'appRedux/actions'; import { Nullable } from 'components/utils/ts-utils'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { SelectionCreationPanelForm } from './selection-creation-panel-form'; import { SelectionCreationPaneFields, diff --git a/src/components/network/selection-creation-panel/use-save-map.ts b/src/components/network/selection-creation-panel/use-save-map.ts index 842e699393..982ca07dec 100644 --- a/src/components/network/selection-creation-panel/use-save-map.ts +++ b/src/components/network/selection-creation-panel/use-save-map.ts @@ -8,7 +8,7 @@ import { Equipment, EquipmentType, useSnackMessage } from '@gridsuite/commons-ui import { useCallback, useState } from 'react'; import { useIntl } from 'react-intl'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { SELECTION_TYPES } from './selection-types'; import { createMapContingencyList, createMapFilter } from '../../../services/study/network-map'; import { DestinationFolder, SelectionCreationPanelNotNadFields } from './selection-creation-schema'; diff --git a/src/components/network/use-spreadsheet-equipments.js b/src/components/network/use-spreadsheet-equipments.js index 7b2fb49b30..e53ffb25c5 100644 --- a/src/components/network/use-spreadsheet-equipments.js +++ b/src/components/network/use-spreadsheet-equipments.js @@ -15,7 +15,7 @@ import { resetEquipments, resetEquipmentsByTypes, updateEquipments, -} from 'redux/actions'; +} from 'appRedux/actions'; import { fetchAllEquipments } from 'services/study/network-map'; export const useSpreadsheetEquipments = (equipment, formatFetchedEquipments) => { diff --git a/src/components/parameters-tabs.tsx b/src/components/parameters-tabs.tsx index 4d6e766097..6c636e7e40 100644 --- a/src/components/parameters-tabs.tsx +++ b/src/components/parameters-tabs.tsx @@ -14,7 +14,7 @@ import { useParametersBackend, useParameterState } from './dialogs/parameters/pa import { PARAM_DEVELOPER_MODE } from 'utils/config-params'; import { useOptionalServiceStatus } from 'hooks/use-optional-service-status'; import { OptionalServicesNames, OptionalServicesStatus } from './utils/optional-services'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { getLoadFlowProviders, getLoadFlowSpecificParametersDescription } from 'services/loadflow'; import { getDefaultLoadFlowProvider, diff --git a/src/components/report-viewer/log-table.jsx b/src/components/report-viewer/log-table.jsx index 6ba9d3d6d9..9c2442464a 100644 --- a/src/components/report-viewer/log-table.jsx +++ b/src/components/report-viewer/log-table.jsx @@ -8,7 +8,7 @@ import { memo, useCallback, useEffect, useState, useMemo, useRef } from 'react'; import { useIntl } from 'react-intl'; import { CustomAGGrid } from '@gridsuite/commons-ui'; import { useTheme } from '@mui/material/styles'; -import { setLogsFilter } from '../../redux/actions'; +import { setLogsFilter } from '../../appRedux/actions'; import { makeAgGridCustomHeaderColumn } from 'components/custom-aggrid/custom-aggrid-header-utils'; import { FILTER_DATA_TYPES, FILTER_TEXT_COMPARATORS } from 'components/custom-aggrid/custom-aggrid-header.type'; import { EllipsisCellRenderer } from 'components/spreadsheet/utils/cell-renderers'; diff --git a/src/components/report-viewer/report-viewer.jsx b/src/components/report-viewer/report-viewer.jsx index 705865b4fb..2b760800ab 100644 --- a/src/components/report-viewer/report-viewer.jsx +++ b/src/components/report-viewer/report-viewer.jsx @@ -13,7 +13,7 @@ import ReportItem from './report-item'; import { mapReportsTree } from '../../utils/report-tree.mapper'; import { useDispatch } from 'react-redux'; import PropTypes from 'prop-types'; -import { setLogsFilter } from 'redux/actions'; +import { setLogsFilter } from 'appRedux/actions'; // WARNING this file has been copied from commons-ui, and updated here. Putting it back to commons-ui has to be discussed. diff --git a/src/components/result-view-tab.tsx b/src/components/result-view-tab.tsx index 4d0731431c..231fbca715 100644 --- a/src/components/result-view-tab.tsx +++ b/src/components/result-view-tab.tsx @@ -21,7 +21,7 @@ import { computingTypeToRootTabRedirection, ResultTabIndexRedirection, useResult import SensitivityAnalysisResultTab from './results/sensitivity-analysis/sensitivity-analysis-result-tab'; import { NonEvacuatedEnergyResultTab } from './results/sensitivity-analysis/non-evacuated-energy/non-evacuated-energy-result-tab'; import { OptionalServicesNames, OptionalServicesStatus } from './utils/optional-services'; -import { CurrentTreeNode, AppState } from '../redux/reducer'; +import { CurrentTreeNode, AppState } from '../appRedux/reducer'; import { UUID } from 'crypto'; import { useOptionalServiceStatus } from '../hooks/use-optional-service-status'; import { SecurityAnalysisResultTab } from './results/securityanalysis/security-analysis-result-tab'; diff --git a/src/components/results/common/computation-report-viewer.tsx b/src/components/results/common/computation-report-viewer.tsx index 22c0f34d98..16dbd9617f 100644 --- a/src/components/results/common/computation-report-viewer.tsx +++ b/src/components/results/common/computation-report-viewer.tsx @@ -8,7 +8,7 @@ import { FunctionComponent, useEffect, useMemo, useState } from 'react'; import ReportViewer from '../../report-viewer/report-viewer'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { ComputingType } from '../../computing-status/computing-type'; import WaitingLoader from '../../utils/waiting-loader'; import { useReportFetcher } from '../../../hooks/use-report-fetcher'; diff --git a/src/components/results/common/results-global-filter.tsx b/src/components/results/common/results-global-filter.tsx index 3812a36db6..3fb83bb1dc 100644 --- a/src/components/results/common/results-global-filter.tsx +++ b/src/components/results/common/results-global-filter.tsx @@ -13,10 +13,10 @@ import { FormattedMessage, useIntl } from 'react-intl'; import { mergeSx } from '../../utils/functions'; import { useLocalizedCountries } from 'components/utils/localized-countries-hook'; import { useDispatch, useSelector } from 'react-redux'; -import { addToRecentGlobalFilters } from '../../../redux/actions'; +import { addToRecentGlobalFilters } from '../../../appRedux/actions'; import { Theme } from '@mui/material'; -import { AppState } from '../../../redux/reducer'; -import { AppDispatch } from '../../../redux/store'; +import { AppState } from '../../../appRedux/reducer'; +import { AppDispatch } from '../../../appRedux/store'; const styles = { autocomplete: (theme: Theme) => ({ diff --git a/src/components/results/dynamicsimulation/dynamic-simulation-result-logs.tsx b/src/components/results/dynamicsimulation/dynamic-simulation-result-logs.tsx index 3d9f025d82..a4af9cd568 100644 --- a/src/components/results/dynamicsimulation/dynamic-simulation-result-logs.tsx +++ b/src/components/results/dynamicsimulation/dynamic-simulation-result-logs.tsx @@ -8,7 +8,7 @@ import { ComputationReportViewer } from '../common/computation-report-viewer'; import React, { memo, useMemo } from 'react'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import ComputingType from '../../computing-status/computing-type'; import RunningStatus from '../../utils/running-status'; import { useIntlResultStatusMessages } from '../../utils/aggrid-rows-handler'; diff --git a/src/components/results/dynamicsimulation/dynamic-simulation-result-synthesis.tsx b/src/components/results/dynamicsimulation/dynamic-simulation-result-synthesis.tsx index 1df108f464..a7ac76bbc8 100644 --- a/src/components/results/dynamicsimulation/dynamic-simulation-result-synthesis.tsx +++ b/src/components/results/dynamicsimulation/dynamic-simulation-result-synthesis.tsx @@ -19,7 +19,7 @@ import { DefaultCellRenderer } from '../../spreadsheet/utils/cell-renderers'; import { StatusCellRender } from '../common/result-cell-renderers'; import { UUID } from 'crypto'; import RunningStatus from '../../utils/running-status'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { CustomAGGrid } from '@gridsuite/commons-ui'; const styles = { diff --git a/src/components/results/dynamicsimulation/dynamic-simulation-result-timeline.tsx b/src/components/results/dynamicsimulation/dynamic-simulation-result-timeline.tsx index b1c4a0f738..734ae87ec1 100644 --- a/src/components/results/dynamicsimulation/dynamic-simulation-result-timeline.tsx +++ b/src/components/results/dynamicsimulation/dynamic-simulation-result-timeline.tsx @@ -17,7 +17,7 @@ import { import { DefaultCellRenderer } from '../../spreadsheet/utils/cell-renderers'; import { getNoRowsMessage, useIntlResultStatusMessages } from '../../utils/aggrid-rows-handler'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import ComputingType from '../../computing-status/computing-type'; import { useAgGridSort } from '../../../hooks/use-aggrid-sort'; import { useAggridLocalRowFilter } from '../../../hooks/use-aggrid-local-row-filter'; @@ -32,7 +32,7 @@ import { import { useNodeData } from '../../study-container'; import { fetchDynamicSimulationResultTimeline } from '../../../services/dynamic-simulation'; import { NumberCellRenderer } from '../common/result-cell-renderers'; -import { setDynamicSimulationResultFilter } from 'redux/actions'; +import { setDynamicSimulationResultFilter } from 'appRedux/actions'; import { DYNAMIC_SIMULATION_RESULT_STORE_FIELD, DYNAMIC_SIMULATION_RESULT_SORT_STORE, diff --git a/src/components/results/loadflow/limit-violation-result.tsx b/src/components/results/loadflow/limit-violation-result.tsx index c8f85accc6..dea9617718 100644 --- a/src/components/results/loadflow/limit-violation-result.tsx +++ b/src/components/results/loadflow/limit-violation-result.tsx @@ -12,7 +12,7 @@ import { useTheme } from '@mui/material'; import { GridReadyEvent, RowClassParams } from 'ag-grid-community'; import { ComputingType } from '../../computing-status/computing-type'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { LimitViolationResultProps } from './load-flow-result.type'; import { getNoRowsMessage, getRows, useIntlResultStatusMessages } from '../../utils/aggrid-rows-handler'; diff --git a/src/components/results/loadflow/load-flow-result-tab.tsx b/src/components/results/loadflow/load-flow-result-tab.tsx index 820a9e773c..981a923edb 100644 --- a/src/components/results/loadflow/load-flow-result-tab.tsx +++ b/src/components/results/loadflow/load-flow-result-tab.tsx @@ -15,7 +15,7 @@ import { LoadFlowResult } from './load-flow-result'; import { useNodeData } from '../../study-container'; import { fetchLimitViolations, fetchLoadFlowResult } from '../../../services/study/loadflow'; import RunningStatus from 'components/utils/running-status'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import ComputingType from 'components/computing-status/computing-type'; import { useSelector } from 'react-redux'; import { ComputationReportViewer } from '../common/computation-report-viewer'; @@ -35,7 +35,7 @@ import { import { FILTER_DATA_TYPES, FILTER_TEXT_COMPARATORS } from 'components/custom-aggrid/custom-aggrid-header.type'; import { LimitViolationResult } from './limit-violation-result'; import { mapFieldsToColumnsFilter } from 'components/custom-aggrid/custom-aggrid-header-utils'; -import { setLoadflowResultFilter } from 'redux/actions'; +import { setLoadflowResultFilter } from 'appRedux/actions'; import { NumberCellRenderer, StatusCellRender } from '../common/result-cell-renderers'; import ResultsGlobalFilter, { Filter, FilterType } from '../common/results-global-filter'; import { useSnackMessage } from '@gridsuite/commons-ui'; diff --git a/src/components/results/loadflow/load-flow-result-utils.ts b/src/components/results/loadflow/load-flow-result-utils.ts index f291e0c078..86369d555e 100644 --- a/src/components/results/loadflow/load-flow-result-utils.ts +++ b/src/components/results/loadflow/load-flow-result-utils.ts @@ -30,7 +30,7 @@ import { import { fetchAvailableFilterEnumValues } from '../../../services/study'; import computingType, { ComputingType } from '../../computing-status/computing-type'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import RunningStatus from 'components/utils/running-status'; export const convertMillisecondsToMinutesSeconds = (durationInMilliseconds: number): string => { diff --git a/src/components/results/loadflow/load-flow-result.tsx b/src/components/results/loadflow/load-flow-result.tsx index ee07128f9a..4d97a1f4fe 100644 --- a/src/components/results/loadflow/load-flow-result.tsx +++ b/src/components/results/loadflow/load-flow-result.tsx @@ -11,7 +11,7 @@ import { useSelector } from 'react-redux'; import { useTheme } from '@mui/material'; import { GridReadyEvent, RowClassParams } from 'ag-grid-community'; import { ComputingType } from '../../computing-status/computing-type'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { LoadflowResultProps } from './load-flow-result.type'; import { getNoRowsMessage, getRows, useIntlResultStatusMessages } from '../../utils/aggrid-rows-handler'; diff --git a/src/components/results/securityanalysis/security-analysis-result-tab.tsx b/src/components/results/securityanalysis/security-analysis-result-tab.tsx index 6f369b1538..214e171eac 100644 --- a/src/components/results/securityanalysis/security-analysis-result-tab.tsx +++ b/src/components/results/securityanalysis/security-analysis-result-tab.tsx @@ -8,7 +8,7 @@ import React, { SyntheticEvent, FunctionComponent, useState, useCallback, useMemo, useEffect } from 'react'; import { useSelector } from 'react-redux'; import { FormattedMessage } from 'react-intl'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { Box } from '@mui/system'; import { Tabs, Tab, Select, MenuItem, LinearProgress } from '@mui/material'; import { fetchSecurityAnalysisResult } from '../../../services/study/security-analysis'; @@ -37,7 +37,7 @@ import { SelectChangeEvent } from '@mui/material/Select/SelectInput'; import { SecurityAnalysisExportButton } from './security-analysis-export-button'; import { useSecurityAnalysisColumnsDefs } from './use-security-analysis-column-defs'; import { mapFieldsToColumnsFilter } from 'components/custom-aggrid/custom-aggrid-header-utils'; -import { setSecurityAnalysisResultFilter } from 'redux/actions'; +import { setSecurityAnalysisResultFilter } from 'appRedux/actions'; import { SECURITY_ANALYSIS_RESULT_SORT_STORE, SECURITY_ANALYSIS_RESULT_STORE_FIELD, diff --git a/src/components/results/securityanalysis/security-analysis-result-utils.ts b/src/components/results/securityanalysis/security-analysis-result-utils.ts index 02eaff8edb..f0ba6d0b51 100644 --- a/src/components/results/securityanalysis/security-analysis-result-utils.ts +++ b/src/components/results/securityanalysis/security-analysis-result-utils.ts @@ -31,7 +31,7 @@ import { SECURITY_ANALYSIS_RESULT_N, SECURITY_ANALYSIS_RESULT_N_K } from 'utils/ import { fetchAvailableFilterEnumValues } from '../../../services/study'; import computingType, { ComputingType } from '../../computing-status/computing-type'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import RunningStatus from 'components/utils/running-status'; import { SecurityAnalysisFilterEnumsType } from './use-security-analysis-column-defs'; diff --git a/src/components/results/securityanalysis/security-analysis-table.tsx b/src/components/results/securityanalysis/security-analysis-table.tsx index 632e8c7790..39ad0b84b7 100644 --- a/src/components/results/securityanalysis/security-analysis-table.tsx +++ b/src/components/results/securityanalysis/security-analysis-table.tsx @@ -12,7 +12,7 @@ import { GridReadyEvent } from 'ag-grid-community'; import { IntlShape, useIntl } from 'react-intl'; import { DefaultCellRenderer } from '../../spreadsheet/utils/cell-renderers'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { ComputingType } from '../../computing-status/computing-type'; import { CustomAGGrid } from '@gridsuite/commons-ui'; diff --git a/src/components/results/securityanalysis/use-security-analysis-column-defs.tsx b/src/components/results/securityanalysis/use-security-analysis-column-defs.tsx index 0f135cd05d..81f9a328cf 100644 --- a/src/components/results/securityanalysis/use-security-analysis-column-defs.tsx +++ b/src/components/results/securityanalysis/use-security-analysis-column-defs.tsx @@ -22,7 +22,7 @@ import { import { SortPropsType } from 'hooks/use-aggrid-sort'; import { FilterEnumsType, FilterPropsType } from 'hooks/use-aggrid-row-filter'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; const styles = { button: { diff --git a/src/components/results/sensitivity-analysis/non-evacuated-energy/non-evacuated-energy-result-tab.tsx b/src/components/results/sensitivity-analysis/non-evacuated-energy/non-evacuated-energy-result-tab.tsx index 742fc720a7..30b384314c 100644 --- a/src/components/results/sensitivity-analysis/non-evacuated-energy/non-evacuated-energy-result-tab.tsx +++ b/src/components/results/sensitivity-analysis/non-evacuated-energy/non-evacuated-energy-result-tab.tsx @@ -17,7 +17,7 @@ import { FormattedMessage } from 'react-intl'; import { RunningStatus } from '../../../utils/running-status'; import { ComputationReportViewer } from '../../common/computation-report-viewer'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../../redux/reducer'; +import { AppState } from '../../../../appRedux/reducer'; import { ComputingType } from '../../../computing-status/computing-type'; import { RESULTS_LOADING_DELAY } from '../../../network/constants'; diff --git a/src/components/results/sensitivity-analysis/sensitivity-analysis-result-tab.jsx b/src/components/results/sensitivity-analysis/sensitivity-analysis-result-tab.jsx index e7c9e7d46b..793d6c4e8e 100644 --- a/src/components/results/sensitivity-analysis/sensitivity-analysis-result-tab.jsx +++ b/src/components/results/sensitivity-analysis/sensitivity-analysis-result-tab.jsx @@ -31,7 +31,7 @@ import { downloadZipFile } from '../../../services/utils'; import { useSnackMessage } from '@gridsuite/commons-ui'; import { useIntl } from 'react-intl'; import { ExportButton } from '../../utils/export-button'; -import { setSensitivityAnalysisResultFilter } from 'redux/actions'; +import { setSensitivityAnalysisResultFilter } from 'appRedux/actions'; import { SENSITIVITY_ANALYSIS_RESULT_SORT_STORE, SENSITIVITY_ANALYSIS_RESULT_STORE_FIELD, diff --git a/src/components/results/shortcircuit/shortcircuit-analysis-all-buses-result.tsx b/src/components/results/shortcircuit/shortcircuit-analysis-all-buses-result.tsx index 2c17c012b1..f26a0ed8a0 100644 --- a/src/components/results/shortcircuit/shortcircuit-analysis-all-buses-result.tsx +++ b/src/components/results/shortcircuit/shortcircuit-analysis-all-buses-result.tsx @@ -12,7 +12,7 @@ import { } from 'components/results/shortcircuit/shortcircuit-analysis-result.type'; import { ShortCircuitAnalysisResult } from 'components/results/shortcircuit/shortcircuit-analysis-result'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { FunctionComponent, useCallback, useState } from 'react'; import { ComputingType } from 'components/computing-status/computing-type'; import { GridReadyEvent } from 'ag-grid-community'; diff --git a/src/components/results/shortcircuit/shortcircuit-analysis-one-bus-result.tsx b/src/components/results/shortcircuit/shortcircuit-analysis-one-bus-result.tsx index 3300640f34..9f6219e273 100644 --- a/src/components/results/shortcircuit/shortcircuit-analysis-one-bus-result.tsx +++ b/src/components/results/shortcircuit/shortcircuit-analysis-one-bus-result.tsx @@ -13,7 +13,7 @@ import { } from 'components/results/shortcircuit/shortcircuit-analysis-result.type'; import { ShortCircuitAnalysisResult } from 'components/results/shortcircuit/shortcircuit-analysis-result'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { FunctionComponent, useCallback, useEffect, useState } from 'react'; import { fetchShortCircuitAnalysisResult } from 'services/study/short-circuit-analysis'; import { useSnackMessage } from '@gridsuite/commons-ui'; diff --git a/src/components/results/shortcircuit/shortcircuit-analysis-result-tab.tsx b/src/components/results/shortcircuit/shortcircuit-analysis-result-tab.tsx index 092f65b8fc..a85453a5e9 100644 --- a/src/components/results/shortcircuit/shortcircuit-analysis-result-tab.tsx +++ b/src/components/results/shortcircuit/shortcircuit-analysis-result-tab.tsx @@ -17,7 +17,7 @@ import { FormattedMessage } from 'react-intl'; import { ComputationReportViewer } from '../common/computation-report-viewer'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { ComputingType } from '../../computing-status/computing-type'; import { RunningStatus } from '../../utils/running-status'; import { ShortCircuitAnalysisOneBusResult } from './shortcircuit-analysis-one-bus-result'; diff --git a/src/components/results/shortcircuit/shortcircuit-analysis-result-table.tsx b/src/components/results/shortcircuit/shortcircuit-analysis-result-table.tsx index b2638948a2..0d2d0aeb67 100644 --- a/src/components/results/shortcircuit/shortcircuit-analysis-result-table.tsx +++ b/src/components/results/shortcircuit/shortcircuit-analysis-result-table.tsx @@ -13,7 +13,7 @@ import { GridReadyEvent, RowClassParams, ValueGetterParams } from 'ag-grid-commu import { getNoRowsMessage, getRows, useIntlResultStatusMessages } from '../../utils/aggrid-rows-handler'; import { useSelector } from 'react-redux'; import { ComputingType } from '../../computing-status/computing-type'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { DefaultCellRenderer } from '../../spreadsheet/utils/cell-renderers'; import { FilterEnumsType, FilterPropsType } from '../../../hooks/use-aggrid-row-filter'; import { SortPropsType } from '../../../hooks/use-aggrid-sort'; diff --git a/src/components/results/shortcircuit/shortcircuit-analysis-result.tsx b/src/components/results/shortcircuit/shortcircuit-analysis-result.tsx index 7476a3e910..4a2af02836 100644 --- a/src/components/results/shortcircuit/shortcircuit-analysis-result.tsx +++ b/src/components/results/shortcircuit/shortcircuit-analysis-result.tsx @@ -13,7 +13,7 @@ import { SCAPagedResults, ShortCircuitAnalysisType, } from './shortcircuit-analysis-result.type'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { RunningStatus } from 'components/utils/running-status'; import React, { FunctionComponent, useCallback, useEffect, useState } from 'react'; import { fetchShortCircuitAnalysisPagedResults } from '../../../services/study/short-circuit-analysis'; @@ -34,7 +34,7 @@ import { RESULTS_LOADING_DELAY } from '../../network/constants'; import { useAgGridSort } from '../../../hooks/use-aggrid-sort'; import { FilterEnumsType, useAggridRowFilter } from '../../../hooks/use-aggrid-row-filter'; import { GridReadyEvent } from 'ag-grid-community'; -import { setShortcircuitAnalysisResultFilter } from 'redux/actions'; +import { setShortcircuitAnalysisResultFilter } from 'appRedux/actions'; import { mapFieldsToColumnsFilter } from 'components/custom-aggrid/custom-aggrid-header-utils'; import { SHORTCIRCUIT_ANALYSIS_RESULT_SORT_STORE, diff --git a/src/components/results/use-results-tab.ts b/src/components/results/use-results-tab.ts index 1aa476d587..b5cd1524ad 100644 --- a/src/components/results/use-results-tab.ts +++ b/src/components/results/use-results-tab.ts @@ -10,7 +10,7 @@ import { IService } from 'components/result-view-tab'; import { StudyView } from 'components/study-pane'; import { Dispatch, SetStateAction, useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { ShortCircuitAnalysisResultTabs } from './shortcircuit/shortcircuit-analysis-result.type'; export enum ResultsTabsRootLevel { diff --git a/src/components/run-button-container.jsx b/src/components/run-button-container.jsx index 911daa4112..d1730bcb53 100644 --- a/src/components/run-button-container.jsx +++ b/src/components/run-button-container.jsx @@ -8,7 +8,7 @@ import React, { useCallback, useMemo, useState } from 'react'; import PropTypes from 'prop-types'; -import { setComputingStatus, setComputationStarting } from '../redux/actions'; +import { setComputingStatus, setComputationStarting } from '../appRedux/actions'; import { useDispatch, useSelector } from 'react-redux'; import RunningStatus from './utils/running-status'; diff --git a/src/components/spreadsheet/columns-config.tsx b/src/components/spreadsheet/columns-config.tsx index f548bfd2e9..d4b9f1fedf 100644 --- a/src/components/spreadsheet/columns-config.tsx +++ b/src/components/spreadsheet/columns-config.tsx @@ -25,8 +25,8 @@ import ViewColumnIcon from '@mui/icons-material/ViewColumn'; import { DragDropContext, Draggable, Droppable, DropResult } from 'react-beautiful-dnd'; import DragIndicatorIcon from '@mui/icons-material/DragIndicator'; import { updateConfigParameter } from '../../services/config'; -import { AppState } from '../../redux/reducer'; -import { changeDisplayedColumns, changeLockedColumns, changeReorderedColumns } from 'redux/actions'; +import { AppState } from '../../appRedux/reducer'; +import { changeDisplayedColumns, changeLockedColumns, changeReorderedColumns } from 'appRedux/actions'; const styles = { checkboxSelectAll: (theme: Theme) => ({ diff --git a/src/components/spreadsheet/custom-columns/custom-columns-config.tsx b/src/components/spreadsheet/custom-columns/custom-columns-config.tsx index d4f8e4af29..810f864cff 100644 --- a/src/components/spreadsheet/custom-columns/custom-columns-config.tsx +++ b/src/components/spreadsheet/custom-columns/custom-columns-config.tsx @@ -9,7 +9,7 @@ import { FormattedMessage } from 'react-intl'; import { Badge, IconButton } from '@mui/material'; import { Calculate as CalculateIcon } from '@mui/icons-material'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { useStateBoolean } from '@gridsuite/commons-ui'; import CustomColumnDialog from './custom-columns-dialog'; diff --git a/src/components/spreadsheet/custom-columns/custom-columns-dialog.tsx b/src/components/spreadsheet/custom-columns/custom-columns-dialog.tsx index d09cd24c5a..7770c03b77 100644 --- a/src/components/spreadsheet/custom-columns/custom-columns-dialog.tsx +++ b/src/components/spreadsheet/custom-columns/custom-columns-dialog.tsx @@ -19,11 +19,11 @@ import { import { yupResolver } from '@hookform/resolvers/yup'; import CustomColumnTable from './custom-columns-table'; -import { setCustomColumDefinitions } from 'redux/actions'; +import { setCustomColumDefinitions } from 'appRedux/actions'; import { useDispatch, useSelector } from 'react-redux'; -import { AppDispatch } from 'redux/store'; +import { AppDispatch } from 'appRedux/store'; import { ColumnWithFormula } from 'types/custom-columns.types'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; export type CustomColumnDialogProps = { open: UseStateBooleanReturn; diff --git a/src/components/spreadsheet/custom-columns/custom-columns-save.tsx b/src/components/spreadsheet/custom-columns/custom-columns-save.tsx index ee3283060b..8e3b059297 100644 --- a/src/components/spreadsheet/custom-columns/custom-columns-save.tsx +++ b/src/components/spreadsheet/custom-columns/custom-columns-save.tsx @@ -13,7 +13,7 @@ import ElementCreationDialog, { IElementCreationDialog } from '../../dialogs/ele import { useMemo } from 'react'; import { createSpreadsheetModel } from '../../../services/explore'; import { useSelector } from 'react-redux'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { EQUIPMENT_TYPES } from '../../utils/equipment-types'; import { SpreadsheetConfig } from '../../../types/custom-columns.types'; diff --git a/src/components/spreadsheet/custom-columns/use-custom-column.ts b/src/components/spreadsheet/custom-columns/use-custom-column.ts index 3ca3bd20d7..74eac5ebf7 100644 --- a/src/components/spreadsheet/custom-columns/use-custom-column.ts +++ b/src/components/spreadsheet/custom-columns/use-custom-column.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import { useMemo, useCallback } from 'react'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { create, all, bignumber } from 'mathjs'; import { useSelector } from 'react-redux'; import { makeAgGridCustomHeaderColumn } from 'components/custom-aggrid/custom-aggrid-header-utils'; diff --git a/src/components/spreadsheet/custom-spreadsheet/custom-spreadsheet-dialog.tsx b/src/components/spreadsheet/custom-spreadsheet/custom-spreadsheet-dialog.tsx index c1d03f398c..65a0329ca8 100644 --- a/src/components/spreadsheet/custom-spreadsheet/custom-spreadsheet-dialog.tsx +++ b/src/components/spreadsheet/custom-spreadsheet/custom-spreadsheet-dialog.tsx @@ -33,9 +33,9 @@ import { EQUIPMENT_TYPE_FIELD } from 'components/utils/field-constants'; import { EQUIPMENT_TYPES } from 'components/utils/equipment-types'; import { NEW_SPREADSHEET_CREATION_OPTIONS } from './constants'; import { useDispatch, useSelector } from 'react-redux'; -import { addFilterForNewSpreadsheet, addSortForNewSpreadsheet, updateTableDefinition } from 'redux/actions'; +import { addFilterForNewSpreadsheet, addSortForNewSpreadsheet, updateTableDefinition } from 'appRedux/actions'; import { TABLES_DEFINITIONS } from '../utils/config-tables'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { FormattedMessage } from 'react-intl'; import yup from 'components/utils/yup-config'; import { ColumnWithFormula } from 'types/custom-columns.types'; diff --git a/src/components/spreadsheet/equipment-table.tsx b/src/components/spreadsheet/equipment-table.tsx index bbd66352c4..f5c06d0597 100644 --- a/src/components/spreadsheet/equipment-table.tsx +++ b/src/components/spreadsheet/equipment-table.tsx @@ -21,7 +21,7 @@ import { RowStyle, SuppressKeyboardEventParams, } from 'ag-grid-community'; -import { CurrentTreeNode } from '../../redux/reducer'; +import { CurrentTreeNode } from '../../appRedux/reducer'; const PINNED_ROW_HEIGHT = 42; const DEFAULT_ROW_HEIGHT = 28; diff --git a/src/components/spreadsheet/equipment-tabs.tsx b/src/components/spreadsheet/equipment-tabs.tsx index ec553d78f2..7beeb8f7a0 100644 --- a/src/components/spreadsheet/equipment-tabs.tsx +++ b/src/components/spreadsheet/equipment-tabs.tsx @@ -9,7 +9,7 @@ import { Grid, Tab, Tabs } from '@mui/material'; import { useIntl } from 'react-intl'; import { FunctionComponent } from 'react'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import CustomSpreadsheetConfig from './custom-spreadsheet/custom-spreadsheet-config'; import { PARAM_DEVELOPER_MODE } from 'utils/config-params'; diff --git a/src/components/spreadsheet/table-wrapper.tsx b/src/components/spreadsheet/table-wrapper.tsx index 43c3eb21ec..14fd3d37f0 100644 --- a/src/components/spreadsheet/table-wrapper.tsx +++ b/src/components/spreadsheet/table-wrapper.tsx @@ -68,13 +68,13 @@ import ComputingType from 'components/computing-status/computing-type'; import { makeAgGridCustomHeaderColumn } from 'components/custom-aggrid/custom-aggrid-header-utils'; import { useAggridLocalRowFilter } from 'hooks/use-aggrid-local-row-filter'; import { useAgGridSort } from 'hooks/use-aggrid-sort'; -import { setSpreadsheetFilter } from 'redux/actions'; +import { setSpreadsheetFilter } from 'appRedux/actions'; import { useLocalizedCountries } from 'components/utils/localized-countries-hook'; import { SPREADSHEET_SORT_STORE, SPREADSHEET_STORE_FIELD } from 'utils/store-sort-filter-fields'; import { useCustomColumn } from './custom-columns/use-custom-column'; import CustomColumnsConfig from './custom-columns/custom-columns-config'; import CustomColumnsSave from './custom-columns/custom-columns-save'; -import { AppState, CurrentTreeNode } from '../../redux/reducer'; +import { AppState, CurrentTreeNode } from '../../appRedux/reducer'; import { AgGridReact } from 'ag-grid-react'; import { CellEditingStartedEvent, diff --git a/src/components/spreadsheet/utils/cell-renderers.tsx b/src/components/spreadsheet/utils/cell-renderers.tsx index ba5ea86506..104706386f 100644 --- a/src/components/spreadsheet/utils/cell-renderers.tsx +++ b/src/components/spreadsheet/utils/cell-renderers.tsx @@ -18,7 +18,7 @@ import { isNodeReadOnly } from '../../graph/util/model-functions'; import { Box } from '@mui/system'; import { mergeSx } from '../../utils/functions'; import { isBlankOrEmpty } from 'components/utils/validation-functions'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { IntlShape } from 'react-intl'; const styles = { diff --git a/src/components/spreadsheet/utils/config-tables.ts b/src/components/spreadsheet/utils/config-tables.ts index 074d2e163f..fc7a8198b0 100644 --- a/src/components/spreadsheet/utils/config-tables.ts +++ b/src/components/spreadsheet/utils/config-tables.ts @@ -41,7 +41,7 @@ import EnumCellRenderer from '../renderers/enum-cell-renderer'; import { BooleanFilterValue } from 'components/custom-aggrid/custom-aggrid-header-utils'; import { useSelector } from 'react-redux'; import { PARAM_FLUX_CONVENTION } from '../../../utils/config-params'; -import { AppState } from '../../../redux/reducer'; +import { AppState } from '../../../appRedux/reducer'; import { EnumOption } from '../../utils/utils-type'; import { CellClassParams, EditableCallbackParams, ValueGetterParams, ValueSetterParams } from 'ag-grid-community'; diff --git a/src/components/study-container.jsx b/src/components/study-container.jsx index 11557bf24e..d1a97c07f2 100644 --- a/src/components/study-container.jsx +++ b/src/components/study-container.jsx @@ -21,7 +21,7 @@ import { resetEquipmentsPostLoadflow, setStudyIndexationStatus, limitReductionModified, -} from '../redux/actions'; +} from '../appRedux/actions'; import WaitingLoader from './utils/waiting-loader'; import { useIntlRef, useSnackMessage } from '@gridsuite/commons-ui'; import NetworkModificationTreeModel from './graph/network-modification-tree-model'; @@ -44,7 +44,7 @@ import { invalidateLoadFlowStatus } from 'services/study/loadflow'; import { HttpStatusCode } from 'utils/http-status-code'; import { usePrevious } from './utils/utils'; -import { StudyIndexationStatus } from 'redux/reducer'; +import { StudyIndexationStatus } from 'appRedux/reducer'; import { fetchDirectoryElementPath } from '@gridsuite/commons-ui'; import { NodeType } from './graph/tree-node.type'; diff --git a/src/components/top-bar-equipment-seach-dialog/custom-suffix-renderer.tsx b/src/components/top-bar-equipment-seach-dialog/custom-suffix-renderer.tsx index baa82df72f..70b225d0c5 100644 --- a/src/components/top-bar-equipment-seach-dialog/custom-suffix-renderer.tsx +++ b/src/components/top-bar-equipment-seach-dialog/custom-suffix-renderer.tsx @@ -11,10 +11,10 @@ import { IconButton } from '@mui/material'; import { GpsFixed as GpsFixedIcon, Timeline as TimelineIcon } from '@mui/icons-material'; import { DiagramType, NETWORK_AREA_DIAGRAM_NB_MAX_VOLTAGE_LEVELS } from '../diagrams/diagram-common'; import { EQUIPMENT_INFOS_TYPES, EQUIPMENT_TYPES } from '../utils/equipment-types'; -import { centerOnSubstation, openDiagram } from '../../redux/actions'; +import { centerOnSubstation, openDiagram } from '../../appRedux/actions'; import { fetchNetworkElementInfos } from '../../services/study/network'; -import { AppState } from '../../redux/reducer'; -import { AppDispatch } from '../../redux/store'; +import { AppState } from '../../appRedux/reducer'; +import { AppDispatch } from '../../appRedux/store'; interface CustomSuffixRendererProps extends TagRendererProps { onClose?: () => void; diff --git a/src/components/top-bar-equipment-seach-dialog/top-bar-equipment-search-dialog.tsx b/src/components/top-bar-equipment-seach-dialog/top-bar-equipment-search-dialog.tsx index 77b163c459..acbdbfd0f5 100644 --- a/src/components/top-bar-equipment-seach-dialog/top-bar-equipment-search-dialog.tsx +++ b/src/components/top-bar-equipment-seach-dialog/top-bar-equipment-search-dialog.tsx @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; import { ElementSearchDialog, Equipment, @@ -25,7 +25,7 @@ import { useTopBarSearchMatchingEquipment } from './use-top-bar-search-matching- import { addToLocalStorageSearchEquipmentHistory, excludeElementFromCurrentSearchHistory, -} from 'redux/session-storage/search-equipment-history'; +} from 'appRedux/session-storage/search-equipment-history'; import { fetchNetworkElementInfos } from 'services/study/network'; import { EQUIPMENT_INFOS_TYPES } from 'components/utils/equipment-types'; import { TopBarEquipmentSearchInput } from './top-bar-equipment-search-input'; diff --git a/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.test.tsx b/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.test.tsx new file mode 100644 index 0000000000..371bbaead0 --- /dev/null +++ b/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.test.tsx @@ -0,0 +1,75 @@ +import { renderHook, waitFor } from '@testing-library/react'; +import { useDisabledSearchReason } from './use-disabled-search-reason'; +import { StudyIndexationStatus } from 'appRedux/reducer'; +import configureMockStore from 'redux-mock-store'; +import { Provider } from 'react-redux'; +import { Store } from 'redux'; +import { StudyDisplayMode } from 'components/network-modification.type'; +import { NodeType } from 'components/graph/tree-node.type'; + +jest.mock('react-intl', () => ({ + useIntl: () => ({ + formatMessage: jest.fn().mockImplementation((message) => message), + }), +})); + +const getWrapper = + (store: Store) => + ({ children }: { children?: React.ReactNode }) => + {children}; + +const AllowedReturn = { + view: { id: 'UnsupportedView' }, + node: { id: 'InvalidNode' }, + index: { id: 'waitingStudyIndexation' }, + default: '', +}; + +describe('useDisabledSearchReason', () => { + test('initialState should return InvalidNode"', async () => { + // creates mock store + const store = configureMockStore()({ + studyDisplayMode: StudyDisplayMode.HYBRID, + studyIndexationStatus: StudyIndexationStatus.NOT_INDEXED, + currentTreeNode: null, + }); + // render the hook with the custom wrapper + const { result } = renderHook(() => useDisabledSearchReason(), { + wrapper: getWrapper(store), + }); + expect(result.current).toStrictEqual(AllowedReturn.node); + }); + test('Tree view is not Implemented yet should return unsupportedView"', () => { + // creates mock store + const store = configureMockStore()({ + studyDisplayMode: StudyDisplayMode.TREE, + studyIndexationStatus: StudyIndexationStatus.NOT_INDEXED, + currentTreeNode: null, + }); + // render the hook with the custom wrapper + const { result } = renderHook(() => useDisabledSearchReason(), { wrapper: getWrapper(store) }); + expect(result.current).toStrictEqual(AllowedReturn.view); + }); + test('Tree view is not Implemented yet should return unsupportedView"', () => { + // creates mock store + const store = configureMockStore()({ + studyDisplayMode: StudyDisplayMode.HYBRID, + studyIndexationStatus: StudyIndexationStatus.NOT_INDEXED, + currentTreeNode: { type: NodeType.ROOT }, + }); + // render the hook with the custom wrapper + const { result } = renderHook(() => useDisabledSearchReason(), { wrapper: getWrapper(store) }); + expect(result.current).toStrictEqual(AllowedReturn.index); + }); + test('Tree view is not Implemented yet should return unsupportedView"', () => { + // creates mock store + const store = configureMockStore()({ + studyDisplayMode: StudyDisplayMode.DRAW, + studyIndexationStatus: StudyIndexationStatus.INDEXED, + currentTreeNode: { type: NodeType.ROOT }, + }); + // render the hook with the custom wrapper + const { result } = renderHook(() => useDisabledSearchReason(), { wrapper: getWrapper(store) }); + expect(result.current).toStrictEqual(AllowedReturn.default); + }); +}); diff --git a/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.tsx b/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.tsx index 3830493d47..cf444a8eb9 100644 --- a/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.tsx +++ b/src/components/top-bar-equipment-seach-dialog/use-disabled-search-reason.tsx @@ -7,8 +7,8 @@ import { isNodeBuilt } from 'components/graph/util/model-functions'; import { useIntl } from 'react-intl'; import { useSelector } from 'react-redux'; -import { AppState, StudyIndexationStatus } from 'redux/reducer'; import { StudyDisplayMode } from '../network-modification.type'; +import { AppState, StudyIndexationStatus } from 'appRedux/reducer'; export const useDisabledSearchReason = () => { const intl = useIntl(); diff --git a/src/components/top-bar-equipment-seach-dialog/use-search-event.tsx b/src/components/top-bar-equipment-seach-dialog/use-search-event.tsx index 93855cd0ef..328a27e1b5 100644 --- a/src/components/top-bar-equipment-seach-dialog/use-search-event.tsx +++ b/src/components/top-bar-equipment-seach-dialog/use-search-event.tsx @@ -6,7 +6,7 @@ */ import { useEffect } from 'react'; import { useSelector } from 'react-redux'; -import { AppState } from 'redux/reducer'; +import { AppState } from 'appRedux/reducer'; export const useSearchEvent = (enableSearchCallback: () => void) => { const user = useSelector((state: AppState) => state.user); diff --git a/src/components/top-bar-equipment-seach-dialog/use-top-bar-search-matching-equipments.tsx b/src/components/top-bar-equipment-seach-dialog/use-top-bar-search-matching-equipments.tsx index 3475adf117..75da975822 100644 --- a/src/components/top-bar-equipment-seach-dialog/use-top-bar-search-matching-equipments.tsx +++ b/src/components/top-bar-equipment-seach-dialog/use-top-bar-search-matching-equipments.tsx @@ -7,7 +7,7 @@ import { UUID } from 'crypto'; import { useSearchMatchingEquipments } from './use-search-matching-equipments'; import { useMemo } from 'react'; -import { getLocalStorageSearchEquipmentHistory } from 'redux/session-storage/search-equipment-history'; +import { getLocalStorageSearchEquipmentHistory } from 'appRedux/session-storage/search-equipment-history'; import { EquipmentType } from '@gridsuite/commons-ui'; interface UseTopBarSearchMatchingEquipmentProps { diff --git a/src/components/utils/ask-text-dialog.tsx b/src/components/utils/ask-text-dialog.tsx index ff6b7ad0f5..79631c1b97 100644 --- a/src/components/utils/ask-text-dialog.tsx +++ b/src/components/utils/ask-text-dialog.tsx @@ -13,7 +13,7 @@ import { useValidNodeName } from './inputs/input-hooks'; import { useSelector } from 'react-redux'; import Alert from '@mui/material/Alert'; import { CancelButton } from '@gridsuite/commons-ui'; -import { AppState } from '../../redux/reducer'; +import { AppState } from '../../appRedux/reducer'; interface AskTextDialogProps { title: string; diff --git a/src/hooks/use-aggrid-row-filter.ts b/src/hooks/use-aggrid-row-filter.ts index 20d4084067..3406cbee28 100644 --- a/src/hooks/use-aggrid-row-filter.ts +++ b/src/hooks/use-aggrid-row-filter.ts @@ -12,8 +12,8 @@ import { } from 'components/custom-aggrid/custom-aggrid-header.type'; import { useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { AppDispatch } from '../redux/store'; -import { AppState } from '../redux/reducer'; +import { AppDispatch } from '../appRedux/store'; +import { AppState } from '../appRedux/reducer'; export type FilterEnumsType = Record; diff --git a/src/hooks/use-aggrid-sort.ts b/src/hooks/use-aggrid-sort.ts index 275a8d396c..432cb5f9c7 100644 --- a/src/hooks/use-aggrid-sort.ts +++ b/src/hooks/use-aggrid-sort.ts @@ -7,8 +7,8 @@ import { useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { setTableSort } from '../redux/actions'; -import { AppState, TableSortKeysType } from '../redux/reducer'; +import { setTableSort } from '../appRedux/actions'; +import { AppState, TableSortKeysType } from '../appRedux/reducer'; export type SortConfigType = { colId: string; diff --git a/src/hooks/use-computation-results-count.ts b/src/hooks/use-computation-results-count.ts index 6454e73a26..758ba52b55 100644 --- a/src/hooks/use-computation-results-count.ts +++ b/src/hooks/use-computation-results-count.ts @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import { useSelector } from 'react-redux'; -import { AppState } from '../redux/reducer'; +import { AppState } from '../appRedux/reducer'; import ComputingType from 'components/computing-status/computing-type'; import RunningStatus from 'components/utils/running-status'; diff --git a/src/hooks/use-get-study-impacts.ts b/src/hooks/use-get-study-impacts.ts index 61b2fc36c1..4f1c700bef 100644 --- a/src/hooks/use-get-study-impacts.ts +++ b/src/hooks/use-get-study-impacts.ts @@ -6,7 +6,7 @@ */ import { useCallback, useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; -import { DeletedEquipment, NetworkImpactsInfos, AppState, NotificationType } from '../redux/reducer'; +import { DeletedEquipment, NetworkImpactsInfos, AppState, NotificationType } from '../appRedux/reducer'; import { UUID } from 'crypto'; interface StudyImpactsWithReset extends NetworkImpactsInfos { diff --git a/src/hooks/use-optional-service-status.ts b/src/hooks/use-optional-service-status.ts index aa45f63b7f..e4817e68ec 100644 --- a/src/hooks/use-optional-service-status.ts +++ b/src/hooks/use-optional-service-status.ts @@ -6,7 +6,7 @@ */ import { useSelector } from 'react-redux'; -import { AppState } from '../redux/reducer'; +import { AppState } from '../appRedux/reducer'; import { OptionalServicesNames, OptionalServicesStatus } from '../components/utils/optional-services'; export const useOptionalServiceStatus = (serviceName: OptionalServicesNames): OptionalServicesStatus | undefined => { diff --git a/src/hooks/use-report-fetcher.tsx b/src/hooks/use-report-fetcher.tsx index 148ac4be50..cb15539112 100644 --- a/src/hooks/use-report-fetcher.tsx +++ b/src/hooks/use-report-fetcher.tsx @@ -6,7 +6,7 @@ */ import { useSelector } from 'react-redux'; -import { AppState } from '../redux/reducer'; +import { AppState } from '../appRedux/reducer'; import { useCallback, useMemo, useState } from 'react'; import { fetchNodeReportLogs, fetchParentNodesReport } from '../services/study'; import { useSnackMessage } from '@gridsuite/commons-ui'; diff --git a/src/services/directory-notification.js b/src/services/directory-notification.js index 098b7b7733..4a6a09aef1 100644 --- a/src/services/directory-notification.js +++ b/src/services/directory-notification.js @@ -7,7 +7,7 @@ import ReconnectingWebSocket from 'reconnecting-websocket'; import { getUrlWithToken, getWsBase } from './utils'; -import { getUserToken } from '../redux/user-store'; +import { getUserToken } from '../appRedux/user-store'; const PREFIX_DIRECTORY_NOTIFICATION_WS = import.meta.env.VITE_WS_GATEWAY + '/directory-notification'; diff --git a/src/services/utils.js b/src/services/utils.js index fc521e9649..15fbe23f73 100644 --- a/src/services/utils.js +++ b/src/services/utils.js @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import { fetchAppsMetadata } from '@gridsuite/commons-ui'; -import { getUserToken } from '../redux/user-store'; +import { getUserToken } from '../appRedux/user-store'; export const FetchStatus = { SUCCEED: 'SUCCEED', diff --git a/tsconfig.json b/tsconfig.json index 9ddf4e294e..3e344d3317 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,5 +17,6 @@ "noEmit": true, "jsx": "react-jsx" }, - "include": ["src"] + "types":["node","jest", "@testing-library/jest-dom"], + "include": ["src","jest.setup.ts"] }