ExtraFilterDto Items kısmı çalıştırıldı
This commit is contained in:
parent
8c11fedfc9
commit
fef0623349
7 changed files with 23 additions and 19 deletions
|
|
@ -1,4 +1,6 @@
|
|||
namespace Kurs.Platform.ListForms;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kurs.Platform.ListForms;
|
||||
|
||||
public class ExtraFilterDto
|
||||
{
|
||||
|
|
@ -6,7 +8,7 @@ public class ExtraFilterDto
|
|||
public string Caption { get; set; }
|
||||
public string Operator { get; set; }
|
||||
public string DefaultValue { get; set; }
|
||||
public ExtraFilterItemsDto[] Items { get; set; }
|
||||
public List<ExtraFilterItemsDto> Items { get; set; }
|
||||
}
|
||||
|
||||
public class ExtraFilterItemsDto
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ public class ListFormAutoMapperProfile : Profile
|
|||
CreateMap<SubFormRelationDto, SubFormRelation>().ReverseMap();
|
||||
CreateMap<WidgetEditDto, Widget>().ReverseMap();
|
||||
CreateMap<ExtraFilterDto, ExtraFilter>().ReverseMap();
|
||||
CreateMap<ExtraFilterItemsDto, ExtraFilterItems>().ReverseMap();
|
||||
CreateMap<ExtraFilterEditDto, ExtraFilterDto>().ReverseMap();
|
||||
CreateMap<ExtraFilterEditDto, ExtraFilterDto>()
|
||||
.ForMember(dest => dest.Items, opt => opt.MapFrom(src => src.Items));
|
||||
CreateMap<ExtraFilterEditDto, ExtraFilter>().ReverseMap();
|
||||
|
||||
CreateMap<ListFormImport, ListFormsImportDto>();
|
||||
|
|
|
|||
|
|
@ -308,18 +308,19 @@ public class ListFormSelectAppService : PlatformAppService, IListFormSelectAppSe
|
|||
{
|
||||
if (!string.IsNullOrWhiteSpace(extraFilter.SqlQuery))
|
||||
{
|
||||
var (dynamicDataRepository, connectionString, dataSourceType) = await dynamicDataManager.GetAsync(listForm.IsTenant, listForm.DataSourceCode);
|
||||
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);
|
||||
var filters = result.GridOptions.ExtraFilterDto.ToList();
|
||||
var filter = filters.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)
|
||||
|
|
@ -332,9 +333,11 @@ public class ListFormSelectAppService : PlatformAppService, IListFormSelectAppSe
|
|||
}
|
||||
}
|
||||
|
||||
// Listeyi tekrar array olarak ata
|
||||
filter.Items = newItems.ToArray(); // burada direkt filter kullan
|
||||
filter.Items = newItems;
|
||||
}
|
||||
|
||||
// 🔑 yeniden atıyoruz ki setter çalışsın
|
||||
result.GridOptions.ExtraFilterDto = filters.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12262,6 +12262,12 @@
|
|||
"en": "Extra Filters",
|
||||
"tr": "Ekstra Filtreler"
|
||||
},
|
||||
{
|
||||
"resourceName": "Platform",
|
||||
"key": "ListForms.ListFormEdit.ExtraFiltersDescription",
|
||||
"en": "You can create extra filter fields on the Grid.",
|
||||
"tr": "Grid üzerinde ek filtre alanları oluşturabilirsiniz."
|
||||
},
|
||||
{
|
||||
"resourceName": "Platform",
|
||||
"key": "ListForms.ListFormEdit.ExtraFieldName",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ public class ExtraFilter : ValueObject
|
|||
public string Operator { get; set; }
|
||||
public string DefaultValue { get; set; }
|
||||
public string SqlQuery { get; set; }
|
||||
public ExtraFilterItems[] Items { get; set; }
|
||||
|
||||
protected override IEnumerable<object> GetAtomicValues()
|
||||
{
|
||||
|
|
@ -19,12 +18,5 @@ public class ExtraFilter : ValueObject
|
|||
yield return Operator;
|
||||
yield return DefaultValue;
|
||||
yield return SqlQuery;
|
||||
yield return Items;
|
||||
}
|
||||
}
|
||||
|
||||
public class ExtraFilterItems
|
||||
{
|
||||
public string Value { get; set; }
|
||||
public string Text { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ const schema = object().shape({
|
|||
fieldName: string().required('Field Name Required'),
|
||||
caption: string().required('Caption Required'),
|
||||
operator: string().required('Operator Required'),
|
||||
defaultValue: string().required('Value Required'),
|
||||
defaultValue: string(),
|
||||
sqlQuery: string().required('SQL Query Required'),
|
||||
})
|
||||
|
||||
|
|
@ -154,6 +154,7 @@ function JsonRowOpDialogExtraFilter({
|
|||
onSubmit={async (values, { setSubmitting }) => {
|
||||
setSubmitting(true)
|
||||
try {
|
||||
delete values.items
|
||||
const input: ListFormJsonRowDto = {
|
||||
index: data.index,
|
||||
fieldName: data.tabName,
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ export function GridExtraFilterToolbar({
|
|||
)
|
||||
}
|
||||
>
|
||||
<option value="">Seçiniz</option>
|
||||
{!fs.defaultValue && <option value="">Seçiniz</option>}
|
||||
{fs.items.map((item: any) => (
|
||||
<option key={item.key} value={item.key}>
|
||||
{item.value}
|
||||
|
|
|
|||
Loading…
Reference in a new issue