Browse Source

Avoid datetimepicker get focus when open a modal

pull/19494/head
liangshiwei 3 years ago
parent
commit
5e0704011d
  1. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelperService.cs
  2. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelperService.cs

@ -94,6 +94,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
{ {
TagHelperOutput = TagHelperOutput = new TagHelperOutput("input", GetInputAttributes(context, output), (_, _) => Task.FromResult<TagHelperContent>(new DefaultTagHelperContent())); TagHelperOutput = TagHelperOutput = new TagHelperOutput("input", GetInputAttributes(context, output), (_, _) => Task.FromResult<TagHelperContent>(new DefaultTagHelperContent()));
AddDataPickerAttribute(TagHelperOutput);
AddDisabledAttribute(TagHelperOutput); AddDisabledAttribute(TagHelperOutput);
AddAutoFocusAttribute(TagHelperOutput); AddAutoFocusAttribute(TagHelperOutput);
AddFormControls(context, output, TagHelperOutput); AddFormControls(context, output, TagHelperOutput);
@ -711,6 +712,11 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
} }
} }
protected virtual void AddDataPickerAttribute(TagHelperOutput inputTagHelperOutput)
{
inputTagHelperOutput.Attributes.Add("data-datepicker", "true");
}
protected virtual void AddDisabledAttribute(TagHelperOutput inputTagHelperOutput) protected virtual void AddDisabledAttribute(TagHelperOutput inputTagHelperOutput)
{ {
if (inputTagHelperOutput.Attributes.ContainsName("disabled") == false && if (inputTagHelperOutput.Attributes.ContainsName("disabled") == false &&

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js

@ -102,7 +102,7 @@ $.validator.defaults.ignore = ''; //TODO: Would be better if we can apply only f
_onOpenCallbacks.triggerAll(_publicApi); _onOpenCallbacks.triggerAll(_publicApi);
if ($firstVisibleInput.hasClass("datepicker")) { if ($firstVisibleInput.data("datepicker")) {
return; //don't pop-up date pickers... return; //don't pop-up date pickers...
} }

Loading…
Cancel
Save