Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9347545

Browse files
authored
chore: sync autostart helpers+values when toggled (#4143)
1 parentceef283 commit9347545

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

‎site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import relativeTime from "dayjs/plugin/relativeTime"
1717
importtimezonefrom"dayjs/plugin/timezone"
1818
importutcfrom"dayjs/plugin/utc"
1919
import{FormikTouched,useFormik}from"formik"
20-
import{defaultSchedule}from"pages/WorkspaceSchedulePage/schedule"
20+
import{defaultSchedule,emptySchedule}from"pages/WorkspaceSchedulePage/schedule"
2121
import{defaultTTL}from"pages/WorkspaceSchedulePage/ttl"
2222
import{ChangeEvent,FC}from"react"
2323
import*asYupfrom"yup"
@@ -52,6 +52,7 @@ export const Language = {
5252
daySaturdayLabel:"Saturday",
5353
startTimeLabel:"Start time",
5454
startTimeHelperText:"Your workspace will automatically start at this time.",
55+
noStartTimeHelperText:"Your workspace will not automatically start.",
5556
timezoneLabel:"Timezone",
5657
ttlLabel:"Time until shutdown (hours)",
5758
ttlCausesShutdownHelperText:"Your workspace will shut down",
@@ -205,17 +206,23 @@ export const WorkspaceScheduleForm: FC<React.PropsWithChildren<WorkspaceSchedule
205206

206207
consthandleToggleAutoStart=async(e:ChangeEvent)=>{
207208
form.handleChange(e)
208-
// if enabling from empty values, fill with defaults
209-
if(!form.values.autoStartEnabled&&!form.values.startTime){
209+
if(form.values.autoStartEnabled){
210+
// disable autostart, clear values
211+
awaitform.setValues({ ...form.values,autoStartEnabled:false, ...emptySchedule})
212+
}else{
213+
// enable autostart, fill with defaults
210214
awaitform.setValues({ ...form.values,autoStartEnabled:true, ...defaultSchedule()})
211215
}
212216
}
213217

214218
consthandleToggleAutoStop=async(e:ChangeEvent)=>{
215219
form.handleChange(e)
216-
// if enabling from empty values, fill with defaults
217-
if(!form.values.autoStopEnabled&&!form.values.ttl){
218-
awaitform.setFieldValue("ttl",defaultTTL)
220+
if(form.values.autoStopEnabled){
221+
// disable autostop, set TTL 0
222+
awaitform.setValues({ ...form.values,autoStopEnabled:false,ttl:0})
223+
}else{
224+
// enable autostop, fill with default TTL
225+
awaitform.setValues({ ...form.values,autoStopEnabled:true,ttl:defaultTTL})
219226
}
220227
}
221228

@@ -237,7 +244,12 @@ export const WorkspaceScheduleForm: FC<React.PropsWithChildren<WorkspaceSchedule
237244
label={Language.startSwitch}
238245
/>
239246
<TextField
240-
{...formHelpers("startTime",Language.startTimeHelperText)}
247+
{...formHelpers(
248+
"startTime",
249+
form.values.autoStartEnabled
250+
?Language.startTimeHelperText
251+
:Language.noStartTimeHelperText,
252+
)}
241253
disabled={isLoading||!form.values.autoStartEnabled}
242254
InputLabelProps={{
243255
shrink:true,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp