diff --git a/SiemensIXBlazor/Components/DatePicker/DatePicker.razor b/SiemensIXBlazor/Components/DatePicker/DatePicker.razor index 48a3188..455dd51 100644 --- a/SiemensIXBlazor/Components/DatePicker/DatePicker.razor +++ b/SiemensIXBlazor/Components/DatePicker/DatePicker.razor @@ -5,17 +5,17 @@ @inject IJSRuntime JSRuntime @inherits IXBaseComponent - + diff --git a/SiemensIXBlazor/Components/DatePicker/DatePicker.razor.cs b/SiemensIXBlazor/Components/DatePicker/DatePicker.razor.cs index f1ed217..7de6f10 100644 --- a/SiemensIXBlazor/Components/DatePicker/DatePicker.razor.cs +++ b/SiemensIXBlazor/Components/DatePicker/DatePicker.razor.cs @@ -19,7 +19,7 @@ public partial class DatePicker [Parameter] public static string Format { get; set; } = "yyyy/MM/dd"; [Parameter] - public string From { get; set; } = DateTime.Now.ToString(Format); + public string? From { get; set; } [Parameter] public string? MaxDate { get; set; } [Parameter] @@ -27,12 +27,19 @@ public partial class DatePicker [Parameter] public bool Range { get; set; } = true; [Parameter] - public string TextSelectDate { get; set; } = "Done"; + public string I18nDone { get; set; } = "Done"; + [Parameter] + public string? Locale { get; set; } + [Parameter] + public int WeekStartIndex { get; set; } = 0; [Parameter] public string? To { get; set; } [Parameter] public EventCallback DateRangeChangeEvent { get; set; } [Parameter] + public EventCallback DateChangeEvent { get; set; } + [Parameter] + public EventCallback DateSelectEvent { get; set; } private BaseInterop _interop; @@ -43,6 +50,7 @@ protected async override Task OnAfterRenderAsync(bool firstRender) { _interop = new(JSRuntime); + await _interop.AddEventListener(this, Id, "dateChange", "DateChange"); await _interop.AddEventListener(this, Id, "dateRangeChange", "DateRangeChange"); await _interop.AddEventListener(this, Id, "dateSelect", "DateSelect"); } @@ -57,6 +65,16 @@ public async void DateRangeChange(JsonElement data) await DateRangeChangeEvent.InvokeAsync(jsonData); } + + [JSInvokable] + public async void DateChange(JsonElement data) + { + string jsonDataText = data.GetRawText(); + DatePickerResponse? jsonData = JObject.Parse(jsonDataText) + .ToObject(); + await DateChangeEvent.InvokeAsync(jsonData); + } + [JSInvokable] public async void DateSelect(JsonElement data) {