Grid üzerindeki translate düzeltildi

This commit is contained in:
Sedat Öztürk 2026-01-17 01:53:17 +03:00
parent 5c8c25e918
commit 4b94aeaa86
4 changed files with 83 additions and 7 deletions

View file

@ -931,6 +931,42 @@
"en": "Search...", "en": "Search...",
"tr": "Arama..." "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", "resourceName": "Platform",
"key": "App.SearchIn", "key": "App.SearchIn",
@ -3181,6 +3217,18 @@
"en": "Save Filter", "en": "Save Filter",
"tr": "Filtre Kaydet" "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", "resourceName": "Platform",
"key": "ListForms.ListForm.Refresh", "key": "ListForms.ListForm.Refresh",

View file

@ -72,6 +72,8 @@ import { layoutTypes } from '../admin/listForm/edit/types'
import { useListFormCustomDataSource } from './useListFormCustomDataSource' import { useListFormCustomDataSource } from './useListFormCustomDataSource'
import { useListFormColumns } from './useListFormColumns' import { useListFormColumns } from './useListFormColumns'
import { Loading } from '@/components/shared' import { Loading } from '@/components/shared'
import { useStoreState } from '@/store'
import { locale, loadMessages } from 'devextreme/localization'
interface GridProps { interface GridProps {
listFormCode: string listFormCode: string
@ -88,6 +90,7 @@ const Grid = (props: GridProps) => {
const { listFormCode, searchParams, isSubForm, level, gridDto: extGridDto } = props const { listFormCode, searchParams, isSubForm, level, gridDto: extGridDto } = props
const { translate } = useLocalization() const { translate } = useLocalization()
const { smaller } = useResponsive() const { smaller } = useResponsive()
const config = useStoreState((state) => state.abpConfig.config)
const gridRef = useRef<DataGridRef>() const gridRef = useRef<DataGridRef>()
const refListFormCode = useRef('') const refListFormCode = useRef('')
@ -588,11 +591,11 @@ const Grid = (props: GridProps) => {
} }
}, [gridDto]) }, [gridDto])
// Kolonları oluştur - dil değiştiğinde güncelle
useEffect(() => { useEffect(() => {
if (!gridDto) return if (!gridDto || !config) return
const cols = getBandedColumns() const cols = getBandedColumns()
setColumnData(cols)
cols?.forEach((col) => { cols?.forEach((col) => {
const eo = col.editorOptions 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( const dataSource = createSelectDataSource(
gridDto.gridOptions, gridDto.gridOptions,
listFormCode, listFormCode,
searchParams, searchParams,
layoutTypes.grid, layoutTypes.grid,
cols, columnData,
) )
setGridDataSource(dataSource) setGridDataSource(dataSource)
}, [gridDto, searchParams]) }, [gridDto, searchParams, columnData])
useEffect(() => { useEffect(() => {
const activeFilters = extraFilters.filter((f) => f.value) const activeFilters = extraFilters.filter((f) => f.value)
@ -1230,8 +1240,12 @@ const Grid = (props: GridProps) => {
<SearchPanel <SearchPanel
visible={gridDto.gridOptions.searchPanelDto.visible} visible={gridDto.gridOptions.searchPanelDto.visible}
width={gridDto.gridOptions.searchPanelDto.width} width={gridDto.gridOptions.searchPanelDto.width}
placeholder={translate('::App.Search')}
></SearchPanel> ></SearchPanel>
<GroupPanel visible={gridDto.gridOptions.groupPanelDto?.visible}></GroupPanel> <GroupPanel
visible={gridDto.gridOptions.groupPanelDto?.visible}
emptyPanelText={translate('::App.GroupPanel.EmptyPanelText')}
></GroupPanel>
<Grouping <Grouping
autoExpandAll={gridDto.gridOptions.groupPanelDto?.autoExpandAll} autoExpandAll={gridDto.gridOptions.groupPanelDto?.autoExpandAll}
></Grouping> ></Grouping>

View file

@ -19,6 +19,7 @@ import { usePermission } from '@/utils/hooks/usePermission'
import { usePWA } from '@/utils/hooks/usePWA' import { usePWA } from '@/utils/hooks/usePWA'
import { ROUTES_ENUM } from '@/routes/route.constant' import { ROUTES_ENUM } from '@/routes/route.constant'
import { GanttRef } from 'devextreme-react/cjs/gantt' import { GanttRef } from 'devextreme-react/cjs/gantt'
import { useStoreState } from '@/store'
export interface ISelectBoxData { export interface ISelectBoxData {
value?: string 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 filteredGridPanelColor = 'rgba(10, 200, 10, 0.5)' // kullanici tanimli filtre ile filtrelenmis gridin paneline ait renk
const grdOpt = gridDto?.gridOptions const grdOpt = gridDto?.gridOptions
const config = useStoreState((state) => state.abpConfig.config)
const getFilters = async () => { const getFilters = async () => {
const response = await getListFormCustomization( const response = await getListFormCustomization(
@ -403,7 +405,7 @@ const useFilters = ({
useEffect(() => { useEffect(() => {
getToolbarData() getToolbarData()
}, [filters, gridDto]) }, [filters, gridDto, config])
return { return {
filterToolbarData: toolbarData, filterToolbarData: toolbarData,

View file

@ -9,6 +9,7 @@ import { useEffect, useState } from 'react'
import { useDialogContext } from '../shared/DialogContext' import { useDialogContext } from '../shared/DialogContext'
import { usePWA } from '@/utils/hooks/usePWA' import { usePWA } from '@/utils/hooks/usePWA'
import { layoutTypes, ListViewLayoutType } from '../admin/listForm/edit/types' import { layoutTypes, ListViewLayoutType } from '../admin/listForm/edit/types'
import { useStoreState } from '@/store'
type ToolbarModalData = { type ToolbarModalData = {
open: boolean open: boolean
@ -46,6 +47,7 @@ const useToolbar = ({
const { translate } = useLocalization() const { translate } = useLocalization()
const { checkPermission } = usePermission() const { checkPermission } = usePermission()
const isPwaMode = usePWA() const isPwaMode = usePWA()
const config = useStoreState((state) => state.abpConfig.config)
const [toolbarData, setToolbarData] = useState<ToolbarItem[]>([]) const [toolbarData, setToolbarData] = useState<ToolbarItem[]>([])
const [toolbarModalData, setToolbarModalData] = useState<ToolbarModalData>() const [toolbarModalData, setToolbarModalData] = useState<ToolbarModalData>()
@ -112,6 +114,9 @@ const useToolbar = ({
locateInMenu: 'auto', locateInMenu: 'auto',
showText: 'inMenu', showText: 'inMenu',
name: 'columnChooserButton', name: 'columnChooserButton',
options: {
hint: translate('::ListForms.ListForm.ColumnChooser'),
},
}) })
} }
@ -122,6 +127,10 @@ const useToolbar = ({
showText: 'always', showText: 'always',
name: 'addRowButton', name: 'addRowButton',
location: 'after', location: 'after',
options: {
text: translate('::ListForms.ListForm.AddNewRecord'),
hint: translate('::ListForms.ListForm.AddNewRecord'),
},
}) })
} }
@ -311,12 +320,14 @@ const useToolbar = ({
locateInMenu: 'auto', locateInMenu: 'auto',
showText: 'inMenu', showText: 'inMenu',
name: 'saveButton', name: 'saveButton',
options: { hint: translate('::App.SaveChanges') },
}) })
items.push({ items.push({
locateInMenu: 'auto', locateInMenu: 'auto',
showText: 'inMenu', showText: 'inMenu',
name: 'revertButton', name: 'revertButton',
options: { hint: translate('::App.UndoChanges') },
}) })
} }
// #endregion // #endregion
@ -326,9 +337,10 @@ const useToolbar = ({
useEffect(() => { useEffect(() => {
if (!gridDto && !listFormCode) return if (!gridDto && !listFormCode) return
if (!config) return
getToolbarData() getToolbarData()
}, [gridDto, listFormCode]) }, [gridDto, listFormCode, config])
return { return {
toolbarData, toolbarData,