1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-06 11:47:07 +00:00
seahub/static/scripts/app/views/myhome-side-nav.js

90 lines
2.8 KiB
JavaScript
Raw Normal View History

2015-04-15 01:36:42 +00:00
define([
'jquery',
'underscore',
'backbone',
'common'
], function($, _, Backbone, Common) {
'use strict';
var MyhomeSideNavView = Backbone.View.extend({
el: '#myhome-side-nav',
template: _.template($("#myhome-side-nav-tmpl").html()),
enableModTemplate: _.template($("#myhome-mods-enable-form-tmpl").html()),
initialize: function() {
this.render();
},
render: function() {
this.$el.html(this.template({
'mods_enabled': app.pageOptions.user_mods_enabled,
'events_enabled': app.pageOptions.events_enabled
}));
},
events: {
'click #myhome-enable-mods': 'enableMods'
},
enableMods: function () {
var form = $(this.enableModTemplate({
'mods_available': app.pageOptions.user_mods_available,
'mods_enabled': app.pageOptions.user_mods_enabled
}));
form.modal();
$('#simplemodal-container').css('height', 'auto');
$('.checkbox-orig', form).click(function() {
$(this).parent().toggleClass('checkbox-checked');
});
var checkbox = $('[name="personal_wiki"]'),
original_checked = checkbox.prop('checked'),
_this = this;
form.submit(function() {
var cur_checked = checkbox.prop('checked');
if (cur_checked == original_checked) {
return false;
}
Common.ajaxPost({
form: form,
form_id: form.attr('id'),
post_url: Common.getUrl({
'name': 'toggle_personal_modules',
}),
post_data: {'personal_wiki': cur_checked },
after_op_success: function () {
if (cur_checked) {
// enable personal wiki
app.pageOptions.user_mods_enabled.push('personal wiki');
} else {
// disable personal wiki
var index = app.pageOptions.user_mods_enabled.indexOf('personal wiki');
if (index > -1) {
app.pageOptions.user_mods_enabled.splice(index, 1);
}
}
$.modal.close();
_this.render();
}
});
return false;
});
},
show: function() {
this.$el.show();
},
hide: function() {
this.$el.hide();
}
});
return MyhomeSideNavView;
});