mirror of
https://github.com/haiwen/seahub.git
synced 2025-07-06 11:47:07 +00:00
90 lines
2.8 KiB
JavaScript
90 lines
2.8 KiB
JavaScript
|
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;
|
||
|
});
|