1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-28 07:57:50 +00:00
seahub/static/scripts/app/views/organization-repo.js
2016-04-12 11:22:04 +08:00

66 lines
1.9 KiB
JavaScript

define([
'jquery',
'underscore',
'backbone',
'common',
'app/views/widgets/hl-item-view'
], function($, _, Backbone, Common, HLItemView) {
'use strict';
var OrganizationRepoView = HLItemView.extend({
tagName: 'tr',
template: _.template($('#organization-repo-tmpl').html()),
initialize: function() {
HLItemView.prototype.initialize.call(this);
},
render: function() {
var obj = this.model.toJSON();
var icon_size = Common.isHiDPI() ? 96 : 24;
var icon_url = this.model.getIconUrl(icon_size);
_.extend(obj, {
'icon_url': icon_url,
'icon_title': this.model.getIconTitle()
});
this.$el.html(this.template(obj));
return this;
},
events: {
'click .cancel-share': 'removeShare'
},
removeShare: function() {
var el = this.$el;
var lib_name = this.model.get('name');
$.ajax({
url: Common.getUrl({
name: 'ajax_unset_inner_pub_repo',
repo_id: this.model.get('id')
}),
type: 'POST',
data: {
'permission': this.model.get('permission')
},
beforeSend: Common.prepareCSRFToken,
dataType: 'json',
success: function () {
el.remove();
var msg = gettext('Successfully unshared {placeholder}').replace('{placeholder}', '<span class="op-target">' + Common.HTMLescape(lib_name) + '</span>');
Common.feedback(msg, 'success', Common.SUCCESS_TIMOUT);
},
error: function(xhr) {
Common.ajaxErrorHandler(xhr);
}
});
return false;
}
});
return OrganizationRepoView;
});