Skip to content

Commit d329848

Browse files
committed
Fix time grain values sorting
1 parent 636691f commit d329848

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

superset-frontend/src/chartCustomizations/components/TimeGrain/TimeGrainFilterPlugin.tsx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@ import {
2323
TimeGranularity,
2424
tn,
2525
} from '@superset-ui/core';
26-
import { useEffect, useMemo, useState } from 'react';
26+
import { useCallback, useEffect, useMemo, useState } from 'react';
2727
import {
2828
FormItem,
2929
type FormItemProps,
30+
LabeledValue,
3031
Select,
3132
type SelectValue,
3233
} from '@superset-ui/core/components';
34+
import { propertyComparator } from '@superset-ui/core/components/Select/utils';
3335
import { FilterPluginStyle, StatusMessage } from '../common';
3436
import { PluginFilterTimeGrainProps } from './types';
3537

@@ -120,6 +122,20 @@ export default function PluginFilterTimegrain(
120122
},
121123
);
122124

125+
const sortComparator = useCallback(
126+
(a: LabeledValue, b: LabeledValue) => {
127+
if (formData.sortAscending === undefined) {
128+
return 0;
129+
}
130+
const labelComparator = propertyComparator('label');
131+
if (formData.sortAscending) {
132+
return labelComparator(a, b);
133+
}
134+
return labelComparator(b, a);
135+
},
136+
[formData.sortAscending],
137+
);
138+
123139
return (
124140
<FilterPluginStyle height={height} width={width}>
125141
<FormItem validateStatus={filterState.validateStatus} {...formItemData}>
@@ -135,7 +151,7 @@ export default function PluginFilterTimegrain(
135151
ref={inputRef}
136152
options={options}
137153
onOpenChange={setFilterActive}
138-
sortComparator={() => 0}
154+
sortComparator={sortComparator}
139155
/>
140156
</div>
141157
</FormItem>

0 commit comments

Comments
 (0)