From 4b94aeaa868c10232e9d8a4b9e09a34c4c710578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sat, 17 Jan 2026 01:53:17 +0300 Subject: [PATCH] =?UTF-8?q?Grid=20=C3=BCzerindeki=20translate=20d=C3=BCzel?= =?UTF-8?q?tildi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Seeds/LanguagesData.json | 48 +++++++++++++++++++ ui/src/views/list/Grid.tsx | 24 ++++++++-- ui/src/views/list/useFilters.tsx | 4 +- ui/src/views/list/useToolbar.tsx | 14 +++++- 4 files changed, 83 insertions(+), 7 deletions(-) diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index 2e8bc646..f87a09a4 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -931,6 +931,42 @@ "en": "Search...", "tr": "Arama..." }, + { + "resourceName": "Platform", + "key": "App.SaveChanges", + "en": "Save Changes", + "tr": "Değişiklikleri Kaydet" + }, + { + "resourceName": "Platform", + "key": "App.UndoChanges", + "en": "Undo Changes", + "tr": "Değişiklikleri Geri Al" + }, + { + "resourceName": "Platform", + "key": "App.Export.ExportTo", + "en": "Export To", + "tr": "Dışa Aktar" + }, + { + "resourceName": "Platform", + "key": "App.Export.ExportAll", + "en": "Export All", + "tr": "Tümünü Dışa Aktar" + }, + { + "resourceName": "Platform", + "key": "App.GroupPanel.EmptyPanelText", + "en": "Drag a column header here to group by that column", + "tr": "Gruplamak için bir sütun başlığını buraya sürükleyin" + }, + { + "resourceName": "Platform", + "key": "App.Export.ExportSelectedRows", + "en": "Export Selected Rows", + "tr": "Seçili Satırları Dışa Aktar" + }, { "resourceName": "Platform", "key": "App.SearchIn", @@ -3181,6 +3217,18 @@ "en": "Save Filter", "tr": "Filtre Kaydet" }, + { + "resourceName": "Platform", + "key": "ListForms.ListForm.AddNewRecord", + "en": "Add New Record", + "tr": "Yeni Kayıt Ekle" + }, + { + "resourceName": "Platform", + "key": "ListForms.ListForm.ColumnChooser", + "en": "Column Chooser", + "tr": "Sütun Seçici" + }, { "resourceName": "Platform", "key": "ListForms.ListForm.Refresh", diff --git a/ui/src/views/list/Grid.tsx b/ui/src/views/list/Grid.tsx index 3e3fd96a..c8e43f3a 100644 --- a/ui/src/views/list/Grid.tsx +++ b/ui/src/views/list/Grid.tsx @@ -72,6 +72,8 @@ import { layoutTypes } from '../admin/listForm/edit/types' import { useListFormCustomDataSource } from './useListFormCustomDataSource' import { useListFormColumns } from './useListFormColumns' import { Loading } from '@/components/shared' +import { useStoreState } from '@/store' +import { locale, loadMessages } from 'devextreme/localization' interface GridProps { listFormCode: string @@ -88,6 +90,7 @@ const Grid = (props: GridProps) => { const { listFormCode, searchParams, isSubForm, level, gridDto: extGridDto } = props const { translate } = useLocalization() const { smaller } = useResponsive() + const config = useStoreState((state) => state.abpConfig.config) const gridRef = useRef() const refListFormCode = useRef('') @@ -588,11 +591,11 @@ const Grid = (props: GridProps) => { } }, [gridDto]) + // Kolonları oluştur - dil değiştiğinde güncelle useEffect(() => { - if (!gridDto) return + if (!gridDto || !config) return const cols = getBandedColumns() - setColumnData(cols) cols?.forEach((col) => { const eo = col.editorOptions @@ -630,16 +633,23 @@ const Grid = (props: GridProps) => { } }) + setColumnData(cols) + }, [gridDto, config]) + + // DataSource oluştur + useEffect(() => { + if (!gridDto || !columnData) return + const dataSource = createSelectDataSource( gridDto.gridOptions, listFormCode, searchParams, layoutTypes.grid, - cols, + columnData, ) setGridDataSource(dataSource) - }, [gridDto, searchParams]) + }, [gridDto, searchParams, columnData]) useEffect(() => { const activeFilters = extraFilters.filter((f) => f.value) @@ -1230,8 +1240,12 @@ const Grid = (props: GridProps) => { - + diff --git a/ui/src/views/list/useFilters.tsx b/ui/src/views/list/useFilters.tsx index 486ed275..1bf36db4 100644 --- a/ui/src/views/list/useFilters.tsx +++ b/ui/src/views/list/useFilters.tsx @@ -19,6 +19,7 @@ import { usePermission } from '@/utils/hooks/usePermission' import { usePWA } from '@/utils/hooks/usePWA' import { ROUTES_ENUM } from '@/routes/route.constant' import { GanttRef } from 'devextreme-react/cjs/gantt' +import { useStoreState } from '@/store' export interface ISelectBoxData { value?: string @@ -174,6 +175,7 @@ const useFilters = ({ const filteredGridPanelColor = 'rgba(10, 200, 10, 0.5)' // kullanici tanimli filtre ile filtrelenmis gridin paneline ait renk const grdOpt = gridDto?.gridOptions + const config = useStoreState((state) => state.abpConfig.config) const getFilters = async () => { const response = await getListFormCustomization( @@ -403,7 +405,7 @@ const useFilters = ({ useEffect(() => { getToolbarData() - }, [filters, gridDto]) + }, [filters, gridDto, config]) return { filterToolbarData: toolbarData, diff --git a/ui/src/views/list/useToolbar.tsx b/ui/src/views/list/useToolbar.tsx index a01ac66f..55bc209c 100644 --- a/ui/src/views/list/useToolbar.tsx +++ b/ui/src/views/list/useToolbar.tsx @@ -9,6 +9,7 @@ import { useEffect, useState } from 'react' import { useDialogContext } from '../shared/DialogContext' import { usePWA } from '@/utils/hooks/usePWA' import { layoutTypes, ListViewLayoutType } from '../admin/listForm/edit/types' +import { useStoreState } from '@/store' type ToolbarModalData = { open: boolean @@ -46,6 +47,7 @@ const useToolbar = ({ const { translate } = useLocalization() const { checkPermission } = usePermission() const isPwaMode = usePWA() + const config = useStoreState((state) => state.abpConfig.config) const [toolbarData, setToolbarData] = useState([]) const [toolbarModalData, setToolbarModalData] = useState() @@ -112,6 +114,9 @@ const useToolbar = ({ locateInMenu: 'auto', showText: 'inMenu', name: 'columnChooserButton', + options: { + hint: translate('::ListForms.ListForm.ColumnChooser'), + }, }) } @@ -122,6 +127,10 @@ const useToolbar = ({ showText: 'always', name: 'addRowButton', location: 'after', + options: { + text: translate('::ListForms.ListForm.AddNewRecord'), + hint: translate('::ListForms.ListForm.AddNewRecord'), + }, }) } @@ -311,12 +320,14 @@ const useToolbar = ({ locateInMenu: 'auto', showText: 'inMenu', name: 'saveButton', + options: { hint: translate('::App.SaveChanges') }, }) items.push({ locateInMenu: 'auto', showText: 'inMenu', name: 'revertButton', + options: { hint: translate('::App.UndoChanges') }, }) } // #endregion @@ -326,9 +337,10 @@ const useToolbar = ({ useEffect(() => { if (!gridDto && !listFormCode) return + if (!config) return getToolbarData() - }, [gridDto, listFormCode]) + }, [gridDto, listFormCode, config]) return { toolbarData,