Grid FitColumns

This commit is contained in:
Sedat Öztürk 2026-03-19 01:11:18 +03:00
parent ac1ff56288
commit 283fb2eba2
2 changed files with 44 additions and 1 deletions

View file

@ -3227,6 +3227,12 @@
"key": "ListForms.ListForm.GridStateSaved", "key": "ListForms.ListForm.GridStateSaved",
"en": "Grid State Saved", "en": "Grid State Saved",
"tr": "Tablo Yapısı Kaydedildi" "tr": "Tablo Yapısı Kaydedildi"
},
{
"resourceName": "Platform",
"key": "ListForms.ListForm.FitColumns",
"en": "Fit Columns",
"tr": "Sütunları Sığdır"
}, },
{ {
"resourceName": "Platform", "resourceName": "Platform",

View file

@ -102,6 +102,28 @@ const setToolbarItemItems = (grid: GridInstance, itemName: string, items: any[])
} }
} }
const fitColumns = (grid: GridInstance) => {
if (!isDataGrid(grid)) {
return
}
grid.beginUpdate()
const visibleColumns = grid.getVisibleColumns() as any[]
visibleColumns.forEach((column) => {
if (!column?.dataField || column?.type === 'buttons') {
return
}
// Clear explicit width so DataGrid can recalculate based on content.
grid.columnOption(column.dataField, 'width', undefined)
grid.columnOption(column.dataField, 'minWidth', undefined)
})
grid.option('columnAutoWidth', true)
grid.endUpdate()
grid.updateDimensions()
grid.repaint()
}
const clearGridFilter = (grid: GridInstance) => { const clearGridFilter = (grid: GridInstance) => {
if (isDataGrid(grid)) { if (isDataGrid(grid)) {
grid.clearFilter() grid.clearFilter()
@ -253,6 +275,14 @@ const useFilters = ({
}) })
} }
if (grdOpt?.columnOptionDto?.columnAutoWidth) {
menus.push({
text: translate('::ListForms.ListForm.FitColumns'),
id: 'fitColumns',
icon: 'columnchooser',
})
}
if (checkPermission(gridDto?.gridOptions.permissionDto.i)) { if (checkPermission(gridDto?.gridOptions.permissionDto.i)) {
menus.push({ menus.push({
text: translate('::ListForms.ListForm.ImportManager'), text: translate('::ListForms.ListForm.ImportManager'),
@ -295,8 +325,15 @@ const useFilters = ({
// aktif filtreyi kaydetmek icin ilgili ekrani ac // aktif filtreyi kaydetmek icin ilgili ekrani ac
setIsCreateUpdateModalOpen(true) setIsCreateUpdateModalOpen(true)
} else if (itemData.id === 'deleteFilter') { } else if (itemData.id === 'deleteFilter') {
// Kayitli bir filtreyi silmek icin ilgili ekrani ac // aktif filtreyi kaydetmek icin ilgili ekrani ac
setIsDeleteModalOpen(true) setIsDeleteModalOpen(true)
} else if (itemData.id === 'fitColumns') {
// Tüm sütunları fitlemeye sığacak şekilde yeniden boyutlandır
const grid = gridRef.current?.instance()
if (!grid) {
return
}
fitColumns(grid)
} else if (itemData.id === 'openManage') { } else if (itemData.id === 'openManage') {
window.open( window.open(
ROUTES_ENUM.protected.saas.listFormManagement.edit.replace( ROUTES_ENUM.protected.saas.listFormManagement.edit.replace(