From 13ca731b96c03c7119480d2bfd187ba2b89fb7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Thu, 18 Jun 2026 13:23:42 +0300 Subject: [PATCH] =?UTF-8?q?Grid=20ve=20Tree=20i=C3=A7in=20Toolbar=20butonl?= =?UTF-8?q?ar=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Seeds/LanguagesData.json | 12 +- .../Seeds/ListFormSeeder_Administration.cs | 230 +++++++-------- .../Seeds/ListFormSeeder_DefaultJsons.cs | 10 +- .../Seeds/ListFormSeeder_Saas.cs | 265 +++++++++--------- ui/src/index.css | 40 +++ ui/src/views/list/useFilters.tsx | 239 ++++++++-------- ui/src/views/list/useToolbar.tsx | 33 ++- 7 files changed, 445 insertions(+), 384 deletions(-) diff --git a/api/src/Sozsoft.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Sozsoft.Platform.DbMigrator/Seeds/LanguagesData.json index e258bc9..003ef74 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Sozsoft.Platform.DbMigrator/Seeds/LanguagesData.json @@ -927,8 +927,8 @@ { "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" + "en": "Drag a column to group them", + "tr": "Gruplamak için bir sütun sürükleyin" }, { "resourceName": "Platform", @@ -5397,14 +5397,14 @@ { "resourceName": "Platform", "key": "ListForms.ListFormEdit.CollapseAll", - "en": "Collapse All", - "tr": "Tümünü Daralt" + "en": "Collapse", + "tr": "Daralt" }, { "resourceName": "Platform", "key": "ListForms.ListFormEdit.ExpandAll", - "en": "Expand All", - "tr": "Tümünü Genişlet" + "en": "Expand", + "tr": "Genişlet" }, { "resourceName": "Platform", diff --git a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs index 0d0421d..c4a3c57 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs @@ -76,10 +76,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(AbpIdentity.PermissionGroups.Create, AbpIdentity.PermissionGroups.Default, AbpIdentity.PermissionGroups.Update, AbpIdentity.PermissionGroups.Delete, AbpIdentity.PermissionGroups.Export, AbpIdentity.PermissionGroups.Import, AbpIdentity.PermissionGroups.Note), @@ -205,10 +205,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = JsonSerializer.Serialize(new SelectionDto { Mode = GridOptions.SelectionAllModeAllPages, @@ -446,10 +446,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -666,10 +666,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Roles.Create, listFormName, PlatformConsts.IdentityPermissions.Roles.Update, PlatformConsts.IdentityPermissions.Roles.Delete, PlatformConsts.IdentityPermissions.Roles.Export, PlatformConsts.IdentityPermissions.Roles.Import, PlatformConsts.IdentityPermissions.Roles.Note), @@ -803,10 +803,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, listFormName, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Delete, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note), @@ -1223,10 +1223,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -1423,9 +1423,9 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep DefaultFilter = DefaultFilterJson, KeyFieldDbSourceType = DbType.Int32, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -1551,10 +1551,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -1769,10 +1769,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = JsonSerializer.Serialize(new { Visible = false }), - GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -1863,10 +1863,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2122,10 +2122,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2265,10 +2265,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2459,10 +2459,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = JsonSerializer.Serialize(new { Visible = false }), - GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2575,10 +2575,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = JsonSerializer.Serialize(new { Visible = false }), - GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2719,10 +2719,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2990,10 +2990,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3096,10 +3096,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3218,10 +3218,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3413,10 +3413,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3599,10 +3599,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3721,10 +3721,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3884,10 +3884,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4012,10 +4012,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4192,10 +4192,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4297,10 +4297,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4385,10 +4385,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4473,10 +4473,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4794,10 +4794,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4900,10 +4900,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), diff --git a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_DefaultJsons.cs b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_DefaultJsons.cs index 267751a..c147922 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_DefaultJsons.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_DefaultJsons.cs @@ -49,10 +49,10 @@ public static class ListFormSeeder_DefaultJsons }); public static readonly string DefaultFilterJson = "\"IsDeleted\" = 'false'"; - public static readonly string DefaultFilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto { Visible = true }); - public static readonly string DefaultHeaderFilterJson = JsonSerializer.Serialize(new { Visible = true }); - public static readonly string DefaultSearchPanelJson = JsonSerializer.Serialize(new { Visible = true }); - public static readonly string DefaultGroupPanelJson = JsonSerializer.Serialize(new { Visible = true }); + public static string DefaultFilterRowJson(bool visible = true) => JsonSerializer.Serialize(new GridFilterRowDto { Visible = visible }); + public static string DefaultHeaderFilterJson(bool visible = true) => JsonSerializer.Serialize(new { Visible = visible }); + public static string DefaultSearchPanelJson(bool visible = true) => JsonSerializer.Serialize(new { Visible = visible }); + public static string DefaultGroupPanelJson(bool visible = true) => JsonSerializer.Serialize(new { Visible = visible }); public static string DefaultColumnOptionJson(bool FocusedRowEnabled = true) => JsonSerializer.Serialize(new GridColumnOptionDto() { ColumnFixingEnabled = true, @@ -91,7 +91,7 @@ public static class ListFormSeeder_DefaultJsons AllowSelectAll = true, Mode = GridOptions.SelectionModeMultiple, SelectAllMode = GridOptions.SelectionAllModeAllPages, - ShowCheckBoxesMode = GridOptions.ShowCheckBoxesModeAlways + ShowCheckBoxesMode = GridOptions.ShowCheckBoxesModeAlways }); public static string DefaultTreeOptionJson(string KeyExpr, string ParentIdExpr, bool AutoExpandAll = true, object RootValue = null) => JsonSerializer.Serialize(new TreeOptionDto { diff --git a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Saas.cs b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Saas.cs index 4702d17..ddf1df5 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Saas.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Saas.cs @@ -82,10 +82,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(TenantManagementPermissions.Tenants.Create, TenantManagementPermissions.Tenants.Default, TenantManagementPermissions.Tenants.Update, TenantManagementPermissions.Tenants.Delete, TenantManagementPermissions.Tenants.Default + ".Export", TenantManagementPermissions.Tenants.Default + ".Import", TenantManagementPermissions.Tenants.Default + ".Note"), @@ -589,10 +589,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -1056,10 +1056,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Int32, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -1224,10 +1224,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -1370,8 +1370,8 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), SearchPanelJson = JsonSerializer.Serialize(new { Visible = false }), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, @@ -1483,9 +1483,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -1632,9 +1632,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -1722,9 +1722,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -1922,9 +1922,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -2058,9 +2058,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -2223,9 +2223,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -2329,10 +2329,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -2531,8 +2531,8 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), SearchPanelJson = JsonSerializer.Serialize(new { Visible = false }), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, @@ -2828,9 +2828,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -2946,10 +2946,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3092,10 +3092,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3199,10 +3199,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3587,10 +3587,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3745,10 +3745,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -3772,6 +3772,7 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency AuthName = listFormName, OnClick = "UiEvalService.ApiClearRedisCache();", IsVisible = true, + Icon="home" }, }), }, autoSave: true @@ -3920,10 +3921,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4057,9 +4058,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeMultiple, FilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto { Visible = true, ApplyFilter = GridOptions.FilterRowApplyFilterAuto }), - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4548,9 +4549,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -4638,10 +4639,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -4875,10 +4876,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -5076,10 +5077,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] { @@ -5313,10 +5314,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -5489,9 +5490,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -5698,9 +5699,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Id", KeyFieldDbSourceType = DbType.String, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -5787,10 +5788,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldName = "Code", KeyFieldDbSourceType = DbType.String, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -6105,10 +6106,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -6337,9 +6338,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -6592,9 +6593,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.String, SortMode = GridOptions.SortModeSingle, DefaultFilter = DefaultFilterJson, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -6727,9 +6728,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, SortMode = GridOptions.SortModeSingle, DefaultFilter = DefaultFilterJson, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -6862,9 +6863,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), @@ -7394,10 +7395,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -7562,10 +7563,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -7763,10 +7764,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, - GroupPanelJson = DefaultGroupPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), + GroupPanelJson = DefaultGroupPanelJson(), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), @@ -8118,9 +8119,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency KeyFieldDbSourceType = DbType.Guid, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, - FilterRowJson = DefaultFilterRowJson, - HeaderFilterJson = DefaultHeaderFilterJson, - SearchPanelJson = DefaultSearchPanelJson, + FilterRowJson = DefaultFilterRowJson(), + HeaderFilterJson = DefaultHeaderFilterJson(), + SearchPanelJson = DefaultSearchPanelJson(), GroupPanelJson = JsonSerializer.Serialize(new { Visible = false }), SelectionJson = DefaultSelectionSingleJson, ColumnOptionJson = DefaultColumnOptionJson(), diff --git a/ui/src/index.css b/ui/src/index.css index 1f2a5cb..ebc3de9 100644 --- a/ui/src/index.css +++ b/ui/src/index.css @@ -113,6 +113,46 @@ div.dialog-after-open > div.dialog-content.maximized { padding: 0 0 !important; } +.dx-datagrid-header-panel > .dx-toolbar .dx-toolbar-before, +.dx-treelist-header-panel > .dx-toolbar .dx-toolbar-before { + width: 70% !important; + max-width: 70% !important; +} + +.dx-datagrid-header-panel > .dx-toolbar .dx-toolbar-after, +.dx-treelist-header-panel > .dx-toolbar .dx-toolbar-after { + width: 30% !important; + max-width: 30% !important; + margin-left: auto; + text-align: right; + white-space: nowrap; +} + +.dx-datagrid-header-panel > .dx-toolbar .dx-toolbar-after .dx-toolbar-item, +.dx-treelist-header-panel > .dx-toolbar .dx-toolbar-after .dx-toolbar-item { + padding-inline: 2px !important; +} + +.dx-datagrid-header-panel > .dx-toolbar .dx-toolbar-after .dx-button-content, +.dx-treelist-header-panel > .dx-toolbar .dx-toolbar-after .dx-button-content { + padding-inline: 6px !important; +} + +.dx-datagrid-header-panel > .dx-toolbar .dx-toolbar-menu-container, +.dx-treelist-header-panel > .dx-toolbar .dx-toolbar-menu-container { + margin-left: 2px !important; +} + +.dx-datagrid-header-panel .dx-button .dx-button-text, +.dx-treelist-header-panel .dx-button .dx-button-text { + text-transform: uppercase !important; +} + +.dx-toolbar-menu-section .dx-list-item-content, +.dx-toolbar-menu-section .dx-item-content { + text-transform: uppercase !important; +} + @media (max-width: 767px), (pointer: coarse) { .mobile-edit-popup.dx-overlay-wrapper, .dx-overlay-wrapper.mobile-edit-popup { diff --git a/ui/src/views/list/useFilters.tsx b/ui/src/views/list/useFilters.tsx index 44a380a..a30993b 100644 --- a/ui/src/views/list/useFilters.tsx +++ b/ui/src/views/list/useFilters.tsx @@ -30,6 +30,23 @@ export interface ISelectBoxData { } type GridInstance = dxDataGrid | dxPivotGrid | dxTreeList | dxGantt +type FilterToolbarActionId = + | 'openDynamicGridReport' + | 'saveActiveFilter' + | 'deleteFilter' + | 'clearFilter' + | 'fitColumns' + | 'saveGridState' + | 'resetGridState' + | 'importManager' + | 'permissionGrantedUsers' + | 'openManage' + +type FilterToolbarAction = { + text: string + id: FilterToolbarActionId + icon: string +} // Grid tipini kontrol eden yardımcı fonksiyonlar const isDataGrid = (grid: GridInstance): grid is dxDataGrid => { @@ -180,10 +197,15 @@ const getReportSort = (grid: GridInstance) => { .filter((column: any) => column?.sortOrder && (column.dataField || column.name)) .sort((left: any, right: any) => { const leftIndex = Number.isInteger(left.sortIndex) ? left.sortIndex : Number.MAX_SAFE_INTEGER - const rightIndex = Number.isInteger(right.sortIndex) ? right.sortIndex : Number.MAX_SAFE_INTEGER + const rightIndex = Number.isInteger(right.sortIndex) + ? right.sortIndex + : Number.MAX_SAFE_INTEGER return leftIndex - rightIndex }) - .map((column: any) => `${column.dataField || column.name} ${column.sortOrder === 'desc' ? 'desc' : 'asc'}`) + .map( + (column: any) => + `${column.dataField || column.name} ${column.sortOrder === 'desc' ? 'desc' : 'asc'}`, + ) .join(MULTIVALUE_DELIMITER) } @@ -260,6 +282,8 @@ const useFilters = ({ const grdOpt = gridDto?.gridOptions const config = useStoreState((state) => state.abpConfig.config) + const toolbarCulture = config?.localization.currentCulture.cultureName ?? 'tr-TR' + const toToolbarText = (text: string) => text.toLocaleUpperCase(toolbarCulture) const permissionNames = [ grdOpt?.permissionDto?.r, grdOpt?.permissionDto?.c, @@ -307,43 +331,109 @@ const useFilters = ({ }) } - const menus = [] + const menuActions: FilterToolbarAction[] = [] const openDynamicGridReport = () => { const grid = gridRef.current?.instance() const reportName = grid && isTreeList(grid) ? 'DynamicTree' : 'DynamicGrid' const reportUrl = createDynamicListReportUrl(grid, listFormCode, reportName) window.open(reportUrl, isPwaMode ? '_self' : '_blank') } + const handleToolbarActionClick = (id: FilterToolbarActionId) => { + if (id === 'saveActiveFilter') { + // aktif filtreyi kaydetmek icin ilgili ekrani ac + setIsCreateUpdateModalOpen(true) + } else if (id === 'deleteFilter') { + // aktif filtreyi kaydetmek icin ilgili ekrani ac + setIsDeleteModalOpen(true) + } else if (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 (id === 'openManage') { + window.open( + ROUTES_ENUM.protected.saas.listFormManagement.edit.replace(':listFormCode', listFormCode), + isPwaMode ? '_self' : '_blank', + ) + } else if (id === 'clearFilter') { + // gridin bütün filtrelerini temizle + const grid = gridRef.current?.instance() + if (!grid) { + return + } + + clearGridFilter(grid) + setFilterPanelVisible(grid, false) + setGridPanelColor('transparent') + + setToolbarItemValue(grid, 'selectCustomFilters', '') + } else if (id === 'saveGridState') { + // Grid'in mevcut state'ini kaydet + const grid = gridRef.current?.instance() + if (!grid) { + return + } + + if (saveGridState && supportsState(grid)) { + const currentState = grid.state() + saveGridState(currentState).catch(() => { + // Error handling already done in customSaveState + }) + } + } else if (id === 'resetGridState') { + // state ye kaydedilen grid ayarlarini siler ve gridi resetler + const grid = gridRef.current?.instance() + if (!grid) { + return + } + resetGridState(grid) + + clearGridFilter(grid) + setFilterPanelVisible(grid, false) + setGridPanelColor('transparent') + + setToolbarItemValue(grid, 'selectCustomFilters', '') + } else if (id === 'importManager') { + // import modal aç + setIsImportModalOpen(true) + } else if (id === 'permissionGrantedUsers') { + setIsPermissionUsersModalOpen(true) + } else if (id === 'openDynamicGridReport') { + openDynamicGridReport() + } + } // #region Save/Reset grid state and Filters if (grdOpt.filterRowDto?.allowUserUiFilterSave || grdOpt.stateStoringDto?.enabled) { //Kullanicinin filtre islemi yapmasina izin verilmis ise filtreleme menu elemanlarini ekle if (grdOpt?.filterRowDto?.allowUserUiFilterSave) { - menus.push({ - text: translate('::App.Reports.List'), + menuActions.push({ + text: toToolbarText(translate('::App.Reports.List')), id: 'openDynamicGridReport', icon: 'doc', }) - menus.push({ - text: translate('::ListForms.ListForm.SaveFilter'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.SaveFilter')), id: 'saveActiveFilter', icon: 'save', }) - menus.push({ - text: translate('::ListForms.ListForm.DeleteFilter'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.DeleteFilter')), id: 'deleteFilter', icon: 'trash', }) - menus.push({ - text: translate('::ListForms.ListForm.RemoveFilter'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.RemoveFilter')), id: 'clearFilter', icon: 'close', }) } if (grdOpt?.columnOptionDto?.columnAutoWidth) { - menus.push({ - text: translate('::ListForms.ListForm.FitColumns'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.FitColumns')), id: 'fitColumns', icon: 'columnchooser', }) @@ -351,14 +441,14 @@ const useFilters = ({ //Kullanicinin gridstate kaydi yapmasina izin verilmis ise gridState menu elemanlarini ekle if (grdOpt?.stateStoringDto?.enabled) { - menus.push({ - text: translate('::ListForms.ListForm.SaveGridState'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.SaveGridState')), id: 'saveGridState', icon: 'save', }) - menus.push({ - text: translate('::ListForms.ListForm.ResetGridState'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.ResetGridState')), id: 'resetGridState', icon: 'revert', }) @@ -367,8 +457,8 @@ const useFilters = ({ // Import, Manage ve Export: filtre/state ayarından bağımsız olarak her zaman kontrol et if (checkPermission(gridDto?.gridOptions.permissionDto.i)) { - menus.push({ - text: translate('::ListForms.ListForm.ImportManager'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.ImportManager')), id: 'importManager', icon: 'upload', }) @@ -376,15 +466,15 @@ const useFilters = ({ if (checkPermission('App.Listforms.Listform.Update')) { if (permissionNames.length > 0) { - menus.push({ - text: translate('::ListForms.ListForm.GrantedUsers'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.GrantedUsers')), id: 'permissionGrantedUsers', icon: 'user', }) } - menus.push({ - text: translate('::ListForms.ListForm.Manage'), + menuActions.push({ + text: toToolbarText(translate('::ListForms.ListForm.Manage')), id: 'openManage', icon: 'preferences', }) @@ -398,102 +488,23 @@ const useFilters = ({ }) } - if (menus.length > 0) { - - // filtre islemleri ile ilgili fonksiyonlar sayisi cok oldugu icin menu icerisine alindi - const menuFilterButtons: ToolbarItem = { + menuActions.forEach((action) => { + items.push({ location: 'after', - widget: 'dxMenu', - name: 'filterMenuButtons', + widget: 'dxButton', + name: action.id, locateInMenu: 'auto', - showText: 'inMenu', + showText: 'always', options: { - // filtre menüsündeki elemanlarin tıklama islemleri burada yönetiliyor. - onItemClick: function (e: any) { - if (!e.itemData) { - return - } - const { itemData, event } = e - if (itemData.id === 'saveActiveFilter') { - // aktif filtreyi kaydetmek icin ilgili ekrani ac - setIsCreateUpdateModalOpen(true) - } else if (itemData.id === 'deleteFilter') { - // aktif filtreyi kaydetmek icin ilgili ekrani ac - 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') { - window.open( - ROUTES_ENUM.protected.saas.listFormManagement.edit.replace( - ':listFormCode', - listFormCode, - ), - isPwaMode ? '_self' : '_blank', - ) - } else if (itemData.id === 'clearFilter') { - // gridin bütün filtrelerini temizle - const grid = gridRef.current?.instance() - if (!grid) { - return - } - - clearGridFilter(grid) - setFilterPanelVisible(grid, false) - setGridPanelColor('transparent') - - setToolbarItemValue(grid, 'selectCustomFilters', '') - } else if (itemData.id === 'saveGridState') { - // Grid'in mevcut state'ini kaydet - const grid = gridRef.current?.instance() - if (!grid) { - return - } - - if (saveGridState && supportsState(grid)) { - const currentState = grid.state() - saveGridState(currentState).catch(() => { - // Error handling already done in customSaveState - }) - } - } else if (itemData.id === 'resetGridState') { - // state ye kaydedilen grid ayarlarini siler ve gridi resetler - const grid = gridRef.current?.instance() - if (!grid) { - return - } - resetGridState(grid) - - clearGridFilter(grid) - setFilterPanelVisible(grid, false) - setGridPanelColor('transparent') - - setToolbarItemValue(grid, 'selectCustomFilters', '') - } else if (itemData.id === 'importManager') { - // import modal aç - setIsImportModalOpen(true) - } else if (itemData.id === 'permissionGrantedUsers') { - setIsPermissionUsersModalOpen(true) - } else if (itemData.id === 'openDynamicGridReport') { - openDynamicGridReport() - } + icon: action.icon, + text: action.text, + hint: action.text, + onClick() { + handleToolbarActionClick(action.id) }, - // filtre menüsündeki elemanlar - items: [ - { - text: translate('::ListForms.ListForm.GridMenu'), - items: menus, - icon: 'overflow', - }, - ], }, - } - items.push(menuFilterButtons) - } + }) + }) // Add CustomFilter operationskullanici tanimli grid filtrelerini uygulamak icin kullanilir if (grdOpt.filterRowDto?.allowUserUiFilterSave && filters?.length) { diff --git a/ui/src/views/list/useToolbar.tsx b/ui/src/views/list/useToolbar.tsx index db82a93..471608f 100644 --- a/ui/src/views/list/useToolbar.tsx +++ b/ui/src/views/list/useToolbar.tsx @@ -72,6 +72,14 @@ const useToolbar = ({ const { checkPermission } = usePermission() const isPwaMode = usePWA() const currentUser = useStoreState((state) => state.auth.user) + const currentLang = useStoreState((state) => state.locale.currentLang) + const currentCulture = useStoreState( + (state) => state.abpConfig.config?.localization.currentCulture.cultureName, + ) + const localizationTexts = useStoreState((state) => state.abpConfig.texts) + const toolbarCulture = currentCulture ?? currentLang ?? 'tr-TR' + const toToolbarText = (text: string) => text.toLocaleUpperCase(toolbarCulture) + const translateToolbar = (localizationKey: string) => toToolbarText(translate(localizationKey)) const [toolbarData, setToolbarData] = useState([]) const [toolbarModalData, setToolbarModalData] = useState() @@ -103,7 +111,7 @@ const useToolbar = ({ name: 'addRowButton', location: 'after', options: { - text: translate('::ListForms.ListForm.AddNewRecord'), + text: translateToolbar('::ListForms.ListForm.AddNewRecord'), hint: translate('::ListForms.ListForm.AddNewRecord'), onClick() { window.open(grdOpt.editingOptionDto?.addPageUrl, isPwaMode ? '_self' : '_blank') @@ -117,7 +125,7 @@ const useToolbar = ({ name: 'addRowButton', location: 'after', options: { - text: translate('::ListForms.ListForm.AddNewRecord'), + text: translateToolbar('::ListForms.ListForm.AddNewRecord'), hint: translate('::ListForms.ListForm.AddNewRecord'), }, }) @@ -132,7 +140,7 @@ const useToolbar = ({ options: { icon: 'refresh', onClick: refreshData, - text: translate('::ListForms.ListForm.Refresh'), + text: translateToolbar('::ListForms.ListForm.Refresh'), }, location: 'after', }) @@ -153,7 +161,7 @@ const useToolbar = ({ showText: 'always', options: { icon: 'play', - text: 'Workflow Start', + text: toToolbarText('Workflow Start'), hint: 'Workflow Start', visible: true, disabled: true, @@ -212,7 +220,7 @@ const useToolbar = ({ showText: 'always', options: { icon: 'check', - text: criteria.title, + text: toToolbarText(criteria.title), hint: criteria.title, visible: true, disabled: true, @@ -282,7 +290,7 @@ const useToolbar = ({ showText: 'always', options: { icon: 'plus', - text: translate('::ListForms.ListFormEdit.ExpandAll'), + text: translateToolbar('::ListForms.ListFormEdit.ExpandAll'), onClick: expandAll, }, location: 'after', @@ -296,7 +304,7 @@ const useToolbar = ({ showText: 'always', options: { icon: 'minus', - text: translate('::ListForms.ListFormEdit.CollapseAll'), + text: translateToolbar('::ListForms.ListFormEdit.CollapseAll'), onClick: collapseAll, }, location: 'after', @@ -307,9 +315,10 @@ const useToolbar = ({ if (grdOpt.columnOptionDto?.columnChooserEnabled) { items.push({ locateInMenu: 'auto', - showText: 'inMenu', + showText: 'always', name: 'columnChooserButton', options: { + text: translateToolbar('::ListForms.ListForm.ColumnChooser'), hint: translate('::ListForms.ListForm.ColumnChooser'), }, }) @@ -334,7 +343,7 @@ const useToolbar = ({ showText: 'inMenu', name: 'deleteSelectedRecords', options: { - text: translate('::ListForms.ListForm.DeleteSelectedRecords'), + text: translateToolbar('::ListForms.ListForm.DeleteSelectedRecords'), icon: 'trash', visible: false, async onClick() { @@ -421,7 +430,7 @@ const useToolbar = ({ showText: 'always', name: 'deleteAllRecords', options: { - text: translate('::ListForms.ListForm.DeleteAllRecords'), + text: translateToolbar('::ListForms.ListForm.DeleteAllRecords'), hint: translate('::ListForms.ListForm.DeleteAllRecords'), icon: 'trash', visible: true, @@ -507,7 +516,7 @@ const useToolbar = ({ name: action.hint, options: { hint: translate('::' + action.hint), - text: translate('::' + action.text), + text: translateToolbar('::' + action.text), icon: action.icon, visible: true, onClick(e: any) { @@ -587,7 +596,7 @@ const useToolbar = ({ if (!gridDto && !listFormCode) return getToolbarData() - }, [gridDto, listFormCode, currentUser]) + }, [gridDto, listFormCode, currentUser, currentLang, currentCulture, localizationTexts]) return { toolbarData,