scanner
parent
f903f714dd
commit
84cf31fbbd
|
@ -13,7 +13,7 @@
|
|||
"@testing-library/react": "^13.4.0",
|
||||
"@testing-library/user-event": "^13.5.0",
|
||||
"@yudiel/react-qr-scanner": "^1.1.10",
|
||||
"antd": "^5.4.2",
|
||||
"antd": "^5.10.2",
|
||||
"buffer": "^6.0.3",
|
||||
"i18next": "^23.2.3",
|
||||
"i18next-browser-languagedetector": "^7.1.0",
|
||||
|
@ -57,16 +57,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@ant-design/cssinjs": {
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.10.1.tgz",
|
||||
"integrity": "sha512-PSoJS8RMzn95ZRg007dJGr6AU0Zim/O+tTN0xmXmh9CkIl4y3wuOr2Zhehaj7s130wPSYDVvahf3DKT50w/Zhw==",
|
||||
"version": "1.17.2",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.17.2.tgz",
|
||||
"integrity": "sha512-vu7lnfEx4Mf8MPzZxn506Zen3Nt4fRr2uutwvdCuTCN5IiU0lDdQ0tiJ24/rmB8+pefwjluYsbyzbQSbgfJy+A==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.1",
|
||||
"@emotion/hash": "^0.8.0",
|
||||
"@emotion/unitless": "^0.7.5",
|
||||
"classnames": "^2.3.1",
|
||||
"csstype": "^3.0.10",
|
||||
"rc-util": "^5.27.0",
|
||||
"rc-util": "^5.35.0",
|
||||
"stylis": "^4.0.13"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -75,12 +75,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@ant-design/icons": {
|
||||
"version": "5.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.1.4.tgz",
|
||||
"integrity": "sha512-YHKL7Jx3bM12OxvtiYDon04BsBT/6LGitYEqar3GljzWaAyMOAD8i/uF1Rsi5Us/YNdWWXBGSvZV2OZWMpJlcA==",
|
||||
"version": "5.2.6",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz",
|
||||
"integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==",
|
||||
"dependencies": {
|
||||
"@ant-design/colors": "^7.0.0",
|
||||
"@ant-design/icons-svg": "^4.2.1",
|
||||
"@ant-design/icons-svg": "^4.3.0",
|
||||
"@babel/runtime": "^7.11.2",
|
||||
"classnames": "^2.2.6",
|
||||
"rc-util": "^5.31.1"
|
||||
|
@ -94,14 +94,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@ant-design/icons-svg": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz",
|
||||
"integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz",
|
||||
"integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g=="
|
||||
},
|
||||
"node_modules/@ant-design/react-slick": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.0.tgz",
|
||||
"integrity": "sha512-OKxZsn8TAf8fYxP79rDXgLs9zvKMTslK6dJ4iLhDXOujUqC5zJPBRszyrcEHXcMPOm1Sgk40JgyF3yiL/Swd7w==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz",
|
||||
"integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.4",
|
||||
"classnames": "^2.2.5",
|
||||
|
@ -1867,16 +1867,21 @@
|
|||
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.22.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz",
|
||||
"integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==",
|
||||
"version": "7.23.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz",
|
||||
"integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.13.11"
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime/node_modules/regenerator-runtime": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
|
||||
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
|
||||
},
|
||||
"node_modules/@babel/template": {
|
||||
"version": "7.20.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
|
||||
|
@ -2228,9 +2233,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@ctrl/tinycolor": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
|
||||
"integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==",
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
|
||||
"integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
|
@ -3222,9 +3227,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/color-picker": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.2.0.tgz",
|
||||
"integrity": "sha512-IitJ6RWGHs7btI1AqzGPrehr5bueWLGDUyMKwDwvFunfSDo/o8g/95kUG55vC5EYLM0ZJ3SDfw45OrW5KAx3oA==",
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.4.1.tgz",
|
||||
"integrity": "sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@ctrl/tinycolor": "^3.6.0",
|
||||
|
@ -3237,9 +3242,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/context": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.3.0.tgz",
|
||||
"integrity": "sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==",
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz",
|
||||
"integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"rc-util": "^5.27.0"
|
||||
|
@ -3250,9 +3255,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/mini-decimal": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.0.1.tgz",
|
||||
"integrity": "sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz",
|
||||
"integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.0"
|
||||
},
|
||||
|
@ -3261,9 +3266,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/mutate-observer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.0.0.tgz",
|
||||
"integrity": "sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz",
|
||||
"integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.0",
|
||||
"classnames": "^2.3.2",
|
||||
|
@ -3278,9 +3283,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/portal": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.1.tgz",
|
||||
"integrity": "sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==",
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz",
|
||||
"integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.0",
|
||||
"classnames": "^2.3.2",
|
||||
|
@ -3295,9 +3300,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/tour": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.8.0.tgz",
|
||||
"integrity": "sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==",
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.10.0.tgz",
|
||||
"integrity": "sha512-voV0BKaTJbewB9LLgAHQ7tAGG7rgDkKQkZo82xw2gIk542hY+o7zwoqdN16oHhIKk7eG/xi+mdXrONT62Dt57A==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.0",
|
||||
"@rc-component/portal": "^1.0.0-9",
|
||||
|
@ -3314,17 +3319,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@rc-component/trigger": {
|
||||
"version": "1.13.6",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.13.6.tgz",
|
||||
"integrity": "sha512-13aF9SrR5XAd+tyV/zja0A2pbrA/zdTCXRBNIsoLp8OmhVOnqiwjP7XZYPulLsH0ioEfvtXR1yI0anJD0/J7PQ==",
|
||||
"version": "1.17.2",
|
||||
"resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.17.2.tgz",
|
||||
"integrity": "sha512-Jp3dXk/IzwHKM2Tn3ezdvQSwkPeH4v1s7QjIo7f5NFLIZVpJQ8a34FduZw8E6fT1PVgLXYd/JBIyd+YpgyQddA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@babel/runtime": "^7.23.2",
|
||||
"@rc-component/portal": "^1.1.0",
|
||||
"classnames": "^2.3.2",
|
||||
"rc-align": "^4.0.0",
|
||||
"rc-motion": "^2.0.0",
|
||||
"rc-resize-observer": "^1.3.1",
|
||||
"rc-util": "^5.33.0"
|
||||
"rc-util": "^5.38.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.x"
|
||||
|
@ -5144,56 +5148,56 @@
|
|||
}
|
||||
},
|
||||
"node_modules/antd": {
|
||||
"version": "5.6.1",
|
||||
"resolved": "https://registry.npmjs.org/antd/-/antd-5.6.1.tgz",
|
||||
"integrity": "sha512-ZuY6MATmONRCrHL53BwM3t/GruwhNcPJsKtRQLyo6TWJFkdPBd4gASfHsgKWRlXnN767IG8ioxDS5hlV6GsGHg==",
|
||||
"version": "5.10.2",
|
||||
"resolved": "https://registry.npmjs.org/antd/-/antd-5.10.2.tgz",
|
||||
"integrity": "sha512-0kV6PmlJi7vhPmYH9GCAlU62ZhiuLF+gE3REJ/9MZTo++/3i5q6SALNoRgHLMsa+rX50U3RO3wJVY+fPib594Q==",
|
||||
"dependencies": {
|
||||
"@ant-design/colors": "^7.0.0",
|
||||
"@ant-design/cssinjs": "^1.10.1",
|
||||
"@ant-design/icons": "^5.1.0",
|
||||
"@ant-design/react-slick": "~1.0.0",
|
||||
"@ant-design/cssinjs": "^1.17.2",
|
||||
"@ant-design/icons": "^5.2.6",
|
||||
"@ant-design/react-slick": "~1.0.2",
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@ctrl/tinycolor": "^3.6.0",
|
||||
"@rc-component/color-picker": "~1.2.0",
|
||||
"@rc-component/mutate-observer": "^1.0.0",
|
||||
"@rc-component/tour": "~1.8.0",
|
||||
"@rc-component/trigger": "^1.13.0",
|
||||
"@ctrl/tinycolor": "^3.6.1",
|
||||
"@rc-component/color-picker": "~1.4.1",
|
||||
"@rc-component/mutate-observer": "^1.1.0",
|
||||
"@rc-component/tour": "~1.10.0",
|
||||
"@rc-component/trigger": "^1.17.2",
|
||||
"classnames": "^2.2.6",
|
||||
"copy-to-clipboard": "^3.2.0",
|
||||
"dayjs": "^1.11.1",
|
||||
"qrcode.react": "^3.1.0",
|
||||
"rc-cascader": "~3.12.0",
|
||||
"rc-checkbox": "~3.0.0",
|
||||
"rc-collapse": "~3.7.0",
|
||||
"rc-dialog": "~9.1.0",
|
||||
"rc-drawer": "~6.2.0",
|
||||
"rc-cascader": "~3.18.1",
|
||||
"rc-checkbox": "~3.1.0",
|
||||
"rc-collapse": "~3.7.1",
|
||||
"rc-dialog": "~9.3.4",
|
||||
"rc-drawer": "~6.5.2",
|
||||
"rc-dropdown": "~4.1.0",
|
||||
"rc-field-form": "~1.32.0",
|
||||
"rc-image": "~5.17.1",
|
||||
"rc-input": "~1.0.4",
|
||||
"rc-input-number": "~7.4.0",
|
||||
"rc-mentions": "~2.3.0",
|
||||
"rc-menu": "~9.9.2",
|
||||
"rc-motion": "^2.7.3",
|
||||
"rc-notification": "~5.0.4",
|
||||
"rc-pagination": "~3.5.0",
|
||||
"rc-picker": "~3.8.0",
|
||||
"rc-progress": "~3.4.1",
|
||||
"rc-field-form": "~1.39.0",
|
||||
"rc-image": "~7.3.1",
|
||||
"rc-input": "~1.2.1",
|
||||
"rc-input-number": "~8.1.0",
|
||||
"rc-mentions": "~2.8.0",
|
||||
"rc-menu": "~9.12.2",
|
||||
"rc-motion": "^2.9.0",
|
||||
"rc-notification": "~5.2.0",
|
||||
"rc-pagination": "~3.6.1",
|
||||
"rc-picker": "~3.14.5",
|
||||
"rc-progress": "~3.5.1",
|
||||
"rc-rate": "~2.12.0",
|
||||
"rc-resize-observer": "^1.2.0",
|
||||
"rc-segmented": "~2.2.0",
|
||||
"rc-select": "~14.5.0",
|
||||
"rc-slider": "~10.1.0",
|
||||
"rc-steps": "~6.0.0",
|
||||
"rc-resize-observer": "^1.4.0",
|
||||
"rc-segmented": "~2.2.2",
|
||||
"rc-select": "~14.9.2",
|
||||
"rc-slider": "~10.3.1",
|
||||
"rc-steps": "~6.0.1",
|
||||
"rc-switch": "~4.1.0",
|
||||
"rc-table": "~7.32.1",
|
||||
"rc-tabs": "~12.7.0",
|
||||
"rc-textarea": "~1.2.2",
|
||||
"rc-tooltip": "~6.0.0",
|
||||
"rc-tree": "~5.7.4",
|
||||
"rc-tree-select": "~5.9.0",
|
||||
"rc-upload": "~4.3.0",
|
||||
"rc-util": "^5.32.0",
|
||||
"rc-table": "~7.34.4",
|
||||
"rc-tabs": "~12.12.1",
|
||||
"rc-textarea": "~1.4.0",
|
||||
"rc-tooltip": "~6.1.1",
|
||||
"rc-tree": "~5.7.12",
|
||||
"rc-tree-select": "~5.13.0",
|
||||
"rc-upload": "~4.3.5",
|
||||
"rc-util": "^5.38.0",
|
||||
"scroll-into-view-if-needed": "^3.0.3",
|
||||
"throttle-debounce": "^5.0.0"
|
||||
},
|
||||
|
@ -6883,9 +6887,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/dayjs": {
|
||||
"version": "1.11.8",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz",
|
||||
"integrity": "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ=="
|
||||
"version": "1.11.10",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
|
||||
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
|
||||
},
|
||||
"node_modules/debounce": {
|
||||
"version": "1.2.1",
|
||||
|
@ -7120,11 +7124,6 @@
|
|||
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
|
||||
"integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="
|
||||
},
|
||||
"node_modules/dom-align": {
|
||||
"version": "1.12.4",
|
||||
"resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz",
|
||||
"integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
|
||||
},
|
||||
"node_modules/dom-converter": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
|
||||
|
@ -14810,33 +14809,17 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rc-align": {
|
||||
"version": "4.0.15",
|
||||
"resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz",
|
||||
"integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "2.x",
|
||||
"dom-align": "^1.7.0",
|
||||
"rc-util": "^5.26.0",
|
||||
"resize-observer-polyfill": "^1.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
"react-dom": ">=16.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rc-cascader": {
|
||||
"version": "3.12.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.12.0.tgz",
|
||||
"integrity": "sha512-QTeGPTNYX33alozNy9lYg7YKpvYVwquai/mrFRR8mHlHnK7QlqJyMqbs2p7rc5eeKARKMRTUeoN5CfO+Gr9UBw==",
|
||||
"version": "3.18.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.18.1.tgz",
|
||||
"integrity": "sha512-M7Xr5Fs/E87ZGustfObtBYQjsvBCET0UX2JYXB2GmOP+2fsZgjaRGXK+CJBmmWXQ6o4OFinpBQBXG4wJOQ5MEg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"array-tree-filter": "^2.1.0",
|
||||
"classnames": "^2.3.1",
|
||||
"rc-select": "~14.5.0",
|
||||
"rc-select": "~14.9.0",
|
||||
"rc-tree": "~5.7.0",
|
||||
"rc-util": "^5.6.1"
|
||||
"rc-util": "^5.35.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
|
@ -14844,9 +14827,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-checkbox": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.0.tgz",
|
||||
"integrity": "sha512-tOEs1+wWDUei7DuP2EsJCZfam5vxMjKTCGcZdXVgsiOcNszc41Esycbo31P0/jFwUAPmd5oPYFWkcnFUCTLZxA==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.1.0.tgz",
|
||||
"integrity": "sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "^2.3.2",
|
||||
|
@ -14858,9 +14841,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-collapse": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.0.tgz",
|
||||
"integrity": "sha512-Cir1c89cENiK5wryd9ut+XltrIfx/+KH1/63uJIVjuXkgfrIvIy6W1fYGgEYtttbHW2fEfxg1s31W+Vm98fSRw==",
|
||||
"version": "3.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.1.tgz",
|
||||
"integrity": "sha512-N/7ejyiTf3XElNJBBpxqnZBUuMsQWEOPjB2QkfNvZ/Ca54eAvJXuOD1EGbCWCk2m7v/MSxku7mRpdeaLOCd4Gg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "2.x",
|
||||
|
@ -14873,9 +14856,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-dialog": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.1.0.tgz",
|
||||
"integrity": "sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==",
|
||||
"version": "9.3.4",
|
||||
"resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.3.4.tgz",
|
||||
"integrity": "sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/portal": "^1.0.0-8",
|
||||
|
@ -14889,15 +14872,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-drawer": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.2.0.tgz",
|
||||
"integrity": "sha512-spPkZ3WvP0U0vy5dyzSwlUJ/+vLFtjP/cTwSwejhQRoDBaexSZHsBhELoCZcEggI7LQ7typmtG30lAue2HEhvA==",
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.5.2.tgz",
|
||||
"integrity": "sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/portal": "^1.1.1",
|
||||
"classnames": "^2.2.6",
|
||||
"rc-motion": "^2.6.1",
|
||||
"rc-util": "^5.21.2"
|
||||
"rc-util": "^5.36.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
|
@ -14920,9 +14903,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-field-form": {
|
||||
"version": "1.32.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.32.2.tgz",
|
||||
"integrity": "sha512-SzqG1YGyD2P42ztZJ7qoPQp6FV9bD51RUdKGG/5xwybU1wbFdgWTqiMXkS8UR9L4GwXVMKh5PaF2I4EBXd/Rng==",
|
||||
"version": "1.39.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.39.0.tgz",
|
||||
"integrity": "sha512-V7Wk7uji1jBsUGGgP788H9rpFy55HLiD4lywTlktUGjK7EgW5dt+mq1MPbtCpPRMzs83vZBW4SOChOmCACz4WA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.0",
|
||||
"async-validator": "^4.1.0",
|
||||
|
@ -14937,16 +14920,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-image": {
|
||||
"version": "5.17.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.17.1.tgz",
|
||||
"integrity": "sha512-oR4eviLyQxd/5A7pn843w2/Z1wuBA27L2lS4agq0sjl2z97ssNIVEzRzgwgB0ZxVZG/qSu9Glit2Zgzb/n+blQ==",
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.3.1.tgz",
|
||||
"integrity": "sha512-Tu3vcUyMHa6zxTiQRzHt1glbGwuNWzeQBG9O6qIdy/+1ue0Qb70it+jUct1YPVNkJa/QfaTfUhmsNsqrw7mgsg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.2",
|
||||
"@rc-component/portal": "^1.0.2",
|
||||
"classnames": "^2.2.6",
|
||||
"rc-dialog": "~9.1.0",
|
||||
"rc-dialog": "~9.3.0",
|
||||
"rc-motion": "^2.6.2",
|
||||
"rc-util": "^5.0.6"
|
||||
"rc-util": "^5.34.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
|
@ -14954,9 +14937,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-input": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.0.4.tgz",
|
||||
"integrity": "sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==",
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.2.1.tgz",
|
||||
"integrity": "sha512-nQRmBvEFoGi+SNRDavccZ8ueyhFgmxkWqIt4aDyuNJgUZF12HJKIwDhAafUM7N+g7PyuW9FH3pf3zPHzdiCWbA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.1",
|
||||
"classnames": "^2.2.1",
|
||||
|
@ -14968,13 +14951,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-input-number": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.4.2.tgz",
|
||||
"integrity": "sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-8.1.0.tgz",
|
||||
"integrity": "sha512-bdHgduOxuN0lrhzgPmoKbhRD4GLIzVcddVz972/JHPHr7oLwPX5xDb9w4bXhuMzyT2VzQy7nggRCfH3yAl09oA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/mini-decimal": "^1.0.1",
|
||||
"classnames": "^2.2.5",
|
||||
"rc-input": "~1.2.1",
|
||||
"rc-util": "^5.28.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -14983,17 +14967,17 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-mentions": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.3.0.tgz",
|
||||
"integrity": "sha512-gNpsSKsBHSXvyAA1ZowVTqXSWUIw7+OI9wmjL87KcYURvtm9nDo8R0KtOc2f1PT7q9McUpFzhm6AvQdIly0aRA==",
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.8.0.tgz",
|
||||
"integrity": "sha512-LBMkO6bSGhEvS1CvMK978qGN82tI+mzk7l/uTiQJH+UDiwpvq+pxK4DxU5b6Q1T5LW6bn2pSua9RaZKZrDoBOw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"@rc-component/trigger": "^1.5.0",
|
||||
"classnames": "^2.2.6",
|
||||
"rc-input": "~1.0.0",
|
||||
"rc-menu": "~9.9.0",
|
||||
"rc-textarea": "~1.2.0",
|
||||
"rc-util": "^5.22.5"
|
||||
"rc-input": "~1.2.1",
|
||||
"rc-menu": "~9.12.0",
|
||||
"rc-textarea": "~1.4.0",
|
||||
"rc-util": "^5.34.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
|
@ -15001,15 +14985,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-menu": {
|
||||
"version": "9.9.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.9.2.tgz",
|
||||
"integrity": "sha512-kVJwaQn5VUu6DIddxd/jz3QupTPg0tNYq+mpFP8wYsRF5JgzPA9fPVw+CfwlTPwA1w7gzEY42S8pj6M3uev5CQ==",
|
||||
"version": "9.12.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.12.2.tgz",
|
||||
"integrity": "sha512-NzloFH2pRUYmQ3S/YbJAvRkgCZaLvq0sRa5rgJtuIHLfPPprNHNyepeSlT64+dbVqI4qRWL44VN0lUCldCbbfg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/trigger": "^1.6.2",
|
||||
"@rc-component/trigger": "^1.17.0",
|
||||
"classnames": "2.x",
|
||||
"rc-motion": "^2.4.3",
|
||||
"rc-overflow": "^1.2.8",
|
||||
"rc-overflow": "^1.3.1",
|
||||
"rc-util": "^5.27.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -15018,9 +15002,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-motion": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.7.3.tgz",
|
||||
"integrity": "sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==",
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz",
|
||||
"integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.1",
|
||||
"classnames": "^2.2.1",
|
||||
|
@ -15032,13 +15016,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-notification": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.0.4.tgz",
|
||||
"integrity": "sha512-3535oellIRlt1LspERfK8yvCqb8Gio3R02rULciaSc1xe3H7ArTU/khlUTv1ddGzua4HhmF4D4Rwz/+mBxETvg==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.2.0.tgz",
|
||||
"integrity": "sha512-HwUSypEW4mfOpiakJ7dm6TAKf+3zuSR2xm0I0XMes493rtA3n4EVMvQyldrp23hUwCE3RFj8oncyU1E8iNC4ag==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "2.x",
|
||||
"rc-motion": "^2.6.0",
|
||||
"rc-motion": "^2.9.0",
|
||||
"rc-util": "^5.20.1"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -15050,14 +15034,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-overflow": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.1.tgz",
|
||||
"integrity": "sha512-RY0nVBlfP9CkxrpgaLlGzkSoh9JhjJLu6Icqs9E7CW6Ewh9s0peF9OHIex4OhfoPsR92LR0fN6BlCY9Z4VoUtA==",
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz",
|
||||
"integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.1",
|
||||
"classnames": "^2.2.1",
|
||||
"rc-resize-observer": "^1.0.0",
|
||||
"rc-util": "^5.19.2"
|
||||
"rc-util": "^5.37.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
|
@ -15065,9 +15049,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-pagination": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.5.0.tgz",
|
||||
"integrity": "sha512-lUBVtVVUn7gGsq4mTyVpcZQr+AMcljbMiL/HcCmSdFrcsK0iZVKwwbXDxhz2IV0JXUs9Hzepr5sQFaF+9ad/pQ==",
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.6.1.tgz",
|
||||
"integrity": "sha512-R/sUnKKXx1Nm4kZfUKS3YKa7yEPF1ZkVB/AynQaHt+nMER7h9wPTfliDJFdYo+RM/nk2JD4Yc5QpUq8fIQHeug==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "^2.2.1",
|
||||
|
@ -15079,9 +15063,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-picker": {
|
||||
"version": "3.8.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.8.2.tgz",
|
||||
"integrity": "sha512-q6jnMwBoOi6tFA4xohrKIhzq80Fc3dH0Kiw5VRx6Tf1db7y27PBFCLwu6f66niXidZKD8F4R0M9VIui/jkL4cg==",
|
||||
"version": "3.14.5",
|
||||
"resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.14.5.tgz",
|
||||
"integrity": "sha512-h0O8b5AYfWwHSRUUH/9F2oBXB5gZerHIyGG6z2r5rn/kfSQodyCXEO4GNqrG30iUC1qkvLFIOn/JqI4XaO0+2A==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/trigger": "^1.5.0",
|
||||
|
@ -15115,9 +15099,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-progress": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.1.tgz",
|
||||
"integrity": "sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==",
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.5.1.tgz",
|
||||
"integrity": "sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "^2.2.6",
|
||||
|
@ -15146,13 +15130,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-resize-observer": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.3.1.tgz",
|
||||
"integrity": "sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==",
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz",
|
||||
"integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.7",
|
||||
"classnames": "^2.2.1",
|
||||
"rc-util": "^5.27.0",
|
||||
"rc-util": "^5.38.0",
|
||||
"resize-observer-polyfill": "^1.5.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -15176,15 +15160,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-select": {
|
||||
"version": "14.5.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.5.2.tgz",
|
||||
"integrity": "sha512-Np/lDHvxCnVhVsheQjSV1I/OMJTWJf1n10wq8q1AGy3ytyYLfjNpi6uaz/pmjsbbiSddSWzJnNZCli9LmgBZsA==",
|
||||
"version": "14.9.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.9.2.tgz",
|
||||
"integrity": "sha512-VQ15sRFgPURHb8ZcZNSDtb2rAw3+C9xlL0nDziwNHTEW1KvEpZ8y+0v5w24X/Bpl9b3cW1BOyW1F5UqSAq+7Dg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/trigger": "^1.5.0",
|
||||
"classnames": "2.x",
|
||||
"rc-motion": "^2.0.1",
|
||||
"rc-overflow": "^1.0.0",
|
||||
"rc-overflow": "^1.3.1",
|
||||
"rc-util": "^5.16.1",
|
||||
"rc-virtual-list": "^3.5.2"
|
||||
},
|
||||
|
@ -15197,9 +15181,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-slider": {
|
||||
"version": "10.1.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.1.1.tgz",
|
||||
"integrity": "sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw==",
|
||||
"version": "10.3.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.3.1.tgz",
|
||||
"integrity": "sha512-XszsZLkbjcG9ogQy/zUC0n2kndoKUAnY/Vnk1Go5Gx+JJQBz0Tl15d5IfSiglwBUZPS9vsUJZkfCmkIZSqWbcA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "^2.2.5",
|
||||
|
@ -15214,9 +15198,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-steps": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.0.tgz",
|
||||
"integrity": "sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==",
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz",
|
||||
"integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.16.7",
|
||||
"classnames": "^2.2.3",
|
||||
|
@ -15245,15 +15229,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-table": {
|
||||
"version": "7.32.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.32.1.tgz",
|
||||
"integrity": "sha512-fHMQteKMocUC9I9Vex3eBLH7QsiaMR/qtzh3B1Ty2PoNGwVTwVdDFyRL05zch+JU3KnNNczgQeVvtf/p//gdrQ==",
|
||||
"version": "7.34.4",
|
||||
"resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.34.4.tgz",
|
||||
"integrity": "sha512-os+i88Y2AO/6dNkOgJkKSHgXYaZZGnuOEEe+nyaq5IRgvAQNhLysUjXt2objtBeFDEZR8TqXrajwBNRUwunmdw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"@rc-component/context": "^1.3.0",
|
||||
"@rc-component/context": "^1.4.0",
|
||||
"classnames": "^2.2.5",
|
||||
"rc-resize-observer": "^1.1.0",
|
||||
"rc-util": "^5.27.1"
|
||||
"rc-util": "^5.36.0",
|
||||
"rc-virtual-list": "^3.11.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.x"
|
||||
|
@ -15264,17 +15249,17 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-tabs": {
|
||||
"version": "12.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.7.1.tgz",
|
||||
"integrity": "sha512-NrltXEYIyiDP5JFu85NQwc9eR+7e50r/6MNXYDyG1EMIFNc7BgDppzdpnD3nW4NHYWw5wLIThCURGib48OCTBg==",
|
||||
"version": "12.12.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.12.1.tgz",
|
||||
"integrity": "sha512-e10VBjEkECdPl4XZSs9to81SE+mgclBTM7J8/LMsFqmJoi05Tci91bRnmeeDtrcOCx2PuZdJv57XUlC4d8PEIw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.2",
|
||||
"classnames": "2.x",
|
||||
"rc-dropdown": "~4.1.0",
|
||||
"rc-menu": "~9.9.0",
|
||||
"rc-menu": "~9.12.0",
|
||||
"rc-motion": "^2.6.2",
|
||||
"rc-resize-observer": "^1.0.0",
|
||||
"rc-util": "^5.16.0"
|
||||
"rc-util": "^5.34.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.x"
|
||||
|
@ -15285,13 +15270,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-textarea": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.2.3.tgz",
|
||||
"integrity": "sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g==",
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.4.0.tgz",
|
||||
"integrity": "sha512-CiqK+uyoJlnfufbC0kwfHJpfElhQacuDSNyNQ/xGnA/QMaJLDbgmqRT8QmX0T0KD/ws/hy6qqRaGJSsrRR5uiQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "^2.2.1",
|
||||
"rc-input": "~1.0.4",
|
||||
"rc-input": "~1.2.1",
|
||||
"rc-resize-observer": "^1.0.0",
|
||||
"rc-util": "^5.27.0"
|
||||
},
|
||||
|
@ -15301,12 +15286,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-tooltip": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.0.1.tgz",
|
||||
"integrity": "sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==",
|
||||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.1.tgz",
|
||||
"integrity": "sha512-YoxL0Ev4htsX37qgN23eKr0L5PIRpZaLVL9GX6aJ4x6UEnwgXZYUNCAEHfKlKT3eD1felDq3ob4+Cn9lprLDBw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.11.2",
|
||||
"@rc-component/trigger": "^1.0.4",
|
||||
"@rc-component/trigger": "^1.17.0",
|
||||
"classnames": "^2.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -15315,9 +15300,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-tree": {
|
||||
"version": "5.7.6",
|
||||
"resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.6.tgz",
|
||||
"integrity": "sha512-Dzam4VFcohXfcw+K4syq177RKqdqYun1XRc6etAEpRvsTruo4udhcsPrsEfOrRkrhnmkO58Q9F1/lgvm2dznVQ==",
|
||||
"version": "5.7.12",
|
||||
"resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.12.tgz",
|
||||
"integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "2.x",
|
||||
|
@ -15334,13 +15319,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-tree-select": {
|
||||
"version": "5.9.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.9.0.tgz",
|
||||
"integrity": "sha512-oh3blESzLfLCBPSiVDtZ2irzrWWZUMeHvnSwRvFo79br8Z+K/1OhXhXBZmROvfKwaH8YUugAQy8B2j5EGQbdyA==",
|
||||
"version": "5.13.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.13.0.tgz",
|
||||
"integrity": "sha512-g01JU9EdE7j/9KfDKtmvFqJ7ZDNIYDzkpmAXllbTBFoRNhWJBjW1x/dCZLVG+IdZeIz8SKJkgZzCf1CUZrzV/Q==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.10.1",
|
||||
"classnames": "2.x",
|
||||
"rc-select": "~14.5.0",
|
||||
"rc-select": "~14.9.0",
|
||||
"rc-tree": "~5.7.0",
|
||||
"rc-util": "^5.16.1"
|
||||
},
|
||||
|
@ -15350,9 +15335,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-upload": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.4.tgz",
|
||||
"integrity": "sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==",
|
||||
"version": "4.3.5",
|
||||
"resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.5.tgz",
|
||||
"integrity": "sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"classnames": "^2.2.5",
|
||||
|
@ -15364,12 +15349,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-util": {
|
||||
"version": "5.33.1",
|
||||
"resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.33.1.tgz",
|
||||
"integrity": "sha512-oMs2OIV/2lUCF8nllevzLccneyxAzdSOaHSs5y91qOLdqaLbIMsuL49C6/DhF/WKMqiAKEKGdVk2F1sB5HQe9A==",
|
||||
"version": "5.38.0",
|
||||
"resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.38.0.tgz",
|
||||
"integrity": "sha512-yV/YBNdFn+edyBpBdCqkPE29Su0jWcHNgwx2dJbRqMrMfrUcMJUjCRV+ZPhcvWyKFJ63GzEerPrz9JIVo0zXmA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"react-is": "^16.12.0"
|
||||
"react-is": "^18.2.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.9.0",
|
||||
|
@ -15377,19 +15362,19 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rc-util/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=="
|
||||
"version": "18.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
|
||||
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
|
||||
},
|
||||
"node_modules/rc-virtual-list": {
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.5.2.tgz",
|
||||
"integrity": "sha512-sE2G9hTPjVmatQni8OP2Kx33+Oth6DMKm67OblBBmgMBJDJQOOFpSGH7KZ6Pm85rrI2IGxDRXZCr0QhYOH2pfQ==",
|
||||
"version": "3.11.2",
|
||||
"resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.2.tgz",
|
||||
"integrity": "sha512-MTFLL2LOHr3+/+r+WjTIs6j8XmJE6EqdOsJvCH8SWig7qyik3aljCEImUtw5tdWR0tQhXUfbv7P7nZaLY91XPg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.0",
|
||||
"classnames": "^2.2.6",
|
||||
"rc-resize-observer": "^1.0.0",
|
||||
"rc-util": "^5.15.0"
|
||||
"rc-util": "^5.36.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.x"
|
||||
|
@ -16988,9 +16973,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/stylis": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
|
||||
"integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz",
|
||||
"integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ=="
|
||||
},
|
||||
"node_modules/sucrase": {
|
||||
"version": "3.32.0",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"@testing-library/react": "^13.4.0",
|
||||
"@testing-library/user-event": "^13.5.0",
|
||||
"@yudiel/react-qr-scanner": "^1.1.10",
|
||||
"antd": "^5.4.2",
|
||||
"antd": "^5.10.2",
|
||||
"buffer": "^6.0.3",
|
||||
"i18next": "^23.2.3",
|
||||
"i18next-browser-languagedetector": "^7.1.0",
|
||||
|
|
|
@ -412,34 +412,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"scanners": {
|
||||
"column": {
|
||||
"name": "Name",
|
||||
"usedBy": "Verwendet von",
|
||||
"lastUsed": "Zuletzt verwendet",
|
||||
"registeredAt": "Registriert am",
|
||||
"userAgent": "User-Agent",
|
||||
"action": {
|
||||
"title": "Maßnahme",
|
||||
"disconnect": {
|
||||
"link": "Verbindung trennen",
|
||||
"popconfirm": {
|
||||
"title": "Sind Sie sicher, dass Sie die Verbindung zu diesem Scanner trennen wollen?",
|
||||
"okText": "Verbindung trennen"
|
||||
}
|
||||
},
|
||||
|
||||
"use": {
|
||||
"link": "Scanner verwenden",
|
||||
"popconfirm": {
|
||||
"title": "Sind Sie sicher, dass Sie diesen Scanner verwenden möchten?",
|
||||
"description": "Benutzer, die mit diesem Scanner verbunden sind, werden von der Verbindung getrennt.",
|
||||
"okText": "Verwenden"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"header": { "scanners": "Scanner" }
|
||||
"scanner": {
|
||||
"title": "Scan QR Code",
|
||||
"checkbox": {
|
||||
"automaticFillingOfInputFields": "Automatisches Ausfüllen von Eingabefeldern entsprechend den Scanergebnissen",
|
||||
"automaticRecognitionOfEquipmentDocumentation": "Automatische Öffnung der anerkannten Gerätedokumentation"
|
||||
}
|
||||
},
|
||||
"equipmentDocumentationOverview": {
|
||||
"messageErrorInvalidStockItem": "Ungültiges Stock Item",
|
||||
|
|
|
@ -432,33 +432,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"scanners": {
|
||||
"column": {
|
||||
"name": "Name",
|
||||
"usedBy": "Used By",
|
||||
"lastUsed": "Last Used",
|
||||
"registeredAt": "Registered At",
|
||||
"userAgent": "User-Agent",
|
||||
"action": {
|
||||
"title": "Action",
|
||||
"disconnect": {
|
||||
"link": "Disconnect",
|
||||
"popconfirm": {
|
||||
"title": "Are you sure you want to disconnect from this scanner?",
|
||||
"okText": "Disconnect"
|
||||
}
|
||||
},
|
||||
"use": {
|
||||
"link": "Use Scanner",
|
||||
"popconfirm": {
|
||||
"title": "Are you sure you want to use this scanner?",
|
||||
"description": "Users connected with this scanner will be disconnected.",
|
||||
"okText": "Use"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"header": { "scanners": "Scanners" }
|
||||
"scanner": {
|
||||
"title": "Scan QR Code",
|
||||
"checkbox": {
|
||||
"automaticFillingOfInputFields": "Automatic filling of input fields according to scan results",
|
||||
"automaticRecognitionOfEquipmentDocumentation": "Automatic opening of recognized equipment documentation"
|
||||
}
|
||||
},
|
||||
"equipmentDocumentationOverview": {
|
||||
"messageErrorInvalidStockItem": "Invalid Stock Item",
|
||||
|
|
29
src/App.js
29
src/App.js
|
@ -14,6 +14,7 @@ import { UserProfileProvider } from "./Contexts/UserProfileContext";
|
|||
import { UsersProvider } from "./Contexts/UsersContext";
|
||||
import HeaderProvider from "./Contexts/HeaderContext";
|
||||
import ConsolesProvider from "./Contexts/ConsolesContext";
|
||||
import ScannerProvider from "./Contexts/ScannerContext";
|
||||
|
||||
export default function App() {
|
||||
const [notificationApi, notificationContextHolder] =
|
||||
|
@ -44,20 +45,24 @@ export default function App() {
|
|||
<UserProfileProvider>
|
||||
<UsersProvider>
|
||||
<ConsolesProvider>
|
||||
<WebSocketProvider
|
||||
userSession={userSession}
|
||||
setUserSession={setUserSession}
|
||||
isWebSocketReady={isWebSocketReady}
|
||||
setIsWebSocketReady={setIsWebSocketReady}
|
||||
notificationApi={notificationApi}
|
||||
>
|
||||
<ReconnectingView isWebSocketReady={isWebSocketReady} />
|
||||
|
||||
<DashboardLayout
|
||||
<ScannerProvider>
|
||||
<WebSocketProvider
|
||||
userSession={userSession}
|
||||
setUserSession={setUserSession}
|
||||
/>
|
||||
</WebSocketProvider>
|
||||
isWebSocketReady={isWebSocketReady}
|
||||
setIsWebSocketReady={setIsWebSocketReady}
|
||||
notificationApi={notificationApi}
|
||||
>
|
||||
<ReconnectingView
|
||||
isWebSocketReady={isWebSocketReady}
|
||||
/>
|
||||
|
||||
<DashboardLayout
|
||||
userSession={userSession}
|
||||
setUserSession={setUserSession}
|
||||
/>
|
||||
</WebSocketProvider>
|
||||
</ScannerProvider>
|
||||
</ConsolesProvider>
|
||||
</UsersProvider>
|
||||
</UserProfileProvider>
|
||||
|
|
|
@ -156,19 +156,14 @@ export default function AppRoutes() {
|
|||
/>
|
||||
)}
|
||||
|
||||
{hasPermission(
|
||||
appContext.userPermissions,
|
||||
Constants.PERMISSIONS.SCANNER.USE_SCANNERS
|
||||
) && (
|
||||
<Route
|
||||
path={Constants.ROUTE_PATHS.SCANNERS}
|
||||
element={
|
||||
<SuspenseFallback>
|
||||
<Scanners />
|
||||
</SuspenseFallback>
|
||||
}
|
||||
/>
|
||||
)}
|
||||
<Route
|
||||
path={Constants.ROUTE_PATHS.SCANNERS}
|
||||
element={
|
||||
<SuspenseFallback>
|
||||
<Scanners />
|
||||
</SuspenseFallback>
|
||||
}
|
||||
/>
|
||||
|
||||
<Route
|
||||
path={Constants.ROUTE_PATHS.USERS}
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
import { Button, Card, Col, Row, Typography } from "antd";
|
||||
import { AppStyle } from "../../utils";
|
||||
import { QrScanner } from "@yudiel/react-qr-scanner";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { CameraOutlined } from "@ant-design/icons";
|
||||
|
||||
export default function MyQrScanner({
|
||||
isScannerActive,
|
||||
setIsScannerActive,
|
||||
onDecode,
|
||||
onError,
|
||||
previewTitle,
|
||||
bottomContent,
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<Row style={{ marginBottom: AppStyle.app.margin }}>
|
||||
<Col xs={0} md={7} />
|
||||
<Col xs={24} md={10}>
|
||||
<Card
|
||||
style={{
|
||||
textAlign: "center",
|
||||
}}
|
||||
>
|
||||
{isScannerActive ? (
|
||||
<>
|
||||
<QrScanner onDecode={onDecode} onError={onError} />
|
||||
<Button
|
||||
block
|
||||
onClick={() => setIsScannerActive(false)}
|
||||
style={{
|
||||
marginTop: AppStyle.app.margin,
|
||||
marginBottom: AppStyle.app.margin,
|
||||
}}
|
||||
>
|
||||
{t("equipmentDocumentationOverview.buttonCloseCamera")}
|
||||
</Button>
|
||||
</>
|
||||
) : (
|
||||
<div onClick={() => setIsScannerActive(true)}>
|
||||
<CameraOutlined style={{ fontSize: 64 }} />
|
||||
<Typography.Title level={5}>{previewTitle}</Typography.Title>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{bottomContent}
|
||||
</Card>
|
||||
</Col>
|
||||
<Col xs={0} md={7} />
|
||||
</Row>
|
||||
);
|
||||
}
|
|
@ -314,7 +314,6 @@ export function SideMenuContent({
|
|||
) ||
|
||||
document.body.clientWidth < BreakpointLgWidth
|
||||
) {
|
||||
console.log("close");
|
||||
setIsSideMenuCollapsed(true);
|
||||
}
|
||||
}, [location.pathname]);
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
import { createContext, useContext, useRef, useState } from "react";
|
||||
|
||||
const preview = {
|
||||
checkboxAutomaticFillingOfInputFieldsChecked: false,
|
||||
setCheckboxAutomaticFillingOfInputFieldsChecked: () => {},
|
||||
checkboxAutomaticFillingOfInputFieldsCheckedRef: null,
|
||||
|
||||
checkboxAutomaticRecognitionOfEquipmentDocumentationChecked: false,
|
||||
setCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked: () => {},
|
||||
checkboxAutomaticRecognitionOfEquipmentDocumentationCheckedRef: null,
|
||||
};
|
||||
|
||||
const ScannerContext = createContext(preview);
|
||||
|
||||
export const useScannerContext = () => useContext(ScannerContext);
|
||||
|
||||
export default function ScannerProvider({ children }) {
|
||||
// automatic filling of input fields according to scan result
|
||||
const lCheckboxAutomaticFillingOfInputFieldsChecked =
|
||||
localStorage.getItem("cAFOIF") === "true";
|
||||
|
||||
const [
|
||||
checkboxAutomaticFillingOfInputFieldsChecked,
|
||||
setCheckboxAutomaticFillingOfInputFieldsChecked,
|
||||
] = useState(lCheckboxAutomaticFillingOfInputFieldsChecked);
|
||||
const checkboxAutomaticFillingOfInputFieldsCheckedRef = useRef(
|
||||
lCheckboxAutomaticFillingOfInputFieldsChecked
|
||||
);
|
||||
|
||||
const saveCheckboxAutomaticFillingOfInputFieldsChecked = (checked) => {
|
||||
localStorage.setItem("cAFOIF", checked);
|
||||
|
||||
setCheckboxAutomaticFillingOfInputFieldsChecked(checked);
|
||||
checkboxAutomaticFillingOfInputFieldsCheckedRef.current = checked;
|
||||
};
|
||||
|
||||
// automatic detection of equipment documentation
|
||||
const lCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked =
|
||||
localStorage.getItem("cAROED") === "true";
|
||||
|
||||
const [
|
||||
checkboxAutomaticRecognitionOfEquipmentDocumentationChecked,
|
||||
setCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked,
|
||||
] = useState(lCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked);
|
||||
const checkboxAutomaticRecognitionOfEquipmentDocumentationCheckedRef = useRef(
|
||||
lCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked
|
||||
);
|
||||
|
||||
const saveCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked = (
|
||||
checked
|
||||
) => {
|
||||
localStorage.setItem("cAROED", checked);
|
||||
|
||||
setCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked(checked);
|
||||
checkboxAutomaticRecognitionOfEquipmentDocumentationCheckedRef.current =
|
||||
checked;
|
||||
};
|
||||
|
||||
return (
|
||||
<ScannerContext.Provider
|
||||
value={{
|
||||
checkboxAutomaticFillingOfInputFieldsChecked,
|
||||
setCheckboxAutomaticFillingOfInputFieldsChecked:
|
||||
saveCheckboxAutomaticFillingOfInputFieldsChecked,
|
||||
checkboxAutomaticFillingOfInputFieldsCheckedRef,
|
||||
checkboxAutomaticRecognitionOfEquipmentDocumentationChecked,
|
||||
setCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked:
|
||||
saveCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked,
|
||||
checkboxAutomaticRecognitionOfEquipmentDocumentationCheckedRef,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</ScannerContext.Provider>
|
||||
);
|
||||
}
|
|
@ -15,8 +15,6 @@ export function UsersProvider({ children }) {
|
|||
const [users, setUsers] = useState([]);
|
||||
const [roles, setRoles] = useState([]);
|
||||
|
||||
console.log("usersProvider", users, roles);
|
||||
|
||||
return (
|
||||
<UsersContext.Provider
|
||||
value={{
|
||||
|
|
|
@ -15,6 +15,7 @@ import { useAdminAreaRolesContext } from "./AdminAreaRolesContext";
|
|||
import { useUsersContext } from "./UsersContext";
|
||||
import { useHeaderContext } from "./HeaderContext";
|
||||
import { useConsolesContext } from "./ConsolesContext";
|
||||
import { useScannerContext } from "./ScannerContext";
|
||||
|
||||
const WebSocketContext = createContext(null);
|
||||
|
||||
|
@ -41,6 +42,7 @@ export default function WebSocketProvider({
|
|||
const adminAreaRolesContext = useAdminAreaRolesContext();
|
||||
const usersContext = useUsersContext();
|
||||
const consolesContext = useConsolesContext();
|
||||
const scannerContext = useScannerContext();
|
||||
|
||||
if (wsConnectionEvent === null) {
|
||||
wsConnectionEvent = new CustomEvent(wsConnectionCustomEventName, {
|
||||
|
@ -58,7 +60,6 @@ export default function WebSocketProvider({
|
|||
sideBarContext.setConnectionBadgeStatus("success");
|
||||
setIsWebSocketReady(true);
|
||||
|
||||
console.log("dispatchEvent");
|
||||
document.dispatchEvent(wsConnectionEvent);
|
||||
|
||||
myFetch("/user/", "GET").then((data) => {
|
||||
|
@ -97,7 +98,8 @@ export default function WebSocketProvider({
|
|||
userProfileContext,
|
||||
adminAreaRolesContext,
|
||||
usersContext,
|
||||
consolesContext
|
||||
consolesContext,
|
||||
scannerContext
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
import { Constants, GetUuid } from "../utils";
|
||||
import {
|
||||
IsScannedQrCodeValid,
|
||||
OpenScannedEquipmentDocumentation,
|
||||
} from "../Pages/EquipmentDocumentation";
|
||||
import { BrowserTabSession, Constants } from "../utils";
|
||||
|
||||
// commands received from the backend server
|
||||
export const ReceivedMessagesCommands = {
|
||||
|
@ -12,11 +16,8 @@ export const ReceivedMessagesCommands = {
|
|||
GroupTasksReloaded: 8,
|
||||
UpdateUserSessions: 9,
|
||||
UpdateAllUsersUserAvatar: 10,
|
||||
NewScanner: 11,
|
||||
DeleteScanner: 12,
|
||||
UpdateScannerUsedByUserId: 13,
|
||||
ScanResult: 14,
|
||||
UpdateScannerLastUsed: 15,
|
||||
ScannerNewScan: 11,
|
||||
|
||||
TaskLocked: 16,
|
||||
TaskUnlocked: 17,
|
||||
UserProfileUpdated: 18,
|
||||
|
@ -65,8 +66,7 @@ export const SentMessagesCommands = {
|
|||
AllUsersCreateNewUser: 12,
|
||||
AllUsersDeleteUser: 13,
|
||||
AllUsersUserDeactivation: 14,
|
||||
ScannersUseScanners: 15,
|
||||
ScannersDisconnectScanner: 16,
|
||||
ScannerNewScan: 15,
|
||||
HandleUserActionTaskStep: 18,
|
||||
CreateNewUserApiKey: 19,
|
||||
DeleteUserApiKey: 20,
|
||||
|
@ -80,12 +80,6 @@ export const SentMessagesCommands = {
|
|||
AdminAreaManageDeleteLogManagerServerConnection: 28,
|
||||
};
|
||||
|
||||
/*
|
||||
This ID is needed because the message is sent to all clients connected to the backend server when a task is locked and unlocked.
|
||||
With this ID the client checks if the respective browser tab of the user is the initiator of the lock.
|
||||
*/
|
||||
export const GroupTasksStepsLockedAndUserUpdateInputValueRememberId = GetUuid();
|
||||
|
||||
export function handleWebSocketMessage(
|
||||
event,
|
||||
navigate,
|
||||
|
@ -97,7 +91,8 @@ export function handleWebSocketMessage(
|
|||
userProfileContext,
|
||||
adminAreaRolesContext,
|
||||
usersContext,
|
||||
consolesContext
|
||||
consolesContext,
|
||||
scannerContext
|
||||
) {
|
||||
const data = JSON.parse(event.data);
|
||||
|
||||
|
@ -235,67 +230,44 @@ export function handleWebSocketMessage(
|
|||
return newArr;
|
||||
});
|
||||
break;
|
||||
/*case ReceivedMessagesCommands.NewScanner:
|
||||
setScanners((arr) => [...arr, body]);
|
||||
break;
|
||||
case ReceivedMessagesCommands.DeleteScanner:
|
||||
setScanners((arr) => arr.filter((arr) => arr.Id !== body.Id));
|
||||
break; */
|
||||
/*case ReceivedMessagesCommands.UpdateScannerUsedByUserId:
|
||||
setScanners((arr) => {
|
||||
const newArr = [...arr];
|
||||
|
||||
newArr[
|
||||
arr.findIndex((arr1) => arr1.Id === body.ScannerId)
|
||||
].UsedByUserId = body.UsedByUserId;
|
||||
|
||||
return newArr;
|
||||
case ReceivedMessagesCommands.ScannerNewScan:
|
||||
notificationApi["success"]({
|
||||
message: "New scan",
|
||||
description: "Click here to copy the scan to clipboard",
|
||||
onClick: () => navigator.clipboard.writeText(body),
|
||||
});
|
||||
break;*/
|
||||
/* case ReceivedMessagesCommands.ScanResult:
|
||||
const decodedScanResult = DecodedBase64ToString(body);
|
||||
|
||||
if (decodedScanResult === "" || decodedScanResult === null) {
|
||||
notificationApi["error"]({
|
||||
message: `Failed to decode scan result`,
|
||||
description: "See in developer console",
|
||||
console.log(
|
||||
"a",
|
||||
scannerContext
|
||||
.checkboxAutomaticRecognitionOfEquipmentDocumentationCheckedRef
|
||||
.current
|
||||
);
|
||||
|
||||
if (
|
||||
scannerContext
|
||||
.checkboxAutomaticRecognitionOfEquipmentDocumentationCheckedRef
|
||||
.current &&
|
||||
IsScannedQrCodeValid(body)
|
||||
) {
|
||||
OpenScannedEquipmentDocumentation({
|
||||
navigate: navigate,
|
||||
scannedEquipment: JSON.parse(body).stockitem.toString(),
|
||||
});
|
||||
} else if (
|
||||
scannerContext.checkboxAutomaticFillingOfInputFieldsCheckedRef.current
|
||||
) {
|
||||
// get the current focused input on the page and set the value
|
||||
const foundInput = document.activeElement;
|
||||
|
||||
console.error(
|
||||
"Received scan result: ",
|
||||
body,
|
||||
"Decoded result: ",
|
||||
decodedScanResult
|
||||
);
|
||||
break;
|
||||
if (!foundInput) break;
|
||||
|
||||
setNativeValue(foundInput, body);
|
||||
}
|
||||
|
||||
notificationApi["info"]({
|
||||
message: `Scan Result`,
|
||||
description: decodedScanResult,
|
||||
});
|
||||
|
||||
new Audio(
|
||||
`${Constants.STATIC_CONTENT_ADDRESS}sounds/scan_result.mp3`
|
||||
).play();
|
||||
|
||||
break;
|
||||
case ReceivedMessagesCommands.UpdateScannerLastUsed:
|
||||
setScanners((arr) => {
|
||||
const newArr = [...arr];
|
||||
|
||||
newArr[arr.findIndex((arr1) => arr1.Id === body.ScannerId)].LastUsed =
|
||||
body.LastUsed;
|
||||
|
||||
return newArr;
|
||||
});
|
||||
break;*/
|
||||
case ReceivedMessagesCommands.TaskLocked:
|
||||
if (
|
||||
body.rememberId ===
|
||||
GroupTasksStepsLockedAndUserUpdateInputValueRememberId
|
||||
)
|
||||
break;
|
||||
if (body.rememberId === BrowserTabSession) break;
|
||||
|
||||
groupTasksContext.setGroupTasksSteps((arr) => {
|
||||
const newArr = [...arr];
|
||||
|
@ -394,11 +366,7 @@ export function handleWebSocketMessage(
|
|||
|
||||
break;
|
||||
case ReceivedMessagesCommands.TaskUnlocked:
|
||||
if (
|
||||
body.rememberId ===
|
||||
GroupTasksStepsLockedAndUserUpdateInputValueRememberId
|
||||
)
|
||||
break;
|
||||
if (body.rememberId === BrowserTabSession) break;
|
||||
|
||||
groupTasksContext.setGroupTasksSteps((arr) => {
|
||||
const newArr = [...arr];
|
||||
|
|
|
@ -24,7 +24,6 @@ import {
|
|||
} from "antd";
|
||||
import { AppStyle, Constants, myFetch } from "../../utils";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import { QrScanner } from "@yudiel/react-qr-scanner";
|
||||
import MyModal, {
|
||||
MyModalCloseCreateButtonFooter,
|
||||
MyModalCloseSaveButtonFooter,
|
||||
|
@ -34,6 +33,7 @@ import TextArea from "antd/es/input/TextArea";
|
|||
import { useTranslation } from "react-i18next";
|
||||
import MyTypography from "../../Components/MyTypography";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import MyQrScanner from "../../Components/MyQrScanner";
|
||||
|
||||
export default function EquipmentDocumentationOverview() {
|
||||
const { t } = useTranslation();
|
||||
|
@ -55,16 +55,44 @@ export default function EquipmentDocumentationOverview() {
|
|||
);
|
||||
}
|
||||
|
||||
export const IsScannedQrCodeValid = (result) => {
|
||||
// {"stockitem": 11} or 11 is valid
|
||||
|
||||
try {
|
||||
// Try to parse the scanned content as JSON
|
||||
const parsedResult = JSON.parse(result);
|
||||
|
||||
// Check if the parsed object has the expected format
|
||||
if (parsedResult && typeof parsedResult === "object") {
|
||||
if (
|
||||
parsedResult.stockitem !== undefined &&
|
||||
typeof parsedResult.stockitem === "number"
|
||||
) {
|
||||
return true; // The QR code has the expected format
|
||||
}
|
||||
} else if (!isNaN(parsedResult)) {
|
||||
return true; // The QR code is a valid number
|
||||
}
|
||||
|
||||
return false; // The QR code does not have the expected format or value
|
||||
} catch (error) {
|
||||
return false; // Error while parsing the QR code
|
||||
}
|
||||
};
|
||||
|
||||
export function OpenScannedEquipmentDocumentation({
|
||||
navigate,
|
||||
scannedEquipment,
|
||||
}) {
|
||||
navigate(
|
||||
`${Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION_VIEW}${scannedEquipment}`
|
||||
);
|
||||
}
|
||||
|
||||
export function ScannerComponent() {
|
||||
const navigate = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
|
||||
const handleScannedEquipment = (scannedEquipment) => {
|
||||
navigate(
|
||||
`${Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION_VIEW}${scannedEquipment}`
|
||||
);
|
||||
};
|
||||
|
||||
const [messageApi, messageContextHolder] = message.useMessage({
|
||||
maxCount: 2,
|
||||
});
|
||||
|
@ -72,36 +100,73 @@ export function ScannerComponent() {
|
|||
const [isScannerActive, setIsScannerActive] = useState(false);
|
||||
const [inputValue, setInputValue] = useState("");
|
||||
|
||||
const isScannedQrCodeValid = (result) => {
|
||||
// {"stockitem": 11} or 11 is valid
|
||||
|
||||
try {
|
||||
// Try to parse the scanned content as JSON
|
||||
const parsedResult = JSON.parse(result);
|
||||
|
||||
// Check if the parsed object has the expected format
|
||||
if (parsedResult && typeof parsedResult === "object") {
|
||||
if (
|
||||
parsedResult.stockitem !== undefined &&
|
||||
typeof parsedResult.stockitem === "number"
|
||||
) {
|
||||
return true; // The QR code has the expected format
|
||||
}
|
||||
} else if (!isNaN(parsedResult)) {
|
||||
return true; // The QR code is a valid number
|
||||
}
|
||||
|
||||
return false; // The QR code does not have the expected format or value
|
||||
} catch (error) {
|
||||
return false; // Error while parsing the QR code
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{messageContextHolder}
|
||||
|
||||
<Row style={{ marginBottom: AppStyle.app.margin }}>
|
||||
<MyQrScanner
|
||||
isScannerActive={isScannerActive}
|
||||
setIsScannerActive={setIsScannerActive}
|
||||
previewTitle={t("equipmentDocumentationOverview.scanEquipment.title")}
|
||||
onDecode={(result) => {
|
||||
if (!IsScannedQrCodeValid(result)) {
|
||||
messageApi.error(
|
||||
t("equipmentDocumentationOverview.messageErrorInvalidStockItem")
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
setIsScannerActive(false);
|
||||
|
||||
OpenScannedEquipmentDocumentation({
|
||||
navigate: navigate,
|
||||
scannedEquipment: JSON.parse(result).stockitem.toString(),
|
||||
});
|
||||
}}
|
||||
onError={(error) => console.error(error?.message)}
|
||||
bottomContent={
|
||||
<Row gutter={AppStyle.grid.row.gutter}>
|
||||
<Col xs={24} xl={16}>
|
||||
<Input
|
||||
placeholder={t(
|
||||
"equipmentDocumentationOverview.scanEquipment.inputPlaceholder"
|
||||
)}
|
||||
value={inputValue}
|
||||
onInput={(e) => setInputValue(e.target.value)}
|
||||
/>
|
||||
</Col>
|
||||
<Col xs={24} xl={8}>
|
||||
<Button
|
||||
block
|
||||
icon={<SearchOutlined />}
|
||||
onClick={() => {
|
||||
if (!IsScannedQrCodeValid(inputValue)) {
|
||||
messageApi.error(
|
||||
t(
|
||||
"equipmentDocumentationOverview.messageErrorInvalidStockItem"
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
OpenScannedEquipmentDocumentation({
|
||||
navigate: navigate,
|
||||
scannedEquipment: inputValue,
|
||||
});
|
||||
}}
|
||||
>
|
||||
{t("equipmentDocumentationOverview.scanEquipment.buttonSearch")}
|
||||
</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
<Row style={{ marginBottom: AppStyle.app.margin }}>
|
||||
<Col xs={0} md={7} />
|
||||
<Col xs={24} md={10}>
|
||||
<Card
|
||||
|
@ -187,9 +252,7 @@ export function ScannerComponent() {
|
|||
</Col>
|
||||
<Col xs={0} md={7} />
|
||||
</Row>
|
||||
</>
|
||||
);
|
||||
}
|
||||
*/
|
||||
|
||||
export const EmptyNote = { Image: null, Description: "" };
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import {
|
|||
import { useEffect, useRef } from "react";
|
||||
import { useNavigate, useParams } from "react-router-dom";
|
||||
import {
|
||||
BrowserTabSession,
|
||||
Constants,
|
||||
FormatDatetime,
|
||||
GetDuration,
|
||||
|
@ -34,10 +35,7 @@ import MyAttachments from "../../../Components/MyAttachments";
|
|||
import { useWebSocketContext } from "../../../Contexts/WebSocketContext";
|
||||
import { useGroupTasksContext } from "../../../Contexts/GroupTasksContext";
|
||||
import { useAppContext } from "../../../Contexts/AppContext";
|
||||
import {
|
||||
GroupTasksStepsLockedAndUserUpdateInputValueRememberId,
|
||||
SentMessagesCommands,
|
||||
} from "../../../Handlers/WebSocketMessageHandler";
|
||||
import { SentMessagesCommands } from "../../../Handlers/WebSocketMessageHandler";
|
||||
import { SelectMachineComponent } from "./GroupTypeSelectionModal";
|
||||
|
||||
export default function GroupTasksViewModal({ isOpen }) {
|
||||
|
@ -783,7 +781,7 @@ function InputRequiredHandler({
|
|||
parameterName: groupTaskParameterName,
|
||||
value: inputValue,
|
||||
step: step,
|
||||
rememberId: GroupTasksStepsLockedAndUserUpdateInputValueRememberId,
|
||||
rememberId: BrowserTabSession,
|
||||
inputType: inputType,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,98 @@
|
|||
import { useEffect, useState } from "react";
|
||||
import MyQrScanner from "../../Components/MyQrScanner";
|
||||
import { useWebSocketContext } from "../../Contexts/WebSocketContext";
|
||||
import { SentMessagesCommands } from "../../Handlers/WebSocketMessageHandler";
|
||||
import { BrowserTabSession } from "../../utils";
|
||||
import { Checkbox, Space } from "antd";
|
||||
import { useScannerContext } from "../../Contexts/ScannerContext";
|
||||
import { t } from "i18next";
|
||||
|
||||
export default function Scanners() {
|
||||
/*const webSocketContext = useWebSocketContext()
|
||||
const webSocketContext = useWebSocketContext();
|
||||
const scannerContext = useScannerContext();
|
||||
|
||||
const [isScannerActive, setIsScannerActive] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
// update automatic filling inputs checkbox if it was updated in another browser tab
|
||||
const lCheckboxAutomaticFillingOfInputFieldsChecked =
|
||||
localStorage.getItem("cAFOIF");
|
||||
|
||||
if (
|
||||
lCheckboxAutomaticFillingOfInputFieldsChecked !==
|
||||
scannerContext.checkboxControlByScannerChecked
|
||||
) {
|
||||
scannerContext.setCheckboxAutomaticFillingOfInputFieldsChecked(
|
||||
lCheckboxAutomaticFillingOfInputFieldsChecked === "true" ? true : false
|
||||
);
|
||||
}
|
||||
|
||||
// update automatic recognition of equipment documentation checkbox if it was updated in another browser tab
|
||||
const lCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked =
|
||||
localStorage.getItem("cAROED") === "true";
|
||||
|
||||
if (
|
||||
lCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked !==
|
||||
scannerContext.checkboxAutomaticRecognitionOfEquipmentDocumentationChecked
|
||||
) {
|
||||
scannerContext.setCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked(
|
||||
lCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked
|
||||
);
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<>
|
||||
<MyQrScanner
|
||||
isScannerActive={isScannerActive}
|
||||
setIsScannerActive={setIsScannerActive}
|
||||
previewTitle={t("scanner.title")}
|
||||
onDecode={(result) => {
|
||||
webSocketContext.SendSocketMessage(
|
||||
SentMessagesCommands.ScannerNewScan,
|
||||
{ Scan: result, BrowserTabSession: BrowserTabSession }
|
||||
);
|
||||
|
||||
setIsScannerActive(false);
|
||||
}}
|
||||
onError={(error) => console.error(error?.message)}
|
||||
bottomContent={
|
||||
<Space direction="vertical" style={{ textAlign: "left" }}>
|
||||
<Checkbox
|
||||
checked={
|
||||
scannerContext.checkboxAutomaticFillingOfInputFieldsChecked
|
||||
}
|
||||
onChange={(e) =>
|
||||
scannerContext.setCheckboxAutomaticFillingOfInputFieldsChecked(
|
||||
e.target.checked
|
||||
)
|
||||
}
|
||||
>
|
||||
{t("scanner.checkbox.automaticFillingOfInputFields")}
|
||||
</Checkbox>
|
||||
|
||||
<Checkbox
|
||||
checked={
|
||||
scannerContext.checkboxAutomaticRecognitionOfEquipmentDocumentationChecked
|
||||
}
|
||||
onChange={(e) =>
|
||||
scannerContext.setCheckboxAutomaticRecognitionOfEquipmentDocumentationChecked(
|
||||
e.target.checked
|
||||
)
|
||||
}
|
||||
>
|
||||
{t(
|
||||
"scanner.checkbox.automaticRecognitionOfEquipmentDocumentation"
|
||||
)}
|
||||
</Checkbox>
|
||||
</Space>
|
||||
}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
/*const webSocketContext = useWebSocketContext()
|
||||
const { t } = useTranslation();
|
||||
|
||||
const getTableColumns = () => {
|
||||
|
@ -132,6 +225,3 @@ export default function Scanners() {
|
|||
/>
|
||||
</>
|
||||
); */
|
||||
|
||||
return <></>;
|
||||
}
|
||||
|
|
|
@ -163,9 +163,6 @@ export const Constants = {
|
|||
USER_DEACTIVATION: "all_users.action.user_deactivation",
|
||||
},
|
||||
},
|
||||
SCANNER: {
|
||||
USE_SCANNERS: "scanner.use_scanners",
|
||||
},
|
||||
ADMIN_AREA: {
|
||||
ROLES: {
|
||||
CREATE_NEW_ROLE: "admin_area.roles.create_new_role",
|
||||
|
@ -270,10 +267,14 @@ export function setUserSessionToLocalStorage(session) {
|
|||
// with the same session id because otherwise the last browser
|
||||
// tab would subscribe to the topic and the other tabs would
|
||||
// not receive any messages
|
||||
// used for topic subscribtion and grouptasks
|
||||
export const BrowserTabSession = GetUuid();
|
||||
|
||||
export const wsConnectionCustomEventName = "wsConnection";
|
||||
|
||||
// used for sideMenu
|
||||
export const BreakpointLgWidth = 992;
|
||||
|
||||
/**
|
||||
* websocket
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue