@sascha384/tic 1.33.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/backends/local/config.js +1 -1
- package/dist/backends/local/config.js.map +1 -1
- package/dist/commands.js +7 -0
- package/dist/commands.js.map +1 -1
- package/dist/components/HelpScreen.js +2 -1
- package/dist/components/HelpScreen.js.map +1 -1
- package/dist/components/TableLayout.d.ts +3 -1
- package/dist/components/TableLayout.js +25 -3
- package/dist/components/TableLayout.js.map +1 -1
- package/dist/components/WorkItemForm.js +4 -4
- package/dist/components/WorkItemForm.js.map +1 -1
- package/dist/components/WorkItemList.js +57 -8
- package/dist/components/WorkItemList.js.map +1 -1
- package/dist/components/buildTree.d.ts +2 -0
- package/dist/components/buildTree.js +92 -0
- package/dist/components/buildTree.js.map +1 -1
- package/dist/implement.d.ts +2 -0
- package/dist/implement.js +57 -7
- package/dist/implement.js.map +1 -1
- package/dist/stores/listViewStore.d.ts +9 -0
- package/dist/stores/listViewStore.js +18 -0
- package/dist/stores/listViewStore.js.map +1 -1
- package/dist/stores/uiStore.d.ts +2 -0
- package/dist/stores/uiStore.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
export type SortDirection = 'asc' | 'desc';
|
|
2
|
+
export type SortColumn = 'id' | 'title' | 'status' | 'priority' | 'assignee' | 'created' | 'updated';
|
|
3
|
+
export interface SortEntry {
|
|
4
|
+
column: SortColumn;
|
|
5
|
+
direction: SortDirection;
|
|
6
|
+
}
|
|
1
7
|
interface ListViewState {
|
|
2
8
|
cursor: number;
|
|
3
9
|
expandedIds: Set<string>;
|
|
4
10
|
markedIds: Set<string>;
|
|
5
11
|
scrollOffset: number;
|
|
6
12
|
rangeAnchor: number | null;
|
|
13
|
+
sortStack: SortEntry[];
|
|
7
14
|
setCursor: (index: number) => void;
|
|
8
15
|
clampCursor: (maxIndex: number) => void;
|
|
9
16
|
toggleExpanded: (id: string) => void;
|
|
@@ -13,6 +20,8 @@ interface ListViewState {
|
|
|
13
20
|
setScrollOffset: (offset: number) => void;
|
|
14
21
|
setRangeAnchor: (index: number | null) => void;
|
|
15
22
|
removeDeletedItem: (id: string) => void;
|
|
23
|
+
toggleSortColumn: (column: SortColumn) => void;
|
|
24
|
+
clearSort: () => void;
|
|
16
25
|
reset: () => void;
|
|
17
26
|
}
|
|
18
27
|
export declare const listViewStore: import("zustand").StoreApi<ListViewState>;
|
|
@@ -6,6 +6,7 @@ const initialState = {
|
|
|
6
6
|
markedIds: new Set(),
|
|
7
7
|
scrollOffset: 0,
|
|
8
8
|
rangeAnchor: null,
|
|
9
|
+
sortStack: [],
|
|
9
10
|
};
|
|
10
11
|
export const listViewStore = createStore((set) => ({
|
|
11
12
|
...initialState,
|
|
@@ -44,12 +45,29 @@ export const listViewStore = createStore((set) => ({
|
|
|
44
45
|
nextMarked.delete(id);
|
|
45
46
|
return { expandedIds: nextExpanded, markedIds: nextMarked };
|
|
46
47
|
}),
|
|
48
|
+
toggleSortColumn: (column) => set((state) => {
|
|
49
|
+
const idx = state.sortStack.findIndex((e) => e.column === column);
|
|
50
|
+
if (idx === -1) {
|
|
51
|
+
return {
|
|
52
|
+
sortStack: [...state.sortStack, { column, direction: 'asc' }],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const entry = state.sortStack[idx];
|
|
56
|
+
if (entry.direction === 'asc') {
|
|
57
|
+
const next = [...state.sortStack];
|
|
58
|
+
next[idx] = { column, direction: 'desc' };
|
|
59
|
+
return { sortStack: next };
|
|
60
|
+
}
|
|
61
|
+
return { sortStack: state.sortStack.filter((_, i) => i !== idx) };
|
|
62
|
+
}),
|
|
63
|
+
clearSort: () => set({ sortStack: [] }),
|
|
47
64
|
reset: () => set({
|
|
48
65
|
cursor: 0,
|
|
49
66
|
expandedIds: new Set(),
|
|
50
67
|
markedIds: new Set(),
|
|
51
68
|
scrollOffset: 0,
|
|
52
69
|
rangeAnchor: null,
|
|
70
|
+
sortStack: [],
|
|
53
71
|
}),
|
|
54
72
|
}));
|
|
55
73
|
export function useListViewStore(selector) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listViewStore.js","sourceRoot":"","sources":["../../src/stores/listViewStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"listViewStore.js","sourceRoot":"","sources":["../../src/stores/listViewStore.ts"],"names":[],"mappings":"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"}
|
package/dist/stores/uiStore.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiStore.js","sourceRoot":"","sources":["../../src/stores/uiStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"uiStore.js","sourceRoot":"","sources":["../../src/stores/uiStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAoCnC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzD,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IAEX,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACzD,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAChD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;IAC1E,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACtC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CACpE,CAAC,CAAC,CAAC;AAEJ,MAAM,UAAU,UAAU,CAAI,QAAoC;IAChE,OAAO,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACjD,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC"}
|