wire ticket status buttons to pql ticket status

Status buttons in the detail view now call pql.tickets.status IPC,
publish a changed event to refresh the sidebar list, and reload the
detail. Disabled for the current status. IPC handler accepts ids as
a list for batch transitions. PqlClient.ticketSetStatus takes
List<String> and joins with comma per pql CLI contract.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-04-24 10:50:05 +02:00
co-authored by Claude
parent cf9a510e6c
commit 8a0ca92a1f
3 changed files with 27 additions and 3 deletions
+6
View File
@@ -8,6 +8,8 @@ library;
import 'dart:convert';
import 'dart:io';
import 'package:flutter/foundation.dart';
class PqlException implements Exception {
const PqlException(this.message, {this.exitCode = 1, this.stderr = ''});
final String message;
@@ -133,6 +135,10 @@ class PqlClient {
return _runObject(args);
}
Future<List<Map<String, Object?>>> ticketSetStatus(List<String> ids, String status) async {
return _runList(['ticket', 'status', ids.join(','), status]);
}
Future<List<Map<String, Object?>>> ticketBoard({String? team}) async {
final args = ['ticket', 'board'];
if (team != null) args.addAll(['--team', team]);