Files
edx-platform/lms/static/js/instructor_dashboard/e-commerce.js

97 lines
4.1 KiB
JavaScript

/* globals _ */
(function() {
'use strict';
var ECommerce, PendingInstructorTasks, ReportDownloads;
PendingInstructorTasks = function() {
return window.InstructorDashboard.util.PendingInstructorTasks;
};
ReportDownloads = function() {
return window.InstructorDashboard.util.ReportDownloads;
};
ECommerce = (function() {
function eCommerce($section) {
var eCom = this;
this.$section = $section;
this.$section.data('wrapper', this);
this.$list_sale_csv_btn = this.$section.find("input[name='list-sale-csv']");
this.$list_order_sale_csv_btn = this.$section.find("input[name='list-order-sale-csv']");
this.$download_company_name = this.$section.find("input[name='download_company_name']");
this.$active_company_name = this.$section.find("input[name='active_company_name']");
this.$spent_company_name = this.$section.find('input[name="spent_company_name"]');
this.$download_coupon_codes = this.$section.find('input[name="download-coupon-codes-csv"]');
this.$download_registration_codes_form = this.$section.find('form#download_registration_codes');
this.$active_registration_codes_form = this.$section.find('form#active_registration_codes');
this.$spent_registration_codes_form = this.$section.find('form#spent_registration_codes');
this.$reports = this.$section.find('.reports-download-container');
this.$reports_request_response = this.$reports.find('.request-response');
this.$reports_request_response_error = this.$reports.find('.request-response-error');
this.report_downloads = new (ReportDownloads())(this.$section);
this.instructor_tasks = new (PendingInstructorTasks())(this.$section);
this.$error_msg = this.$section.find('#error-msg');
this.$list_sale_csv_btn.click(function() {
location.href = eCom.$list_sale_csv_btn.data('endpoint') + '/csv';
return location.href;
});
this.$list_order_sale_csv_btn.click(function() {
location.href = eCom.$list_order_sale_csv_btn.data('endpoint');
return location.href;
});
this.$download_coupon_codes.click(function() {
location.href = eCom.$download_coupon_codes.data('endpoint');
return location.href;
});
this.$download_registration_codes_form.submit(function() {
eCom.$error_msg.attr('style', 'display: none');
return true;
});
this.$active_registration_codes_form.submit(function() {
eCom.$error_msg.attr('style', 'display: none');
return true;
});
this.$spent_registration_codes_form.submit(function() {
eCom.$error_msg.attr('style', 'display: none');
return true;
});
}
eCommerce.prototype.onClickTitle = function() {
this.clear_display();
this.instructor_tasks.task_poller.start();
return this.report_downloads.downloads_poller.start();
};
eCommerce.prototype.onExit = function() {
this.clear_display();
this.instructor_tasks.task_poller.stop();
return this.report_downloads.downloads_poller.stop();
};
eCommerce.prototype.clear_display = function() {
this.$error_msg.attr('style', 'display: none');
this.$download_company_name.val('');
this.$reports_request_response.empty();
this.$reports_request_response_error.empty();
this.$active_company_name.val('');
return this.$spent_company_name.val('');
};
return eCommerce;
}());
_.defaults(window, {
InstructorDashboard: {}
});
_.defaults(window.InstructorDashboard, {
sections: {}
});
_.defaults(window.InstructorDashboard.sections, {
ECommerce: ECommerce
});
}).call(this);