private void PickerFocused(object sender, Xamarin.Forms.FocusEventArgs e) { EntryDeadline.Unfocus(); Unfocus(); var dpc = new DatePromptConfig(); dpc.OkText = AppResources.OK; dpc.CancelText = AppResources.Cancel; dpc.IsCancellable = true; dpc.MinimumDate = DateTime.Today.AddDays(1); dpc.SelectedDate = ViewModel.DeadlineDT.Date; dpc.Title = AppResources.PickDeadlineDate; dpc.OnAction = dateResult => { if (dateResult.Ok) { var date = dateResult.SelectedDate.Date; date = date.AddSeconds(86399);//23:59.59 of selected day ViewModel.Deadline = DateTimeHelper.ToUnixTime(date.ToUniversalTime()); EntryDeadline.Text = ViewModel.DeadlineString; SelectButton(CustomDateButton); } }; UserDialogs.Instance.DatePrompt(dpc); }
public static DatePickerDialog Build(Activity activity, DatePromptConfig config) { var dateTime = config.SelectedDate ?? DateTime.Now; var dialog = new DatePickerDialog( IsBrokenSamsungDevice() ? new ContextThemeWrapper(activity, Resource.Style.ThemeHoloLightDialog) : activity, (sender, args) => { }, dateTime.Year, dateTime.Month - 1, dateTime.Day ); dialog.SetCancelable(false); if (!String.IsNullOrWhiteSpace(config.Title)) { dialog.SetTitle(config.Title); } if (config.MinimumDate != null) { dialog.DatePicker.MinDate = config.MinimumDate.Value.ToUnixTimestamp(); } if (config.MaximumDate != null) { dialog.DatePicker.MaxDate = config.MaximumDate.Value.ToUnixTimestamp(); } if (config.IsCancellable) { dialog.SetButton( (int)DialogButtonType.Negative, new SpannableString(config.CancelText), (sender, args) => config .OnAction? .Invoke(new DatePromptResult( false, dialog.DatePicker.DateTime.Date )) ); } dialog.SetButton( (int)DialogButtonType.Positive, new SpannableString(config.OkText), (sender, args) => config .OnAction? .Invoke(new DatePromptResult( true, dialog.DatePicker.DateTime.Date )) ); return(dialog); }
private async void EndDate() { DatePromptConfig datePromptConfig = new DatePromptConfig(); datePromptConfig.MaximumDate = DateTime.Now; datePromptConfig.CancelText = "Cancelar"; datePromptConfig.OkText = "Aceptar"; this.EndDateValue = await UserDialogs.Instance.DatePromptAsync(datePromptConfig); this.EndDateString = this.EndDateValue.SelectedDate.ToString(DateTimeFormatString.LatinDate); }
private void DatePrompt() { var dpc = new DatePromptConfig(); dpc.Title = "DatePrompt"; dpc.OkText = "おっけー"; dpc.CancelText = "キャンセル"; dpc.OnAction = (result) => DatePromptOnAction(result); dpc.SelectedDate = DateTime.Now.Date; _dialogs.DatePrompt(dpc); }
public void SetDate() { var config = new DatePromptConfig(); var dialogDate = _dialogs.DatePrompt(config); config.OnAction = async result => { if (result.Ok) { this.DateValue.Value = result.SelectedDate; await GetStatistic(); } }; }
public async Task <DatePromptResult> DisplayDatePrompt(string title, string accept, string cancel) { var datePromptConfig = new DatePromptConfig { Title = title, CancelText = cancel, OkText = accept, SelectedDate = DateTime.Today, UnspecifiedDateTimeKindReplacement = DateTimeKind.Local }; return(await UserDialogs.Instance.DatePromptAsync(datePromptConfig)); }
public static DatePickerDialog Build(Activity activity, DatePromptConfig config) { var dateTime = config.SelectedDate ?? DateTime.Now; var dialog = new DatePickerDialog( activity, (sender, args) => { }, dateTime.Year, dateTime.Month + 1, dateTime.Day ); dialog.SetCancelable(false); if (!String.IsNullOrWhiteSpace(config.Title)) { dialog.SetTitle(config.Title); } if (config.MinimumDate != null) { dialog.DatePicker.MinDate = config.MinimumDate.Value.ToUnixTimestamp(); } if (config.MaximumDate != null) { dialog.DatePicker.MaxDate = config.MaximumDate.Value.ToUnixTimestamp(); } if (config.IsCancellable) { dialog.SetButton( (int)DialogButtonType.Negative, new SpannableString(config.CancelText), (sender, args) => { config.OnResult?.Invoke(new DatePromptResult(false, dialog.DatePicker.DateTime.Date)); } ); } dialog.SetButton( (int)DialogButtonType.Positive, new SpannableString(config.OkText), (sender, args) => { config.OnResult?.Invoke(new DatePromptResult(true, dialog.DatePicker.DateTime.Date)); } ); return(dialog); }
private async void date_Clicked(object sender, EventArgs e) { DatePromptConfig prompt = new DatePromptConfig(); prompt.MaximumDate = DateTime.Today; prompt.SelectedDate = DateTime.Today; var result = await UserDialogs.Instance.DatePromptAsync(prompt); if (prompt.SelectedDate != null) { DateTime date = (DateTime)result.SelectedDate; DayMediaObservableCollection scrollToItem; MediaManager.allMediaDict.TryGetValue(date, out scrollToItem); //Get a date after the time selected if (scrollToItem == null) { //Dates goes from smallest to largest (latest to earliest chronologically ...) List <DateTime> dates = MediaManager.allMediaDict.Keys.ToList(); if (date > dates[dates.Count - 1]) { date = dates[dates.Count - 1]; } else if (date < dates[0]) { date = dates[0]; } for (int i = 0; i <= dates.Count; i++) { if (date <= dates[i]) { date = dates[i]; break; } } scrollToItem = MediaManager.allMediaDict[date]; } flowListView.FlowScrollTo(scrollToItem.getFirstItem(), ScrollToPosition.Center, false); } }
public static DatePickerDialog Build(Activity activity, DatePromptConfig config) { var dateTime = config.SelectedDate ?? DateTime.Now; var dialog = new DatePickerDialog( activity, (sender, args) => { }, dateTime.Year, dateTime.Month - 1, dateTime.Day ); dialog.SetCancelable(false); if (!String.IsNullOrWhiteSpace(config.Title)) dialog.SetTitle(config.Title); if (config.MinimumDate != null) dialog.DatePicker.MinDate = config.MinimumDate.Value.ToUnixTimestamp(); if (config.MaximumDate != null) dialog.DatePicker.MaxDate = config.MaximumDate.Value.ToUnixTimestamp(); if (config.IsCancellable) { dialog.SetButton( (int) DialogButtonType.Negative, new SpannableString(config.CancelText), (sender, args) => config .OnAction? .Invoke(new DatePromptResult( false, dialog.DatePicker.DateTime.Date )) ); } dialog.SetButton( (int)DialogButtonType.Positive, new SpannableString(config.OkText), (sender, args) => config .OnAction? .Invoke(new DatePromptResult( true, dialog.DatePicker.DateTime.Date )) ); return dialog; }
public override IDisposable DatePrompt(DatePromptConfig config) { Dispatch(() => { var calendar = new System.Windows.Controls.Calendar() { DisplayDateStart = config.MinimumDate, DisplayDateEnd = config.MaximumDate, DisplayMode = System.Windows.Controls.CalendarMode.Month, SelectionMode = System.Windows.Controls.CalendarSelectionMode.SingleDate }; if (config.SelectedDate != null) { DateTime selectedDate = DateTime.Today; if (selectedDate > (config.SelectedDate ?? DateTime.MaxValue)) { selectedDate = config.SelectedDate ?? DateTime.MaxValue; } if (selectedDate < (config.SelectedDate ?? DateTime.MinValue)) { selectedDate = config.SelectedDate ?? DateTime.MinValue; } calendar.SelectedDate = selectedDate; } FormsContentDialog dialog = new FormsContentDialog() { Title = config.Title, Content = new System.Windows.Controls.Viewbox() { Stretch = System.Windows.Media.Stretch.Uniform, StretchDirection = System.Windows.Controls.StretchDirection.UpOnly, Child = calendar, }, IsPrimaryButtonEnabled = true, PrimaryButtonText = config.OkText, IsSecondaryButtonEnabled = config.IsCancellable, SecondaryButtonText = config.CancelText }; dialog.PrimaryButtonClick += (s, e) => { HideContentDialog(); config.OnAction(new DatePromptResult(true, calendar.SelectedDate ?? DateTime.Today)); e.Cancel = true; }; dialog.SecondaryButtonClick += (s, e) => { HideContentDialog(); config.OnAction(new DatePromptResult(false, calendar.SelectedDate ?? DateTime.Today)); e.Cancel = true; }; ShowContentDialog(dialog); }); return(new DisposableAction(HideContentDialog)); }
public override IDisposable DatePrompt(DatePromptConfig config) { var picker = new AI.AIDatePickerController { Mode = UIDatePickerMode.Date, SelectedDateTime = config.SelectedDate ?? DateTime.Now, OkText = config.OkText, CancelText = config.CancelText, Ok = x => config.OnAction?.Invoke(new DatePromptResult (true, x.SelectedDateTime)), Cancel = x => config.OnAction?.Invoke(new DatePromptResult(false, x.SelectedDateTime)), }; if (config.MaximumDate != null) picker.MaximumDateTime = config.MaximumDate; if (config.MinimumDate != null) picker.MinimumDateTime = config.MinimumDate; return this.Present(picker); }
public async Task <(bool Ok, DateTime SelectedDate)> DatePromptAsync( DateTime?selectedDate = null, string title = null, string okText = null, string cancelText = null, DateTime?minimumDate = null, DateTime?maximumDate = null, CancellationToken cancelToken = default(CancellationToken)) { var config = new DatePromptConfig { OkText = okText ?? "Ok", CancelText = cancelText ?? "Cancel", SelectedDate = selectedDate, MinimumDate = minimumDate, MaximumDate = maximumDate, Title = title, }; var dialog = await _dialogs.DatePromptAsync(config, cancelToken); return(dialog.Ok, dialog.SelectedDate); }
public override IDisposable DatePrompt(DatePromptConfig config) { throw new NotImplementedException(); }
public IDisposable DatePrompt(DatePromptConfig config) => UserDialogs.Instance.DatePrompt(config);
public Task <DatePromptResult> DatePromptAsync(DatePromptConfig config, CancellationToken?cancelToken = null) { return(UserDialogs.Instance.DatePromptAsync(config, cancelToken)); }
public override IDisposable DatePrompt(DatePromptConfig config) { #if WINDOWS_PHONE_APP throw new NotImplementedException(); #else var picker = new DatePickerControl(); if (config.MinimumDate != null) picker.DatePicker.MinDate = config.MinimumDate.Value; if (config.MaximumDate != null) picker.DatePicker.MaxDate = config.MaximumDate.Value; var popup = this.CreatePopup(picker); if (!config.IsCancellable) picker.CancelButton.Visibility = Visibility.Collapsed; else { picker.CancelButton.Content = config.CancelText; picker.CancelButton.Click += (sender, args) => { var result = new DatePromptResult(false, this.GetDateForCalendar(picker.DatePicker)); config.OnAction?.Invoke(result); popup.IsOpen = false; }; } picker.OkButton.Content = config.OkText; picker.OkButton.Click += (sender, args) => { var result = new DatePromptResult(true, this.GetDateForCalendar(picker.DatePicker)); config.OnAction?.Invoke(result); popup.IsOpen = false; }; if (config.SelectedDate != null) { picker.DatePicker.SelectedDates.Add(config.SelectedDate.Value); picker.DatePicker.SetDisplayDate(config.SelectedDate.Value); } return this.DispatchAndDispose( () => popup.IsOpen = true, () => popup.IsOpen = false ); #endif }
public Task <DatePromptResult> DatePromptAsync(DatePromptConfig config, CancellationToken?cancelToken = null) { throw new NotImplementedException(); }
public Task <DatePromptResult> DatePromptAsync(DatePromptConfig config, CancellationToken?cancelToken = null) { return(null); }
public IDisposable DatePrompt(DatePromptConfig config) { return(new DisposableMock()); }
public Task <DatePromptResult> DatePromptAsync(DatePromptConfig config, CancellationToken?cancelToken = null) { return(Task.FromResult(new DatePromptResult(false, DateTime.Now))); }
public IDisposable DatePrompt(DatePromptConfig config) { return(null); }
public Task <DatePromptResult> DatePromptAsync(DatePromptConfig config, CancellationToken?cancelToken = default(CancellationToken?)) { return(Task.FromResult(new DatePromptResult(true, DateTime.Now))); }