diff --git a/WNPRC_EHR/package-lock.json b/WNPRC_EHR/package-lock.json
index 68793cd72..c0f5bdb50 100644
--- a/WNPRC_EHR/package-lock.json
+++ b/WNPRC_EHR/package-lock.json
@@ -10,6 +10,7 @@
"license": "ISC",
"dependencies": {
"@labkey/api": "1.35.6",
+ "@labkey/components": "5.20.4",
"dayjs": "^1.11.8",
"jquery": "^3.6.4",
"react": "18.3.1",
@@ -29,7 +30,6 @@
"devDependencies": {
"@babel/core": "7.23.2",
"@labkey/build": "8.2.0",
- "@labkey/components": "5.20.4",
"@types/react": "18.3.1",
"@types/react-bootstrap": "~0.32.32",
"@types/react-data-grid": "4.0.10",
@@ -45,8 +45,7 @@
"node_modules/@adobe/css-tools": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.1.tgz",
- "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==",
- "dev": true
+ "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ=="
},
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
@@ -1852,7 +1851,6 @@
"version": "10.3.1",
"resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz",
"integrity": "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.5.5",
"@emotion/cache": "^10.0.27",
@@ -1869,7 +1867,6 @@
"version": "10.0.29",
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz",
"integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==",
- "dev": true,
"dependencies": {
"@emotion/sheet": "0.9.4",
"@emotion/stylis": "0.8.5",
@@ -1880,20 +1877,17 @@
"node_modules/@emotion/core/node_modules/@emotion/hash": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==",
- "dev": true
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
},
"node_modules/@emotion/core/node_modules/@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
- "dev": true
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
},
"node_modules/@emotion/core/node_modules/@emotion/serialize": {
"version": "0.11.16",
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
"integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
- "dev": true,
"dependencies": {
"@emotion/hash": "0.8.0",
"@emotion/memoize": "0.7.4",
@@ -1905,38 +1899,32 @@
"node_modules/@emotion/core/node_modules/@emotion/sheet": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz",
- "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==",
- "dev": true
+ "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA=="
},
"node_modules/@emotion/core/node_modules/@emotion/unitless": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==",
- "dev": true
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
},
"node_modules/@emotion/core/node_modules/@emotion/utils": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
- "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==",
- "dev": true
+ "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
},
"node_modules/@emotion/core/node_modules/@emotion/weak-memoize": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz",
- "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==",
- "dev": true
+ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA=="
},
"node_modules/@emotion/core/node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
- "dev": true
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"node_modules/@emotion/css": {
"version": "10.0.27",
"resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz",
"integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==",
- "dev": true,
"dependencies": {
"@emotion/serialize": "^0.11.15",
"@emotion/utils": "0.11.3",
@@ -1946,20 +1934,17 @@
"node_modules/@emotion/css/node_modules/@emotion/hash": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==",
- "dev": true
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
},
"node_modules/@emotion/css/node_modules/@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
- "dev": true
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
},
"node_modules/@emotion/css/node_modules/@emotion/serialize": {
"version": "0.11.16",
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
"integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
- "dev": true,
"dependencies": {
"@emotion/hash": "0.8.0",
"@emotion/memoize": "0.7.4",
@@ -1971,20 +1956,17 @@
"node_modules/@emotion/css/node_modules/@emotion/unitless": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==",
- "dev": true
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
},
"node_modules/@emotion/css/node_modules/@emotion/utils": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
- "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==",
- "dev": true
+ "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
},
"node_modules/@emotion/css/node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
- "dev": true
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"node_modules/@emotion/hash": {
"version": "0.9.2",
@@ -1995,7 +1977,6 @@
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
"integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
- "dev": true,
"dependencies": {
"@emotion/memoize": "0.7.4"
}
@@ -2003,8 +1984,7 @@
"node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
- "dev": true
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
},
"node_modules/@emotion/memoize": {
"version": "0.9.0",
@@ -2068,7 +2048,6 @@
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
"integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
- "dev": true,
"dependencies": {
"@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
@@ -2082,7 +2061,6 @@
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
"integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.5.5",
"@emotion/is-prop-valid": "0.8.8",
@@ -2097,20 +2075,17 @@
"node_modules/@emotion/styled-base/node_modules/@emotion/hash": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==",
- "dev": true
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
},
"node_modules/@emotion/styled-base/node_modules/@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
- "dev": true
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
},
"node_modules/@emotion/styled-base/node_modules/@emotion/serialize": {
"version": "0.11.16",
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
"integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
- "dev": true,
"dependencies": {
"@emotion/hash": "0.8.0",
"@emotion/memoize": "0.7.4",
@@ -2122,26 +2097,22 @@
"node_modules/@emotion/styled-base/node_modules/@emotion/unitless": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==",
- "dev": true
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
},
"node_modules/@emotion/styled-base/node_modules/@emotion/utils": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
- "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==",
- "dev": true
+ "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
},
"node_modules/@emotion/styled-base/node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
- "dev": true
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"node_modules/@emotion/stylis": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
- "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==",
- "dev": true
+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
},
"node_modules/@emotion/unitless": {
"version": "0.10.0",
@@ -2187,7 +2158,6 @@
"version": "0.26.28",
"resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.28.tgz",
"integrity": "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==",
- "dev": true,
"dependencies": {
"@floating-ui/react-dom": "^2.1.2",
"@floating-ui/utils": "^0.2.8",
@@ -2202,7 +2172,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz",
"integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==",
- "dev": true,
"dependencies": {
"@floating-ui/dom": "^1.0.0"
},
@@ -2220,7 +2189,6 @@
"version": "16.6.0",
"resolved": "https://registry.npmjs.org/@hello-pangea/dnd/-/dnd-16.6.0.tgz",
"integrity": "sha512-vfZ4GydqbtUPXSLfAvKvXQ6xwRzIjUSjVU0Sx+70VOhc2xx6CdmJXJ8YhH70RpbTUGjxctslQTHul9sIOxCfFQ==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.24.1",
"css-box-model": "^1.2.1",
@@ -2239,7 +2207,6 @@
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz",
"integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==",
- "dev": true,
"peerDependencies": {
"react": "*"
}
@@ -2934,7 +2901,6 @@
"version": "5.20.4",
"resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-5.20.4.tgz",
"integrity": "sha512-OpCA8QmiwxAgiyJnq+lcW9cYwsd2XfWgoN2wTRolqV1IJiCLxcirDb55AeMW8SrK/c+8QY1Ycu+/nDqxJ3B4kQ==",
- "dev": true,
"dependencies": {
"@hello-pangea/dnd": "16.6.0",
"@labkey/api": "1.35.6",
@@ -2966,7 +2932,6 @@
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-7.3.0.tgz",
"integrity": "sha512-EqRKLAtLZUTztiq6a+tjSjQX9ES0Xd229JPckAtyZZ4GoY3rtvNWAzkYZnQUf6zTWT50Ki0+t+W9VRQIkSJLfg==",
- "dev": true,
"dependencies": {
"@floating-ui/react": "^0.26.2",
"clsx": "^2.1.0",
@@ -3097,7 +3062,6 @@
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz",
"integrity": "sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==",
- "dev": true,
"engines": {
"node": ">=14.0.0"
}
@@ -3137,7 +3101,6 @@
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
"integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
- "dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
@@ -3156,7 +3119,6 @@
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz",
"integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==",
- "dev": true,
"dependencies": {
"@adobe/css-tools": "^4.4.0",
"aria-query": "^5.0.0",
@@ -3176,7 +3138,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3188,14 +3149,12 @@
"node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
- "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
- "dev": true
+ "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w=="
},
"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"
},
@@ -3222,7 +3181,6 @@
"version": "14.5.2",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz",
"integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==",
- "dev": true,
"engines": {
"node": ">=12",
"npm": ">=6"
@@ -3234,8 +3192,7 @@
"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
+ "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="
},
"node_modules/@types/body-parser": {
"version": "1.19.5",
@@ -3347,7 +3304,6 @@
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz",
"integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==",
- "dev": true,
"dependencies": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
@@ -3357,7 +3313,6 @@
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dev": true,
"dependencies": {
"react-is": "^16.7.0"
}
@@ -3365,8 +3320,7 @@
"node_modules/@types/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/@types/html-minifier-terser": {
"version": "6.1.0",
@@ -3539,8 +3493,7 @@
"node_modules/@types/use-sync-external-store": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
- "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==",
- "dev": true
+ "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
"node_modules/@types/warning": {
"version": "3.0.3",
@@ -3909,7 +3862,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -3951,7 +3903,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
- "dev": true,
"dependencies": {
"dequal": "^2.0.3"
}
@@ -3988,7 +3939,6 @@
"version": "10.2.2",
"resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz",
"integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==",
- "dev": true,
"dependencies": {
"@babel/helper-module-imports": "^7.0.0",
"@emotion/hash": "0.8.0",
@@ -4005,20 +3955,17 @@
"node_modules/babel-plugin-emotion/node_modules/@emotion/hash": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==",
- "dev": true
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
},
"node_modules/babel-plugin-emotion/node_modules/@emotion/memoize": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
- "dev": true
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
},
"node_modules/babel-plugin-emotion/node_modules/@emotion/serialize": {
"version": "0.11.16",
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
"integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
- "dev": true,
"dependencies": {
"@emotion/hash": "0.8.0",
"@emotion/memoize": "0.7.4",
@@ -4030,20 +3977,17 @@
"node_modules/babel-plugin-emotion/node_modules/@emotion/unitless": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==",
- "dev": true
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
},
"node_modules/babel-plugin-emotion/node_modules/@emotion/utils": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
- "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==",
- "dev": true
+ "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
},
"node_modules/babel-plugin-emotion/node_modules/babel-plugin-macros": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
"integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.7.2",
"cosmiconfig": "^6.0.0",
@@ -4053,14 +3997,12 @@
"node_modules/babel-plugin-emotion/node_modules/convert-source-map": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "dev": true
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
},
"node_modules/babel-plugin-emotion/node_modules/cosmiconfig": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
"integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
- "dev": true,
"dependencies": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.1.0",
@@ -4075,14 +4017,12 @@
"node_modules/babel-plugin-emotion/node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
- "dev": true
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"node_modules/babel-plugin-emotion/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -4091,7 +4031,6 @@
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -4167,8 +4106,7 @@
"node_modules/babel-plugin-syntax-jsx": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==",
- "dev": true
+ "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw=="
},
"node_modules/balanced-match": {
"version": "1.0.2",
@@ -4277,7 +4215,6 @@
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz",
"integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -4375,7 +4312,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
- "dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -4805,7 +4741,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
"integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==",
- "dev": true,
"dependencies": {
"tiny-invariant": "^1.0.6"
}
@@ -4888,8 +4823,7 @@
"node_modules/css.escape": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
- "dev": true
+ "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg=="
},
"node_modules/cssesc": {
"version": "3.0.0",
@@ -4912,7 +4846,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
"integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
- "dev": true,
"funding": {
"type": "github",
"url": "https://github.com/sponsors/kossnocorp"
@@ -4922,7 +4855,6 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.1.3.tgz",
"integrity": "sha512-ZfbMu+nbzW0mEzC8VZrLiSWvUIaI3aRHeq33mTe7Y38UctKukgqPR4nTDwcwS4d64Gf8GghnVsroBuMY3eiTeA==",
- "dev": true,
"peerDependencies": {
"date-fns": "^3.0.0"
}
@@ -4958,7 +4890,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz",
"integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
- "dev": true,
"dependencies": {
"is-arguments": "^1.1.1",
"is-date-object": "^1.0.5",
@@ -5027,7 +4958,6 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -5053,7 +4983,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
- "dev": true,
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
@@ -5141,8 +5070,7 @@
"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
+ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="
},
"node_modules/dom-converter": {
"version": "0.2.0",
@@ -5335,7 +5263,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.2.4"
},
@@ -5347,7 +5274,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "dev": true,
"engines": {
"node": ">= 0.4"
}
@@ -5735,7 +5661,6 @@
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
"integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==",
- "dev": true,
"engines": {
"node": ">=0.10.3"
}
@@ -5915,7 +5840,6 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -5933,7 +5857,6 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
- "dev": true,
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
@@ -6069,7 +5992,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
@@ -6115,7 +6037,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dev": true,
"dependencies": {
"es-define-property": "^1.0.0"
},
@@ -6127,7 +6048,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -6139,7 +6059,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -6151,7 +6070,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
"dependencies": {
"has-symbols": "^1.0.3"
},
@@ -6453,7 +6371,6 @@
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
"integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==",
- "dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
@@ -6463,7 +6380,6 @@
"version": "3.8.2",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
"integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -6579,7 +6495,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -6631,7 +6546,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -6678,7 +6592,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
"integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -6815,7 +6728,6 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -7094,7 +7006,6 @@
"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,
"bin": {
"lz-string": "bin/bin.js"
}
@@ -7102,8 +7013,7 @@
"node_modules/material-colors": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
- "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==",
- "dev": true
+ "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
},
"node_modules/media-typer": {
"version": "0.3.0",
@@ -7222,7 +7132,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -7377,8 +7286,7 @@
"node_modules/normalizr": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/normalizr/-/normalizr-3.6.2.tgz",
- "integrity": "sha512-30qCybsBaCBciotorvuOZTCGEg2AXrJfADMT2Kk/lvpIAcipHdK0zc33nNtwKzyfQAqIJXAcqET6YgflYUgsoQ==",
- "dev": true
+ "integrity": "sha512-30qCybsBaCBciotorvuOZTCGEg2AXrJfADMT2Kk/lvpIAcipHdK0zc33nNtwKzyfQAqIJXAcqET6YgflYUgsoQ=="
},
"node_modules/npm-run-path": {
"version": "4.0.1",
@@ -7408,7 +7316,6 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz",
"integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==",
- "dev": true,
"engines": {
"node": "*"
}
@@ -7437,7 +7344,6 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
"integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1"
@@ -7453,7 +7359,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
"engines": {
"node": ">= 0.4"
}
@@ -7872,7 +7777,6 @@
"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,
"dependencies": {
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
@@ -7886,7 +7790,6 @@
"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,
"engines": {
"node": ">=10"
},
@@ -8001,8 +7904,7 @@
"node_modules/raf-schd": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.3.tgz",
- "integrity": "sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==",
- "dev": true
+ "integrity": "sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ=="
},
"node_modules/randombytes": {
"version": "2.1.0",
@@ -8103,7 +8005,6 @@
"version": "2.19.3",
"resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz",
"integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==",
- "dev": true,
"dependencies": {
"@icons/material": "^0.2.4",
"lodash": "^4.17.15",
@@ -8269,8 +8170,7 @@
"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
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/react-lifecycles-compat": {
"version": "3.0.4",
@@ -8327,7 +8227,6 @@
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz",
"integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.12.1",
"@types/hoist-non-react-statics": "^3.3.1",
@@ -8366,7 +8265,6 @@
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dev": true,
"dependencies": {
"react-is": "^16.7.0"
}
@@ -8374,14 +8272,12 @@
"node_modules/react-redux/node_modules/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/react-redux/node_modules/react-is": {
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
- "dev": true
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
},
"node_modules/react-refresh": {
"version": "0.14.2",
@@ -8396,7 +8292,6 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.1.tgz",
"integrity": "sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==",
- "dev": true,
"dependencies": {
"@remix-run/router": "1.17.1"
},
@@ -8411,7 +8306,6 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.1.tgz",
"integrity": "sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==",
- "dev": true,
"dependencies": {
"@remix-run/router": "1.17.1",
"react-router": "6.24.1"
@@ -8483,7 +8377,6 @@
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/react-treebeard/-/react-treebeard-3.2.4.tgz",
"integrity": "sha512-TsvdUq2kbLavRXa8k4mmqfPse8HmSA9G9s1SZUtIpiYSccSwa0Tm6miMgx7DZ5gpKofQ+j/3Ua0rjsahM3/FQg==",
- "dev": true,
"dependencies": {
"@emotion/core": "^10.0.10",
"@emotion/styled": "^10.0.10",
@@ -8503,7 +8396,6 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz",
"integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==",
- "dev": true,
"dependencies": {
"lodash": "^4.0.1"
}
@@ -8550,7 +8442,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
"integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
- "dev": true,
"dependencies": {
"indent-string": "^4.0.0",
"strip-indent": "^3.0.0"
@@ -8563,7 +8454,6 @@
"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"
}
@@ -8610,7 +8500,6 @@
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz",
"integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -9164,7 +9053,6 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "dev": true,
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -9181,7 +9069,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
"integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
- "dev": true,
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -9213,8 +9100,7 @@
"node_modules/shallowequal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
- "dev": true
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
},
"node_modules/shebang-command": {
"version": "2.0.0",
@@ -9506,7 +9392,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
"integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "dev": true,
"dependencies": {
"min-indent": "^1.0.0"
},
@@ -9568,8 +9453,7 @@
"node_modules/tabbable": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
- "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
- "dev": true
+ "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew=="
},
"node_modules/tapable": {
"version": "2.2.1",
@@ -9701,14 +9585,12 @@
"node_modules/tiny-invariant": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
- "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
- "dev": true
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="
},
"node_modules/tinycolor2": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
- "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
- "dev": true
+ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
},
"node_modules/to-regex-range": {
"version": "5.0.1",
@@ -9967,7 +9849,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.3.tgz",
"integrity": "sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==",
- "dev": true,
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
@@ -9976,7 +9857,6 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
"integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
- "dev": true,
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
@@ -10023,14 +9903,12 @@
"node_modules/velocity-animate": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.2.tgz",
- "integrity": "sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg==",
- "dev": true
+ "integrity": "sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg=="
},
"node_modules/velocity-react": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/velocity-react/-/velocity-react-1.4.3.tgz",
"integrity": "sha512-zvefGm85A88S3KdF9/dz5vqyFLAiwKYlXGYkHH2EbXl+CZUD1OT0a0aS1tkX/WXWTa/FUYqjBaAzAEFYuSobBQ==",
- "dev": true,
"dependencies": {
"lodash": "^4.17.5",
"prop-types": "^15.5.8",
@@ -10046,7 +9924,6 @@
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
"integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.1.2"
}
@@ -10055,7 +9932,6 @@
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
"integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
- "dev": true,
"dependencies": {
"dom-helpers": "^3.4.0",
"loose-envify": "^1.4.0",
@@ -10071,7 +9947,6 @@
"version": "7.1.9",
"resolved": "https://registry.npmjs.org/vis-data/-/vis-data-7.1.9.tgz",
"integrity": "sha512-COQsxlVrmcRIbZMMTYwD+C2bxYCFDNQ2EHESklPiInbD/Pk3JZ6qNL84Bp9wWjYjAzXfSlsNaFtRk+hO9yBPWA==",
- "dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/visjs"
@@ -10085,7 +9960,6 @@
"version": "9.1.9",
"resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.9.tgz",
"integrity": "sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA==",
- "dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/visjs"
diff --git a/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight.sql b/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight.sql
index 44e7abf98..3107a1a86 100644
--- a/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight.sql
+++ b/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight.sql
@@ -20,6 +20,7 @@ SELECT
frequencyMeaning AS frequencyMeaningCoalesced,
timeofday AS timeofday,
displaytimeofday AS displaytimeofday,
+ actionRequired AS actionRequired,
qcstate AS qcstate,
--(SELECT max(wg.qcstate) as label FROM study.waterGiven wg WHERE WCO.objectid = wg.treatmentid AND WCO.dateOrdered = wg.dateordered ) AS waterStatus,
diff --git a/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight/.qview.xml b/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight/.qview.xml
index 94d6b88d0..22cd5484f 100644
--- a/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight/.qview.xml
+++ b/WNPRC_EHR/resources/queries/study/WaterScheduleWithWeight/.qview.xml
@@ -20,6 +20,7 @@
+
diff --git a/WNPRC_EHR/resources/queries/study/deaths.js b/WNPRC_EHR/resources/queries/study/deaths.js
index a8ca9fa94..d5b85a5aa 100644
--- a/WNPRC_EHR/resources/queries/study/deaths.js
+++ b/WNPRC_EHR/resources/queries/study/deaths.js
@@ -16,8 +16,35 @@ function onComplete(event, errors, helper) {
var ids = helper.getRows().map(function (row) {
return row.row.id;
});
+ var animalDateMap= [];
+ let clientRows = helper.getRows();
+
+ console.log("number of rows "+ clientRows.length);
+ if (clientRows){
+
+ for (var i= 0; i < clientRows.length; i++){
+ console.log("animalId "+clientRows[i].row.id);
+
+ animalDateMap.push({
+ animalId: clientRows[i].row.id,
+ endDate : clientRows[i].row.date
+ });
+
+ }
+
+ }
+ /*console.log("array line 37 " + Object.values(animalDateMap).length);
+
+ for (var i = 0; i < animalDateMap.length; i++){
+ console.log("array value " + animalDateMap[i]);
+ }*/
+
+ WNPRC.Utils.getJavaHelper().removeWaterAmounts(animalDateMap);
//Sends notification.
var hostName = 'https://' + LABKEY.serverName;
WNPRC.Utils.getJavaHelper().sendDeathNotification(ids, hostName);
+
+
+
}
\ No newline at end of file
diff --git a/WNPRC_EHR/resources/queries/study/waterGiven.js b/WNPRC_EHR/resources/queries/study/waterGiven.js
index e72858ff3..d623ac973 100644
--- a/WNPRC_EHR/resources/queries/study/waterGiven.js
+++ b/WNPRC_EHR/resources/queries/study/waterGiven.js
@@ -85,36 +85,19 @@ function onInit(event, helper){
}
function onUpsert(helper, scriptErrors, row, oldRow) {
- /*if (row.volume == null){
- EHR.Server.Utils.addError(scriptErrors, 'volume', 'This field is required', 'WARN');
- console.log ("value of QCState "+ row.QCState)
- }*/
-
if (row.QCStateLabel == 'Scheduled'){
EHR.Server.Validation.verifyDate(row, scriptErrors, helper);
}
if (row.Id && row.date)
{
- // volume is handled differently for requestsvs actual draws
var errorQC = 'ERROR';
- //if (EHR.Server.Security.getQCStateByLabel(row.QCStateLabel)['isRequest'] && !row.taskid)
- // errorQC = 'ERROR';
- //else
- // errorQC = 'INFO';
var map = helper.getProperty('waterInTransaction');
var waters = [];
if (map && map[row.Id])
{
waters = map[row.Id];
- /*for (var i=0;ihusbandry_fruit
value
-
-
-
Water Source
@@ -59,6 +56,9 @@
value
title
+
+
+
Water Location
diff --git a/WNPRC_EHR/resources/queries/study/waterOrders.js b/WNPRC_EHR/resources/queries/study/waterOrders.js
index 53760c8fd..9d037b697 100644
--- a/WNPRC_EHR/resources/queries/study/waterOrders.js
+++ b/WNPRC_EHR/resources/queries/study/waterOrders.js
@@ -7,7 +7,8 @@ let allowUsersMap = {};
function onInit(event, helper){
helper.setScriptOptions({
allowFutureDates: true,
- allowDatesInDistantPast: true
+ allowDatesInDistantPast: true,
+ skipWaterRegulationCheck: false
});
LABKEY.Query.selectRows({
requiredVersion: 9.1,
@@ -35,9 +36,40 @@ function onInit(event, helper){
});
}
+function onInsert(helper, scriptErrors, row){
+ if (row.frequency !== 4 && row.waterSource === 'lixit'){
+ EHR.Server.Utils.addError(scriptErrors,"frequency", "Frequency should be 'Daily - Any Time' when selecting Lixit/Ad Lib", "ERROR");
+ }
-function onUpsert(helper, scriptErrors, row, oldRow){
+ if (row.id && row.waterSource === 'regulated' && row.frequency && row.assignedTo && row.provideFruit && row.date){
+ let lixitOrderMap = WNPRC.Utils.getJavaHelper().checkWaterLixit(row.id, row.date);
+ let lixitStartDate;
+ let lixitOrderObjectid;
+ let latestWaterSource;
+
+ if (lixitOrderMap != null){
+ lixitStartDate = new Date(lixitOrderMap.date);
+ lixitOrderObjectid = lixitOrderMap.objectid;
+ latestWaterSource = lixitOrderMap.waterSource;
+
+ if(latestWaterSource === "lixit" ) {
+ let lixitEndDate = new Date(row.date);
+ console.log(lixitEndDate)
+ lixitEndDate.setDate(lixitEndDate.getDate()-1);
+ console.log("startdate " + lixitStartDate + " objectid " + lixitOrderObjectid + "enddate " + lixitEndDate + " watersource " +row.waterSource);
+ let jsonArray = WNPRC.Utils.getJavaHelper().closeWaterOrder(row.id, lixitStartDate, lixitEndDate, row.project, lixitOrderObjectid, true);
+ if (jsonArray != null) {
+ for (var i = 0; i < jsonArray.length; i++) {
+ var errorObject = jsonArray[i];
+ EHR.Server.Utils.addError(scriptErrors, errorObject.field, errorObject.message, errorObject.severity);
+ }
+ }
+ }
+ }
+ }
+}
+function onUpsert(helper, scriptErrors, row, oldRow){
if (row.Id){
EHR.Server.Utils.findDemographics({
participant: row.Id,
@@ -54,13 +86,9 @@ function onUpsert(helper, scriptErrors, row, oldRow){
});
var animalRestricted = {};
animalRestricted = WNPRC.Utils.getJavaHelper().checkIfAnimalInCondition(row.Id, row.date);
- //console.log (animalRestricted);
if (!animalRestricted && !row.skipWaterRegulationCheck){
EHR.Server.Utils.addError(scriptErrors,'Id', 'Animal not assigned to water restriction protocol or is already in ' + row.waterSource + ' condition.', 'ERROR');
}
-
-
-
}
@@ -84,27 +112,31 @@ function onUpsert(helper, scriptErrors, row, oldRow){
if (rowDate.getTime() > endDate.getTime()){
EHR.Server.Utils.addError(scriptErrors,'endDate', 'EndDate cannot be before StartDate', 'ERROR');
}
-
- if (!row.frequency && row.waterSource == 'regulated'){
+ if (!row.frequency && row.waterSource === 'regulated'){
EHR.Server.Utils.addError(scriptErrors, 'frequency', 'Frequency is required when entering regulated water orders.', 'ERROR');
}
- if (!row.volume && row.waterSource == 'regulated'){
+ if (!row.volume && row.waterSource === 'regulated'){
//console.log ("water vol "+ row.volume);
EHR.Server.Utils.addError(scriptErrors, 'volume', 'Volume is required when entering regulated water orders.', 'ERROR');
}
-
- if (!row.assignedTo && row.waterSource == 'regulated'){
+ if (!row.assignedTo && row.waterSource === 'regulated'){
EHR.Server.Utils.addError(scriptErrors, 'assignedTo', 'Assigned To is required when entering regulated water orders.', 'ERROR');
}
-
+ if (!row.provideFruit && row.waterSource === 'regulated'){
+ EHR.Server.Utils.addError(scriptErrors, 'provideFruit', 'Provide Fruit is required when entering regulated water orders.', 'INFO');
+ }
if (!row.waterSource){
EHR.Server.Utils.addError(scriptErrors, 'waterSource', 'Water Source is required when entering new orders.', 'ERROR');
}
+ if (row.volume !== undefined && row.volume!== null && row.waterSource === 'lixit'){
+ EHR.Server.Utils.addError(scriptErrors,"volume", "Volume should be blank when selecting Lixit/Ad Lib for Water Source", "ERROR");
+ }
+ if (row.frequency !== 4 && row.waterSource === 'lixit'){
+ EHR.Server.Utils.addError(scriptErrors,"frequency", "Frequency should be 'Daily - Any Time' when selecting Lixit/Ad Lib", "ERROR");
+ }
+
- //console.log ("value of ObjectId "+oldRow.objectid + " Value of new objectId "+ row.objectid);
- //console.log ('skipWaterRegulation '+ row.skipWaterRegulationCheck);
- // if (oldRow && row.date && row.Id && row.frequency && (oldRow.objectid != row.objectid)) {
- if (row.project && row.objectid && row.Id && row.date && row.frequency && row.assignedTo && row.waterSource != 'lixit' && !row.skipWaterRegulationCheck) {
+ if (row.project && row.objectid && row.Id && row.date && row.frequency && row.assignedTo && row.waterSource !== 'lixit' && !row.skipWaterRegulationCheck && !row.closingRecord ) {
let jsonArray = WNPRC.Utils.getJavaHelper().checkWaterRegulation(row.id, row.date, row.enddate ? row.enddate : null, row.frequency, row.waterSource, row.objectid, row.project, this.extraContext);
if (jsonArray != null) {
for (var i = 0; i < jsonArray.length; i++) {
@@ -115,35 +147,19 @@ function onUpsert(helper, scriptErrors, row, oldRow){
row.date = rowDate;
}
- //if (oldRow && oldRow.waterSource == 'regulated' && row.waterSource == 'lixit'){
- //TODO: by pass water regulation to change water order to lixit and also chnage the water regulated animals data
- if ( row.waterSource == 'lixit' && !row.skipWaterRegulationCheck && !oldRow){
-
- let jsonArray = WNPRC.Utils.getJavaHelper().changeWaterScheduled(row.id,row.date,row.waterSource, row.project, row.objectid,this.extraContext);
- let jsonExtraContext = this.extraContext.extraContextArray;
-
- if (jsonArray != null){
- for (var i=0; i < jsonArray.length; i++){
- let errorObject = JSON.parse(jsonArray[i]);
- EHR.Server.Utils.addError(scriptErrors,errorObject.field, errorObject.message, errorObject.severity);
-
- }
- if (jsonExtraContext != null){
- for (var i = 0; i < jsonExtraContext.length; i++){
- let extraContextObject = jsonExtraContext[i];
- let date = extraContextObject.date;
- let dateOnly = new Date(date.getTime());
- dateOnly = dateOnly.getFullYear()+ "-" +dateOnly.getMonth()+ "-" + dateOnly.getDate();
- let infoMessage = "Water Order for "+ row.Id + " started on " + dateOnly + " with frequency of " + extraContextObject.frequency + " and volume of " + extraContextObject.volume + "ml will close.";
- EHR.Server.Utils.addError(scriptErrors,"waterSource",infoMessage,"INFO")
-
- }
-
+ if (row.Id && row.date && row.enddate && row.project && row.objectid && row.closingRecord){
+ let jsonArray = WNPRC.Utils.getJavaHelper().closeWaterOrder(row.id, row.date, row.enddate, row.project, row.objectid, row.closingRecord);
+ if (jsonArray != null) {
+ for (var i = 0; i < jsonArray.length; i++) {
+ var errorObject = jsonArray[i];
+ EHR.Server.Utils.addError(scriptErrors, errorObject.field, errorObject.message, errorObject.severity);
}
-
}
}
+ if ( row.waterSource === 'lixit' && row.volume === undefined && row.project && row.assignedTo && !row.skipWaterRegulationCheck){
+ changeWaterScheduled(row, scriptErrors);
+ }
}
function onUpdate(helper, scriptErrors, row, oldRow){
@@ -211,17 +227,40 @@ function onUpdate(helper, scriptErrors, row, oldRow){
}
}
}
+ }
-
- if (row.id !== oldRow.id || row.date !== oldRow.date || row.volume !== oldRow.volume)
- {
- //EHR.Server.Utils.addError(scriptErrors,'date');
-
- }
-
+ if ( row.waterSource === 'lixit' && row.project && row.volume === undefined && row.assignedTo && !row.skipWaterRegulationCheck){
+ changeWaterScheduled(row, scriptErrors);
}
}
function addErrorMessage(key,scriptErrors){
EHR.Server.Utils.addError(scriptErrors, key, 'User does not have permission to modify this field.', 'ERROR');
}
+
+function changeWaterScheduled(row, scriptErrors){
+
+ let jsonArray = WNPRC.Utils.getJavaHelper().changeWaterScheduled(row.id,row.date,row.waterSource, row.project, row.objectid,this.extraContext);
+ let jsonExtraContext = this.extraContext.extraContextArray;
+
+ if (jsonArray != null){
+ for (var i=0; i < jsonArray.length; i++){
+ let errorObject = jsonArray[i];
+ EHR.Server.Utils.addError(scriptErrors,errorObject.field, errorObject.message, errorObject.severity);
+ }
+ if (jsonExtraContext != null){
+ for (var j = 0; j < jsonExtraContext.length; j++){
+ let extraContextObject = jsonExtraContext[j];
+ let date = extraContextObject.date;
+ let dateOnly = new Date(date.getTime());
+ let monthString = dateOnly.getMonth();
+ monthString++;
+
+ dateOnly = dateOnly.getFullYear()+ "-" + monthString + "-" + dateOnly.getDate();
+ let infoMessage = "Water Order for "+ row.Id + " started on " + dateOnly + " with frequency of " + extraContextObject.frequency + " and volume of " + extraContextObject.volume + "ml will close.";
+ EHR.Server.Utils.addError(scriptErrors,"waterSource",infoMessage,"INFO");
+ }
+ }
+ }
+
+}
diff --git a/WNPRC_EHR/resources/queries/study/waterSchedule.sql b/WNPRC_EHR/resources/queries/study/waterSchedule.sql
index 9c921b9c0..fcc232cbe 100644
--- a/WNPRC_EHR/resources/queries/study/waterSchedule.sql
+++ b/WNPRC_EHR/resources/queries/study/waterSchedule.sql
@@ -10,9 +10,9 @@ d.calculated_status AS calculated_status,
s.*,
s.objectid as treatmentid,
--(SELECT max(d.qcstate) as label FROM study.drug d WHERE s.objectid = d.treatmentid AND s.date = d.timeordered) as treatmentStatus,
-COALESCE((SELECT max(wg.qcstate) as label FROM study.waterGiven wg WHERE wg.treatmentid LIKE '%' || s.objectid || '%' AND s.date = wg.dateordered AND wg.volume IS NOT NULL ),10) as waterStatus,
+COALESCE((SELECT max(wg.qcstate) as label FROM study.waterGiven wg WHERE wg.treatmentid LIKE '%' || s.objectid || '%' AND s.date = wg.dateordered AND (wg.volume IS NOT NULL OR wg.waterSource = 'lixit') ),10) as waterStatus,
--COALESCE((SELECT max(wg.qcstate) as label FROM study.waterGiven wg WHERE s.objectid IN (wg.treatmentid) AND s.date = wg.dateordered AND wg.volume IS NOT NULL ),10) as waterStatus,
-COALESCE((SELECT max(wg.treatmentid) as treatmentIds FROM study.waterGiven wg WHERE s.date = wg.dateordered AND wg.volume IS NOT NULL ),'objectId') as watertreatment
+COALESCE((SELECT max(wg.treatmentid) as treatmentIds FROM study.waterGiven wg WHERE s.date = wg.dateordered AND (wg.volume IS NOT NULL OR wg.waterSource = 'lixit') ),'objectId') as watertreatment
FROM study.demographics d
diff --git a/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments AM.qview.xml b/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments AM.qview.xml
index 11fffa874..d8c25f4f9 100644
--- a/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments AM.qview.xml
+++ b/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments AM.qview.xml
@@ -21,6 +21,7 @@
+
\ No newline at end of file
diff --git a/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments PM.qview.xml b/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments PM.qview.xml
index 25edae2bc..afb012fed 100644
--- a/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments PM.qview.xml
+++ b/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments PM.qview.xml
@@ -21,6 +21,7 @@
+
\ No newline at end of file
diff --git a/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments.qview.xml b/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments.qview.xml
index 70db97c06..518868d7f 100644
--- a/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments.qview.xml
+++ b/WNPRC_EHR/resources/queries/study/waterScheduleCoalesced/Treatments.qview.xml
@@ -25,7 +25,8 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/WNPRC_EHR/resources/views/ehrBegin.html b/WNPRC_EHR/resources/views/ehrBegin.html
index a0eed66a6..568b455cf 100644
--- a/WNPRC_EHR/resources/views/ehrBegin.html
+++ b/WNPRC_EHR/resources/views/ehrBegin.html
@@ -78,7 +78,7 @@
items: [
{name: 'Animal Utilization By Category', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/query-executeQuery.view?schemaName=study&query.queryName=colonyAssignmentSummary'},
{name: 'Blood Draw Summary', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/query-executeQuery.view?schemaName=study&query.queryName=ScheduledBlood'},
- {name: 'Colony Population By Age', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/query-.view?schemaName=study&query.queryName=colonyPopulationByAge'},
+ {name: 'Colony Population By Age', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/query-executeQuery.view?schemaName=study&query.queryName=colonyPopulationByAge'},
{name: 'MHC Genotype Summary', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/query-executeQuery.view?schemaName=study&query.queryName=alleleFrequencies'},
{name: 'Population Summary', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/ehr-populationOverview.view'},
{name: 'Colony Census', url: '<%=contextPath%>' + ctx['EHRStudyContainer'] + '/wnprc_ehr-colonyCensus.view'},
diff --git a/WNPRC_EHR/resources/views/wnprcLabs.html b/WNPRC_EHR/resources/views/wnprcLabs.html
index 8a03d7857..13394906c 100644
--- a/WNPRC_EHR/resources/views/wnprcLabs.html
+++ b/WNPRC_EHR/resources/views/wnprcLabs.html
@@ -11,10 +11,6 @@
renderTo: 'wnprcLabs',
width: 300,
sections: [
- {header: 'Information to Laboratories',
- items: [
- {name: 'Pricing for WNPRC Services', url: '<%=contextPath%>' + '/WNPRC/EHR/WNPRC_EHR-unitPricing.view'}
- ]},
{header: 'WNPRC Lab Sites',
items: [
{name: 'Tom Friedrich Lab**', url: '<%=contextPath%>' + '/WNPRC/WNPRC_Laboratories/friedrich/project-begin.view'},
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/animalWaterCalendar.js b/WNPRC_EHR/resources/web/wnprc_ehr/animalWaterCalendar.js
index 3b73b342c..a062785fc 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/animalWaterCalendar.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/animalWaterCalendar.js
@@ -15,6 +15,7 @@ EHR.reports.animalWaterCalendar = function (panel, tab){
} else if (panel.getFilterArray(tab).nonRemovable.length === 0){
entireColony = true;
panel.resolveSubjectsFromHousing(tab,renderCalendar,this);
+ calendarRender++;
//renderCalendar('null', tab)
}
else{
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/ext4/components/buttons/husbandryButtons.js b/WNPRC_EHR/resources/web/wnprc_ehr/ext4/components/buttons/husbandryButtons.js
index 942ca3c9f..e543bdc1e 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/ext4/components/buttons/husbandryButtons.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/ext4/components/buttons/husbandryButtons.js
@@ -250,4 +250,69 @@ Ext4.define('EHR.window.SubmitForReviewWindowHusbandry', {
this.callParent(arguments);
},
-});
\ No newline at end of file
+});
+
+
+EHR.DataEntryUtils.registerDataEntryFormButton('SUBMIT_WATER', {
+ text: 'Submit Final',
+ name: 'submit',
+ requiredQC: 'Completed',
+ targetQC: 'Completed',
+ errorThreshold: 'WARN',
+ successURL: LABKEY.ActionURL.getParameter('srcURL') || LABKEY.ActionURL.buildURL('wnprc_ehr', 'dataEntry.view'),
+ disabled: true,
+ itemId: 'submitWtrBtn',
+ disableOn: 'WARN',
+ handler: function(btn){
+ //this.onSubmit(btn);
+ // let waterGiven = btn.up('gridpanel').store;
+ // if (store.getFields().get('waterSource')){
+ //
+ // }
+
+ let waterStore = this.storeCollection.getServerStoreForQuery("study", "waterGiven");
+
+ if (waterStore){
+ var animalIds = [];
+ for (var idx=0; idx1){
+ animalIds.forEach((animalId)=> animalString+=animalId+',');
+ }else{
+ animalString = animalIds[0];
+ }
+
+ Ext4.MessageBox.show({
+ title: 'Lixit Confirmation',
+ msg: 'Is the water line connected for animal '+ animalString,
+ width: '300',
+ buttons: Ext4.MessageBox.YESNO,
+ icon: Ext4.MessageBox.QUESTION,
+ scope: this,
+ fn: function proceed(resp){
+ if (resp === 'yes'){
+ this.onSubmit(btn);
+ }else{
+ Ext4.MessageBox.hide();
+ }
+ }
+ });
+ }else {
+ this.onSubmit(btn);
+ }
+ }
+
+
+
+ //var panel = btn.up('ehr-dataentrypanel');
+
+
+ }
+
+});
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/ext4/utils/DataEntryButtons.js b/WNPRC_EHR/resources/web/wnprc_ehr/ext4/utils/DataEntryButtons.js
index 953f5569c..2078018f6 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/ext4/utils/DataEntryButtons.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/ext4/utils/DataEntryButtons.js
@@ -120,52 +120,6 @@
tooltip: "Set the status of this record to Complete, save the record, and leave this page."
}));
- var SubmitWaterButtonName = 'WNPRC_SUBMIT_WATER';
- registerBtn(SubmitWaterButtonName, _.extend(getBtn("SUBMIT"), {
- text: "Submit Water",
- name: "submit_water",
- successURL: getReturnURL() || LABKEY.ActionURL.buildURL('wnprc_ehr', 'dataEntry.view'),
- hideOnQCState: "Scheduled",
- tooltip: "Set the status of this record to Complete, save the record, and leave this page.",
- handler: function (btn){
- var storeCollection = this.storeCollection;
- let waterStore = storeCollection.getServerStoreForQuery("study", "waterGiven");
-
- if (waterStore){
- var animalIds = [];
- for (var idx=0; idx1){
- animalIds.forEach((animalId)=> animalString+=animalId+',');
- }else{
- animalString = animalIds[0];
- }
-
- Ext4.MessageBox.show({
- title: 'Lixit Confirmation',
- msg: 'Is the water line connected for animal '+ animalString,
- width: '300',
- buttons: Ext4.MessageBox.YESNO,
- icon: Ext4.MessageBox.QUESTION,
- fn: function proceed(resp){
- if (resp == 'yes'){
- this.onSubmit(btn);
- }else{
- Ext4.MessageBox.hide();
- }
- }
- });
- }
- }
- }
- }));
-
/*
* Prompt the user for a yes or no answer. Resolves on "yes" and rejects with an error with a
* message of "canceled" if "no" is selected.
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/ext4/windows/AddScheduleWaterWindow.js b/WNPRC_EHR/resources/web/wnprc_ehr/ext4/windows/AddScheduleWaterWindow.js
index d272d0435..f9667ed98 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/ext4/windows/AddScheduleWaterWindow.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/ext4/windows/AddScheduleWaterWindow.js
@@ -312,11 +312,15 @@ Ext4.define('wnprc_ehr.window.AddScheduledWaterWindow', {
}
waterObjects[Id].push(waterObject);
+ let volumeText = null;
+ if (row.getValue('volume') !== null){
+ volumeText = row.getValue('volume') + previousVolume
+ }
var tempModel = this.targetStore.createModel({
Id: row.getValue('Id'),
date: modelDate,
- volume: row.getValue('volume') + previousVolume,
+ volume: volumeText,
project: row.getValue('project'),
assignedto: row.getValue('assignedTo'),
waterSource: row.getValue('waterSource'),
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/Encounter.js b/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/Encounter.js
index 20591606d..81e748e23 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/Encounter.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/Encounter.js
@@ -51,7 +51,7 @@ EHR.model.DataModelManager.registerMetadata('Encounter', {
waterSource:{
editable: false,
allowBlank: false,
- shownInGrid: false
+ shownInGrid: true
},
remarks :{
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/WaterOrderTask.js b/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/WaterOrderTask.js
index 6364a0864..225e2abb0 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/WaterOrderTask.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/model/sources/WaterOrderTask.js
@@ -98,7 +98,7 @@ EHR.model.DataModelManager.registerMetadata('WaterOrderTask', {
},
provideFruit:{
defaultValue: 'none',
- allowBlank: false,
+ allowBlank: true,
lookup:{
schemaName: 'ehr_lookups',
queryName: 'husbandry_fruit',
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/reports/IncompleteTreatmentsReport.js b/WNPRC_EHR/resources/web/wnprc_ehr/reports/IncompleteTreatmentsReport.js
index 57ac0fae9..f065e374e 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/reports/IncompleteTreatmentsReport.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/reports/IncompleteTreatmentsReport.js
@@ -10,6 +10,8 @@ EHR.reports.IncompleteTreatmentsReport = function (panel, tab) {
let reportStartDate = new Date();
reportStartDate.setDate(reportStartDate.getDate()-40);
reportStartDate = reportStartDate.format(LABKEY.extDefaultDateFormat)
+ var reportEndDate = new Date();
+ reportEndDate = reportEndDate.format(LABKEY.extDefaultDateFormat)
let config = panel.getQWPConfig({
title: 'Incomplete Water Treatments',
@@ -27,7 +29,7 @@ EHR.reports.IncompleteTreatmentsReport = function (panel, tab) {
schemaName: 'study',
queryName: 'waterTotalByDateWithWeight',
viewName: 'tooLittleWater',
- //parameters: {'NumDays': '180', 'StartDate': reportStartDate},
+ parameters: {'STARTTARGET': reportStartDate, 'ENDTARGETDATE': reportEndDate},
filters: filterArray.nonRemovable,
removeableFilters: filterArray.removable,
frame: true
diff --git a/WNPRC_EHR/resources/web/wnprc_ehr/wnprcHusbandryReports.js b/WNPRC_EHR/resources/web/wnprc_ehr/wnprcHusbandryReports.js
index 605134192..3110516f6 100644
--- a/WNPRC_EHR/resources/web/wnprc_ehr/wnprcHusbandryReports.js
+++ b/WNPRC_EHR/resources/web/wnprc_ehr/wnprcHusbandryReports.js
@@ -24,8 +24,40 @@ EHR.reports.waterGridCalendar = function (panel, tab) {
tab.add({
xtype: 'ldk-querypanel',
style: 'margin-bottom:20px;',
- queryConfig: config
+ queryConfig: config,
+ height: 3000
});
};
+
+EHR.reports.totalWaterByDay = function (panel, tab) {
+ var filterArray = panel.getFilterArray(tab);
+ var title = panel.getTitleSuffix();
+
+ var target = tab.add({tag: 'span', style: 'padding-bottom: 20px'});
+ tab.doLayout();
+ var reportStartDate = new Date("1947-02-10");
+ reportStartDate = reportStartDate.format(LABKEY.extDefaultDateFormat);
+ var reportEndDate = new Date();
+ reportEndDate = reportEndDate.format(LABKEY.extDefaultDateFormat);
+
+ var config = panel.getQWPConfig({
+ title: 'Total Water By Date',
+ schemaName: 'study',
+ queryName: 'waterTotalByDateWithWeight',
+ parameters: {'STARTTARGET': reportStartDate, 'ENDTARGETDATE': reportEndDate},
+ filters: filterArray.nonRemovable,
+ removeableFilters: filterArray.removable,
+ frame: true
+
+ });
+
+ tab.add({
+ xtype: 'ldk-querypanel',
+ style: 'margin-bottom:20px;',
+ queryConfig: config
+
+ });
+
+};
diff --git a/WNPRC_EHR/src/client/components/GridPanelConfig.tsx b/WNPRC_EHR/src/client/components/GridPanelConfig.tsx
index f48eb1950..1cc174bdf 100644
--- a/WNPRC_EHR/src/client/components/GridPanelConfig.tsx
+++ b/WNPRC_EHR/src/client/components/GridPanelConfig.tsx
@@ -4,7 +4,8 @@ import {
SchemaQuery,
ServerContextProvider,
withAppUser,
- AppContextProvider
+ AppContextProvider,
+ NotificationsContextProvider
} from '@labkey/components';
import { DefaultGridPanel } from "./DefaultGridPanel";
import { configProps } from './grid_panel/configProps';
@@ -86,14 +87,16 @@ export const GridPanelConfig: FC = ({
return (
-
+
+
+
);
diff --git a/WNPRC_EHR/src/org/labkey/wnprc_ehr/TriggerScriptHelper.java b/WNPRC_EHR/src/org/labkey/wnprc_ehr/TriggerScriptHelper.java
index b2929a3c0..fd7b70a6d 100644
--- a/WNPRC_EHR/src/org/labkey/wnprc_ehr/TriggerScriptHelper.java
+++ b/WNPRC_EHR/src/org/labkey/wnprc_ehr/TriggerScriptHelper.java
@@ -4,10 +4,11 @@
import com.google.common.collect.Maps;
import org.apache.commons.beanutils.ConversionException;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.apache.commons.lang3.time.DateUtils;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.json.JSONArray;
import org.json.JSONObject;
import org.labkey.api.announcements.api.Announcement;
@@ -17,16 +18,16 @@
import org.labkey.api.data.CompareType;
import org.labkey.api.data.Container;
import org.labkey.api.data.ContainerManager;
-import org.labkey.api.data.Results;
-import org.labkey.api.data.SimpleFilter;
import org.labkey.api.data.ConvertHelper;
import org.labkey.api.data.JdbcType;
+import org.labkey.api.data.Results;
import org.labkey.api.data.Selector;
+import org.labkey.api.data.SimpleFilter;
import org.labkey.api.data.Sort;
import org.labkey.api.data.Table;
import org.labkey.api.data.TableInfo;
-import org.labkey.api.ehr.EHRDemographicsService;
import org.labkey.api.data.TableSelector;
+import org.labkey.api.ehr.EHRDemographicsService;
import org.labkey.api.ehr.EHRService;
import org.labkey.api.ehr.demographics.AnimalRecord;
import org.labkey.api.ehr.security.EHRDataAdminPermission;
@@ -39,14 +40,15 @@
import org.labkey.api.query.FieldKey;
import org.labkey.api.query.InvalidKeyException;
import org.labkey.api.query.QueryHelper;
-import org.labkey.api.query.QueryUpdateServiceException;
import org.labkey.api.query.QueryService;
+import org.labkey.api.query.QueryUpdateServiceException;
import org.labkey.api.query.UserSchema;
import org.labkey.api.security.User;
import org.labkey.api.security.UserManager;
+import org.labkey.api.study.security.SecurityEscalator;
+import org.labkey.api.util.DateUtil;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.view.ActionURL;
-import org.labkey.api.study.security.SecurityEscalator;
import org.labkey.dbutils.api.SimpleQueryFactory;
import org.labkey.dbutils.api.SimpleQueryUpdater;
import org.labkey.dbutils.api.SimplerFilter;
@@ -62,11 +64,12 @@
import org.labkey.wnprc_ehr.notification.ProjectRequestNotification;
import org.labkey.wnprc_ehr.notification.VvcNotification;
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
-import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
@@ -84,7 +87,6 @@
import java.util.Set;
import java.util.TreeMap;
import java.util.UUID;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -1421,11 +1423,11 @@ public JSONArray checkWaterRegulation(String animalId, Date clientStartDate, Dat
JSONArray extraContextArray = new JSONArray();
boolean existingOrder = false;
+ // boolean closingWaterRecord = closingRecord;
Map majorErrorMap = new HashMap<>();
Map errorMap = new HashMap<>();
- //TODO: Check is the animal is at least one time in the WaterSchedule Table
if(checkIfAnimalInCondition(animalId,clientStartDate).size()==0){
JSONObject returnErrors = new JSONObject();
returnErrors.put("field", "Id");
@@ -1460,10 +1462,11 @@ public JSONArray checkWaterRegulation(String animalId, Date clientStartDate, Dat
SimpleFilter filter = new SimpleFilter(FieldKey.fromString("Id"), animalId);
filter.addCondition(FieldKey.fromString("date"), startDate.getTime(),CompareType.DATE_GTE);
filter.addCondition(FieldKey.fromString("waterSource"),"regulated");
- //filter.addCondition(FieldKey.fromString("frequency"), frequency);
+ filter.addCondition(FieldKey.fromString("QCState"), EHRService.get().getQCStates(container).get(EHRService.QCSTATES.Scheduled.getLabel()).getRowId(), CompareType.EQUAL);
+
//Adding all the water records from database to a list of waterRecord objects that can be compared
- TableSelector waterOrdersFromDatabase = new TableSelector(waterSchedule, PageFlowUtil.set( "taskId","objectid","lsid","Id", "date", "startDateCoalesced","endDateCoalescedFuture","dataSource","project","frequency", "assignedTo","volume","waterOrderObjectId"), filter, null);
+ TableSelector waterOrdersFromDatabase = new TableSelector(waterSchedule, PageFlowUtil.set( "taskId","objectid","lsid","Id", "date", "qcstate","startDateCoalesced","endDateCoalescedFuture","dataSource","project","frequency", "assignedTo","volume","waterOrderObjectId"), filter, null);
waterOrdersFromDatabase.setNamedParameters(parameters);
waterRecords.addAll(waterOrdersFromDatabase.getArrayList(WaterDataBaseRecord.class));
@@ -1500,10 +1503,10 @@ public JSONArray checkWaterRegulation(String animalId, Date clientStartDate, Dat
if (loopDate.compareTo(convertToLocalDateViaSqlDate(waterRecord.getDate()))==0){
- String serverMeaning = getMeaningFromRowid( waterRecord.getFrequency(), "husbandry_frequency", "wnprc" );
+ String serverFrequencyMeaning = getMeaningFromRowid( waterRecord.getFrequency(), "husbandry_frequency", "wnprc" );
//Check frequency compatibility with water orders in the server
- if (!checkFrequencyCompatibility(serverMeaning, meaningFrequency))
+ if (!checkFrequencyCompatibility(serverFrequencyMeaning, meaningFrequency))
{
//Formatting the dates to return a legible date for error message
@@ -1556,7 +1559,7 @@ else if (Date.from(endOfLoop.atStartOfDay(ZoneId.systemDefault()).toInstant()).g
//Adding dataSource, objetcId, severity and message to the exception in case of error
returnErrors.put("dataSource", waterRecord.getDataSource());
returnErrors.put("message", "Overlapping Water Order already in the system. Start date: " + startFormatDate +
- " End Date: " + endFormattedDate +" Frequency: "+waterRecord.getFrequency() +" Source: " + waterRecord.getDataSource() + " EDIT");
+ " End Date: " + endFormattedDate +" Frequency: "+serverFrequencyMeaning +" Source: " + waterRecord.getDataSource() + " EDIT");
returnErrors.put("objectId", waterRecord.getObjectId());
returnErrors.put("severity", "ERROR");
@@ -1619,7 +1622,8 @@ else if (Date.from(endOfLoop.atStartOfDay(ZoneId.systemDefault()).toInstant()).g
}
}
if (!returnErrors.isEmpty() && checkIfAnimalInCondition(animalId,clientStartDate).size()>0){
- errorMap.put(waterRecord.getObjectId(), returnErrors);
+ JSONObject returnErrorsExport = new JSONObject(returnErrors,JSONObject.getNames(returnErrors));
+ errorMap.put(waterRecord.getObjectId(), returnErrorsExport);
extraContext.put("extraContextArray", extraContextArray);
}
}
@@ -1838,38 +1842,190 @@ public JSONArray checkWaterSchedule(String animalId, Date clientDate, String ob
+ }
+
+ public JSONArray closeWaterOrder(String animalId, Date clientStartDate, Date clientEndDate, Integer project, String objectId, boolean closingRecord){
+ JSONArray arrayOfErrors = new JSONArray();
+ Map majorErrorMap = new HashMap<>();
+ Map errorMap = new HashMap<>();
+
+ if(checkIfAnimalInCondition(animalId,clientStartDate).size()==0){
+ JSONObject returnErrors = new JSONObject();
+ returnErrors.put("field", "Id");
+ returnErrors.put("severity","ERROR");
+ returnErrors.put("message","Animal not in waterScheduledAnimals table, contact compliance staff to enter new animals into the water monitoring system");
+ majorErrorMap.put(objectId, returnErrors);
+
+ }
+
+ if (majorErrorMap.isEmpty()){
+ //Closing existing lixit order in the system and adding a record in the waterScheduleAnimals table
+ TableInfo waterOrders = getTableInfo("study","waterOrders");
+ SimpleFilter filterOrders = new SimpleFilter (FieldKey.fromString("objectid"), objectId);
+ filterOrders.addCondition(FieldKey.fromString("Id"), animalId, CompareType.EQUAL);
+
+ TableSelector waterOrderRecords = new TableSelector(waterOrders, PageFlowUtil.set("lsid", "id", "date","frequency","enddate"),filterOrders,null);
+ Map [] waterOrderObject = waterOrderRecords.getMapArray();
+
+
+ if (waterOrderObject.length > 0){
+ List