Skip to content

Commit 460f1a6

Browse files
authored
Merge pull request #2395 from appwrite/ser-399-fix-duration-filter
2 parents 0e707ff + 22cfbcb commit 460f1a6

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

src/lib/components/filters/quickFilters.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ export function addFilterAndApply(
4949
addStatusCodeFilter(value, colId, columns);
5050
} else if (colId === '$createdAt' || colId === '$updatedAt' || colId === 'buildDuration') {
5151
addDateFilter(value, colId, columns);
52+
} else if (colId === 'duration') {
53+
addDurationFilter(value, colId, columns);
5254
} else {
5355
addFilter(columns, colId, operator, value, arrayValues);
5456
}
@@ -75,3 +77,7 @@ export function addDateFilter(value: string, colId: string, columns: Column[]) {
7577
export function addSizeFilter(value: string, colId: string, columns: Column[]) {
7678
addFilter(columns, colId, ValidOperators.GreaterThanOrEqual, value);
7779
}
80+
81+
export function addDurationFilter(value: string, colId: string, columns: Column[]) {
82+
addFilter(columns, colId, ValidOperators.GreaterThan, value);
83+
}

src/lib/components/filters/setFilters.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,12 @@ export function setTimeFilter(filter: FilterData, columns: Column[]) {
6161
const col = columns.find((c) => c.id === filter.id);
6262
const timeTag = get(tags).find((tag) => tag.tag.includes(`**${filter.title}**`));
6363
if (timeTag) {
64-
const now = new Date();
65-
66-
const diff = now.getTime() - new Date(timeTag.value as string).getTime();
6764
const ranges = col.elements as { value: string; label: string }[];
68-
const dateRange = ranges.reduce((prev, curr) => {
69-
if (parseInt(curr.value) < diff && curr.value > prev.value) {
70-
return curr;
71-
}
72-
return prev;
73-
});
74-
if (dateRange) {
65+
const timeRange = ranges.find((range) => range.value === timeTag.value);
66+
if (timeRange) {
7567
const newTag = {
76-
tag: `**${filter.title}** is **${dateRange.label}**`,
77-
value: timeTag.value
68+
tag: `**${filter.title}** is **${timeRange.label}**`,
69+
value: timeRange.value
7870
};
7971

8072
cleanOldTags(filter?.title);

0 commit comments

Comments
 (0)