Skip to content

Commit d49854b

Browse files
committed
feat(small): show the number of active filters on Filter button
1 parent e4b1703 commit d49854b

File tree

11 files changed

+19
-9
lines changed

11 files changed

+19
-9
lines changed

src/frontend/components/app/action-header/action-header.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const ActionHeader: React.FC<ActionHeaderProps> = (props) => {
4141
const location = useLocation()
4242
const actionResponseHandler = useActionResponseHandler(actionPerformed)
4343
const modalFunctions = useModal()
44-
const { toggleFilter } = useFilterDrawer()
44+
const { toggleFilter, filtersCount } = useFilterDrawer()
4545

4646
if (action.hideActionHeader) {
4747
return null
@@ -74,8 +74,10 @@ const ActionHeader: React.FC<ActionHeaderProps> = (props) => {
7474
})
7575

7676
if (typeof isFilterButtonVisible === 'function' || isFilterButtonVisible) {
77+
const filterTranslationKey = filtersCount > 0 ? 'filterActive' : 'filter'
78+
7779
actionButtons.push({
78-
label: translateButton('filter', resource.id),
80+
label: translateButton(filterTranslationKey, resource.id, { count: filtersCount }),
7981
onClick: toggleFilter,
8082
icon: 'Filter',
8183
'data-css': getResourceElementCss(resource.id, 'filter-button'),

src/frontend/hooks/use-filter-drawer.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useQueryParams } from './use-query-params.js'
66

77
export const useFilterDrawer = () => {
88
const [filtersCount, setFiltersCount] = useState(0)
9-
const dispach = useDispatch()
9+
const dispatch = useDispatch()
1010
const isVisible = useSelector((state: ReduxState) => state.filterDrawer.isVisible)
1111

1212
const { showFilters, filters = {} } = useQueryParams()
@@ -17,20 +17,20 @@ export const useFilterDrawer = () => {
1717

1818
useEffect(() => {
1919
if (showFilters) {
20-
dispach(showFilterDrawer())
20+
dispatch(showFilterDrawer())
2121
}
2222
}, [showFilters])
2323

2424
const toggleFilter = () => {
25-
dispach(isVisible ? hideFilterDrawer() : showFilterDrawer())
25+
dispatch(isVisible ? hideFilterDrawer() : showFilterDrawer())
2626
}
2727

2828
const open = () => {
29-
dispach(showFilterDrawer())
29+
dispatch(showFilterDrawer())
3030
}
3131

3232
const close = () => {
33-
dispach(hideFilterDrawer())
33+
dispatch(hideFilterDrawer())
3434
}
3535

3636
return {

src/locale/de/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "Speichern",
1212
"addNewItem": "Neuen Eintrag hinzufügen",
1313
"filter": "Filter",
14+
"filterActive": "Filter ({{count}})",
1415
"applyChanges": "Änderungen übernehmen",
1516
"resetFilter": "Zurücksetzen",
1617
"confirmRemovalMany": "Bestätigen Sie das Löschen des Eintrag",

src/locale/en/translation.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "Save",
1212
"addNewItem": "Add new item",
1313
"filter": "Filter",
14+
"filterActive": "Filter ({{count}})",
1415
"applyChanges": "Apply changes",
1516
"resetFilter": "Reset",
1617
"confirmRemovalMany": "Confirm the removal of {{count}} record",
@@ -118,7 +119,6 @@
118119
"initialKey": "Key-{{number}}",
119120
"keyInUse": "Object keys must be unique",
120121
"keyValuePropertyDefaultDescription": "All values are stored as text. Keys must be unique, duplicate keys will not be saved.",
121-
122122
"pageNotFound_title": "Page not found",
123123
"pageNotFound_subtitle": "Page <strong>\"{{pageName}}\"</strong> does not exist",
124124
"componentNotFound_title": "No component specified",

src/locale/es/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "Guardar",
1212
"addNewItem": "Agregar nuevo elemento",
1313
"filter": "Filtrar",
14+
"filterActive": "Filtrar ({{count}})",
1415
"applyChanges": "Aplicar cambios",
1516
"resetFilter": "Reiniciar",
1617
"confirmRemovalMany": "Confirmar la eliminación de {{count}} registro",

src/locale/it/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "Salva",
1212
"addNewItem": "Aggiungi nuovo elemento",
1313
"filter": "Filtro",
14+
"filterActive": "Filtro ({{count}})",
1415
"applyChanges": "Applica modifiche",
1516
"resetFilter": "Resetta filtro",
1617
"confirmRemovalMany": "Conferma la rimozione di {{count}} elementi",

src/locale/ja/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "保存",
1212
"addNewItem": "新しいアイテムを追加",
1313
"filter": "フィルタ",
14+
"filterActive": "フィルタ ({{count}})",
1415
"applyChanges": "変更を適用",
1516
"resetFilter": "リセット",
1617
"confirmRemovalMany": "{{count}} 件のレコードを削除しますか",

src/locale/pl/translation.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"buttons": {
1111
"save": "Zapisz",
1212
"addNewItem": "Nowy",
13-
"filter": "Filtr",
13+
"filter": "Filtry",
14+
"filterActive": "Filtry ({{count}})",
1415
"applyChanges": "Zastosuj zmiany",
1516
"resetFilter": "Wyczyść",
1617
"confirmRemovalMany": "Potwierdź usunięcie {{count}} pozycji",

src/locale/pt-BR/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "Salvar",
1212
"addNewItem": "Adicionar Novo Item",
1313
"filter": "Filtrar",
14+
"filterActive": "Filtrar ({{count}})",
1415
"applyChanges": "Aplicar mudanças",
1516
"resetFilter": "Redefinir",
1617
"confirmRemovalMany": "Confirma a remoção de {{count}} registro",

src/locale/ua/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"save": "Зберегти",
1212
"addNewItem": "Додати новий елемент",
1313
"filter": "Фільтр",
14+
"filterActive": "Фільтр ({{count}})",
1415
"applyChanges": "Застосувати зміни",
1516
"resetFilter": "Очистити фільтри",
1617
"confirmRemovalMany": "Підтвердити видалення {{count}} запису",

0 commit comments

Comments
 (0)