PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.8.1
Tutor LMS – eLearning and online course solution v1.8.1
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / assets / js / tutor-setup.js
tutor / assets / js Last commit date
Chart.bundle.min.js 5 years ago gutenberg_blocks.js 5 years ago mce-button.js 5 years ago tutor-admin.js 5 years ago tutor-front.js 5 years ago tutor-setup.js 5 years ago tutor.js 5 years ago
tutor-setup.js
360 lines
1 jQuery.fn.serializeObject = function()
2 {
3 var values = {};
4 var array = this.serializeArray();
5
6 jQuery.each(array, function() {
7 if (values[this.name]) {
8 if (!values[this.name].push) {
9 values[this.name] = [values[this.name]];
10 }
11 values[this.name].push(this.value || '');
12 } else {
13 values[this.name] = this.value || '';
14 }
15 });
16
17 return values;
18 };
19
20 jQuery(document).ready(function($) {
21 "use strict";
22
23
24 const url = window.location.href;
25 if (url.indexOf('#') > 0) {
26 $(".tutor-wizard-container > div").removeClass("active");
27 $(".tutor-wizard-container > div.tutor-setup-wizard-settings").addClass("active");
28 const split_data = url.split("#");
29 if (split_data[1]) {
30 const _length = $(".tutor-setup-title li."+split_data[1]).index();
31 $(".tutor-setup-title li").removeClass("current");
32 $(".tutor-setup-content li").removeClass("active");
33 for (let index = 0; index <= _length; index++) {
34 $(".tutor-setup-title li").eq(index).addClass('active');
35 if(_length == index){
36 $(".tutor-setup-title li").eq(index).addClass("current");
37 $(".tutor-setup-content li").eq(index).addClass("active");
38 }
39 }
40 }
41 const enable = $("input[name='enable_course_marketplace'").val()
42 showHide( enable ? enable : 0 )
43 }
44
45 $(".tutor-setup-title li").on("click", function(e) {
46 e.preventDefault();
47 const _length = $(this).closest("li").index();
48 $(".tutor-setup-title li").removeClass("active current");
49 $(".tutor-setup-title li").eq(_length).addClass("active current");
50 $(".tutor-setup-content li").removeClass("active");
51 $(".tutor-setup-content li").eq(_length).addClass("active");
52 window.location.hash = $("ul.tutor-setup-title li").eq(_length).data("url");
53 for (let index = 0; index <= _length; index++) {
54 $(".tutor-setup-title li").eq(index).addClass('active');
55 }
56 });
57
58
59 /* ---------------------
60 * Wizard Skip
61 * ---------------------- */
62 $(".tutor-boarding-next, .tutor-boarding-skip").on("click", function(e) {
63 e.preventDefault();
64 $(".tutor-setup-wizard-boarding").removeClass("active");
65 $(".tutor-setup-wizard-type").addClass("active");
66 });
67 $(".tutor-type-next, .tutor-type-skip").on("click", function(e) {
68 e.preventDefault();
69 $(".tutor-setup-wizard-type").removeClass("active");
70 $(".tutor-setup-wizard-settings").addClass("active");
71 $('.tutor-setup-title li').eq(0).addClass('active')
72 window.location.hash = "general";
73 showHide( $("input[name='enable_course_marketplace_setup']:checked").val() )
74 });
75
76 /* ---------------------
77 * Marketplace Type
78 * ---------------------- */
79 $("input[type=radio][name=enable_course_marketplace_setup]").change( function() {
80 if (this.value == "0") {
81 $("input[name=enable_course_marketplace]").val("");
82 $("input[name=enable_tutor_earning]").val("");
83 } else if (this.value == "1") {
84 $("input[name=enable_course_marketplace]").val("1");
85 $("input[name=enable_tutor_earning]").val("1");
86 }
87 }
88 );
89
90 /* ---------------------
91 * Wizard Action
92 * ---------------------- */
93 $(".tutor-setup-previous").on("click", function(e) {
94 e.preventDefault();
95 let _index = $(this).closest("li").index();
96
97 $("ul.tutor-setup-title li").eq(_index).removeClass("active");
98 if( _index > 0 && _index == ($('.tutor-setup-title li.instructor').index() + 1) && $('.tutor-setup-title li.instructor').hasClass('hide-this') ) {
99 _index = _index - 1
100 }
101
102 if (_index > 0) {
103 $("ul.tutor-setup-title li").eq(_index - 1).addClass("active");
104 $("ul.tutor-setup-content li").removeClass("active").eq(_index - 1).addClass("active");
105 $("ul.tutor-setup-title li").removeClass("current").eq(_index - 1).addClass("current");
106 window.location.hash = $("ul.tutor-setup-title li").eq(_index - 1).data('url');
107 } else {
108 $('.tutor-setup-wizard-settings').removeClass('active');
109 $('.tutor-setup-wizard-type').addClass('active');
110 window.location.hash = '';
111 }
112 setpSet()
113 });
114 $('.tutor-setup-type-previous').on("click", function(e){
115 $('.tutor-setup-wizard-type').removeClass('active');
116 $('.tutor-setup-wizard-boarding').addClass('active');
117 });
118 $(".tutor-setup-skip, .tutor-setup-next").on("click", function(e) {
119 e.preventDefault();
120 let _index = $(this).closest("li").index() + 1;
121
122 if( _index == $('.tutor-setup-title li.instructor').index() && $('.tutor-setup-title li.instructor').hasClass('hide-this') ){
123 _index = _index + 1
124 }
125
126 $("ul.tutor-setup-title li").eq(_index).addClass("active");
127 $("ul.tutor-setup-content li").removeClass("active").eq(_index).addClass("active");
128 $("ul.tutor-setup-title li").removeClass("current").eq(_index).addClass("current");
129 window.location.hash = $("ul.tutor-setup-title li").eq(_index).data("url");
130
131 setpSet();
132 });
133
134 /* ---------------------
135 * Wizard Skip
136 * ---------------------- */
137 $(".tutor-boarding-next, .tutor-boarding-skip").on("click", function(e) {
138 e.preventDefault();
139 $(".tutor-setup-wizard-boarding").removeClass("active");
140 $(".tutor-setup-wizard-type").addClass("active");
141 });
142
143
144 /* ---------------------
145 * Wizard Slick Slider
146 * ---------------------- */
147 $(".tutor-boarding").slick({
148 speed: 1000,
149 centerMode: true,
150 centerPadding: "19.5%",
151 slidesToShow: 1,
152 arrows: false,
153 dots: true,
154 responsive: [
155 {
156 breakpoint: 768,
157 settings: {
158 arrows: false,
159 centerMode: true,
160 centerPadding: "50px",
161 slidesToShow: 1
162 }
163 },
164 {
165 breakpoint: 480,
166 settings: {
167 arrows: false,
168 centerMode: true,
169 centerPadding: "30px",
170 slidesToShow: 1
171 }
172 }
173 ]
174 });
175
176 /* ---------------------
177 * Form Submit and Redirect after Finished
178 * ---------------------- */
179 $(".tutor-redirect").on("click", function(e) {
180 const that = $(this)
181 e.preventDefault();
182 const formData = $("#tutor-setup-form").serializeObject();
183
184 $.ajax({
185 url: _tutorobject.ajaxurl,
186 type: "POST",
187 data: formData,
188 success: function(data) {
189 if (data.success) {
190 window.location = that.data("url");
191 }
192 }
193 });
194 });
195
196 /* ---------------------
197 * Reset Section
198 * ---------------------- */
199 $(".tutor-reset-section").on("click", function(e) {
200 $(this).closest("li").find("input").val(function() {
201 switch (this.type) {
202 case "text":
203 return this.defaultValue;
204 break;
205
206 case "checkbox":
207 case "radio":
208 this.checked = this.defaultChecked;
209 break;
210
211 case "range":
212 const rangeval = $(this).closest(".limit-slider");
213 if (rangeval.find(".range-input").hasClass("double-range-slider")) {
214 rangeval.find(".range-value-1").html(this.defaultValue + "%");
215 $(".range-value-data-1").val(this.defaultValue);
216 rangeval.find(".range-value-2").html(100 - this.defaultValue + "%");
217 $(".range-value-data-2").val(100 - this.defaultValue);
218 } else {
219 rangeval.find(".range-value").html(this.defaultValue);
220 return this.defaultValue;
221 }
222 break;
223
224 case "hidden":
225 return this.value;
226 break;
227 }
228 });
229 });
230
231
232 /* ---------------------
233 * Wizard Tooltip
234 * ---------------------- */
235 $(".tooltip-btn").on("click", function(e) {
236 e.preventDefault();
237 $(this).toggleClass("active");
238 });
239
240
241 /* ---------------------
242 * on/of emphasizing after input check click
243 * ---------------------- */
244 $(".input-switchbox").each(function() {
245 inputCheckEmphasizing($(this));
246 });
247 function inputCheckEmphasizing(th) {
248 var checkboxRoot = th.parent().parent();
249 if ( th.prop("checked") ) {
250 checkboxRoot.find(".label-on").addClass("active");
251 checkboxRoot.find(".label-off").removeClass("active");
252 } else {
253 checkboxRoot.find(".label-on").removeClass("active");
254 checkboxRoot.find(".label-off").addClass("active");
255 }
256 }
257 $(".input-switchbox").click(function() {
258 inputCheckEmphasizing($(this));
259 });
260
261
262 /* ---------------------
263 * Select Option
264 * ---------------------- */
265 $(".selected").on("click", function() {
266 $(".options-container").toggleClass("active");
267 });
268
269 $(".option").each(function() {
270 $(this).on("click", function() {
271 $(".selected").html($(this).find("label").html());
272 $(".options-container").removeClass("active");
273 });
274 });
275
276
277 /* ---------------------
278 * Time Limit sliders
279 * ---------------------- */
280 $(".range-input").on("change mousemove", function(e) {
281 let rangeInput = $(this).val();
282 let rangeValue = $(this).parent().parent().find(".range-value");
283 rangeValue.text(rangeInput);
284 });
285
286 $(".double-range-slider").on("change mousemove", function() {
287 const selector = $(this).closest(".settings");
288 selector.find(".range-value-1").text($(this).val() + "%");
289 selector.find('input[name="earning_instructor_commission"]').val($(this).val());
290 selector.find(".range-value-2").text(100 - $(this).val() + "%");
291 selector.find('input[name="earning_admin_commission"]').val(100 - $(this).val());
292 });
293
294 $("#attempts-allowed-1").on("click", function(e) {
295 if ($("#attempts-allowed-numer").prop("disabled", true)) {
296 $(this).parent().parent().parent().addClass("active");
297 $("#attempts-allowed-numer").prop("disabled", false);
298 }
299 });
300 $("#attempts-allowed-2").on("click", function(e) {
301 if ($("#attempts-allowed-2").is(":checked")) {
302 $(this).parent().parent().parent().removeClass("active");
303 $("#attempts-allowed-numer").prop("disabled", true);
304 }
305 });
306
307 $('.wizard-type-item').on('click', function(e) {
308 showHide( $(this).find('input').val() )
309 });
310
311 function showHide(val){
312 if(val==1) {
313 $('.tutor-show-hide').addClass('active')
314 $('.tutor-setup-title li.instructor').removeClass('hide-this')
315 $('.tutor-setup-content li').eq($('.tutor-setup-title li.instructor')).removeClass('hide-this')
316 } else {
317 $('.tutor-show-hide').removeClass('active')
318 $('.tutor-setup-title li.instructor').addClass('hide-this')
319 $('.tutor-setup-content li').eq($('.tutor-setup-title li.instructor')).addClass('hide-this')
320 }
321 }
322
323 setpSet();
324 function setpSet(){
325 if( $('.tutor-setup-title li.instructor').hasClass('hide-this') ){
326 $('.tutor-steps').html(5)
327 let _index = $('.tutor-setup-title li.current').index()
328 if (_index > 2) {
329 $('.tutor-setup-content li.active .tutor-steps-current').html( _index )
330 }
331 } else {
332 $('.tutor-steps').html(6)
333 $(".tutor-setup-content li").each(function() {
334 $(this).find('.tutor-steps-current').html($(this).index() + 1)
335 });
336 }
337 }
338
339 /* ---------------------
340 * Attempt Allowed
341 * ---------------------- */
342 $("input[name='attempts-allowed']").on('change', function(e){
343 const _val = $(this).filter(':checked').val()
344 if( _val == 'unlimited' ) {
345 $("input[name='quiz_attempts_allowed']").val(0)
346 } else {
347 $("input[name='quiz_attempts_allowed']").val( $("input[name='attempts-allowed-number").val() )
348 }
349 });
350 $("input[name='attempts-allowed-number']").on('change', function(e){
351 $("input[name='quiz_attempts_allowed']").val($(this).val())
352 })
353 $("input[name='attempts-allowed-number']").on('focus', function(e){
354 $("input[name='attempts-allowed'][value='single']").attr('checked', true);
355 })
356
357
358
359 });
360