1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-18 00:00:00 +00:00

enable/disable personal wiki

This commit is contained in:
lian
2015-04-15 09:36:42 +08:00
committed by Daniel Pan
parent 92d8ee3c8d
commit 66e938868a
8 changed files with 188 additions and 41 deletions

View File

@@ -0,0 +1,89 @@
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;
});

View File

@@ -8,8 +8,9 @@ define([
'app/views/myhome-sub-repos',
'app/views/myhome-shared-repos',
'app/views/dir',
'app/views/myhome-side-nav'
], function($, _, Backbone, Common, GroupCollection,
ReposView, SubReposView, SharedReposView, DirView) {
ReposView, SubReposView, SharedReposView, DirView, MyhomeSideNavView) {
'use strict';
var MyHomeView = Backbone.View.extend({
@@ -18,8 +19,7 @@ define([
initialize: function() {
this.$cont = this.$('#right-panel');
this.$sideNav = $('#myhome-side-nav');
this.sideNavView = new MyhomeSideNavView();
this.reposView = new ReposView();
this.subReposView = new SubReposView();
this.sharedReposView = new SharedReposView();
@@ -30,7 +30,7 @@ define([
},
showSideNav: function () {
this.$sideNav.show();
this.sideNavView.show();
},
ajaxLoadingShow: function() {
@@ -80,7 +80,7 @@ define([
hide: function() {
this.currentView.hide();
this.$sideNav.hide();
this.sideNavView.hide();
}
});