feat(todo): a table's columns, chosen and moved, each with its menu (ADR 0033, D36)

As Todoist's after trying it: Description and Created join the columns,
Display's Columns turns them and a task's details on and off, and a heading
filters, sorts, moves or hides its column. Sorting can run either way, and
tasks can be filtered by when they were added. Reporting's project filter
shows each project's icon.

Whats-New: Table: choose and arrange its columns, and filter, sort or hide one from its heading.
Whats-New-De: Tabelle: Wähle und ordne die Spalten und filtere, sortiere oder blende eine über ihre Überschrift aus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-06 21:05:54 +01:00
commit 977a513379
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
5 changed files with 1103 additions and 171 deletions

View file

@ -287,6 +287,18 @@
"groupNoLabel": "Ohne Label",
"layoutTitle": "Layout",
"layoutList": "Liste",
"taskColumnDescription": "Beschreibung",
"taskColumnCreated": "Erstellt",
"tableColumns": "Spalten",
"tableDetails": "Aufgabendetails",
"tableSubTasks": "Unteraufgaben",
"tableReminders": "Erinnerungen",
"tableFilter": "Filtern",
"tableSortUp": "Aufsteigend sortieren",
"tableSortDown": "Absteigend sortieren",
"tableMoveLeft": "Nach links",
"tableMoveRight": "Nach rechts",
"tableHide": "Spalte ausblenden",
"layoutTable": "Tabelle",
"taskColumnTask": "Aufgabe",
"taskColumnDate": "Datum",

View file

@ -832,6 +832,18 @@
"@layoutList": {
"description": "A project's layout in its Display, and its board's columns (ADR 0033, D17)."
},
"taskColumnDescription": "Description",
"taskColumnCreated": "Created",
"tableColumns": "Columns",
"tableDetails": "Task details",
"tableSubTasks": "Sub-tasks",
"tableReminders": "Reminders",
"tableFilter": "Filter",
"tableSortUp": "Sort ascending",
"tableSortDown": "Sort descending",
"tableMoveLeft": "Move left",
"tableMoveRight": "Move right",
"tableHide": "Hide column",
"layoutTable": "Table",
"taskColumnTask": "Task",
"taskColumnDate": "Date",

View file

@ -1822,6 +1822,78 @@ abstract class AppLocalizations {
/// **'List'**
String get layoutList;
/// No description provided for @taskColumnDescription.
///
/// In en, this message translates to:
/// **'Description'**
String get taskColumnDescription;
/// No description provided for @taskColumnCreated.
///
/// In en, this message translates to:
/// **'Created'**
String get taskColumnCreated;
/// No description provided for @tableColumns.
///
/// In en, this message translates to:
/// **'Columns'**
String get tableColumns;
/// No description provided for @tableDetails.
///
/// In en, this message translates to:
/// **'Task details'**
String get tableDetails;
/// No description provided for @tableSubTasks.
///
/// In en, this message translates to:
/// **'Sub-tasks'**
String get tableSubTasks;
/// No description provided for @tableReminders.
///
/// In en, this message translates to:
/// **'Reminders'**
String get tableReminders;
/// No description provided for @tableFilter.
///
/// In en, this message translates to:
/// **'Filter'**
String get tableFilter;
/// No description provided for @tableSortUp.
///
/// In en, this message translates to:
/// **'Sort ascending'**
String get tableSortUp;
/// No description provided for @tableSortDown.
///
/// In en, this message translates to:
/// **'Sort descending'**
String get tableSortDown;
/// No description provided for @tableMoveLeft.
///
/// In en, this message translates to:
/// **'Move left'**
String get tableMoveLeft;
/// No description provided for @tableMoveRight.
///
/// In en, this message translates to:
/// **'Move right'**
String get tableMoveRight;
/// No description provided for @tableHide.
///
/// In en, this message translates to:
/// **'Hide column'**
String get tableHide;
/// No description provided for @layoutTable.
///
/// In en, this message translates to:

View file

@ -1141,6 +1141,42 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get layoutList => 'Liste';
@override
String get taskColumnDescription => 'Beschreibung';
@override
String get taskColumnCreated => 'Erstellt';
@override
String get tableColumns => 'Spalten';
@override
String get tableDetails => 'Aufgabendetails';
@override
String get tableSubTasks => 'Unteraufgaben';
@override
String get tableReminders => 'Erinnerungen';
@override
String get tableFilter => 'Filtern';
@override
String get tableSortUp => 'Aufsteigend sortieren';
@override
String get tableSortDown => 'Absteigend sortieren';
@override
String get tableMoveLeft => 'Nach links';
@override
String get tableMoveRight => 'Nach rechts';
@override
String get tableHide => 'Spalte ausblenden';
@override
String get layoutTable => 'Tabelle';

View file

@ -1141,6 +1141,42 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get layoutList => 'List';
@override
String get taskColumnDescription => 'Description';
@override
String get taskColumnCreated => 'Created';
@override
String get tableColumns => 'Columns';
@override
String get tableDetails => 'Task details';
@override
String get tableSubTasks => 'Sub-tasks';
@override
String get tableReminders => 'Reminders';
@override
String get tableFilter => 'Filter';
@override
String get tableSortUp => 'Sort ascending';
@override
String get tableSortDown => 'Sort descending';
@override
String get tableMoveLeft => 'Move left';
@override
String get tableMoveRight => 'Move right';
@override
String get tableHide => 'Hide column';
@override
String get layoutTable => 'Table';