Files
edx-platform/cms/static/js/views/show_textbook.js
Eric Fischer 5bc6b31e29 eslint --fix
2017-12-08 14:38:41 -05:00

71 lines
3.4 KiB
JavaScript

define(['js/views/baseview', 'underscore', 'gettext', 'common/js/components/views/feedback_notification',
'common/js/components/views/feedback_prompt'],
function(BaseView, _, gettext, NotificationView, PromptView) {
var ShowTextbook = BaseView.extend({
initialize: function() {
this.template = _.template($('#show-textbook-tpl').text());
this.listenTo(this.model, 'change', this.render);
},
tagName: 'section',
className: 'textbook',
events: {
'click .edit': 'editTextbook',
'click .delete': 'confirmDelete',
'click .show-chapters': 'showChapters',
'click .hide-chapters': 'hideChapters'
},
render: function() {
var attrs = $.extend({}, this.model.attributes);
attrs.bookindex = this.model.collection.indexOf(this.model);
attrs.course = window.course.attributes;
this.$el.html(this.template(attrs));
return this;
},
editTextbook: function(e) {
if (e && e.preventDefault) { e.preventDefault(); }
this.model.set('editing', true);
},
confirmDelete: function(e) {
if (e && e.preventDefault) { e.preventDefault(); }
var textbook = this.model;
new PromptView.Warning({
title: _.template(gettext('Delete “<%= name %>”?'))(
{name: textbook.get('name')}
),
message: gettext("Deleting a textbook cannot be undone and once deleted any reference to it in your courseware's navigation will also be removed."),
actions: {
primary: {
text: gettext('Delete'),
click: function(view) {
view.hide();
var delmsg = new NotificationView.Mini({
title: gettext('Deleting')
}).show();
textbook.destroy({
complete: function() {
delmsg.hide();
}
});
}
},
secondary: {
text: gettext('Cancel'),
click: function(view) {
view.hide();
}
}
}
}).show();
},
showChapters: function(e) {
if (e && e.preventDefault) { e.preventDefault(); }
this.model.set('showChapters', true);
},
hideChapters: function(e) {
if (e && e.preventDefault) { e.preventDefault(); }
this.model.set('showChapters', false);
}
});
return ShowTextbook;
});