Skip to content

Commit 792f13d

Browse files
committed
Fix chevron highlight and introduce no sort state
This introduces the possibility of sorting by nothing.
1 parent 605f569 commit 792f13d

5 files changed

Lines changed: 9 additions & 13 deletions

File tree

src/components/shared/Table.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ const TableHeadRows = ({ forceDeselectAll }: { forceDeselectAll: () => unknown }
187187
let direction: ReverseOptions = "ASC";
188188
if (reverse && reverse === "ASC") {
189189
direction = "DESC";
190+
} else if (reverse && reverse === "DESC") {
191+
direction = "NONE";
190192
}
191193
dispatch(reverseTable(direction));
192194
dispatch(updatePages());
@@ -199,7 +201,7 @@ const TableHeadRows = ({ forceDeselectAll }: { forceDeselectAll: () => unknown }
199201
<th
200202
key={key}
201203
className={cn({
202-
"col-sort": !!sortBy && column.name === sortBy,
204+
"col-sort": reverse !== "NONE" && !!sortBy && column.name === sortBy,
203205
sortable: true,
204206
})}
205207
onClick={() => sortByColumn(column.name)}
@@ -211,7 +213,7 @@ const TableHeadRows = ({ forceDeselectAll }: { forceDeselectAll: () => unknown }
211213
className={cn("chevron-up", { active: reverse === "ASC" && column.name === sortBy })}
212214
/>
213215
<LuChevronDown
214-
className={cn("chevron-down", { active: reverse === "ASC" && column.name === sortBy })}
216+
className={cn("chevron-down", { active: reverse === "DESC" && column.name === sortBy })}
215217
/>
216218
</div>
217219
</span>

src/components/shared/TableFilters.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ const TableFilters = ({
140140
// simply by going to first page and then load resources.
141141
// This helps increase performance by reducing the number of calls to load resources.
142142
const applyFilterChangesDebounced = async () => {
143+
console.log("Applying filter changes with value: " + itemValue);
143144
// No matter what, we go to page one.
144145
dispatch(goToPage(0));
145146
// Reload of resource
@@ -149,8 +150,8 @@ const TableFilters = ({
149150

150151
useEffect(() => {
151152
if (itemValue) {
152-
// Call to apply filter changes with 500MS debounce!
153-
const applyFilterChangesDebouncedTimeoutId = setTimeout(applyFilterChangesDebounced, 500);
153+
// Call to apply filter changes with 600MS debounce!
154+
const applyFilterChangesDebouncedTimeoutId = setTimeout(applyFilterChangesDebounced, 600);
154155

155156
return () => clearTimeout(applyFilterChangesDebouncedTimeoutId);
156157
}

src/slices/eventSlice.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -253,13 +253,6 @@ export const fetchEvents = createAppAsyncThunk("events/fetchEvents", async (_, {
253253
const state = getState();
254254
let params: ReturnType<typeof getURLParams> & { getComments?: boolean } = getURLParams(state, "events");
255255

256-
// Add a secondary filter to enforce order of events
257-
// (Elasticsearch does not guarantee ordering)
258-
params = {
259-
...params,
260-
sort: params.sort ? params.sort + ",uid:asc" : "uid:asc",
261-
};
262-
263256
// Only if the notes column is enabled, fetch comment information for events
264257
if (state.events.columns.find(column => column.label === "EVENTS.EVENTS.TABLE.ADMINUI_NOTES" && !column.deactivated)) {
265258
params = {

src/slices/tableSlice.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export type SubmitRow = {
8989

9090
export type Resource = "events" | "series" | "recordings" | "jobs" | "servers" | "services" | "users" | "groups" | "acls" | "themes"
9191

92-
export type ReverseOptions = "ASC" | "DESC"
92+
export type ReverseOptions = "ASC" | "DESC" | "NONE"
9393

9494
export type TableState = {
9595
status: "uninitialized" | "loading" | "succeeded" | "failed",

src/utils/resourceUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export const getURLParams = (
7171
};
7272
}
7373

74-
if (getTableSortingForResource(state, resource)) {
74+
if (getTableDirectionForResource(state, resource) !== "NONE") {
7575
params = {
7676
...params,
7777
sort: getTableSortingForResource(state, resource)

0 commit comments

Comments
 (0)