diff options
author | crupest <crupest@outlook.com> | 2021-12-08 22:35:39 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-12-08 22:35:39 +0800 |
commit | 7cb4b7578ac924ac552da2fb81941ee5d6ef9e8a (patch) | |
tree | f34490a5839b35636866dac5d975afd5c5fb940a /FrontEnd/src/views | |
parent | 3c79bae1848261e5e804558d6b2b419465fe079f (diff) | |
download | timeline-7cb4b7578ac924ac552da2fb81941ee5d6ef9e8a.tar.gz timeline-7cb4b7578ac924ac552da2fb81941ee5d6ef9e8a.tar.bz2 timeline-7cb4b7578ac924ac552da2fb81941ee5d6ef9e8a.zip |
...
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; |