From 10bf95da66d33d3f0648d8196bbebde60b76ca19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sun, 3 May 2026 15:24:46 +0300 Subject: [PATCH] =?UTF-8?q?Wizard=20File=20Manager=20liste=20d=C3=BCzenlen?= =?UTF-8?q?di?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ListForms/Wizard/WizardSeedFileDto.cs | 2 + .../ListForms/ListFormWizardAppService.cs | 2 + ui/src/proxy/admin/wizard/models.ts | 2 + .../listForm/wizard/WizardFileManager.tsx | 176 +++++++++--------- ui/src/views/developerKit/SqlQueryManager.tsx | 16 +- ui/src/views/menu/MenuManager.tsx | 6 +- 6 files changed, 104 insertions(+), 100 deletions(-) diff --git a/api/src/Sozsoft.Platform.Application.Contracts/ListForms/Wizard/WizardSeedFileDto.cs b/api/src/Sozsoft.Platform.Application.Contracts/ListForms/Wizard/WizardSeedFileDto.cs index abb2ba7..8624234 100644 --- a/api/src/Sozsoft.Platform.Application.Contracts/ListForms/Wizard/WizardSeedFileDto.cs +++ b/api/src/Sozsoft.Platform.Application.Contracts/ListForms/Wizard/WizardSeedFileDto.cs @@ -52,6 +52,8 @@ public class WizardFileInfoDto public string FileName { get; set; } public string WizardName { get; set; } public string ListFormCode { get; set; } + public string DefaultLayout { get; set; } + public string MenuIcon { get; set; } public string CreatedAt { get; set; } public bool HasInsertedRecords { get; set; } } diff --git a/api/src/Sozsoft.Platform.Application/ListForms/ListFormWizardAppService.cs b/api/src/Sozsoft.Platform.Application/ListForms/ListFormWizardAppService.cs index e72af51..3aa520a 100644 --- a/api/src/Sozsoft.Platform.Application/ListForms/ListFormWizardAppService.cs +++ b/api/src/Sozsoft.Platform.Application/ListForms/ListFormWizardAppService.cs @@ -407,6 +407,8 @@ public class ListFormWizardAppService( { FileName = fileName, WizardName = seed?.Wizard?.WizardName ?? fileName, + DefaultLayout = seed?.Wizard?.DefaultLayout ?? string.Empty, + MenuIcon = seed?.Wizard?.MenuIcon ?? string.Empty, ListFormCode = seed?.Wizard?.ListFormCode ?? string.Empty, CreatedAt = fileName.Length >= 12 ? fileName[..12] : fileName, HasInsertedRecords = seed?.InsertedRecords != null && diff --git a/ui/src/proxy/admin/wizard/models.ts b/ui/src/proxy/admin/wizard/models.ts index 953a9c1..b1e3b27 100644 --- a/ui/src/proxy/admin/wizard/models.ts +++ b/ui/src/proxy/admin/wizard/models.ts @@ -82,6 +82,8 @@ export interface WizardFileInfoDto { fileName: string wizardName: string listFormCode: string + defaultLayout: string + menuIcon: string createdAt: string hasInsertedRecords: boolean } diff --git a/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx b/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx index ba5a9e7..a3024dd 100644 --- a/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx +++ b/ui/src/views/admin/listForm/wizard/WizardFileManager.tsx @@ -1,7 +1,7 @@ import { useState, useEffect, useCallback, useMemo } from 'react' import { useNavigate } from 'react-router-dom' import classNames from 'classnames' -import { Button, Input, Notification, toast } from '@/components/ui' +import { Badge, Button, Input, Notification, toast } from '@/components/ui' import Container from '@/components/shared/Container' import ConfirmDialog from '@/components/shared/ConfirmDialog' import { @@ -12,6 +12,7 @@ import { FaExclamationTriangle, FaSearch, FaEdit, + FaUser, } from 'react-icons/fa' import { FcAcceptDatabase } from 'react-icons/fc' import { deleteWizardFile, getWizardFiles } from '@/services/wizard.service' @@ -21,17 +22,7 @@ import { useStoreState } from '@/store/store' import { ROUTES_ENUM } from '@/routes/route.constant' import { WizardFileInfoDto } from '@/proxy/admin/wizard/models' import { UiEvalService } from '@/services/UiEvalService' - -// Timestamp formatı: "202605021730" → "2026-05-02 17:30" -const formatTimestamp = (raw: string): string => { - if (raw.length < 12) return raw - const y = raw.slice(0, 4) - const mo = raw.slice(4, 6) - const d = raw.slice(6, 8) - const h = raw.slice(8, 10) - const mi = raw.slice(10, 12) - return `${y}-${mo}-${d} ${h}:${mi}` -} +import navigationIcon from '@/proxy/menus/navigation-icon.config' interface ConfirmState { fileName: string @@ -50,6 +41,9 @@ const WizardFileManager = () => { const [confirm, setConfirm] = useState(null) const [search, setSearch] = useState('') const [showDbMigrateDialog, setShowDbMigrateDialog] = useState(false) + const IconComponent = (icon: string) => { + return navigationIcon[icon] || FaDatabase // default icon + } const filteredFiles = useMemo(() => { const q = search.trim().toLowerCase() @@ -179,64 +173,66 @@ const WizardFileManager = () => { )}
- {filteredFiles.map((f) => ( -
-
- -
-
- {f.wizardName || f.fileName} -
-
- {formatTimestamp(f.createdAt)} - {f.listFormCode} + {filteredFiles.map((f) => { + const Icon = IconComponent(f.menuIcon) + return ( +
+
+ +
+
+ {f.wizardName || f.fileName} +
+
+ {f.fileName} - {f.listFormCode} +
-
-
- {!f.hasInsertedRecords && ( - + {!f.hasInsertedRecords && ( + + + + )} + - + + + +
-
- ))} + ) + })}
-
{/* DB Migrate Confirmation Dialog */} @@ -261,34 +257,36 @@ const WizardFileManager = () => { {/* Delete Confirm Dialog */} {confirm && ( -
-
-
- -
-

{translate('::App.Platform.DeleteAction')}

-

- {translate('::App.Listforms.WizardFileDeleteConfirm')} -

-
-
-
- - +
+
+
+ +
+

+ {translate('::App.Platform.DeleteAction')} +

+

+ {translate('::App.Listforms.WizardFileDeleteConfirm')} +

+
+ + +
- )} +
+ )} ) } diff --git a/ui/src/views/developerKit/SqlQueryManager.tsx b/ui/src/views/developerKit/SqlQueryManager.tsx index d05e60c..dd7b2eb 100644 --- a/ui/src/views/developerKit/SqlQueryManager.tsx +++ b/ui/src/views/developerKit/SqlQueryManager.tsx @@ -882,11 +882,11 @@ GO`, ))}