@@ -183,7 +183,7 @@ export class MdsPersianDateTimePicker {
183183 // #region Template
184184
185185 private modalHtmlTemplate = `<div data-mds-dtp data-mds-dtp-guid="{{guid}}" class="modal fade mds-bs-persian-datetime-picker-modal" tabindex="-1" role="dialog" aria-hidden="true">
186- <div class="modal-dialog" data-button-selector>
186+ <div class="modal-dialog">
187187<div class="modal-content">
188188<div class="modal-header" data-mds-dtp-title="true">
189189<h5 class="modal-title">Modal title</h5>
@@ -485,16 +485,7 @@ data-bs-toggle="dropdown" aria-expanded="false">
485485 } ) ;
486486 datePickerBodyHtml = tempDiv . innerHTML ;
487487 if ( setting . modalMode == true ) {
488- const prevModalElement = this . getModal ( ) ;
489- if ( prevModalElement == null ) {
490- let modalHtml = this . modalHtmlTemplate ;
491- modalHtml = modalHtml . replace ( / \{ \{ g u i d \} \} / img, this . guid ) ;
492- tempDiv = document . createElement ( 'div' ) ;
493- tempDiv . innerHTML = modalHtml ;
494- tempDiv . querySelector ( '[data-mds-dtp-title] .modal-title' ) . innerHTML = title ;
495- tempDiv . querySelector ( '[data-name="mds-dtp-body"]' ) . innerHTML = datePickerBodyHtml ;
496- document . querySelector ( 'body' ) . appendChild ( tempDiv ) ;
497- }
488+ this . setModalHtml ( title , datePickerBodyHtml , setting ) ;
498489 this . bsPopover = null ;
499490 setTimeout ( ( ) => {
500491 this . bsModal = new Modal ( this . getModal ( ) ) ;
@@ -977,6 +968,28 @@ data-bs-toggle="dropdown" aria-expanded="false">
977968 private getModal ( ) : Element {
978969 return document . querySelector ( `.modal[data-mds-dtp-guid="${ this . guid } "]` ) ;
979970 }
971+ private setModalHtml ( title : string , datePickerBodyHtml : string , setting : MdsPersianDateTimePickerSetting ) : void {
972+ const prevModalElement = this . getModal ( ) ;
973+ if ( prevModalElement == null ) {
974+ let modalHtml = this . modalHtmlTemplate ;
975+ modalHtml = modalHtml . replace ( / \{ \{ g u i d \} \} / img, this . guid ) ;
976+ const tempDiv = document . createElement ( 'div' ) ;
977+ tempDiv . innerHTML = modalHtml ;
978+ tempDiv . querySelector ( '[data-mds-dtp-title] .modal-title' ) . innerHTML = title ;
979+ tempDiv . querySelector ( '[data-name="mds-dtp-body"]' ) . innerHTML = datePickerBodyHtml ;
980+ document . querySelector ( 'body' ) . appendChild ( tempDiv ) ;
981+ } else {
982+ prevModalElement . querySelector ( '[data-mds-dtp-title] .modal-title' ) . innerHTML = title ;
983+ prevModalElement . querySelector ( '[data-name="mds-dtp-body"]' ) . innerHTML = datePickerBodyHtml ;
984+ }
985+ const modalDialogElement = document . querySelector ( `[data-mds-dtp-guid="${ this . guid } "] .modal-dialog` ) ;
986+ if ( setting . rangeSelector ) {
987+ if ( setting . rangeSelectorMonthsToShow [ 0 ] > 0 || setting . rangeSelectorMonthsToShow [ 1 ] > 0 )
988+ modalDialogElement . classList . add ( 'modal-xl' ) ;
989+ else
990+ modalDialogElement . classList . remove ( 'modal-xl' ) ;
991+ }
992+ }
980993 private getYearsBoxBodyHtml ( setting : MdsPersianDateTimePickerSetting , yearToStart : number ) : MdsPersianDateTimePickerYearToSelect {
981994 // بدست آوردن اچ تی ام ال انتخاب سال
982995 // yearToStart سال شروع
@@ -1517,7 +1530,7 @@ data-bs-toggle="dropdown" aria-expanded="false">
15171530 yearListBox . classList . add ( 'w-0' ) ;
15181531 yearListBox . innerHTML = '' ;
15191532 }
1520- } ;
1533+ }
15211534 private showYearsBox = ( element : Element ) : void => {
15221535 const instance = MdsPersianDateTimePicker . getInstance ( element ) ;
15231536 const setting = instance . setting ;
@@ -1552,7 +1565,7 @@ data-bs-toggle="dropdown" aria-expanded="false">
15521565 else
15531566 element . closest ( '[data-mds-dtp]' ) . querySelector ( '[data-mds-dtp-year-list-box]' ) . innerHTML = yearsToSelectObject . html ;
15541567 this . setPopoverHeaderHtml ( element , setting , this . getYearsBoxHeaderHtml ( setting , yearsToSelectObject . yearStart , yearsToSelectObject . yearEnd ) ) ;
1555- } ;
1568+ }
15561569 private getPopoverHeaderTitle ( setting : MdsPersianDateTimePickerSetting ) : string {
15571570 let selectedDateToShowJson : GetDateTimeJson1 ;
15581571 let title = '' ;
@@ -2108,12 +2121,6 @@ data-bs-toggle="dropdown" aria-expanded="false">
21082121 // #endregion
21092122}
21102123
2111- enum AmPmEnum {
2112- am ,
2113- pm ,
2114- none
2115- }
2116-
21172124interface GetDateTimeJson1 {
21182125 year : number ,
21192126 month : number ,
@@ -2243,7 +2250,7 @@ export class MdsPersianDateTimePickerSetting {
22432250 /**
22442251 * تعداد ماه های قابل نمایش در قابلیت انتخاب بازه تاریخی
22452252 */
2246- rangeSelectorMonthsToShow = [ 0 , 0 ] ;
2253+ rangeSelectorMonthsToShow : number [ ] = [ 0 , 0 ] ;
22472254 /**
22482255 * تاریخ های انتخاب شده در مد بازه انتخابی
22492256 */
0 commit comments