mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-02 01:13:19 +00:00
51 lines
1.2 KiB
Text
51 lines
1.2 KiB
Text
import { Backend, TaskData } from "../Backend.slint";
|
|
import { Button, VerticalBox, CheckBox, ScrollView, ComboBox } from "std-widgets.slint";
|
|
import { VPopupIconMenu, VDatePicker, VTimePicker, VCheckBox, VButton, VTag, VText, VTextInput, Palette } from "@selenite";
|
|
import { NewTaskData, SaveTaskData } from "../Backend.slint";
|
|
|
|
export component TaskEdit inherits VerticalLayout {
|
|
in-out property <SaveTaskData> task;
|
|
out property <bool> should-show;
|
|
|
|
public function show(task: SaveTaskData) {
|
|
root.task = task;
|
|
should-show = true;
|
|
}
|
|
public function close() {
|
|
should-show = false;
|
|
}
|
|
callback accepted(SaveTaskData);
|
|
|
|
if !should-show : Rectangle {}
|
|
|
|
if should-show : Rectangle {
|
|
background: Palette.background;
|
|
border-radius: 8px;
|
|
VerticalLayout {
|
|
padding: 16px;
|
|
spacing: 8px;
|
|
|
|
newTaskTitleInput := VTextInput {
|
|
text: root.task.title;
|
|
accepted => {
|
|
root.accepted({
|
|
id: task.id,
|
|
sourceId: task.sourceId,
|
|
title: newTaskTitleInput.text,
|
|
scheduled: taskDateInput.date.year != 0,
|
|
date: taskDateInput.date
|
|
});
|
|
|
|
}
|
|
}
|
|
HorizontalLayout {
|
|
alignment: start;
|
|
spacing: 8px;
|
|
taskDateInput := VDatePicker {
|
|
date: task.date;
|
|
enabled: true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|