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

Add share dialog

This commit is contained in:
Daniel Pan
2016-02-25 13:47:19 +08:00
parent e5766ec06e
commit 3a4ad38ea5
2 changed files with 31 additions and 7 deletions

View File

@@ -50,6 +50,7 @@ define([
var dir = this.collection; var dir = this.collection;
var path = this.getPath(); var path = this.getPath();
var model = this; var model = this;
options = options || {};
var opts = { var opts = {
repo_id: dir.repo_id, repo_id: dir.repo_id,

View File

@@ -102,7 +102,6 @@ define([
}, },
showPopupMenu: function(event) { showPopupMenu: function(event) {
console.log("showPopupMenu");
var dir = this.dir; var dir = this.dir;
var template; var template;
@@ -132,17 +131,21 @@ define([
'top': '100px', 'top': '100px',
}); });
// TODO: bind operations here // Using _.bind(function, object) to make that whenever the function is
// called, the value of this will be the object.
this.$('.grid-item-op .delete').on('click', { view: this }, this.del); this.$el.on('click', '.delete', _.bind(this.del, this));
this.$el.on('click', '.share', _.bind(this.share, this));
return false; return false;
}, },
_closeMenu: function() {
this.$('.grid-item-op').remove();
},
del: function(event) { del: function(event) {
var _this = event.data.view; var dirent_name = this.model.get('obj_name');
var dirent_name = _this.model.get('obj_name'); this.model.deleteFromServer({
_this.model.deleteFromServer({
success: function(data) { success: function(data) {
var msg = gettext("Successfully deleted %(name)s") var msg = gettext("Successfully deleted %(name)s")
.replace('%(name)s', Common.HTMLescape(dirent_name)); .replace('%(name)s', Common.HTMLescape(dirent_name));
@@ -155,6 +158,26 @@ define([
return false; return false;
}, },
share: function() {
var dir = this.dir,
obj_name = this.model.get('obj_name'),
dirent_path = this.model.getPath();
var options = {
'is_repo_owner': dir.is_repo_owner,
'is_virtual': dir.is_virtual,
'user_perm': this.model.get('perm'),
'repo_id': dir.repo_id,
'repo_encrypted': false,
'is_dir': this.model.get('is_dir') ? true : false,
'dirent_path': dirent_path,
'obj_name': obj_name
};
new ShareView(options);
this._closeMenu();
return false;
}
}); });
return DirentGridView; return DirentGridView;