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:
89
static/scripts/app/views/myhome-side-nav.js
Normal file
89
static/scripts/app/views/myhome-side-nav.js
Normal 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;
|
||||
});
|
@@ -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();
|
||||
}
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user