frontend: configurable decimal precision, 5 places for azint Q fields
Build Packages / build:viewer-tgz:cpu (push) Successful in 7m45s
Build Packages / build:viewer-tgz:cuda (push) Successful in 8m26s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m26s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m46s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m49s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m1s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m6s
Build Packages / build:windows:nocuda (push) Successful in 16m37s
Build Packages / build:windows:cuda (push) Successful in 18m27s
Build Packages / build:rpm (rocky8) (push) Successful in 12m13s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 13m21s
Build Packages / XDS test (durin plugin) (push) Successful in 8m22s
Build Packages / Generate python client (push) Successful in 29s
Build Packages / Build documentation (push) Successful in 1m5s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (rocky9) (push) Successful in 12m41s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 12m24s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m1s
Build Packages / DIALS test (push) Successful in 14m15s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m30s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m20s
Build Packages / Unit tests (push) Failing after 58m14s
Build Packages / build:viewer-tgz:cpu (push) Successful in 7m45s
Build Packages / build:viewer-tgz:cuda (push) Successful in 8m26s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m26s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m46s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m49s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m1s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m6s
Build Packages / build:windows:nocuda (push) Successful in 16m37s
Build Packages / build:windows:cuda (push) Successful in 18m27s
Build Packages / build:rpm (rocky8) (push) Successful in 12m13s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 13m21s
Build Packages / XDS test (durin plugin) (push) Successful in 8m22s
Build Packages / Generate python client (push) Successful in 29s
Build Packages / Build documentation (push) Successful in 1m5s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (rocky9) (push) Successful in 12m41s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 12m24s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m1s
Build Packages / DIALS test (push) Successful in 14m15s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m30s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m20s
Build Packages / Unit tests (push) Failing after 58m14s
NumberTextField quantized every float input to 3 decimals, so the finest q_spacing reachable through the UI was 0.001 - capping the azimuthal-integration q-bin count around 200 regardless of the CPU/FPGA backend. Add an optional `decimals` prop (default 3, unchanged elsewhere) and set it to 5 on the Q spacing / Low Q / High Q fields, matching the q_spacing minimum of 1e-5. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,7 @@ function AzIntSettings({s: serverS}: MyProps) {
|
||||
min={1e-5}
|
||||
units={"A-1"}
|
||||
float={true}
|
||||
decimals={5}
|
||||
counter={downloadCounter}
|
||||
callback={(val: number, err: boolean) => {
|
||||
setS(prev => ({...prev, q_spacing: val}));
|
||||
@@ -71,6 +72,7 @@ function AzIntSettings({s: serverS}: MyProps) {
|
||||
max={10.0}
|
||||
units={"A-1"}
|
||||
float={true}
|
||||
decimals={5}
|
||||
counter={downloadCounter}
|
||||
callback={(val: number, err: boolean) => {
|
||||
setS(prev => ({...prev, low_q_recipA: val}));
|
||||
@@ -86,6 +88,7 @@ function AzIntSettings({s: serverS}: MyProps) {
|
||||
max={10.0}
|
||||
units={"A-1"}
|
||||
float={true}
|
||||
decimals={5}
|
||||
counter={downloadCounter}
|
||||
callback={(val: number, err: boolean) => {
|
||||
setS(prev => ({...prev, high_q_recipA: val}));
|
||||
|
||||
@@ -17,7 +17,8 @@ type MyProps = {
|
||||
units?: string,
|
||||
disabled?: boolean,
|
||||
fullWidth?: boolean,
|
||||
float?: boolean
|
||||
float?: boolean,
|
||||
decimals?: number
|
||||
}
|
||||
|
||||
function unitsNode(str: string | undefined): ReactNode | null {
|
||||
@@ -33,7 +34,7 @@ function unitsNode(str: string | undefined): ReactNode | null {
|
||||
return <InputAdornment position="end">{str}</InputAdornment>;
|
||||
}
|
||||
|
||||
function NumberTextField({start_val, default: defaultValue, label, callback, counter, min, max, sx, units, disabled, float}: MyProps) {
|
||||
function NumberTextField({start_val, default: defaultValue, label, callback, counter, min, max, sx, units, disabled, float, decimals = 3}: MyProps) {
|
||||
const [text, setText] = useState(".");
|
||||
const [err, setErr] = useState(true);
|
||||
const [val, setVal] = useState(0);
|
||||
@@ -51,7 +52,7 @@ function NumberTextField({start_val, default: defaultValue, label, callback, cou
|
||||
if (float !== true)
|
||||
v = Math.round(v);
|
||||
else
|
||||
v = Math.round(v * 1000.0) / 1000.0
|
||||
v = Number(v.toFixed(decimals));
|
||||
|
||||
setErr(false);
|
||||
setVal(v);
|
||||
|
||||
Reference in New Issue
Block a user