diff options
Diffstat (limited to 'FrontEnd/src/views')
| -rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx | 117 | 
1 files changed, 59 insertions, 58 deletions
| diff --git a/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx b/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx index 64daa19b..cd5c46da 100644 --- a/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx @@ -23,65 +23,66 @@ const labelMap: { [key in TimelineVisibility]: string } = {    Register: "timeline.visibility.register",  }; -const TimelinePropertyChangeDialog: React.FC<TimelinePropertyChangeDialogProps> = -  (props) => { -    const { timeline, onChange } = props; +const TimelinePropertyChangeDialog: React.FC< +  TimelinePropertyChangeDialogProps +> = (props) => { +  const { timeline, onChange } = props; -    return ( -      <OperationDialog -        title={"timeline.dialogChangeProperty.title"} -        inputScheme={ -          [ -            { -              type: "text", -              label: "timeline.dialogChangeProperty.titleField", -              initValue: timeline.title, -            }, -            { -              type: "select", -              label: "timeline.dialogChangeProperty.visibility", -              options: kTimelineVisibilities.map((v) => ({ -                label: labelMap[v], -                value: v, -              })), -              initValue: timeline.visibility, -            }, -            { -              type: "text", -              label: "timeline.dialogChangeProperty.description", -              initValue: timeline.description, -            }, -            { -              type: "color", -              label: "timeline.dialogChangeProperty.color", -              initValue: timeline.color ?? null, -              canBeNull: true, -            }, -          ] as const +  return ( +    <OperationDialog +      title={"timeline.dialogChangeProperty.title"} +      inputScheme={ +        [ +          { +            type: "text", +            label: "timeline.dialogChangeProperty.titleField", +            initValue: timeline.title, +          }, +          { +            type: "select", +            label: "timeline.dialogChangeProperty.visibility", +            options: kTimelineVisibilities.map((v) => ({ +              label: labelMap[v], +              value: v, +            })), +            initValue: timeline.visibility, +          }, +          { +            type: "text", +            label: "timeline.dialogChangeProperty.description", +            initValue: timeline.description, +          }, +          { +            type: "color", +            label: "timeline.dialogChangeProperty.color", +            initValue: timeline.color ?? null, +            canBeNull: true, +          }, +        ] as const +      } +      open={props.open} +      onClose={props.close} +      onProcess={([newTitle, newVisibility, newDescription, newColor]) => { +        const req: HttpTimelinePatchRequest = {}; +        if (newTitle !== timeline.title) { +          req.title = newTitle;          } -        open={props.open} -        onClose={props.close} -        onProcess={([newTitle, newVisibility, newDescription, newColor]) => { -          const req: HttpTimelinePatchRequest = {}; -          if (newTitle !== timeline.title) { -            req.title = newTitle; -          } -          if (newVisibility !== timeline.visibility) { -            req.visibility = newVisibility as TimelineVisibility; -          } -          if (newDescription !== timeline.description) { -            req.description = newDescription; -          } -          const nc = newColor ?? ""; -          if (nc !== timeline.color) { -            req.color = nc; -          } -          return getHttpTimelineClient() -            .patchTimeline(timeline.name, req) -            .then(onChange); -        }} -      /> -    ); -  }; +        if (newVisibility !== timeline.visibility) { +          req.visibility = newVisibility as TimelineVisibility; +        } +        if (newDescription !== timeline.description) { +          req.description = newDescription; +        } +        const nc = newColor ?? ""; +        if (nc !== timeline.color) { +          req.color = nc; +        } +        return getHttpTimelineClient() +          .patchTimeline(timeline.name, req) +          .then(onChange); +      }} +    /> +  ); +};  export default TimelinePropertyChangeDialog; | 
