Compare commits
No commits in common. "38886e31d7165e8810bd6301373cf5b48ae7ff81" and "4fbb434103565a1272437d2ff277576fcef86779" have entirely different histories.
38886e31d7
...
4fbb434103
@ -281,11 +281,6 @@ body {
|
|||||||
margin: 8px;
|
margin: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.farmcontrol-splitter.large > .ant-splitter-bar {
|
|
||||||
margin: 11px;
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark-mode {
|
.dark-mode {
|
||||||
--sb-track-color: #1d1d1d;
|
--sb-track-color: #1d1d1d;
|
||||||
--sb-thumb-color: #848484;
|
--sb-thumb-color: #848484;
|
||||||
@ -795,16 +790,3 @@ span.ant-skeleton-input.ant-skeleton-input-sm.text-skeleton {
|
|||||||
.minimal-code-block-editor .ant-typography pre {
|
.minimal-code-block-editor .ant-typography pre {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-splitter-panel:not(:first-child) .info-collapse .info-collapse-label {
|
|
||||||
margin-left: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.farmcontrol-splitter
|
|
||||||
.ant-splitter-panel:has(~ .ant-splitter-panel)
|
|
||||||
.info-collapse.ant-collapse.ant-collapse-icon-position-end
|
|
||||||
> .ant-collapse-item
|
|
||||||
> .ant-collapse-header
|
|
||||||
.ant-collapse-expand-icon {
|
|
||||||
padding-inline-end: 2px;
|
|
||||||
}
|
|
||||||
|
|||||||
101
pnpm-lock.yaml
generated
101
pnpm-lock.yaml
generated
@ -510,9 +510,6 @@ packages:
|
|||||||
'@codemirror/commands@6.10.1':
|
'@codemirror/commands@6.10.1':
|
||||||
resolution: {integrity: sha512-uWDWFypNdQmz2y1LaNJzK7fL7TYKLeUAU0npEC685OKTF3KcQ2Vu3klIM78D7I6wGhktme0lh3CuQLv0ZCrD9Q==}
|
resolution: {integrity: sha512-uWDWFypNdQmz2y1LaNJzK7fL7TYKLeUAU0npEC685OKTF3KcQ2Vu3klIM78D7I6wGhktme0lh3CuQLv0ZCrD9Q==}
|
||||||
|
|
||||||
'@codemirror/commands@6.10.4':
|
|
||||||
resolution: {integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==}
|
|
||||||
|
|
||||||
'@codemirror/lang-cpp@6.0.3':
|
'@codemirror/lang-cpp@6.0.3':
|
||||||
resolution: {integrity: sha512-URM26M3vunFFn9/sm6rzqrBzDgfWuDixp85uTY49wKudToc2jTHUrKIGGKs+QWND+YLofNNZpxcNGRynFJfvgA==}
|
resolution: {integrity: sha512-URM26M3vunFFn9/sm6rzqrBzDgfWuDixp85uTY49wKudToc2jTHUrKIGGKs+QWND+YLofNNZpxcNGRynFJfvgA==}
|
||||||
|
|
||||||
@ -567,9 +564,6 @@ packages:
|
|||||||
'@codemirror/state@6.5.4':
|
'@codemirror/state@6.5.4':
|
||||||
resolution: {integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==}
|
resolution: {integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==}
|
||||||
|
|
||||||
'@codemirror/state@6.7.1':
|
|
||||||
resolution: {integrity: sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==}
|
|
||||||
|
|
||||||
'@codemirror/theme-one-dark@6.1.3':
|
'@codemirror/theme-one-dark@6.1.3':
|
||||||
resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==}
|
resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==}
|
||||||
|
|
||||||
@ -1223,9 +1217,6 @@ packages:
|
|||||||
'@lezer/common@1.5.0':
|
'@lezer/common@1.5.0':
|
||||||
resolution: {integrity: sha512-PNGcolp9hr4PJdXR4ix7XtixDrClScvtSCYW3rQG106oVMOOI+jFb+0+J3mbeL/53g1Zd6s0kJzaw6Ri68GmAA==}
|
resolution: {integrity: sha512-PNGcolp9hr4PJdXR4ix7XtixDrClScvtSCYW3rQG106oVMOOI+jFb+0+J3mbeL/53g1Zd6s0kJzaw6Ri68GmAA==}
|
||||||
|
|
||||||
'@lezer/common@1.5.2':
|
|
||||||
resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==}
|
|
||||||
|
|
||||||
'@lezer/cpp@1.1.5':
|
'@lezer/cpp@1.1.5':
|
||||||
resolution: {integrity: sha512-DIhSXmYtJKLehrjzDFN+2cPt547ySQ41nA8yqcDf/GxMc+YM736xqltFkvADL2M0VebU5I+3+4ks2Vv+Kyq3Aw==}
|
resolution: {integrity: sha512-DIhSXmYtJKLehrjzDFN+2cPt547ySQ41nA8yqcDf/GxMc+YM736xqltFkvADL2M0VebU5I+3+4ks2Vv+Kyq3Aw==}
|
||||||
|
|
||||||
@ -1286,9 +1277,6 @@ packages:
|
|||||||
'@marijn/find-cluster-break@1.0.2':
|
'@marijn/find-cluster-break@1.0.2':
|
||||||
resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==}
|
resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==}
|
||||||
|
|
||||||
'@marijn/find-cluster-break@1.0.3':
|
|
||||||
resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==}
|
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@ -2007,9 +1995,6 @@ packages:
|
|||||||
'@types/estree@1.0.8':
|
'@types/estree@1.0.8':
|
||||||
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
||||||
|
|
||||||
'@types/estree@1.0.9':
|
|
||||||
resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
|
|
||||||
|
|
||||||
'@types/fs-extra@9.0.13':
|
'@types/fs-extra@9.0.13':
|
||||||
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
|
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
|
||||||
|
|
||||||
@ -2183,11 +2168,6 @@ packages:
|
|||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
acorn@8.17.0:
|
|
||||||
resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==}
|
|
||||||
engines: {node: '>=0.4.0'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
agent-base@7.1.4:
|
agent-base@7.1.4:
|
||||||
resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
|
resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
@ -2368,9 +2348,8 @@ packages:
|
|||||||
base64-js@1.5.1:
|
base64-js@1.5.1:
|
||||||
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||||
|
|
||||||
baseline-browser-mapping@2.11.5:
|
baseline-browser-mapping@2.9.19:
|
||||||
resolution: {integrity: sha512-xJo6a6YZnwZfnyGmQKWMbVOcii7XRibjOskRh+WJ9UHQoX16xrQrcIgAMQOzfvs8XiLMx6ih/fsLPF73iY2D1A==}
|
resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==}
|
||||||
engines: {node: '>=6.0.0'}
|
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
bl@4.1.0:
|
bl@4.1.0:
|
||||||
@ -2485,8 +2464,8 @@ packages:
|
|||||||
camelize@1.0.1:
|
camelize@1.0.1:
|
||||||
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
|
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
|
||||||
|
|
||||||
caniuse-lite@1.0.30001806:
|
caniuse-lite@1.0.30001766:
|
||||||
resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==}
|
resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==}
|
||||||
|
|
||||||
ccount@2.0.1:
|
ccount@2.0.1:
|
||||||
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
|
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
|
||||||
@ -2707,9 +2686,6 @@ packages:
|
|||||||
crelt@1.0.6:
|
crelt@1.0.6:
|
||||||
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
|
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
|
||||||
|
|
||||||
crelt@1.0.7:
|
|
||||||
resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==}
|
|
||||||
|
|
||||||
cross-dirname@0.1.0:
|
cross-dirname@0.1.0:
|
||||||
resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==}
|
resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==}
|
||||||
|
|
||||||
@ -3491,10 +3467,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==}
|
resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==}
|
||||||
engines: {node: '>=14.14'}
|
engines: {node: '>=14.14'}
|
||||||
|
|
||||||
fs-extra@11.4.0:
|
|
||||||
resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==}
|
|
||||||
engines: {node: '>=14.14'}
|
|
||||||
|
|
||||||
fs-extra@7.0.1:
|
fs-extra@7.0.1:
|
||||||
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
|
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
|
||||||
engines: {node: '>=6 <7 || >=8'}
|
engines: {node: '>=6 <7 || >=8'}
|
||||||
@ -4028,9 +4000,6 @@ packages:
|
|||||||
jsonfile@6.2.0:
|
jsonfile@6.2.0:
|
||||||
resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
|
resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
|
||||||
|
|
||||||
jsonfile@6.2.1:
|
|
||||||
resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==}
|
|
||||||
|
|
||||||
jsx-ast-utils@3.3.5:
|
jsx-ast-utils@3.3.5:
|
||||||
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
|
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
|
||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
@ -4097,9 +4066,6 @@ packages:
|
|||||||
lodash@4.17.23:
|
lodash@4.17.23:
|
||||||
resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
|
resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
|
||||||
|
|
||||||
lodash@4.18.1:
|
|
||||||
resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
|
|
||||||
|
|
||||||
log-symbols@4.1.0:
|
log-symbols@4.1.0:
|
||||||
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
|
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@ -6535,13 +6501,6 @@ snapshots:
|
|||||||
'@codemirror/view': 6.39.12
|
'@codemirror/view': 6.39.12
|
||||||
'@lezer/common': 1.5.0
|
'@lezer/common': 1.5.0
|
||||||
|
|
||||||
'@codemirror/commands@6.10.4':
|
|
||||||
dependencies:
|
|
||||||
'@codemirror/language': 6.12.1
|
|
||||||
'@codemirror/state': 6.7.1
|
|
||||||
'@codemirror/view': 6.39.12
|
|
||||||
'@lezer/common': 1.5.2
|
|
||||||
|
|
||||||
'@codemirror/lang-cpp@6.0.3':
|
'@codemirror/lang-cpp@6.0.3':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@codemirror/language': 6.12.1
|
'@codemirror/language': 6.12.1
|
||||||
@ -6673,16 +6632,12 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@codemirror/state': 6.5.4
|
'@codemirror/state': 6.5.4
|
||||||
'@codemirror/view': 6.39.12
|
'@codemirror/view': 6.39.12
|
||||||
crelt: 1.0.7
|
crelt: 1.0.6
|
||||||
|
|
||||||
'@codemirror/state@6.5.4':
|
'@codemirror/state@6.5.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@marijn/find-cluster-break': 1.0.2
|
'@marijn/find-cluster-break': 1.0.2
|
||||||
|
|
||||||
'@codemirror/state@6.7.1':
|
|
||||||
dependencies:
|
|
||||||
'@marijn/find-cluster-break': 1.0.3
|
|
||||||
|
|
||||||
'@codemirror/theme-one-dark@6.1.3':
|
'@codemirror/theme-one-dark@6.1.3':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@codemirror/language': 6.12.1
|
'@codemirror/language': 6.12.1
|
||||||
@ -6818,7 +6773,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
cross-dirname: 0.1.0
|
cross-dirname: 0.1.0
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
fs-extra: 11.4.0
|
fs-extra: 11.3.3
|
||||||
minimist: 1.2.8
|
minimist: 1.2.8
|
||||||
postject: 1.0.0-alpha.6
|
postject: 1.0.0-alpha.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@ -7302,8 +7257,6 @@ snapshots:
|
|||||||
|
|
||||||
'@lezer/common@1.5.0': {}
|
'@lezer/common@1.5.0': {}
|
||||||
|
|
||||||
'@lezer/common@1.5.2': {}
|
|
||||||
|
|
||||||
'@lezer/cpp@1.1.5':
|
'@lezer/cpp@1.1.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@lezer/common': 1.5.0
|
'@lezer/common': 1.5.0
|
||||||
@ -7408,8 +7361,6 @@ snapshots:
|
|||||||
|
|
||||||
'@marijn/find-cluster-break@1.0.2': {}
|
'@marijn/find-cluster-break@1.0.2': {}
|
||||||
|
|
||||||
'@marijn/find-cluster-break@1.0.3': {}
|
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.stat': 2.0.5
|
'@nodelib/fs.stat': 2.0.5
|
||||||
@ -8199,7 +8150,7 @@ snapshots:
|
|||||||
|
|
||||||
'@types/eslint@9.6.1':
|
'@types/eslint@9.6.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.9
|
'@types/estree': 1.0.8
|
||||||
'@types/json-schema': 7.0.15
|
'@types/json-schema': 7.0.15
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@ -8209,9 +8160,6 @@ snapshots:
|
|||||||
|
|
||||||
'@types/estree@1.0.8': {}
|
'@types/estree@1.0.8': {}
|
||||||
|
|
||||||
'@types/estree@1.0.9':
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@types/fs-extra@9.0.13':
|
'@types/fs-extra@9.0.13':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 25.2.0
|
'@types/node': 25.2.0
|
||||||
@ -8393,9 +8341,6 @@ snapshots:
|
|||||||
|
|
||||||
acorn@8.15.0: {}
|
acorn@8.15.0: {}
|
||||||
|
|
||||||
acorn@8.17.0:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
agent-base@7.1.4: {}
|
agent-base@7.1.4: {}
|
||||||
|
|
||||||
ajv-formats@3.0.1(ajv@8.17.1):
|
ajv-formats@3.0.1(ajv@8.17.1):
|
||||||
@ -8693,7 +8638,7 @@ snapshots:
|
|||||||
|
|
||||||
base64-js@1.5.1: {}
|
base64-js@1.5.1: {}
|
||||||
|
|
||||||
baseline-browser-mapping@2.11.5: {}
|
baseline-browser-mapping@2.9.19: {}
|
||||||
|
|
||||||
bl@4.1.0:
|
bl@4.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -8752,8 +8697,8 @@ snapshots:
|
|||||||
|
|
||||||
browserslist@4.28.1:
|
browserslist@4.28.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
baseline-browser-mapping: 2.11.5
|
baseline-browser-mapping: 2.9.19
|
||||||
caniuse-lite: 1.0.30001806
|
caniuse-lite: 1.0.30001766
|
||||||
electron-to-chromium: 1.5.283
|
electron-to-chromium: 1.5.283
|
||||||
node-releases: 2.0.27
|
node-releases: 2.0.27
|
||||||
update-browserslist-db: 1.2.3(browserslist@4.28.1)
|
update-browserslist-db: 1.2.3(browserslist@4.28.1)
|
||||||
@ -8857,7 +8802,7 @@ snapshots:
|
|||||||
|
|
||||||
camelize@1.0.1: {}
|
camelize@1.0.1: {}
|
||||||
|
|
||||||
caniuse-lite@1.0.30001806: {}
|
caniuse-lite@1.0.30001766: {}
|
||||||
|
|
||||||
ccount@2.0.1: {}
|
ccount@2.0.1: {}
|
||||||
|
|
||||||
@ -8935,7 +8880,7 @@ snapshots:
|
|||||||
codemirror@6.0.2:
|
codemirror@6.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@codemirror/autocomplete': 6.20.0
|
'@codemirror/autocomplete': 6.20.0
|
||||||
'@codemirror/commands': 6.10.4
|
'@codemirror/commands': 6.10.1
|
||||||
'@codemirror/language': 6.12.1
|
'@codemirror/language': 6.12.1
|
||||||
'@codemirror/lint': 6.9.3
|
'@codemirror/lint': 6.9.3
|
||||||
'@codemirror/search': 6.6.0
|
'@codemirror/search': 6.6.0
|
||||||
@ -9074,8 +9019,6 @@ snapshots:
|
|||||||
|
|
||||||
crelt@1.0.6: {}
|
crelt@1.0.6: {}
|
||||||
|
|
||||||
crelt@1.0.7: {}
|
|
||||||
|
|
||||||
cross-dirname@0.1.0:
|
cross-dirname@0.1.0:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@ -9436,7 +9379,7 @@ snapshots:
|
|||||||
'@electron/asar': 3.4.1
|
'@electron/asar': 3.4.1
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
fs-extra: 7.0.1
|
fs-extra: 7.0.1
|
||||||
lodash: 4.18.1
|
lodash: 4.17.23
|
||||||
temp: 0.9.4
|
temp: 0.9.4
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@electron/windows-sign': 1.2.2
|
'@electron/windows-sign': 1.2.2
|
||||||
@ -10156,13 +10099,6 @@ snapshots:
|
|||||||
jsonfile: 6.2.0
|
jsonfile: 6.2.0
|
||||||
universalify: 2.0.1
|
universalify: 2.0.1
|
||||||
|
|
||||||
fs-extra@11.4.0:
|
|
||||||
dependencies:
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
jsonfile: 6.2.1
|
|
||||||
universalify: 2.0.1
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
fs-extra@7.0.1:
|
fs-extra@7.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
graceful-fs: 4.2.11
|
graceful-fs: 4.2.11
|
||||||
@ -10724,13 +10660,6 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
graceful-fs: 4.2.11
|
graceful-fs: 4.2.11
|
||||||
|
|
||||||
jsonfile@6.2.1:
|
|
||||||
dependencies:
|
|
||||||
universalify: 2.0.1
|
|
||||||
optionalDependencies:
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
jsx-ast-utils@3.3.5:
|
jsx-ast-utils@3.3.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
array-includes: 3.1.9
|
array-includes: 3.1.9
|
||||||
@ -10800,8 +10729,6 @@ snapshots:
|
|||||||
|
|
||||||
lodash@4.17.23: {}
|
lodash@4.17.23: {}
|
||||||
|
|
||||||
lodash@4.18.1: {}
|
|
||||||
|
|
||||||
log-symbols@4.1.0:
|
log-symbols@4.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
@ -13052,7 +12979,7 @@ snapshots:
|
|||||||
terser@5.46.0:
|
terser@5.46.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/source-map': 0.3.11
|
'@jridgewell/source-map': 0.3.11
|
||||||
acorn: 8.17.0
|
acorn: 8.15.0
|
||||||
commander: 2.20.3
|
commander: 2.20.3
|
||||||
source-map-support: 0.5.21
|
source-map-support: 0.5.21
|
||||||
optional: true
|
optional: true
|
||||||
|
|||||||
@ -15,8 +15,6 @@ import PropTypes from 'prop-types'
|
|||||||
|
|
||||||
import ObjectInfo from '../../common/ObjectInfo.jsx'
|
import ObjectInfo from '../../common/ObjectInfo.jsx'
|
||||||
import PrinterIcon from '../../../Icons/PrinterIcon.jsx'
|
import PrinterIcon from '../../../Icons/PrinterIcon.jsx'
|
||||||
import MultiMotionIcon from '../../../Icons/MultiMotionIcon.jsx'
|
|
||||||
import SettingsIcon from '../../../Icons/SettingsIcon.jsx'
|
|
||||||
|
|
||||||
import PrinterTemperaturePanel from '../../common/PrinterTemperaturePanel.jsx'
|
import PrinterTemperaturePanel from '../../common/PrinterTemperaturePanel.jsx'
|
||||||
import PrinterPositionPanel from '../../common/PrinterPositionPanel.jsx'
|
import PrinterPositionPanel from '../../common/PrinterPositionPanel.jsx'
|
||||||
@ -29,6 +27,7 @@ import MissingPlaceholder from '../../common/MissingPlaceholder.jsx'
|
|||||||
import { useMediaQuery } from 'react-responsive'
|
import { useMediaQuery } from 'react-responsive'
|
||||||
import AlertsDisplay from '../../common/AlertsDisplay.jsx'
|
import AlertsDisplay from '../../common/AlertsDisplay.jsx'
|
||||||
import { ApiServerContext } from '../../context/ApiServerContext.jsx'
|
import { ApiServerContext } from '../../context/ApiServerContext.jsx'
|
||||||
|
|
||||||
import LoadFilamentStock from '../../Inventory/FilamentStocks/LoadFilamentStock.jsx'
|
import LoadFilamentStock from '../../Inventory/FilamentStocks/LoadFilamentStock.jsx'
|
||||||
import UnloadFilamentStock from '../../Inventory/FilamentStocks/UnloadFilamentStock.jsx'
|
import UnloadFilamentStock from '../../Inventory/FilamentStocks/UnloadFilamentStock.jsx'
|
||||||
import ScrollBox from '../../common/ScrollBox.jsx'
|
import ScrollBox from '../../common/ScrollBox.jsx'
|
||||||
@ -166,88 +165,47 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const sideBarItems = (
|
const sideBarItems = (
|
||||||
<Flex gap={'large'} vertical>
|
<Flex gap={isMobile ? 'large' : 'middle'} vertical>
|
||||||
<InfoCollapse
|
{collapseState.temperature && (
|
||||||
title={'Temperature'}
|
|
||||||
icon={<PrinterIcon />}
|
|
||||||
collapseKey='temperature'
|
|
||||||
active={collapseState.temperature}
|
|
||||||
onToggle={(expanded) => updateCollapseState('temperature', expanded)}
|
|
||||||
>
|
|
||||||
<Card
|
<Card
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
|
title='Temperature'
|
||||||
size='small'
|
size='small'
|
||||||
styles={{ body: { padding: '25px' } }}
|
styles={{ body: { padding: '25px' } }}
|
||||||
>
|
>
|
||||||
<PrinterTemperaturePanel
|
<PrinterTemperaturePanel id={printerId} />
|
||||||
id={printerId}
|
|
||||||
disabled={
|
|
||||||
!objectFormState.objectData?.online || objectFormState.loading
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</Card>
|
</Card>
|
||||||
</InfoCollapse>
|
)}
|
||||||
|
{collapseState.position && (
|
||||||
<InfoCollapse
|
|
||||||
title={'Position'}
|
|
||||||
icon={<PrinterIcon />}
|
|
||||||
collapseKey='position'
|
|
||||||
active={collapseState.position}
|
|
||||||
onToggle={(expanded) => updateCollapseState('position', expanded)}
|
|
||||||
>
|
|
||||||
<Card
|
<Card
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
|
title='Position'
|
||||||
size='small'
|
size='small'
|
||||||
styles={{ body: { padding: '25px' } }}
|
styles={{ body: { padding: '25px' } }}
|
||||||
>
|
>
|
||||||
<PrinterPositionPanel
|
<PrinterPositionPanel id={printerId} />
|
||||||
id={printerId}
|
|
||||||
disabled={
|
|
||||||
!objectFormState.objectData?.online || objectFormState.loading
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</Card>
|
</Card>
|
||||||
</InfoCollapse>
|
)}
|
||||||
<InfoCollapse
|
{collapseState.movement && (
|
||||||
title={'Movement'}
|
|
||||||
icon={<MultiMotionIcon />}
|
|
||||||
collapseKey='movement'
|
|
||||||
active={collapseState.movement}
|
|
||||||
onToggle={(expanded) => updateCollapseState('movement', expanded)}
|
|
||||||
>
|
|
||||||
<Card
|
<Card
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
|
title='Movement'
|
||||||
size='small'
|
size='small'
|
||||||
styles={{ body: { padding: '25px' } }}
|
styles={{ body: { padding: '25px' } }}
|
||||||
>
|
>
|
||||||
<PrinterMovementPanel
|
<PrinterMovementPanel id={printerId} />
|
||||||
id={printerId}
|
|
||||||
disabled={
|
|
||||||
!objectFormState.objectData?.online || objectFormState.loading
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</Card>
|
</Card>
|
||||||
</InfoCollapse>
|
)}
|
||||||
<InfoCollapse
|
{collapseState.misc && (
|
||||||
title={'Misc'}
|
|
||||||
icon={<SettingsIcon />}
|
|
||||||
collapseKey='misc'
|
|
||||||
active={collapseState.misc}
|
|
||||||
onToggle={(expanded) => updateCollapseState('misc', expanded)}
|
|
||||||
>
|
|
||||||
<Card
|
<Card
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
|
title='Misc'
|
||||||
size='small'
|
size='small'
|
||||||
styles={{ body: { padding: '25px' } }}
|
styles={{ body: { padding: '25px' } }}
|
||||||
>
|
>
|
||||||
<PrinterMiscPanel
|
<PrinterMiscPanel id={printerId} />
|
||||||
id={printerId}
|
|
||||||
disabled={
|
|
||||||
!objectFormState.objectData?.online || objectFormState.loading
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</Card>
|
</Card>
|
||||||
</InfoCollapse>
|
)}
|
||||||
</Flex>
|
</Flex>
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -332,7 +290,7 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
|
|||||||
ref={actionHandlerRef}
|
ref={actionHandlerRef}
|
||||||
>
|
>
|
||||||
<Flex vertical>
|
<Flex vertical>
|
||||||
<Splitter className={'farmcontrol-splitter large'}>
|
<Splitter className={'farmcontrol-splitter'}>
|
||||||
<Splitter.Panel>
|
<Splitter.Panel>
|
||||||
<Flex vertical gap={'large'}>
|
<Flex vertical gap={'large'}>
|
||||||
<InfoCollapse
|
<InfoCollapse
|
||||||
|
|||||||
@ -21,20 +21,15 @@ const InfoCollapse = ({
|
|||||||
activeKey={canCollapse ? (active ? [collapseKey] : []) : [collapseKey]}
|
activeKey={canCollapse ? (active ? [collapseKey] : []) : [collapseKey]}
|
||||||
onChange={(keys) => onToggle(keys.length > 0)}
|
onChange={(keys) => onToggle(keys.length > 0)}
|
||||||
expandIcon={({ isActive }) =>
|
expandIcon={({ isActive }) =>
|
||||||
canCollapse ? (
|
canCollapse ? <CaretLeftOutlined rotate={isActive ? -90 : 0} /> : null
|
||||||
<CaretLeftOutlined
|
|
||||||
rotate={isActive ? -90 : 0}
|
|
||||||
className='info-collapse-expand-icon'
|
|
||||||
/>
|
|
||||||
) : null
|
|
||||||
}
|
}
|
||||||
className={`no-h-padding-collapse ${className} info-collapse`}
|
className={`no-h-padding-collapse ${className}`}
|
||||||
items={[
|
items={[
|
||||||
{
|
{
|
||||||
key: collapseKey,
|
key: collapseKey,
|
||||||
children: children,
|
children: children,
|
||||||
label: (
|
label: (
|
||||||
<Flex align='center' gap={'middle'} className='info-collapse-label'>
|
<Flex align='center' gap={'middle'}>
|
||||||
{icon}
|
{icon}
|
||||||
<Title level={5} style={{ margin: 0 }}>
|
<Title level={5} style={{ margin: 0 }}>
|
||||||
{title}
|
{title}
|
||||||
|
|||||||
@ -7,10 +7,9 @@ import merge from 'lodash/merge'
|
|||||||
|
|
||||||
const { Text } = Typography
|
const { Text } = Typography
|
||||||
|
|
||||||
const PrinterMiscPanel = ({ id, showControls = true, disabled = false }) => {
|
const PrinterMiscPanel = ({ id, showControls = true }) => {
|
||||||
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
||||||
useContext(ApiServerContext)
|
useContext(ApiServerContext)
|
||||||
const controlsDisabled = disabled || !connected
|
|
||||||
const [miscData, setMiscData] = useState({
|
const [miscData, setMiscData] = useState({
|
||||||
fan: {
|
fan: {
|
||||||
speed: 0,
|
speed: 0,
|
||||||
@ -117,7 +116,6 @@ const PrinterMiscPanel = ({ id, showControls = true, disabled = false }) => {
|
|||||||
min={0}
|
min={0}
|
||||||
max={1}
|
max={1}
|
||||||
step={0.01}
|
step={0.01}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onChange={setFanSpeed}
|
onChange={setFanSpeed}
|
||||||
onAfterChange={handleSetFanSpeed}
|
onAfterChange={handleSetFanSpeed}
|
||||||
tooltip={{ open: false }}
|
tooltip={{ open: false }}
|
||||||
@ -129,7 +127,6 @@ const PrinterMiscPanel = ({ id, showControls = true, disabled = false }) => {
|
|||||||
min={0}
|
min={0}
|
||||||
max={1}
|
max={1}
|
||||||
step={0.01}
|
step={0.01}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onChange={setLcdBrightness}
|
onChange={setLcdBrightness}
|
||||||
onAfterChange={handleSetLcdBrightness}
|
onAfterChange={handleSetLcdBrightness}
|
||||||
tooltip={{ open: false }}
|
tooltip={{ open: false }}
|
||||||
@ -141,7 +138,6 @@ const PrinterMiscPanel = ({ id, showControls = true, disabled = false }) => {
|
|||||||
min={0}
|
min={0}
|
||||||
max={1}
|
max={1}
|
||||||
step={0.01}
|
step={0.01}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onChange={setBeeperValue}
|
onChange={setBeeperValue}
|
||||||
onAfterChange={handleSetBeeperValue}
|
onAfterChange={handleSetBeeperValue}
|
||||||
tooltip={{ open: false }}
|
tooltip={{ open: false }}
|
||||||
@ -192,8 +188,7 @@ const PrinterMiscPanel = ({ id, showControls = true, disabled = false }) => {
|
|||||||
|
|
||||||
PrinterMiscPanel.propTypes = {
|
PrinterMiscPanel.propTypes = {
|
||||||
id: PropTypes.string.isRequired,
|
id: PropTypes.string.isRequired,
|
||||||
showControls: PropTypes.bool,
|
showControls: PropTypes.bool
|
||||||
disabled: PropTypes.bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default PrinterMiscPanel
|
export default PrinterMiscPanel
|
||||||
|
|||||||
@ -19,9 +19,8 @@ import ArrowDownIcon from '../../Icons/ArrowDownIcon'
|
|||||||
import HomeIcon from '../../Icons/HomeIcon'
|
import HomeIcon from '../../Icons/HomeIcon'
|
||||||
import { ApiServerContext } from '../context/ApiServerContext'
|
import { ApiServerContext } from '../context/ApiServerContext'
|
||||||
|
|
||||||
const PrinterMovementPanel = ({ id, disabled = false }) => {
|
const PrinterMovementPanel = ({ id }) => {
|
||||||
const { connected, sendObjectAction } = useContext(ApiServerContext)
|
const { connected, sendObjectAction } = useContext(ApiServerContext)
|
||||||
const controlsDisabled = disabled || !connected
|
|
||||||
const [posValue, setPosValue] = useState(10)
|
const [posValue, setPosValue] = useState(10)
|
||||||
const [rateValue, setRateValue] = useState(1000)
|
const [rateValue, setRateValue] = useState(1000)
|
||||||
const handlePosRadioChange = (e) => {
|
const handlePosRadioChange = (e) => {
|
||||||
@ -109,7 +108,6 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowUpIcon />}
|
icon={<ArrowUpIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('Y', false)
|
handleMoveAxisClick('Y', false)
|
||||||
}}
|
}}
|
||||||
@ -117,7 +115,6 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
<Space>
|
<Space>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowLeftIcon />}
|
icon={<ArrowLeftIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('X', false)
|
handleMoveAxisClick('X', false)
|
||||||
}}
|
}}
|
||||||
@ -126,14 +123,10 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
menu={{ items: homeAxisButtonItems }}
|
menu={{ items: homeAxisButtonItems }}
|
||||||
placement='bottom'
|
placement='bottom'
|
||||||
>
|
>
|
||||||
<Button
|
<Button icon={<HomeIcon />}></Button>
|
||||||
icon={<HomeIcon />}
|
|
||||||
disabled={controlsDisabled}
|
|
||||||
></Button>
|
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowRightIcon />}
|
icon={<ArrowRightIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('X', true)
|
handleMoveAxisClick('X', true)
|
||||||
}}
|
}}
|
||||||
@ -141,7 +134,6 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
</Space>
|
</Space>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowDownIcon />}
|
icon={<ArrowDownIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('Y', true)
|
handleMoveAxisClick('Y', true)
|
||||||
}}
|
}}
|
||||||
@ -158,21 +150,18 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowUpIcon />}
|
icon={<ArrowUpIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('Z', true)
|
handleMoveAxisClick('Z', true)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
icon={<LevelBedIcon />}
|
icon={<LevelBedIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleLevelBedClick()
|
handleLevelBedClick()
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowDownIcon />}
|
icon={<ArrowDownIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('Z', false)
|
handleMoveAxisClick('Z', false)
|
||||||
}}
|
}}
|
||||||
@ -189,14 +178,12 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowUpIcon />}
|
icon={<ArrowUpIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('E', true)
|
handleMoveAxisClick('E', true)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
icon={<ArrowDownIcon />}
|
icon={<ArrowDownIcon />}
|
||||||
disabled={controlsDisabled}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleMoveAxisClick('E', false)
|
handleMoveAxisClick('E', false)
|
||||||
}}
|
}}
|
||||||
@ -210,7 +197,6 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
onChange={handlePosRadioChange}
|
onChange={handlePosRadioChange}
|
||||||
value={posValue}
|
value={posValue}
|
||||||
name='posRadio'
|
name='posRadio'
|
||||||
disabled={controlsDisabled}
|
|
||||||
style={{
|
style={{
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
justifyContent: 'center'
|
justifyContent: 'center'
|
||||||
@ -233,7 +219,6 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
placeholder='10 mm'
|
placeholder='10 mm'
|
||||||
name='posInput'
|
name='posInput'
|
||||||
style={{ flexGrow: 1, minWidth: '125px' }}
|
style={{ flexGrow: 1, minWidth: '125px' }}
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<InputNumber
|
<InputNumber
|
||||||
min={1}
|
min={1}
|
||||||
@ -244,7 +229,6 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
placeholder='100 mm/s'
|
placeholder='100 mm/s'
|
||||||
name='rateInput'
|
name='rateInput'
|
||||||
style={{ flexGrow: 1, minWidth: '125px' }}
|
style={{ flexGrow: 1, minWidth: '125px' }}
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
</Flex>
|
</Flex>
|
||||||
</Flex>
|
</Flex>
|
||||||
@ -254,8 +238,7 @@ const PrinterMovementPanel = ({ id, disabled = false }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PrinterMovementPanel.propTypes = {
|
PrinterMovementPanel.propTypes = {
|
||||||
id: PropTypes.string.isRequired,
|
id: PropTypes.string.isRequired
|
||||||
disabled: PropTypes.bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default PrinterMovementPanel
|
export default PrinterMovementPanel
|
||||||
|
|||||||
@ -33,12 +33,10 @@ const CustomCollapse = styled(Collapse)`
|
|||||||
const PrinterPositionPanel = ({
|
const PrinterPositionPanel = ({
|
||||||
id,
|
id,
|
||||||
showControls = true,
|
showControls = true,
|
||||||
showMoreInfo = true,
|
showMoreInfo = true
|
||||||
disabled = false
|
|
||||||
}) => {
|
}) => {
|
||||||
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
||||||
useContext(ApiServerContext)
|
useContext(ApiServerContext)
|
||||||
const controlsDisabled = disabled || !connected
|
|
||||||
const [positionData, setPositionData] = useState({
|
const [positionData, setPositionData] = useState({
|
||||||
speedFactor: 1.0,
|
speedFactor: 1.0,
|
||||||
speed: 100,
|
speed: 100,
|
||||||
@ -226,13 +224,11 @@ const PrinterPositionPanel = ({
|
|||||||
onChange={(value) => setMaxVelocity(value)}
|
onChange={(value) => setMaxVelocity(value)}
|
||||||
onPressEnter={handleSetMaxVelocity}
|
onPressEnter={handleSetMaxVelocity}
|
||||||
size='small'
|
size='small'
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetMaxVelocity}
|
onClick={handleSetMaxVelocity}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -253,13 +249,11 @@ const PrinterPositionPanel = ({
|
|||||||
onChange={(value) => setMaxAcceleration(value)}
|
onChange={(value) => setMaxAcceleration(value)}
|
||||||
onPressEnter={handleSetMaxAcceleration}
|
onPressEnter={handleSetMaxAcceleration}
|
||||||
size='small'
|
size='small'
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetMaxAcceleration}
|
onClick={handleSetMaxAcceleration}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -281,13 +275,11 @@ const PrinterPositionPanel = ({
|
|||||||
onChange={(value) => setSquareCornerVelocity(value)}
|
onChange={(value) => setSquareCornerVelocity(value)}
|
||||||
onPressEnter={handleSetSquareCornerVelocity}
|
onPressEnter={handleSetSquareCornerVelocity}
|
||||||
size='small'
|
size='small'
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetSquareCornerVelocity}
|
onClick={handleSetSquareCornerVelocity}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -309,13 +301,11 @@ const PrinterPositionPanel = ({
|
|||||||
onChange={(value) => setMinCruiseRatio(value / 100)}
|
onChange={(value) => setMinCruiseRatio(value / 100)}
|
||||||
onPressEnter={handleSetMinCruiseRatio}
|
onPressEnter={handleSetMinCruiseRatio}
|
||||||
size='small'
|
size='small'
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetMinCruiseRatio}
|
onClick={handleSetMinCruiseRatio}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -412,13 +402,11 @@ const PrinterPositionPanel = ({
|
|||||||
onChange={(value) => setSpeedFactor(value)}
|
onChange={(value) => setSpeedFactor(value)}
|
||||||
onPressEnter={handleSetSpeedFactor}
|
onPressEnter={handleSetSpeedFactor}
|
||||||
size='small'
|
size='small'
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetSpeedFactor}
|
onClick={handleSetSpeedFactor}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -438,13 +426,11 @@ const PrinterPositionPanel = ({
|
|||||||
onChange={(value) => setExtrudeFactor(value)}
|
onChange={(value) => setExtrudeFactor(value)}
|
||||||
onPressEnter={handleSetExtrudeFactor}
|
onPressEnter={handleSetExtrudeFactor}
|
||||||
size='small'
|
size='small'
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
style={{ width: 40 }}
|
style={{ width: 40 }}
|
||||||
onClick={handleSetExtrudeFactor}
|
onClick={handleSetExtrudeFactor}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -508,8 +494,7 @@ const PrinterPositionPanel = ({
|
|||||||
PrinterPositionPanel.propTypes = {
|
PrinterPositionPanel.propTypes = {
|
||||||
id: PropTypes.string.isRequired,
|
id: PropTypes.string.isRequired,
|
||||||
showControls: PropTypes.bool,
|
showControls: PropTypes.bool,
|
||||||
showMoreInfo: PropTypes.bool,
|
showMoreInfo: PropTypes.bool
|
||||||
disabled: PropTypes.bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default PrinterPositionPanel
|
export default PrinterPositionPanel
|
||||||
|
|||||||
@ -37,8 +37,7 @@ const PrinterTemperaturePanel = ({
|
|||||||
showBedControls = true,
|
showBedControls = true,
|
||||||
showExtruder = true,
|
showExtruder = true,
|
||||||
showBed = true,
|
showBed = true,
|
||||||
showMoreInfo = true,
|
showMoreInfo = true
|
||||||
disabled = false
|
|
||||||
}) => {
|
}) => {
|
||||||
const [temperatureData, setTemperatureData] = useState({
|
const [temperatureData, setTemperatureData] = useState({
|
||||||
extruder: {
|
extruder: {
|
||||||
@ -57,7 +56,7 @@ const PrinterTemperaturePanel = ({
|
|||||||
|
|
||||||
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
const { subscribeToObjectEvent, connected, sendObjectAction } =
|
||||||
useContext(ApiServerContext)
|
useContext(ApiServerContext)
|
||||||
const controlsDisabled = disabled || !connected
|
|
||||||
// Sync input values with actual temperature targets
|
// Sync input values with actual temperature targets
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (temperatureData.extruder?.target !== undefined) {
|
if (temperatureData.extruder?.target !== undefined) {
|
||||||
@ -185,7 +184,6 @@ const PrinterTemperaturePanel = ({
|
|||||||
extruder: { target: extruderTarget }
|
extruder: { target: extruderTarget }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
@ -195,7 +193,6 @@ const PrinterTemperaturePanel = ({
|
|||||||
extruder: { target: extruderTarget }
|
extruder: { target: extruderTarget }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -207,7 +204,6 @@ const PrinterTemperaturePanel = ({
|
|||||||
onClick={() =>
|
onClick={() =>
|
||||||
handleSetTemperature({ extruder: { target: 0 } })
|
handleSetTemperature({ extruder: { target: 0 } })
|
||||||
}
|
}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Off
|
Off
|
||||||
</Button>
|
</Button>
|
||||||
@ -249,7 +245,6 @@ const PrinterTemperaturePanel = ({
|
|||||||
bed: { target: bedTarget }
|
bed: { target: bedTarget }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
disabled={controlsDisabled}
|
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='default'
|
type='default'
|
||||||
@ -259,7 +254,6 @@ const PrinterTemperaturePanel = ({
|
|||||||
bed: { target: bedTarget }
|
bed: { target: bedTarget }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Set
|
Set
|
||||||
</Button>
|
</Button>
|
||||||
@ -273,7 +267,6 @@ const PrinterTemperaturePanel = ({
|
|||||||
bed: { target: 0 }
|
bed: { target: 0 }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
disabled={controlsDisabled}
|
|
||||||
>
|
>
|
||||||
Off
|
Off
|
||||||
</Button>
|
</Button>
|
||||||
@ -308,8 +301,7 @@ PrinterTemperaturePanel.propTypes = {
|
|||||||
showExtruder: PropTypes.bool,
|
showExtruder: PropTypes.bool,
|
||||||
showBed: PropTypes.bool,
|
showBed: PropTypes.bool,
|
||||||
showMoreInfo: PropTypes.bool,
|
showMoreInfo: PropTypes.bool,
|
||||||
shouldUnsubscribe: PropTypes.bool,
|
shouldUnsubscribe: PropTypes.bool
|
||||||
disabled: PropTypes.bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default PrinterTemperaturePanel
|
export default PrinterTemperaturePanel
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user