Added trigger
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 1m33s
CI / Windows Release Package (push) Successful in 2m4s

This commit is contained in:
2026-05-06 14:01:23 +10:00
parent e59677c212
commit 6502344d0a
16 changed files with 235 additions and 8 deletions

View File

@@ -99,9 +99,9 @@ export function ParameterField({ layer, parameter, onParameterChange }) {
} = useThrottledParameterValue(parameter, onParameterChange);
const defaultValue = parameter.defaultValue;
const resetDisabled = defaultValue === undefined || valuesMatch(draftValue, defaultValue);
const resetDisabled = parameter.type === "trigger" || defaultValue === undefined || valuesMatch(draftValue, defaultValue);
const resetParameter = () => {
if (defaultValue !== undefined) {
if (parameter.type !== "trigger" && defaultValue !== undefined) {
sendValue(defaultValue);
}
};
@@ -318,5 +318,22 @@ export function ParameterField({ layer, parameter, onParameterChange }) {
);
}
if (parameter.type === "trigger") {
const triggerCount = Number(draftValue ?? 0);
return (
<section className="parameter">
{header}
<button
type="button"
className="parameter__trigger"
onClick={() => sendValue(triggerCount + 1)}
>
Trigger
</button>
<ParameterValueDisplay parameterType={parameter.type} value={appliedValue} pending={isPending} />
</section>
);
}
return null;
}

View File

@@ -12,6 +12,9 @@ export function formatParameterValue(parameterType, value) {
if (parameterType === "bool") {
return value ? "Enabled" : "Disabled";
}
if (parameterType === "trigger") {
return `Triggered ${Number(value ?? 0)} time${Number(value ?? 0) === 1 ? "" : "s"}`;
}
return `${value ?? ""}`;
}