PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.8
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.8
4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 All 139 releases
← All changes | assets/src/js/lpPopupSelectItemToAdd.js +28 -19 4.4.54.4.8 View file →
@@ -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 }