| @@ -108,9 +108,9 @@ | ||
| 108 | 108 | SweetAlert.fire( { |
| 109 | 109 | html: modalTemplate.innerHTML, |
| 110 | 110 | showConfirmButton: false, |
| 111 | 111 | showCloseButton: true, |
| 112 | - width: '60%', | |
| 112 | + width: 'max(350px, 65vw)', | |
| 113 | 113 | customClass: { |
| 114 | 114 | popup: 'lp-select-items-popup', |
| 115 | 115 | htmlContainer: 'lp-select-items-html-container', |
| 116 | 116 | container: 'lp-select-items-container', |
| @@ -120,28 +120,37 @@ | ||
| 120 | 120 | |
| 121 | 121 | const elLPTarget = elPopup.querySelector( |
| 122 | 122 | `${ LpPopupSelectItemToAdd.selectors.LPTarget }` |
| 123 | 123 | ); |
| 124 | - if ( elLPTarget ) { | |
| 125 | - const dataSend = | |
| 126 | - window.lpAJAXG.getDataSetCurrent( elLPTarget ); | |
| 127 | - dataSend.args.paged = 1; | |
| 128 | - dataSend.args.item_selecting = itemsSelectedData || []; | |
| 129 | - window.lpAJAXG.setDataSetCurrent( elLPTarget, dataSend ); | |
| 130 | 124 | |
| 131 | - window.lpAJAXG.fetchAJAX( dataSend, { | |
| 132 | - success: ( response ) => { | |
| 133 | - const { data } = response; | |
| 134 | - const elSkeleton = elPopup.querySelector( | |
| 135 | - '.lp-skeleton-animation' | |
| 136 | - ); | |
| 137 | - elSkeleton.remove(); | |
| 138 | - elLPTarget.innerHTML = data.content || ''; | |
| 125 | + // Avoid duplicate AJAX: loadAJAX.js handles fresh elements; skip if already loaded. Set timeout to ensure DOM is ready handle. | |
| 126 | + setTimeout( ()=> { | |
| 127 | + const elLoadAjaxElement = elLPTarget.closest( '.lp-load-ajax-element:not(.loaded)' ); | |
| 128 | + if ( ! elLoadAjaxElement ) { | |
| 129 | + return; | |
| 130 | + } | |
| 139 | 131 | |
| 140 | - this.watchItemsSelectedDataChange(); | |
| 141 | - }, | |
| 142 | - } ); | |
| 143 | - } | |
| 132 | + if ( elLPTarget ) { | |
| 133 | + const dataSend = | |
| 134 | + window.lpAJAXG.getDataSetCurrent( elLPTarget ); | |
| 135 | + dataSend.args.paged = 1; | |
| 136 | + dataSend.args.item_selecting = itemsSelectedData || []; | |
| 137 | + window.lpAJAXG.setDataSetCurrent( elLPTarget, dataSend ); | |
| 138 | + | |
| 139 | + window.lpAJAXG.fetchAJAX( dataSend, { | |
| 140 | + success: ( response ) => { | |
| 141 | + const { data } = response; | |
| 142 | + const elSkeleton = elPopup.querySelector( | |
| 143 | + '.lp-skeleton-animation' | |
| 144 | + ); | |
| 145 | + elSkeleton.remove(); | |
| 146 | + elLPTarget.innerHTML = data.content || ''; | |
| 147 | + | |
| 148 | + this.watchItemsSelectedDataChange(); | |
| 149 | + }, | |
| 150 | + } ); | |
| 151 | + } | |
| 152 | + }, 1 ); | |
| 144 | 153 | }, |
| 145 | 154 | } ).then( ( result ) => { |
| 146 | 155 | if ( result.isDismissed ) { |
| 147 | 156 | } |