using System.Collections.Generic; using Sozsoft.Platform.Enums; using Volo.Abp.Domain.Values; namespace Sozsoft.Platform.Queries; public class CommandColumn : ValueObject { /// Gridde kullanılacak fonksiyon butonlarının konumunu belirler /// public UiCommandButtonPositionTypeEnum ButtonPosition { get; set; } = UiCommandButtonPositionTypeEnum.CommandColumn; /// Burada yazan yetki ismi kullanicilarin yetkisinde varsa ilgili fonksiyon/buton gorunur olur. /// Boş bırakılmış ise yetkisi var sayılır /// CommandColumn icerisindeki buton icin yeni bir yetki tanimi yapilir, tanimi yapilan yetkinin ismi buraya yazilir /// public string AuthName { get; set; } /// Eklenecek butonun görünen ismi /// public string Text { get; set; } /// Fare ile bağlantı yada icon üzerine gelince çıkacak yazı /// public string Hint { get; set; } /// /// Alabilecegi degerler: /// Url /// The icon's name if the icon is from the DevExtreme icon library: https://js.devexpress.com/Documentation/Guide/Themes_and_Styles/Icons/#Built-In_Icon_Library /// The icon's CSS class if the icon is from an external icon library (see External Icon Libraries) /// The icon in the Base64 format /// The icon in the SVG format. Ensure that the source is reliable. /// /// https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxContextMenu/Configuration/items/#icon /// public string Icon { get; set; } /// Tiklandiginda calistirilacak baglanti /// url icerisine süslü parantez ile {alanismi} girid icerisindeki kolonlarin FieldName bilgileri yazilabilir. /// Bu sekilde ilgili baglanti dinamik olarak olusturulabilir /// Ek olarak yazilabilecek parametreler: /// {ListFormCode} /// public string Url { get; set; } /// /// Alabilecegi Degerler: _blank /// _parent /// _self /// _top /// public string UrlTarget { get; set; } /// UI tarafında çağrılacak dialog component adı /// public string DialogName { get; set; } /// UI tarafında çağrılacak dialog component parametrelerier /// public string DialogParameters { get; set; } /// Url boş ise calisacak 'eval' icerisinde calisacak olan kod /// public string OnClick { get; set; } /// Görünür durumu /// public bool IsVisible { get; set; } = true; /// Dinamik görünürlük kontrolü için JavaScript fonksiyonu /// Örnek: "(e) => !e.row.isEditing" veya "(e) => e.row.data.Status === 'Active'" /// Fonksiyon parametre olarak DevExtreme button event objesini alır (e.row, e.row.data, e.row.isEditing vb.) /// true/false döndürmelidir /// public string VisibleExpression { get; set; } protected override IEnumerable GetAtomicValues() { yield return ButtonPosition; yield return AuthName; yield return Text; yield return Hint; yield return Icon; yield return Url; yield return UrlTarget; yield return DialogName; yield return DialogParameters; yield return OnClick; yield return IsVisible; yield return VisibleExpression; } }