Add inline ticket property dropdowns

This commit is contained in:
2026-07-18 20:29:24 +02:00
parent 021acb9cf7
commit 84655b1e79
13 changed files with 393 additions and 151 deletions
@@ -12,7 +12,7 @@ export type AcceptanceCriteriaEditorCommit = {
source: AcceptanceCriteriaCommitSource;
};
export type AcceptanceCriteriaSaveState = 'error' | 'idle' | 'saved' | 'saving';
export type AcceptanceCriteriaSaveState = 'error' | 'idle' | 'saving';
export type AcceptanceCriteriaEditorProps = {
disabled?: boolean;
+1
View File
@@ -4,6 +4,7 @@ export * from './layout';
export * from './navigation';
export * from './notification-settings';
export * from './page-props';
export * from './property-select-dropdown';
export * from './project-navigation';
export * from './ticket-inline-edit';
export * from './ui';
@@ -0,0 +1,20 @@
export type PropertySelectDropdownValue = number | string | null;
export type PropertySelectOption = {
description?: string | null;
label: string;
value: number | string;
};
export type PropertySelectDropdownProps = {
disabled?: boolean;
editable: boolean;
label: string;
modelValue: PropertySelectDropdownValue;
options: PropertySelectOption[];
};
export type PropertySelectDropdownEmits = {
commit: [value: number | string];
'update:modelValue': [value: number | string];
};
+10 -2
View File
@@ -1,4 +1,5 @@
import type { AcceptanceCriteriaModel } from '@/types/models/acceptance-criteria-model';
import type { TicketStatusModel } from '@/types/models/ticket-status-model';
export type InlineTextEditorValue = number | string | null;
@@ -9,7 +10,7 @@ export type InlineTextEditorProps = {
inputType?: 'number' | 'text';
multiline?: boolean;
placeholder: string;
saveState?: 'error' | 'idle' | 'saved' | 'saving';
saveState?: 'error' | 'idle' | 'saving';
value: InlineTextEditorValue;
variant?: 'body' | 'property' | 'title';
};
@@ -21,7 +22,7 @@ export type InlineTextEditorEmits = {
export type InlineSaveStatusProps = {
error?: string;
state: 'error' | 'idle' | 'saved' | 'saving';
state: 'error' | 'idle' | 'saving';
};
export type TicketEditableField =
@@ -70,6 +71,13 @@ export type TicketAutosaveErrorResponse = {
message?: string;
};
export type TicketStatusMoveResponse = {
message: string;
moved: boolean;
ticket_status: TicketStatusModel | null;
ticket_status_id: number | null;
};
export type QueuedTicketAutosave = {
field: TicketEditableField;
payload: ProjectTicketUpdatePayload;