PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.7.9
Tutor LMS – eLearning and online course solution v1.7.9
4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 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
341 lines
1 jQuery(document).ready(function($) {
2 "use strict";
3
4
5 const url = window.location.href;
6 if (url.indexOf('#') > 0) {
7 $(".tutor-wizard-container > div").removeClass("active");
8 $(".tutor-wizard-container > div.tutor-setup-wizard-settings").addClass("active");
9 const split_data = url.split("#");
10 if (split_data[1]) {
11 const _length = $(".tutor-setup-title li."+split_data[1]).index();
12 $(".tutor-setup-title li").removeClass("current");
13 $(".tutor-setup-content li").removeClass("active");
14 for (let index = 0; index <= _length; index++) {
15 $(".tutor-setup-title li").eq(index).addClass('active');
16 if(_length == index){
17 $(".tutor-setup-title li").eq(index).addClass("current");
18 $(".tutor-setup-content li").eq(index).addClass("active");
19 }
20 }
21 }
22 const enable = $("input[name='enable_course_marketplace'").val()
23 showHide( enable ? enable : 0 )
24 }
25
26 $(".tutor-setup-title li").on("click", function(e) {
27 e.preventDefault();
28 const _length = $(this).closest("li").index();
29 $(".tutor-setup-title li").removeClass("active current");
30 $(".tutor-setup-title li").eq(_length).addClass("active current");
31 $(".tutor-setup-content li").removeClass("active");
32 $(".tutor-setup-content li").eq(_length).addClass("active");
33 window.location.hash = $("ul.tutor-setup-title li").eq(_length).data("url");
34 for (let index = 0; index <= _length; index++) {
35 $(".tutor-setup-title li").eq(index).addClass('active');
36 }
37 });
38
39
40 /* ---------------------
41 * Wizard Skip
42 * ---------------------- */
43 $(".tutor-boarding-next, .tutor-boarding-skip").on("click", function(e) {
44 e.preventDefault();
45 $(".tutor-setup-wizard-boarding").removeClass("active");
46 $(".tutor-setup-wizard-type").addClass("active");
47 });
48 $(".tutor-type-next, .tutor-type-skip").on("click", function(e) {
49 e.preventDefault();
50 $(".tutor-setup-wizard-type").removeClass("active");
51 $(".tutor-setup-wizard-settings").addClass("active");
52 $('.tutor-setup-title li').eq(0).addClass('active')
53 window.location.hash = "general";
54 showHide( $("input[name='enable_course_marketplace_setup']:checked").val() )
55 });
56
57 /* ---------------------
58 * Marketplace Type
59 * ---------------------- */
60 $("input[type=radio][name=enable_course_marketplace_setup]").change( function() {
61 if (this.value == "0") {
62 $("input[name=enable_course_marketplace]").val("");
63 $("input[name=enable_tutor_earning]").val("");
64 } else if (this.value == "1") {
65 $("input[name=enable_course_marketplace]").val("1");
66 $("input[name=enable_tutor_earning]").val("1");
67 }
68 }
69 );
70
71 /* ---------------------
72 * Wizard Action
73 * ---------------------- */
74 $(".tutor-setup-previous").on("click", function(e) {
75 e.preventDefault();
76 let _index = $(this).closest("li").index();
77
78 $("ul.tutor-setup-title li").eq(_index).removeClass("active");
79 if( _index > 0 && _index == ($('.tutor-setup-title li.instructor').index() + 1) && $('.tutor-setup-title li.instructor').hasClass('hide-this') ) {
80 _index = _index - 1
81 }
82
83 if (_index > 0) {
84 $("ul.tutor-setup-title li").eq(_index - 1).addClass("active");
85 $("ul.tutor-setup-content li").removeClass("active").eq(_index - 1).addClass("active");
86 $("ul.tutor-setup-title li").removeClass("current").eq(_index - 1).addClass("current");
87 window.location.hash = $("ul.tutor-setup-title li").eq(_index - 1).data('url');
88 } else {
89 $('.tutor-setup-wizard-settings').removeClass('active');
90 $('.tutor-setup-wizard-type').addClass('active');
91 window.location.hash = '';
92 }
93 setpSet()
94 });
95 $('.tutor-setup-type-previous').on("click", function(e){
96 $('.tutor-setup-wizard-type').removeClass('active');
97 $('.tutor-setup-wizard-boarding').addClass('active');
98 });
99 $(".tutor-setup-skip, .tutor-setup-next").on("click", function(e) {
100 e.preventDefault();
101 let _index = $(this).closest("li").index() + 1;
102
103 if( _index == $('.tutor-setup-title li.instructor').index() && $('.tutor-setup-title li.instructor').hasClass('hide-this') ){
104 _index = _index + 1
105 }
106
107 $("ul.tutor-setup-title li").eq(_index).addClass("active");
108 $("ul.tutor-setup-content li").removeClass("active").eq(_index).addClass("active");
109 $("ul.tutor-setup-title li").removeClass("current").eq(_index).addClass("current");
110 window.location.hash = $("ul.tutor-setup-title li").eq(_index).data("url");
111
112 setpSet();
113 });
114
115 /* ---------------------
116 * Wizard Skip
117 * ---------------------- */
118 $(".tutor-boarding-next, .tutor-boarding-skip").on("click", function(e) {
119 e.preventDefault();
120 $(".tutor-setup-wizard-boarding").removeClass("active");
121 $(".tutor-setup-wizard-type").addClass("active");
122 });
123
124
125 /* ---------------------
126 * Wizard Slick Slider
127 * ---------------------- */
128 $(".tutor-boarding").slick({
129 speed: 1000,
130 centerMode: true,
131 centerPadding: "19.5%",
132 slidesToShow: 1,
133 arrows: false,
134 dots: true,
135 responsive: [
136 {
137 breakpoint: 768,
138 settings: {
139 arrows: false,
140 centerMode: true,
141 centerPadding: "50px",
142 slidesToShow: 1
143 }
144 },
145 {
146 breakpoint: 480,
147 settings: {
148 arrows: false,
149 centerMode: true,
150 centerPadding: "30px",
151 slidesToShow: 1
152 }
153 }
154 ]
155 });
156
157 /* ---------------------
158 * Form Submit and Redirect after Finished
159 * ---------------------- */
160 $(".tutor-redirect").on("click", function(e) {
161 const that = $(this)
162 e.preventDefault();
163 const formData = $("#tutor-setup-form").serializeObject();
164
165 $.ajax({
166 url: _tutorobject.ajaxurl,
167 type: "POST",
168 data: formData,
169 success: function(data) {
170 if (data.success) {
171 window.location = that.data("url");
172 }
173 }
174 });
175 });
176
177 /* ---------------------
178 * Reset Section
179 * ---------------------- */
180 $(".tutor-reset-section").on("click", function(e) {
181 $(this).closest("li").find("input").val(function() {
182 switch (this.type) {
183 case "text":
184 return this.defaultValue;
185 break;
186
187 case "checkbox":
188 case "radio":
189 this.checked = this.defaultChecked;
190 break;
191
192 case "range":
193 const rangeval = $(this).closest(".limit-slider");
194 if (rangeval.find(".range-input").hasClass("double-range-slider")) {
195 rangeval.find(".range-value-1").html(this.defaultValue + "%");
196 $(".range-value-data-1").val(this.defaultValue);
197 rangeval.find(".range-value-2").html(100 - this.defaultValue + "%");
198 $(".range-value-data-2").val(100 - this.defaultValue);
199 } else {
200 rangeval.find(".range-value").html(this.defaultValue);
201 return this.defaultValue;
202 }
203 break;
204
205 case "hidden":
206 return this.value;
207 break;
208 }
209 });
210 });
211
212
213 /* ---------------------
214 * Wizard Tooltip
215 * ---------------------- */
216 $(".tooltip-btn").on("click", function(e) {
217 e.preventDefault();
218 $(this).toggleClass("active");
219 });
220
221
222 /* ---------------------
223 * on/of emphasizing after input check click
224 * ---------------------- */
225 $(".input-switchbox").each(function() {
226 inputCheckEmphasizing($(this));
227 });
228 function inputCheckEmphasizing(th) {
229 var checkboxRoot = th.parent().parent();
230 if ( th.prop("checked") ) {
231 checkboxRoot.find(".label-on").addClass("active");
232 checkboxRoot.find(".label-off").removeClass("active");
233 } else {
234 checkboxRoot.find(".label-on").removeClass("active");
235 checkboxRoot.find(".label-off").addClass("active");
236 }
237 }
238 $(".input-switchbox").click(function() {
239 inputCheckEmphasizing($(this));
240 });
241
242
243 /* ---------------------
244 * Select Option
245 * ---------------------- */
246 $(".selected").on("click", function() {
247 $(".options-container").toggleClass("active");
248 });
249
250 $(".option").each(function() {
251 $(this).on("click", function() {
252 $(".selected").html($(this).find("label").html());
253 $(".options-container").removeClass("active");
254 });
255 });
256
257
258 /* ---------------------
259 * Time Limit sliders
260 * ---------------------- */
261 $(".range-input").on("change mousemove", function(e) {
262 let rangeInput = $(this).val();
263 let rangeValue = $(this).parent().parent().find(".range-value");
264 rangeValue.text(rangeInput);
265 });
266
267 $(".double-range-slider").on("change mousemove", function() {
268 const selector = $(this).closest(".settings");
269 selector.find(".range-value-1").text($(this).val() + "%");
270 selector.find('input[name="earning_instructor_commission"]').val($(this).val());
271 selector.find(".range-value-2").text(100 - $(this).val() + "%");
272 selector.find('input[name="earning_admin_commission"]').val(100 - $(this).val());
273 });
274
275 $("#attempts-allowed-1").on("click", function(e) {
276 if ($("#attempts-allowed-numer").prop("disabled", true)) {
277 $(this).parent().parent().parent().addClass("active");
278 $("#attempts-allowed-numer").prop("disabled", false);
279 }
280 });
281 $("#attempts-allowed-2").on("click", function(e) {
282 if ($("#attempts-allowed-2").is(":checked")) {
283 $(this).parent().parent().parent().removeClass("active");
284 $("#attempts-allowed-numer").prop("disabled", true);
285 }
286 });
287
288 $('.wizard-type-item').on('click', function(e) {
289 showHide( $(this).find('input').val() )
290 });
291
292 function showHide(val){
293 if(val==1) {
294 $('.tutor-show-hide').addClass('active')
295 $('.tutor-setup-title li.instructor').removeClass('hide-this')
296 $('.tutor-setup-content li').eq($('.tutor-setup-title li.instructor')).removeClass('hide-this')
297 } else {
298 $('.tutor-show-hide').removeClass('active')
299 $('.tutor-setup-title li.instructor').addClass('hide-this')
300 $('.tutor-setup-content li').eq($('.tutor-setup-title li.instructor')).addClass('hide-this')
301 }
302 }
303
304 setpSet();
305 function setpSet(){
306 if( $('.tutor-setup-title li.instructor').hasClass('hide-this') ){
307 $('.tutor-steps').html(5)
308 let _index = $('.tutor-setup-title li.current').index()
309 if (_index > 2) {
310 $('.tutor-setup-content li.active .tutor-steps-current').html( _index )
311 }
312 } else {
313 $('.tutor-steps').html(6)
314 $(".tutor-setup-content li").each(function() {
315 $(this).find('.tutor-steps-current').html($(this).index() + 1)
316 });
317 }
318 }
319
320 /* ---------------------
321 * Attempt Allowed
322 * ---------------------- */
323 $("input[name='attempts-allowed']").on('change', function(e){
324 const _val = $(this).filter(':checked').val()
325 if( _val == 'unlimited' ) {
326 $("input[name='quiz_attempts_allowed']").val(0)
327 } else {
328 $("input[name='quiz_attempts_allowed']").val( $("input[name='attempts-allowed-number").val() )
329 }
330 });
331 $("input[name='attempts-allowed-number']").on('change', function(e){
332 $("input[name='quiz_attempts_allowed']").val($(this).val())
333 })
334 $("input[name='attempts-allowed-number']").on('focus', function(e){
335 $("input[name='attempts-allowed'][value='single']").attr('checked', true);
336 })
337
338
339
340 });
341