PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.7.5
Tutor LMS – eLearning and online course solution v1.7.5
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
340 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").serialize();
164 $.ajax({
165 url: _tutorobject.ajaxurl,
166 type: "POST",
167 data: formData,
168 success: function(data) {
169 if (data.success) {
170 window.location = that.data("url");
171 }
172 }
173 });
174 });
175
176 /* ---------------------
177 * Reset Section
178 * ---------------------- */
179 $(".tutor-reset-section").on("click", function(e) {
180 $(this).closest("li").find("input").val(function() {
181 switch (this.type) {
182 case "text":
183 return this.defaultValue;
184 break;
185
186 case "checkbox":
187 case "radio":
188 this.checked = this.defaultChecked;
189 break;
190
191 case "range":
192 const rangeval = $(this).closest(".limit-slider");
193 if (rangeval.find(".range-input").hasClass("double-range-slider")) {
194 rangeval.find(".range-value-1").html(this.defaultValue + "%");
195 $(".range-value-data-1").val(this.defaultValue);
196 rangeval.find(".range-value-2").html(100 - this.defaultValue + "%");
197 $(".range-value-data-2").val(100 - this.defaultValue);
198 } else {
199 rangeval.find(".range-value").html(this.defaultValue);
200 return this.defaultValue;
201 }
202 break;
203
204 case "hidden":
205 return this.value;
206 break;
207 }
208 });
209 });
210
211
212 /* ---------------------
213 * Wizard Tooltip
214 * ---------------------- */
215 $(".tooltip-btn").on("click", function(e) {
216 e.preventDefault();
217 $(this).toggleClass("active");
218 });
219
220
221 /* ---------------------
222 * on/of emphasizing after input check click
223 * ---------------------- */
224 $(".input-switchbox").each(function() {
225 inputCheckEmphasizing($(this));
226 });
227 function inputCheckEmphasizing(th) {
228 var checkboxRoot = th.parent().parent();
229 if ( th.prop("checked") ) {
230 checkboxRoot.find(".label-on").addClass("active");
231 checkboxRoot.find(".label-off").removeClass("active");
232 } else {
233 checkboxRoot.find(".label-on").removeClass("active");
234 checkboxRoot.find(".label-off").addClass("active");
235 }
236 }
237 $(".input-switchbox").click(function() {
238 inputCheckEmphasizing($(this));
239 });
240
241
242 /* ---------------------
243 * Select Option
244 * ---------------------- */
245 $(".selected").on("click", function() {
246 $(".options-container").toggleClass("active");
247 });
248
249 $(".option").each(function() {
250 $(this).on("click", function() {
251 $(".selected").html($(this).find("label").html());
252 $(".options-container").removeClass("active");
253 });
254 });
255
256
257 /* ---------------------
258 * Time Limit sliders
259 * ---------------------- */
260 $(".range-input").on("change mousemove", function(e) {
261 let rangeInput = $(this).val();
262 let rangeValue = $(this).parent().parent().find(".range-value");
263 rangeValue.text(rangeInput);
264 });
265
266 $(".double-range-slider").on("change mousemove", function() {
267 const selector = $(this).closest(".settings");
268 selector.find(".range-value-1").text($(this).val() + "%");
269 selector.find('input[name="earning_instructor_commission"]').val($(this).val());
270 selector.find(".range-value-2").text(100 - $(this).val() + "%");
271 selector.find('input[name="earning_admin_commission"]').val(100 - $(this).val());
272 });
273
274 $("#attempts-allowed-1").on("click", function(e) {
275 if ($("#attempts-allowed-numer").prop("disabled", true)) {
276 $(this).parent().parent().parent().addClass("active");
277 $("#attempts-allowed-numer").prop("disabled", false);
278 }
279 });
280 $("#attempts-allowed-2").on("click", function(e) {
281 if ($("#attempts-allowed-2").is(":checked")) {
282 $(this).parent().parent().parent().removeClass("active");
283 $("#attempts-allowed-numer").prop("disabled", true);
284 }
285 });
286
287 $('.wizard-type-item').on('click', function(e) {
288 showHide( $(this).find('input').val() )
289 });
290
291 function showHide(val){
292 if(val==1) {
293 $('.tutor-show-hide').addClass('active')
294 $('.tutor-setup-title li.instructor').removeClass('hide-this')
295 $('.tutor-setup-content li').eq($('.tutor-setup-title li.instructor')).removeClass('hide-this')
296 } else {
297 $('.tutor-show-hide').removeClass('active')
298 $('.tutor-setup-title li.instructor').addClass('hide-this')
299 $('.tutor-setup-content li').eq($('.tutor-setup-title li.instructor')).addClass('hide-this')
300 }
301 }
302
303 setpSet();
304 function setpSet(){
305 if( $('.tutor-setup-title li.instructor').hasClass('hide-this') ){
306 $('.tutor-steps').html(5)
307 let _index = $('.tutor-setup-title li.current').index()
308 if (_index > 2) {
309 $('.tutor-setup-content li.active .tutor-steps-current').html( _index )
310 }
311 } else {
312 $('.tutor-steps').html(6)
313 $(".tutor-setup-content li").each(function() {
314 $(this).find('.tutor-steps-current').html($(this).index() + 1)
315 });
316 }
317 }
318
319 /* ---------------------
320 * Attempt Allowed
321 * ---------------------- */
322 $("input[name='attempts-allowed']").on('change', function(e){
323 const _val = $(this).filter(':checked').val()
324 if( _val == 'unlimited' ) {
325 $("input[name='quiz_attempts_allowed']").val(0)
326 } else {
327 $("input[name='quiz_attempts_allowed']").val( $("input[name='attempts-allowed-number").val() )
328 }
329 });
330 $("input[name='attempts-allowed-number']").on('change', function(e){
331 $("input[name='quiz_attempts_allowed']").val($(this).val())
332 })
333 $("input[name='attempts-allowed-number']").on('focus', function(e){
334 $("input[name='attempts-allowed'][value='single']").attr('checked', true);
335 })
336
337
338
339 });
340