import { ID } from '@zeniai/client-epic-state'; import { UserMultiSelectFieldValue } from '../cockpit/common/userMultiSelect/UserMultiSelectField'; import { ZeniDatePickerValue } from '../common/zeniDatePicker/ZeniDatePickerField'; import { MultiSelectFieldValue } from '../formElements/creatableMultiSelectField/CreatableMultiSelectField'; import { SingleSelectPickerFieldValue } from '../formElements/singleSelectPickerField/SingleSelectPickerField'; import { assigneeKey, dueDateKey, groupDataKey, groupNameKey, newSubtaskSectionId, priorityKey, selectedIdsKey, statusKey, tagKey, taskDataKey, taskManagementTableSectionId, timeSpentKey } from './taskManagementFormConstants'; interface GroupData { [groupNameKey]: string; [selectedIdsKey]: ID[]; } interface TaskData { [assigneeKey]: UserMultiSelectFieldValue; [dueDateKey]: ZeniDatePickerValue; [priorityKey]: SingleSelectPickerFieldValue; [statusKey]: SingleSelectPickerFieldValue; [tagKey]: MultiSelectFieldValue; [timeSpentKey]: string; } export type TasksFormData = Record; export type GroupFormData = Record; export interface TaskManagementTableSectionFormData { [groupDataKey]: GroupFormData; [taskDataKey]: TasksFormData; } export interface SubtasksFormData extends TaskData { description: string; name: string; } export interface TaskManagementFormData { [newSubtaskSectionId]: SubtasksFormData; [taskManagementTableSectionId]: TaskManagementTableSectionFormData; } export {};