1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-28 07:57:50 +00:00
seahub/static/scripts/app/views/share-admin-share-link.js

84 lines
2.4 KiB
JavaScript

define([
'jquery',
'underscore',
'backbone',
'common',
'moment',
'app/views/widgets/hl-item-view'
], function($, _, Backbone, Common, Moment, HLItemView) {
'use strict';
var ShareAdminShareLinkView = HLItemView.extend({
tagName: 'tr',
template: _.template($('#share-admin-download-link-tmpl').html()),
linkPopupTemplate: _.template($('#share-admin-link-popup-tmpl').html()),
events: {
'click .rm-link': 'removeLink',
'click .view-link': 'viewLink'
},
initialize: function(option) {
HLItemView.prototype.initialize.call(this);
},
viewLink: function() {
var $popup = $(this.linkPopupTemplate({'link': this.model.get('link')}));
$popup.modal({focus:false});
$('#simplemodal-container').css({'width':'auto', 'height':'auto'});
var $p = $('p', $popup),
$input = $('input', $popup);
$input.css({'width': $p.width() + 2});
$p.hide();
$input.show();
$input.on('click', function() {
$(this).trigger('select');
});
return false;
},
removeLink: function() {
var _this = this;
$.ajax({
url: Common.getUrl({
'name': 'share_admin_share_link',
'token': this.model.get('token')
}),
type: 'DELETE',
beforeSend: Common.prepareCSRFToken,
success: function() {
_this.remove();
Common.feedback(gettext("Successfully deleted 1 item"), 'success');
},
error: function(xhr) {
Common.ajaxErrorHandler(xhr);
}
});
return false;
},
render: function() {
var data = this.model.toJSON();
var icon_size = Common.isHiDPI() ? 96 : 24;
var icon_url = this.model.getIconUrl(icon_size);
_.extend(data, {
'icon_url': icon_url,
'dirent_url': this.model.getWebUrl(),
'time': data['expire_date'] ? Moment(data['expire_date']).format('YYYY-MM-DD') : ''
});
this.$el.html(this.template(data));
return this;
}
});
return ShareAdminShareLinkView;
});