PageSourceSearch

https://school.fsop.net/wp-content/plugins/learndash-attendance/assets/js/ldat-front-script.js?ver=1.8.1

js fsop.net collected 2026-09-28 15:15:01 UTC 18,293 bytes, 362 lines download raw bytes

1(function( $ ) { 'use strict';
2    $( document ).ready( function() {
3        var LDATS_Front = {
4            init: function() {
5                var toggler = document.getElementsByClassName("ldat-caret");
6                var i;
7
8                for (i = 0; i < toggler.length; i++) {
9                    toggler[i].addEventListener("click", function() {
10                        this.parentElement.querySelector(".ldat-nested").classList.toggle("active");
11                        this.classList.toggle("ldat-caret-down");
12                    });
13                }
14                this.attendance_btn_ajax();
15                this.mark_attendance_user_select2_init();
16                /* Lesson Attendance */
17                this.search_lesson_attendance_users_select2_init();
18                this.mark_lesson_attendance_form_init();
19                /* End Lesson */
20                /* Start - Topic Attendance  */
21                this.mark_topic_attendance_form_init();
22                this.search_topic_attendance_users_select2_init();
23                /* End - Topic Attendance  */
24                this.mark_attendance_form_init();
25
26            },
27            attendance_btn_ajax : function() {
28                $('.ldat-attendance-btn').on( 'click', function() {
29                    var post_id = $(this).data( 'course_id' );
30                    var user_ID = $(this).data( 'user_id' );
31
32                    $.ajax({
33                        url : ldat_ajax_url.ajax_url,
34                        type : 'post',
35                        data : {
36                            action : 'ldat_attendance_btn_ajax_action',
37                            pid : post_id,
38                            uid : user_ID
39                        },
40                        success : function( response ) {
41
42                            var suffix = response.match(/\d+/);
43                            if ( suffix[0] == "2" ) {
44                                $("#ldat-ajax-response-id span").addClass( 'ldat-error' );
45                            } else if( suffix[0] == "1" || suffix[0] == "3") {
46                                $("#ldat-ajax-response-id span").addClass( 'ldat-success' );
47                            }
48                            $("#ldat-ajax-response-id span").html( response.replace(/\d+/g, '') );
49                        }
50                    });
51                });
52            },
53            mark_attendance_user_select2_init: function() {
54
55
56                var select2Input = $('.ldat-select2').select2({
57                    width: '100%',
58                    placeholder: 'Select enrolled students',
59                    closeOnSelect:true,
60                    allowHtml: true,
61                    multiple: true,
62                    allowClear: true,
63                    ajax: {
64                        url: ldat_ajax_url.ajax_url, // AJAX URL is predefined in WordPress admin
65                        dataType: 'json',
66                        delay: 250, // delay in ms while typing when to perform a AJAX search
67                        data: function (params) {
68                            // $(this).val(null).trigger('change');
69                            return {
70                                q: params.term, // search query
71                                action: 'get_course_enrolled_users', // AJAX action for admin-ajax.php
72                                post_id: $(this).data( 'post_id' ),
73                                page: params.page
74                            };
75                        },
76                        processResults: function (data, params) {
77                            params.page = params.page || 1;
78
79                            return {
80                                results: data.results,
81                                pagination: {
82                                    more: (params.page * 10) < data.count_total
83                                }
84                            };
85                        },
86                        cache: true
87                    },
88                    minimumInputLength: 3 // the minimum of symbols to input before perform a search
89                }).on('change', function(e) {
90                    var selected_option = $('.ldat-select2').select2('data');
91                     // $('.ldat-select2').val('').trigger('change');
92                });
93            },
94            mark_attendance_form_init:function() {
95                $('#ldat-mark-attendance-form,#ldat-mark-attendance-user').on('submit', function(e) {
96
97                    e.preventDefault();
98
99                    if( this.id == 'ldat-mark-attendance-form' ) {
100                        //a workaround for a problem wp_editor value blank on first submit
101                        window.tinyMCE.triggerSave();
102                    }
103
104                    var form_id = $(this).attr('id');
105                    var button = $('#' + form_id).find('.ldat-button-mark-attendance');
106                    $.ajax({
107                        url : ldat_ajax_url.ajax_url,
108                        type : 'post',
109                        data : $(this).serialize(),
110                        beforeSend: function() {
111                            button.attr('disabled', true);
112                            button.text(button.data('loading-text'));
113                            if(form_id != 'ldat-mark-attendance-user') {
114                                var message_span = $('#ldat_mark_attendance_message');
115                                message_span.hide();
116                            }
117                        },
118                        error: function(xhr, textStatus, errorThrown) {
119
120                            button.text(button.data('default-text')).attr('disabled', false);
121
122                            if(form_id != 'ldat-mark-attendance-user') {
123                                var message_span = $('#ldat_mark_attendance_message');
124                                message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message);
125                            } else {
126
127                                var message_span = $('#ldat_mark_attendance_message_user');
128                                message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message);
129                            }
130                        },
131                        success : function( response ) {
132
133                            if(form_id == 'ldat-mark-attendance-user') {
134                                button.text(response.message).delay(1400).slideUp('slow');
135                            } else {
136                                button.attr('disabled', false);
137                                button.text(button.data('default-text'));
138
139                                var message_span = $('#ldat_mark_attendance_message');
140                                message_span.removeClass('frontend_box-error').addClass('frontend_box-success').slideDown('slow').text(response.message);
141
142                                $('.ldat-select2').val('').trigger('change');
143                                $('.ldat-topic-user-search-select2').val('').trigger('change');
144                                $('.ldat-lesson-user-search-select2').val('').trigger('change');
145                            }
146                        }
147                    });
148
149                });
150
151                $('button.frontend_box_close').on('click', function(e) {
152                    e.preventDefault();
153                    $(this).parent('.frontend_box').slideUp('slow');
154                });
155            },
156            /* Start - Lesson Manual Attendance */
157            search_lesson_attendance_users_select2_init: function() {
158
159
160                var select2Input = $('.ldat-lesson-user-search-select2').select2({
161                    width: '100%',
162                    placeholder: 'Select enrolled students',
163                    closeOnSelect:false,
164                    allowHtml: true,
165                    multiple: true,
166                    allowClear: true,
167                    ajax: {
168                        url: ldat_ajax_url.ajax_url, // AJAX URL is predefined in WordPress admin
169                        dataType: 'json',
170                        delay: 250, // delay in ms while typing when to perform a AJAX search
171                        data: function (params) {
172                            // $(this).val(null).trigger('change');
173                            return {
174                                q: params.term, // search query
175                                action: 'get_lesson_course_groups_users', // AJAX action for admin-ajax.php
176                                lesson_id: $(this).data( 'lesson_id' ),
177                                page: params.page
178                            };
179                        },
180                        processResults: function (data, params) {
181                            params.page = params.page || 1;
182
183                            return {
184                                results: data.results,
185                                pagination: {
186                                    more: (params.page * 10) < data.count_total
187                                }
188                            };
189                        },
190                        cache: true
191                    },
192                    minimumInputLength: 3 // the minimum of symbols to input before perform a search
193                }).on('change', function(e) {
194                    var selected_option = $('.ldat-lesson-user-search-select2').select2('data');
195                });
196            },
197            mark_lesson_attendance_form_init:function() {
198                $('#ldat-mark-lesson-attendance-user,#ldat-mark-lesson-attendance-form').on('submit', function(e) {
199
200                    e.preventDefault();
201
202                    if( this.id == 'ldat-mark-lesson-attendance-form'  ) {
203                        //a workaround for a problem wp_editor value blank on first submit
204                        window.tinyMCE.triggerSave();
205                    }
206
207                    var form_id = $(this).attr('id');
208                    var button = $('#' + form_id).find('.ldat-button-mark-attendance');
209                    $.ajax({
210                        url : ldat_ajax_url.ajax_url,
211                        type : 'post',
212                        data : $(this).serialize(),
213                        beforeSend: function() {
214                            button.attr('disabled', true);
215                            button.text(button.data('loading-text'));
216                            if(form_id != 'ldat-mark-lesson-attendance-user') {
217                                var message_span = $('#ldat_mark_lesson_attendance_message');
218                                message_span.hide();
219                            }
220                        },
221                        error: function(xhr, textStatus, errorThrown) {
222
223                            button.text(button.data('default-text')).attr('disabled', false);
224
225                            if(form_id != 'ldat-mark-attendance-lesson-user') {
226                                var message_span = $('#ldat_mark_lesson_attendance_message');
227                                message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message);
228                            } else {
229
230                                var message_span = $('#ldat_mark_lesson_attendance_message_user');
231                                message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message);
232                            }
233                        },
234                        success : function( response ) {
235
236                            if(form_id == 'ldat-mark-lesson-attendance-user') {
237                                button.text(response.message).delay(1400).slideUp('slow');
238                            } else {
239                                button.attr('disabled', false);
240                                button.text(button.data('default-text'));
241
242                                var message_span = $('#ldat_mark_lesson_attendance_message');
243                                message_span.removeClass('frontend_box-error').addClass('frontend_box-success').slideDown('slow').text(response.message);
244
245                                $('.ldat-select2').val('').trigger('change');
246                            }
247                        }
248                    });
249
250                });
251
252                $('button.frontend_box_close').on('click', function(e) {
253                    e.preventDefault();
254                    $(this).parent('.frontend_box').slideUp('slow');
255                });
256            },
257            mark_topic_attendance_form_init:function() {
258                $('#ldat-mark-topic-attendance-user,#ldat-mark-topic-attendance-form').on('submit', function(e) {
259
260                    e.preventDefault();
261
262                    if( this.id == 'ldat-mark-topic-attendance-form'  ) {
263                        //a workaround for a problem wp_editor value blank on first submit
264                        window.tinyMCE.triggerSave();
265                    }
266
267                    var form_id = $(this).attr('id');
268                    var button = $('#' + form_id).find('.ldat-button-mark-attendance');
269                    $.ajax({
270                        url : ldat_ajax_url.ajax_url,
271                        type : 'post',
272                        data : $(this).serialize(),
273                        beforeSend: function() {
274                            button.attr('disabled', true);
275                            button.text(button.data('loading-text'));
276                            if(form_id != 'ldat-mark-topic-attendance-user') {
277                                var message_span = $('#ldat_mark_topic_attendance_message');
278                                message_span.hide();
279                            }
280                        },
281                        error: function(xhr, textStatus, errorThrown) {
282
283                            button.text(button.data('default-text')).attr('disabled', false);
284
285                            if(form_id != 'ldat-mark-attendance-topic-user') {
286                                var message_span = $('#ldat_mark_topic_attendance_message');
287                                message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message);
288                            } else {
289
290                                var message_span = $('#ldat_mark_topic_attendance_message_user');
291                                message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message);
292                            }
293                        },
294                        success : function( response ) {
295
296                            if(form_id == 'ldat-mark-topic-attendance-user') {
297                                button.text(response.message).delay(1400).slideUp('slow');
298                            } else {
299                                button.attr('disabled', false);
300                                button.text(button.data('default-text'));
301
302                                var message_span = $('#ldat_mark_topic_attendance_message');
303                                message_span.removeClass('frontend_box-error').addClass('frontend_box-success').slideDown('slow').text(response.message);
304
305                                $('.ldat-select2').val('').trigger('change');
306                            }
307                        }
308                    });
309
310                });
311
312                $('button.frontend_box_close').on('click', function(e) {
313                    e.preventDefault();
314                    $(this).parent('.frontend_box').slideUp('slow');
315                });
316            },
317            search_topic_attendance_users_select2_init: function() {
318
319
320                var select2Input = $('.ldat-topic-user-search-select2').select2({
321                    width: '100%',
322                    placeholder: 'Select enrolled students',
323                    closeOnSelect:false,
324                    allowHtml: true,
325                    multiple: true,
326                    allowClear: true,
327                    ajax: {
328                        url: ldat_ajax_url.ajax_url, // AJAX URL is predefined in WordPress admin
329                        dataType: 'json',
330                        delay: 250, // delay in ms while typing when to perform a AJAX search
331                        data: function (params) {
332                            // $(this).val(null).trigger('change');
333                            return {
334                                q: params.term, // search query
335                                action: 'get_topic_course_groups_users', // AJAX action for admin-ajax.php
336                                topic_id: $(this).data( 'topic_id' ),
337                                page: params.page
338                            };
339                        },
340                        processResults: function (data, params) {
341                            params.page = params.page || 1;
342
343                            return {
344                                results: data.results,
345                                pagination: {
346                                    more: (params.page * 10) < data.count_total
347                                }
348                            };
349                        },
350                        cache: true
351                    },
352                    minimumInputLength: 3 // the minimum of symbols to input before perform a search
353                }).on('change', function(e) {
354                    var selected_option = $('.ldat-topic-user-search-select2').select2('data');
355                });
356            }
357            /* End - Lesson Manual Attendance */
358        }
359
360        LDATS_Front.init();
361    });
362})( jQuery );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.