var dtLMSAssignmentFrontend = {
dtInit : function() {
jQuery( 'body' ).delegate( '#dtlms-upload-assignment', 'click', function(){
var this_item = jQuery(this),
uploadassignment_nonce = this_item.attr('data-uploadassignment-nonce'),
course_id = this_item.attr('data-courseid'),
user_id = this_item.attr('data-userid'),
lesson_id = this_item.attr('data-lessonid'),
quiz_id = this_item.attr('data-quizid'),
assignment_id = this_item.attr('data-assignmentid'),
author_id = this_item.attr('data-authorid'),
assignment_grade_id = this_item.attr('data-assignmentgradeid'),
parent_curriculum_id = this_item.attr('data-parentcurriculumid');
jQuery.ajax({
type: 'POST',
url: lmsfrontendobject.ajaxurl,
data:
{
action : 'dtlms_upload_assignment',
uploadassignment_nonce: uploadassignment_nonce,
course_id : course_id,
user_id : user_id,
lesson_id : lesson_id,
quiz_id : quiz_id,
assignment_id : assignment_id,
author_id : author_id,
assignment_grade_id : assignment_grade_id,
parent_curriculum_id : parent_curriculum_id,
},
beforeSend: function(){
dtLMSCommonUtils.dtLMSAjaxBeforeSend(undefined);
},
error: function (xhr, status, error) {
jQuery('.dtlms-curriculum-content-holder').html('Something went wrong!');
jQuery('.dtlms-upload-assignment-holder').sortable({ placeholder: 'sortable-placeholder' });
},
success: function (response) {
jQuery('.dtlms-curriculum-content-holder').html(response);
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
},
complete: function(){
dtLMSCommonUtils.dtLMSAjaxAfterSend(undefined);
}
});
});
jQuery( 'body' ).delegate( '.dtlms-add-upload-assignment-field', 'click', function(){
var clone = jQuery("#dtlms-upload-assignment-section-to-clone").clone();
clone.attr('class', 'dtlms-upload-assignment').removeAttr('id').removeClass('hidden');
clone.find('input').attr('class', 'assignment-attachment').attr('name', 'assignment-attachment[]');
clone.appendTo('.dtlms-upload-assignment-holder');
jQuery('.dtlms-upload-assignment-holder').sortable({ placeholder: 'sortable-placeholder' });
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
});
jQuery('body').delegate('span.dtlms-remove-upload-assignment-field','click', function(e){
jQuery(this).parents('.dtlms-upload-assignment').remove();
e.preventDefault();
});
if(jQuery('.dtlms-upload-assignment-holder').length) {
jQuery('.dtlms-upload-assignment-holder').sortable({ placeholder: 'sortable-placeholder' });
}
jQuery( 'body' ).delegate( '.dtlms-submit-assignment', 'click', function(){
var assignment_attachment = jQuery('input[name^=assignment-attachment]').map(function(idx, elem) {
if(this.value != '') {
return this.value;
}
}).get();
if((jQuery('.assignment-textarea').length && jQuery('.assignment-textarea').val() == '') || (jQuery('.assignment-attachment').length && assignment_attachment.length === 0)) {
alert(lmsassignmentobject.assignmentNotification);
return;
}
var this_item = jQuery(this),
submitassignment_nonce = this_item.attr('data-submitassignment-nonce'),
course_id = this_item.attr('data-courseid'),
user_id = this_item.attr('data-userid'),
lesson_id = this_item.attr('data-lessonid'),
quiz_id = this_item.attr('data-quizid'),
assignment_id = this_item.attr('data-assignmentid'),
author_id = this_item.attr('data-authorid'),
parent_curriculum_id = this_item.attr('data-parentcurriculumid'),
next_curriculum_id = this_item.attr('data-nextcurriculumid'),
enable_next_curriculum = this_item.attr('data-enablenextcurriculum');
var form = jQuery('.formAssignment')[0];
var data = new FormData(form);
data.append('action', 'dtlms_submit_assignment');
data.append('submitassignment_nonce', submitassignment_nonce);
data.append('course_id', course_id);
data.append('user_id', user_id);
data.append('lesson_id', lesson_id);
data.append('quiz_id', quiz_id);
data.append('assignment_id', assignment_id);
data.append('author_id', author_id);
data.append('parent_curriculum_id', parent_curriculum_id);
data.append('next_curriculum_id', next_curriculum_id);
jQuery.ajax({
type: 'POST',
url: lmsfrontendobject.ajaxurl,
enctype: 'multipart/form-data',
data: data,
processData: false,
contentType: false,
cache: false,
beforeSend: function(){
this_item.prepend( '' );
},
success: function (response) {
if(response == 'error') {
jQuery('body').find('.dtlms-assignment-errors').removeClass('hidden');
} else {
jQuery('body').find('#dtlms-course-curriculum-popup').remove();
jQuery('body').append(response);
}
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
// Enable next curriculum item
if(enable_next_curriculum == 'true') {
if(next_curriculum_id > 0) {
if(parent_curriculum_id > 0) {
jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + next_curriculum_id + '"][ data-parentcurriculumid="' + parent_curriculum_id + '"]').parents('li').removeClass('locked').addClass('unlocked');
} else {
jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + next_curriculum_id + '"][ data-parentcurriculumid="-1"]').parents('li').removeClass('locked').addClass('unlocked');
}
}
}
},
complete: function(){
this_item.find('span').remove();
}
});
});
jQuery( 'body' ).delegate( '.dtlms-view-assignment', 'click', function(){
var this_item = jQuery(this),
assignment_grade_id = this_item.attr('data-assignmentgradeid'),
assignment_id = this_item.attr('data-assignmentid');
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action : 'dtlms_view_assignment',
assignment_grade_id: assignment_grade_id,
assignment_id : assignment_id,
},
beforeSend: function(){
this_item.prepend( '' );
},
success: function (response) {
jQuery('.dtlms-curriculum-content-holder').html(response);
},
complete: function(){
this_item.find('span').remove();
}
});
});
},
};
jQuery(document).ready(function() {
"use strict";
dtLMSAssignmentFrontend.dtInit();
});