ListForm Manage ve AppServis güncellemeleri
This commit is contained in:
parent
293abf86ba
commit
c0aec43620
9 changed files with 141 additions and 64 deletions
|
|
@ -8,10 +8,11 @@ using Kurs.Platform.ListForms.Customization;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Volo.Abp.Application.Services;
|
using Volo.Abp.Application.Services;
|
||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
|
using static Kurs.Platform.PlatformConsts;
|
||||||
|
|
||||||
namespace Kurs.Platform.ListForms.Administration;
|
namespace Kurs.Platform.ListForms.Administration;
|
||||||
|
|
||||||
[Authorize(PlatformConsts.AppCodes.Listforms.Listform)]
|
[Authorize(AppCodes.Listforms.Listform)]
|
||||||
public class ListFormCustomizationAppService : CrudAppService<ListFormCustomization,
|
public class ListFormCustomizationAppService : CrudAppService<ListFormCustomization,
|
||||||
ListFormCustomizationDto,
|
ListFormCustomizationDto,
|
||||||
Guid,
|
Guid,
|
||||||
|
|
@ -21,6 +22,9 @@ public class ListFormCustomizationAppService : CrudAppService<ListFormCustomizat
|
||||||
IRepository<ListFormCustomization, Guid> _repository
|
IRepository<ListFormCustomization, Guid> _repository
|
||||||
) : base(_repository)
|
) : base(_repository)
|
||||||
{
|
{
|
||||||
|
CreatePolicyName = $"{AppCodes.Listforms.Listform}.Create";
|
||||||
|
UpdatePolicyName = $"{AppCodes.Listforms.Listform}.Update";
|
||||||
|
DeletePolicyName = $"{AppCodes.Listforms.Listform}.Delete";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override async Task<IQueryable<ListFormCustomization>> CreateFilteredQueryAsync(ListFormCustomizationRequestDto input)
|
protected override async Task<IQueryable<ListFormCustomization>> CreateFilteredQueryAsync(ListFormCustomizationRequestDto input)
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Volo.Abp.Application.Services;
|
using Volo.Abp.Application.Services;
|
||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
|
using static Kurs.Platform.PlatformConsts;
|
||||||
|
|
||||||
namespace Kurs.Platform.ListForms.Administration;
|
namespace Kurs.Platform.ListForms.Administration;
|
||||||
|
|
||||||
|
|
@ -26,6 +27,10 @@ public class ListFormFieldsAppService : CrudAppService<
|
||||||
) : base(_repository)
|
) : base(_repository)
|
||||||
{
|
{
|
||||||
RepoListForm = _repoListForm;
|
RepoListForm = _repoListForm;
|
||||||
|
|
||||||
|
CreatePolicyName = $"{AppCodes.Listforms.Listform}.Create";
|
||||||
|
UpdatePolicyName = $"{AppCodes.Listforms.Listform}.Update";
|
||||||
|
DeletePolicyName = $"{AppCodes.Listforms.Listform}.Delete";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override async Task<IQueryable<ListFormField>> CreateFilteredQueryAsync(ListFormFieldRequestDto input)
|
protected override async Task<IQueryable<ListFormField>> CreateFilteredQueryAsync(ListFormFieldRequestDto input)
|
||||||
|
|
@ -99,9 +104,9 @@ public class ListFormFieldsAppService : CrudAppService<
|
||||||
|
|
||||||
input.PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
|
input.PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
|
||||||
{
|
{
|
||||||
R = listFormPermissions.R,
|
R = listFormPermissions?.R,
|
||||||
C = listFormPermissions.C,
|
C = listFormPermissions?.C,
|
||||||
U = listFormPermissions.U,
|
U = listFormPermissions?.U,
|
||||||
E = true
|
E = true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public class ListFormsAppService : CrudAppService<
|
||||||
|
|
||||||
public async Task<GridOptionsEditDto> GetByListFormCodeAsync(string listFormCode)
|
public async Task<GridOptionsEditDto> GetByListFormCodeAsync(string listFormCode)
|
||||||
{
|
{
|
||||||
bool canAccess = await authManager.CanAccess(listFormCode, AuthorizationTypeEnum.Read);
|
bool canAccess = await authManager.CanAccess(listFormCode, AuthorizationTypeEnum.Update);
|
||||||
if (!canAccess)
|
if (!canAccess)
|
||||||
{
|
{
|
||||||
throw new UserFriendlyException(L[AppErrorCodes.NoAuth]);
|
throw new UserFriendlyException(L[AppErrorCodes.NoAuth]);
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,6 @@ public class MenuAppService : CrudAppService<
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override async Task DeleteAsync(Guid id)
|
public override async Task DeleteAsync(Guid id)
|
||||||
{
|
{
|
||||||
await CheckDeletePolicyAsync();
|
await CheckDeletePolicyAsync();
|
||||||
|
|
|
||||||
|
|
@ -17702,7 +17702,7 @@
|
||||||
"MultiTenancySide": 2
|
"MultiTenancySide": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"GroupName": "App.Saas",
|
"GroupName": "App.Administration",
|
||||||
"Name": "App.Definitions.Sector",
|
"Name": "App.Definitions.Sector",
|
||||||
"ParentName": null,
|
"ParentName": null,
|
||||||
"DisplayName": "App.Definitions.Sector",
|
"DisplayName": "App.Definitions.Sector",
|
||||||
|
|
@ -17710,7 +17710,7 @@
|
||||||
"MultiTenancySide": 3
|
"MultiTenancySide": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"GroupName": "App.Saas",
|
"GroupName": "App.Administration",
|
||||||
"Name": "App.Definitions.Sector.Create",
|
"Name": "App.Definitions.Sector.Create",
|
||||||
"ParentName": "App.Definitions.Sector",
|
"ParentName": "App.Definitions.Sector",
|
||||||
"DisplayName": "Create",
|
"DisplayName": "Create",
|
||||||
|
|
@ -17718,7 +17718,7 @@
|
||||||
"MultiTenancySide": 3
|
"MultiTenancySide": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"GroupName": "App.Saas",
|
"GroupName": "App.Administration",
|
||||||
"Name": "App.Definitions.Sector.Update",
|
"Name": "App.Definitions.Sector.Update",
|
||||||
"ParentName": "App.Definitions.Sector",
|
"ParentName": "App.Definitions.Sector",
|
||||||
"DisplayName": "Update",
|
"DisplayName": "Update",
|
||||||
|
|
@ -17726,7 +17726,7 @@
|
||||||
"MultiTenancySide": 3
|
"MultiTenancySide": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"GroupName": "App.Saas",
|
"GroupName": "App.Administration",
|
||||||
"Name": "App.Definitions.Sector.Delete",
|
"Name": "App.Definitions.Sector.Delete",
|
||||||
"ParentName": "App.Definitions.Sector",
|
"ParentName": "App.Definitions.Sector",
|
||||||
"DisplayName": "Delete",
|
"DisplayName": "Delete",
|
||||||
|
|
@ -17734,7 +17734,7 @@
|
||||||
"MultiTenancySide": 3
|
"MultiTenancySide": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"GroupName": "App.Saas",
|
"GroupName": "App.Administration",
|
||||||
"Name": "App.Definitions.Sector.Export",
|
"Name": "App.Definitions.Sector.Export",
|
||||||
"ParentName": "App.Definitions.Sector",
|
"ParentName": "App.Definitions.Sector",
|
||||||
"DisplayName": "Export",
|
"DisplayName": "Export",
|
||||||
|
|
@ -17742,7 +17742,7 @@
|
||||||
"MultiTenancySide": 3
|
"MultiTenancySide": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"GroupName": "App.Saas",
|
"GroupName": "App.Administration",
|
||||||
"Name": "App.Definitions.Sector.Import",
|
"Name": "App.Definitions.Sector.Import",
|
||||||
"ParentName": "App.Definitions.Sector",
|
"ParentName": "App.Definitions.Sector",
|
||||||
"DisplayName": "Import",
|
"DisplayName": "Import",
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,8 @@ public class ListFormAuthorizationManager : PlatformDomainService, IListFormAuth
|
||||||
AuthorizationTypeEnum.Update => permissions.U,
|
AuthorizationTypeEnum.Update => permissions.U,
|
||||||
AuthorizationTypeEnum.Create => permissions.C,
|
AuthorizationTypeEnum.Create => permissions.C,
|
||||||
AuthorizationTypeEnum.Delete => permissions.D,
|
AuthorizationTypeEnum.Delete => permissions.D,
|
||||||
|
AuthorizationTypeEnum.Import => permissions.I,
|
||||||
|
AuthorizationTypeEnum.Export => permissions.E,
|
||||||
_ => permissions.R,
|
_ => permissions.R,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ public class PermissionCrudValueObject : ValueObject
|
||||||
public string R { get; set; }
|
public string R { get; set; }
|
||||||
public string U { get; set; }
|
public string U { get; set; }
|
||||||
public string D { get; set; }
|
public string D { get; set; }
|
||||||
|
public string I { get; set; }
|
||||||
|
public string E { get; set; }
|
||||||
|
|
||||||
protected override IEnumerable<object> GetAtomicValues()
|
protected override IEnumerable<object> GetAtomicValues()
|
||||||
{
|
{
|
||||||
|
|
@ -16,5 +18,7 @@ public class PermissionCrudValueObject : ValueObject
|
||||||
yield return R;
|
yield return R;
|
||||||
yield return U;
|
yield return U;
|
||||||
yield return D;
|
yield return D;
|
||||||
|
yield return I;
|
||||||
|
yield return E;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,10 @@ import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
import DataGrid from 'devextreme-react/data-grid'
|
import DataGrid from 'devextreme-react/data-grid'
|
||||||
import PivotGrid from 'devextreme-react/pivot-grid'
|
import PivotGrid from 'devextreme-react/pivot-grid'
|
||||||
import { ToolbarItem } from 'devextreme/ui/data_grid_types'
|
import { ToolbarItem } from 'devextreme/ui/data_grid_types'
|
||||||
|
import dxDataGrid from 'devextreme/ui/data_grid'
|
||||||
|
import dxPivotGrid from 'devextreme/ui/pivot_grid'
|
||||||
import { Dispatch, MutableRefObject, SetStateAction, useEffect, useState } from 'react'
|
import { Dispatch, MutableRefObject, SetStateAction, useEffect, useState } from 'react'
|
||||||
import { setGridPanelColor } from './Utils'
|
import { setGridPanelColor } from './Utils'
|
||||||
import { useNavigate } from 'react-router-dom'
|
|
||||||
import { usePermission } from '@/utils/hooks/usePermission'
|
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'
|
||||||
|
|
@ -21,6 +22,75 @@ export interface ISelectBoxData {
|
||||||
label?: string
|
label?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Grid tipini kontrol eden yardımcı fonksiyonlar
|
||||||
|
const isDataGrid = (grid: dxDataGrid | dxPivotGrid): grid is dxDataGrid => {
|
||||||
|
return 'clearFilter' in grid
|
||||||
|
}
|
||||||
|
|
||||||
|
const getToolbarItems = (grid: dxDataGrid | dxPivotGrid): any[] => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
const toolbarOptions = grid.option('toolbar')
|
||||||
|
return toolbarOptions?.items || []
|
||||||
|
}
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
|
const setToolbarItemValue = (grid: dxDataGrid | dxPivotGrid, itemName: string, value: any) => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
const toolbarOptions = grid.option('toolbar')
|
||||||
|
if (toolbarOptions?.items) {
|
||||||
|
const index = toolbarOptions.items.findIndex((item: any) => item.name === itemName)
|
||||||
|
if (index > -1 && toolbarOptions.items[index]) {
|
||||||
|
const item = toolbarOptions.items[index] as any
|
||||||
|
if (item.options) {
|
||||||
|
item.options.value = value
|
||||||
|
grid.option('toolbar', toolbarOptions)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const setToolbarItemItems = (grid: dxDataGrid | dxPivotGrid, itemName: string, items: any[]) => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
const toolbarOptions = grid.option('toolbar')
|
||||||
|
if (toolbarOptions?.items) {
|
||||||
|
const index = toolbarOptions.items.findIndex((item: any) => item.name === itemName)
|
||||||
|
if (index > -1 && toolbarOptions.items[index]) {
|
||||||
|
const item = toolbarOptions.items[index] as any
|
||||||
|
if (item.options) {
|
||||||
|
item.options.items = items
|
||||||
|
grid.option('toolbar', toolbarOptions)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const clearGridFilter = (grid: dxDataGrid | dxPivotGrid) => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
grid.clearFilter()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const setFilterPanelVisible = (grid: dxDataGrid | dxPivotGrid, visible: boolean) => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
grid.option('filterPanel', { visible })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const setFilterValue = (grid: dxDataGrid | dxPivotGrid, value: any) => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
grid.option('filterValue', value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const resetGridState = (grid: dxDataGrid | dxPivotGrid) => {
|
||||||
|
if (isDataGrid(grid)) {
|
||||||
|
grid.state(null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const useFilters = ({
|
const useFilters = ({
|
||||||
gridDto,
|
gridDto,
|
||||||
gridRef,
|
gridRef,
|
||||||
|
|
@ -58,7 +128,6 @@ 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 navigate = useNavigate()
|
|
||||||
|
|
||||||
const getFilters = async () => {
|
const getFilters = async () => {
|
||||||
const response = await getListFormCustomization(
|
const response = await getListFormCustomization(
|
||||||
|
|
@ -75,12 +144,8 @@ const useFilters = ({
|
||||||
|
|
||||||
const grid = gridRef?.current?.instance
|
const grid = gridRef?.current?.instance
|
||||||
if (grid) {
|
if (grid) {
|
||||||
const toolbarItems = grid.option('toolbar.items') as ToolbarItem[]
|
setToolbarItemValue(grid, 'selectCustomFilters', '')
|
||||||
const index = toolbarItems?.findIndex((a) => a.name === 'selectCustomFilters')
|
setToolbarItemItems(grid, 'selectCustomFilters', mappedFilters)
|
||||||
if (index > -1) {
|
|
||||||
grid.option(`toolbar.items.${index}.options.value`, '')
|
|
||||||
grid.option(`toolbar.items.${index}.options.items`, mappedFilters)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,7 +206,7 @@ const useFilters = ({
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (checkPermission(gridDto?.gridOptions.permissionDto.u)) {
|
if (checkPermission("App.ListForms.ListForm.Update")) {
|
||||||
menus.push({
|
menus.push({
|
||||||
text: translate('::ListForms.ListForm.Manage'),
|
text: translate('::ListForms.ListForm.Manage'),
|
||||||
id: 'openManage',
|
id: 'openManage',
|
||||||
|
|
@ -192,32 +257,24 @@ const useFilters = ({
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
grid.clearFilter()
|
clearGridFilter(grid)
|
||||||
grid.option('filterPanel.visible', false)
|
setFilterPanelVisible(grid, false)
|
||||||
setGridPanelColor('transparent')
|
setGridPanelColor('transparent')
|
||||||
|
|
||||||
const toolbarItems = grid.option('toolbar.items') as ToolbarItem[]
|
setToolbarItemValue(grid, 'selectCustomFilters', '')
|
||||||
const index = toolbarItems?.findIndex((a) => a.name === 'selectCustomFilters')
|
|
||||||
if (index > -1) {
|
|
||||||
grid.option(`toolbar.items.${index}.options.value`, '')
|
|
||||||
}
|
|
||||||
} else if (itemData.id === 'resetGridState') {
|
} else if (itemData.id === 'resetGridState') {
|
||||||
// state ye kaydedilen grid ayarlarini siler ve gridi resetler
|
// state ye kaydedilen grid ayarlarini siler ve gridi resetler
|
||||||
const grid = gridRef.current?.instance
|
const grid = gridRef.current?.instance
|
||||||
if (!grid) {
|
if (!grid) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
grid.state(null)
|
resetGridState(grid)
|
||||||
|
|
||||||
grid.clearFilter()
|
clearGridFilter(grid)
|
||||||
grid.option('filterPanel.visible', false)
|
setFilterPanelVisible(grid, false)
|
||||||
setGridPanelColor('transparent')
|
setGridPanelColor('transparent')
|
||||||
|
|
||||||
const toolbarItems = grid.option('toolbar.items') as ToolbarItem[]
|
setToolbarItemValue(grid, 'selectCustomFilters', '')
|
||||||
const index = toolbarItems?.findIndex((a) => a.name === 'selectCustomFilters')
|
|
||||||
if (index > -1) {
|
|
||||||
grid.option(`toolbar.items.${index}.options.value`, '')
|
|
||||||
}
|
|
||||||
} else if (itemData.id === 'importManager') {
|
} else if (itemData.id === 'importManager') {
|
||||||
// import modal aç
|
// import modal aç
|
||||||
setIsImportModalOpen(true)
|
setIsImportModalOpen(true)
|
||||||
|
|
@ -259,12 +316,12 @@ const useFilters = ({
|
||||||
try {
|
try {
|
||||||
const filter = filters.find((a) => a.id === e.value)
|
const filter = filters.find((a) => a.id === e.value)
|
||||||
if (filter) {
|
if (filter) {
|
||||||
grid.option('filterValue', JSON.parse(filter.customizationData))
|
setFilterValue(grid, JSON.parse(filter.customizationData))
|
||||||
grid.option('filterPanel.visible', true)
|
setFilterPanelVisible(grid, true)
|
||||||
setGridPanelColor(filteredGridPanelColor)
|
setGridPanelColor(filteredGridPanelColor)
|
||||||
} else {
|
} else {
|
||||||
grid.clearFilter()
|
clearGridFilter(grid)
|
||||||
grid.option('filterPanel.visible', false)
|
setFilterPanelVisible(grid, false)
|
||||||
setGridPanelColor('transparent')
|
setGridPanelColor('transparent')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -282,11 +339,7 @@ const useFilters = ({
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
} finally {
|
} finally {
|
||||||
const toolbarItems = grid.option('toolbar.items') as ToolbarItem[]
|
setToolbarItemValue(grid, 'selectCustomFilters', value)
|
||||||
const index = toolbarItems?.findIndex((a) => a.name === 'selectCustomFilters')
|
|
||||||
if (index > -1) {
|
|
||||||
grid.option(`toolbar.items.${index}.options.value`, value)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,25 @@ const useToolbar = ({
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add searchPanel
|
||||||
|
if (grdOpt.searchPanelDto?.visible) {
|
||||||
|
items.push({
|
||||||
|
locateInMenu: 'auto',
|
||||||
|
showText: 'inMenu',
|
||||||
|
name: 'searchPanel',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
items.push({
|
||||||
|
widget: 'dxButton',
|
||||||
|
name: 'refreshButton',
|
||||||
|
options: {
|
||||||
|
icon: 'refresh',
|
||||||
|
onClick: refreshData,
|
||||||
|
},
|
||||||
|
location: 'after',
|
||||||
|
})
|
||||||
|
|
||||||
// field chooser panel
|
// field chooser panel
|
||||||
if (grdOpt.columnOptionDto?.columnChooserEnabled) {
|
if (grdOpt.columnOptionDto?.columnChooserEnabled) {
|
||||||
items.push({
|
items.push({
|
||||||
|
|
@ -62,6 +81,16 @@ const useToolbar = ({
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add InsertNewRecord button
|
||||||
|
if (grdOpt.editingOptionDto?.allowAdding && checkPermission(grdOpt.permissionDto?.c)) {
|
||||||
|
items.push({
|
||||||
|
locateInMenu: 'auto',
|
||||||
|
showText: 'inMenu',
|
||||||
|
name: 'addRowButton',
|
||||||
|
location: 'after',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// Add group panel
|
// Add group panel
|
||||||
if (grdOpt.groupPanelDto?.visible) {
|
if (grdOpt.groupPanelDto?.visible) {
|
||||||
items.push({
|
items.push({
|
||||||
|
|
@ -171,16 +200,6 @@ const useToolbar = ({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add InsertNewRecord button
|
|
||||||
if (grdOpt.editingOptionDto?.allowAdding && checkPermission(grdOpt.permissionDto?.c)) {
|
|
||||||
items.push({
|
|
||||||
locateInMenu: 'auto',
|
|
||||||
showText: 'inMenu',
|
|
||||||
name: 'addRowButton',
|
|
||||||
location: 'after',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// #region Toolbar icin kullanici tanimli dinamik butonlari ekler
|
// #region Toolbar icin kullanici tanimli dinamik butonlari ekler
|
||||||
for (let i = 0; i < grdOpt.commandColumnDto.length; i++) {
|
for (let i = 0; i < grdOpt.commandColumnDto.length; i++) {
|
||||||
const action = grdOpt.commandColumnDto[i]
|
const action = grdOpt.commandColumnDto[i]
|
||||||
|
|
@ -248,15 +267,6 @@ const useToolbar = ({
|
||||||
}
|
}
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
// Add searchPanel
|
|
||||||
if (grdOpt.searchPanelDto?.visible) {
|
|
||||||
items.push({
|
|
||||||
locateInMenu: 'auto',
|
|
||||||
showText: 'inMenu',
|
|
||||||
name: 'searchPanel',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// batch editing icin kaydet ve geri al butonu
|
// batch editing icin kaydet ve geri al butonu
|
||||||
if (
|
if (
|
||||||
grdOpt.editingOptionDto?.allowUpdating &&
|
grdOpt.editingOptionDto?.allowUpdating &&
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue