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