feat: priority select in calendar
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Антихвост</title>
|
||||
</head>
|
||||
|
||||
@@ -18,8 +18,10 @@ import {
|
||||
import { FunctionComponent } from "preact";
|
||||
import { useEffect, useMemo, useState } from "preact/hooks";
|
||||
import { Calendar, CalendarDateTemplateEvent } from "primereact/calendar";
|
||||
import { Dropdown } from "primereact/dropdown";
|
||||
import { Nullable } from "primereact/ts-helpers";
|
||||
import { SubmitHandler, useForm } from "react-hook-form";
|
||||
import { priorities } from "./profile_tasks";
|
||||
import {
|
||||
IApiResponse,
|
||||
IAPITag,
|
||||
@@ -31,6 +33,7 @@ import {
|
||||
ITaskForm,
|
||||
IViewTagsResponse,
|
||||
} from "./profile_tasks.dto";
|
||||
import { DropdownStyles, selectedPriorityTemplate } from "./profile_tasks.prime.styles";
|
||||
|
||||
const calendarStyles = {
|
||||
root: "inline-flex w-full relative",
|
||||
@@ -68,6 +71,7 @@ const ProfileCalendar: FunctionComponent = () => {
|
||||
const [subjectChoices, setSubjectChoices] = useState<IAPITag[]>([]);
|
||||
const [taskTypeChoices, setTaskTypeChoices] = useState<IAPITag[]>([]);
|
||||
const [isLoading, setIsLoading] = useState(true);
|
||||
const [selectedPriority, setSelectedPriority] = useState(4);
|
||||
|
||||
const {
|
||||
handleSubmit,
|
||||
@@ -171,6 +175,7 @@ const ProfileCalendar: FunctionComponent = () => {
|
||||
taskType: selectedTaskType,
|
||||
dateTime_due: formattedDate,
|
||||
telegram_notifications: false,
|
||||
priority: selectedPriority,
|
||||
};
|
||||
|
||||
if (!editContent) {
|
||||
@@ -254,6 +259,7 @@ const ProfileCalendar: FunctionComponent = () => {
|
||||
setIsEdit(true);
|
||||
setEditContent(task);
|
||||
setCalendarDate(task.date);
|
||||
setSelectedPriority(task.priority);
|
||||
setIsEditModal(false);
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch task details:", error);
|
||||
@@ -403,6 +409,7 @@ const ProfileCalendar: FunctionComponent = () => {
|
||||
onClose={() => {
|
||||
setIsEdit(false);
|
||||
setEditContent(null);
|
||||
setSelectedPriority(4);
|
||||
setIsEditModal(false);
|
||||
setTags({ first: 0, second: 0, overdue: false });
|
||||
setCalendarDate(null);
|
||||
@@ -530,6 +537,15 @@ const ProfileCalendar: FunctionComponent = () => {
|
||||
{editContent.taskType.name}
|
||||
</p>
|
||||
</div>
|
||||
<Dropdown
|
||||
disabled={!isEditModal}
|
||||
pt={DropdownStyles}
|
||||
options={priorities}
|
||||
value={selectedPriority}
|
||||
onChange={(e) => setSelectedPriority(e.value)}
|
||||
itemTemplate={selectedPriorityTemplate}
|
||||
valueTemplate={selectedPriorityTemplate}
|
||||
/>
|
||||
</div>
|
||||
</form>
|
||||
)}
|
||||
|
||||
@@ -47,7 +47,7 @@ import {
|
||||
import classes from "./profile_tasks.module.scss";
|
||||
import { DropdownStyles, selectedPriorityTemplate } from "./profile_tasks.prime.styles";
|
||||
|
||||
const priorities: SelectItem[] = [
|
||||
export const priorities: SelectItem[] = [
|
||||
{ label: "Приоритет 1", value: 1 },
|
||||
{ label: "Приоритет 2", value: 2 },
|
||||
{ label: "Приоритет 3", value: 3 },
|
||||
|
||||
Reference in New Issue
Block a user