Items hala dolmuyor

This commit is contained in:
Sedat Öztürk 2025-09-18 01:25:17 +03:00
parent 9f5c8276da
commit 8c11fedfc9
6 changed files with 45 additions and 6 deletions

View file

@ -11,6 +11,6 @@ public class ExtraFilterDto
public class ExtraFilterItemsDto
{
public string Key { get; set; }
public string Value { get; set; }
public string Text { get; set; }
}

View file

@ -301,6 +301,45 @@ public class ListFormSelectAppService : PlatformAppService, IListFormSelectAppSe
}
}
if (!listForm.ExtraFilterJson.IsNullOrWhiteSpace())
{
var extraFilterList = JsonSerializer.Deserialize<ExtraFilterEditDto[]>(listForm.ExtraFilterJson) ?? [];
foreach (var extraFilter in extraFilterList)
{
if (!string.IsNullOrWhiteSpace(extraFilter.SqlQuery))
{
var (dynamicDataRepository, connectionString, dataSourceType) = await dynamicDataManager.GetAsync(listForm.IsTenant, listForm.DataSourceCode);
var items = await dynamicDataRepository.QueryAsync(extraFilter.SqlQuery, connectionString);
if (items != null)
{
var filter = result.GridOptions.ExtraFilterDto.FirstOrDefault(a => a.FieldName == extraFilter.FieldName);
if (filter != null)
{
var newItems = new List<ExtraFilterItemsDto>();
// Yeni gelenleri ekle
foreach (var item in items)
{
if (item is IDictionary<string, object> dynamicItem)
{
newItems.Add(new ExtraFilterItemsDto
{
Key = dynamicItem.ContainsKey("Key") ? dynamicItem["Key"]?.ToString() : null,
Value = dynamicItem.ContainsKey("Value") ? dynamicItem["Value"]?.ToString() : null
});
}
}
// Listeyi tekrar array olarak ata
filter.Items = newItems.ToArray(); // burada direkt filter kullan
}
}
}
}
}
return result;
}

View file

@ -82,7 +82,7 @@ define(['./workbox-a959eb95'], (function (workbox) { 'use strict';
"revision": "3ca0b8505b4bec776b69afdba2768812"
}, {
"url": "/index.html",
"revision": "0.0c8gpen89r8"
"revision": "0.ubgloq1q818"
}], {});
workbox.cleanupOutdatedCaches();
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/index.html"), {

View file

@ -735,8 +735,8 @@ export interface ExtraFilterDto {
}
export interface ExtraFilterItemsDto {
key: string
value: string
text: string
}
export interface ExtraFilterEditDto extends ExtraFilterDto {

View file

@ -260,7 +260,7 @@ function JsonRowOpDialogExtraFilter({
</FormItem>
<FormItem
label="Sql Query"
label="Sql Query (Key, Value)"
invalid={errors.sqlQuery && touched.sqlQuery}
errorMessage={errors.sqlQuery}
>

View file

@ -29,8 +29,8 @@ export function GridExtraFilterToolbar({
>
<option value="">Seçiniz</option>
{fs.items.map((item: any) => (
<option key={item.value} value={item.value}>
{item.text}
<option key={item.key} value={item.key}>
{item.value}
</option>
))}
</select>